说明:如果你对以下的一些技术点和知识点未接触学习过请慎重操作
,以免指令操作失误而造成不必要的麻烦。
一、Ubuntu / 根目录空间不足
- 在 / 目录下用du --max-depth=1 -h命令查看最大占用的一级目录:
sudo du --max-depth=1 -h
- 继续进入该目录(/var)查看下一级目录空间占用:
sudo du --max-depth=1 -h /var
- 继续进入该目录(/var/log)查看下一级目录空间占用:
sudo du --max-depth=1 -h /var/log
查看占用最多文件
- 清理该文件夹即可
ubuntu系统根目录空间不足 – 扩展根目录磁盘空间
参考文献:https://blog.csdn.net/water_93/article/details/84062512
二、在Ubuntu中安装软件时,提示: E: You don’t have enough free space in /var/cache/apt/archives/.
如果上述的方法(apt-get clean, apt-get autoclen)
解决不了问题,那就使用如下策略:
参考文献:https://blog.csdn.net/fu6543210/article/details/103283781
var目录是一个单独分区,空间本来就真不够,无路怎么clean都不够的。
最后,解决方法就是吧这个文件夹重新定位,不要放在var里面,我的var是一个分区,用软连接定向到一个空间足够的分区就可以了:清除所有已下载的安装包
sudo apt-get clean
软链接到HOME下的一个目录即可,home下新建debs文件夹:
在某个空间大的分区建立一个目录,然后把/var/cache/apt/archives换成指向那个目录的软链接
mkdir -p "$HOME/debs/partial"
rm -rf /var/cache/apt/archives
ln -s "$HOME/debs" /var/cache/apt/archives
三、软连接到映射的目录
仿造以上方法,下面实现将docker的空间软链接到宿主机映射的data目录下:
docker主机映射到Ubuntu宿主机的方法请参考我以前的博客,这里就不再赘述。
未映射前是这样的:
开始准备软连接到映射的目录,软连接公式:
ln -s “$你的镜像的容器所映射到宿主机的目录” /var/cache/apt/archives
#进入容器后,查看映射文件夹,这里的data就是我映射到宿主机的文件下
root@ovo:/# ls
bin data etc lib lib64 media nvidia proc run srv tmp var
boot dev home lib32 libx32 mnt opt root sbin sys usr workspace
root@ovo:/# ln -s "$ROOT/data" /var/cache/apt/archives #映射到home目录下的映射容器的data目录
更新升级效果:
简单说明一下:
第一条语句是把/var/cache/目录整个搬到/home/cache/目录下
第二条语句是把/var/cache/目录整个删除
第三条语句是创建一个软连接。
然后reboot重启,又可以看到openSUSE的登陆界面以及正常使用了。
#由于/home/目录当初留空间很大,简单处理一下:
root@ovo:/# du -sh *
13M bin
175M boot
4.0K cdrom
7.7M core
1.8M dev
4.0K Dockerfile
4.0K docker-test-volume
16K docker_volume
15M etc
50G home
0 initrd.img
0 initrd.img.old
839M lib
4.0K lib64
16K lost+found
8.0K media
4.0K mnt
232M opt
du: cannot access 'proc/530/task/530/fd/4': No such file or directory
du: cannot access 'proc/530/task/530/fdinfo/4': No such file or directory
du: cannot access 'proc/530/fd/3': No such file or directory
du: cannot access 'proc/530/fdinfo/3': No such file or directory
0 proc
1.2G root
du: cannot access 'run/user/1000/gvfs': Permission denied
18M run
13M sbin
431M snap
4.0K srv
0 sys
128K tmp
19G usr
94G var
0 vmlinuz
0 vmlinuz.old
root@ovo:/# cd var
root@ovo:/var# cp -R /var/cache /home/cache
root@ovo:/var# rm -rf /var/cache
root@ovo:/var# ln -s /home/cache /var/cache
备注:docker中的其他操作方法同上,前提docker的镜像要含有Ubuntu的附加镜像。
参考文献:
https://blog.csdn.net/qq_3137
https://blog.csdn.net/mynameislinduan/article/details/90053727