我正试图下载一个庞大的python软件包,突然间我遇到了这个空间紧缺的问题。当我运行df -h命令时,它显示:
[root@darwin ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 5.0G 5.0G 0.0G 100% /
devtmpfs 7.9G 0 7.9G 0% /dev
tmpfs 7.9G 0 7.9G 0% /dev/shm
tmpfs 7.9G 17M 7.9G 1% /run
tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup
tmpfs 1.6G 0 1.6G 0% /run/user/0我可以看到,只有/dev/vda1已经达到了其100%的容量。但是其他文件系统是免费的,为什么不能将它们用于包安装呢?
发布于 2018-07-02 04:28:48
devtmpfs包含由内核填充的节点,其中包含有关设备等的信息。
tmpfs实际上存储在内存中,尽管它看起来是一个挂载的文件系统。tmpfs的内容可以交换到交换空间,但是当系统重新启动时,所有内容都会消失。
您可能可以清除一些空间,但这只是一个临时解决方案,因为日志、数据和安装更多的包只会再次填满它。从长远来看,5GB的空间是不够的。
永久解决问题的唯一方法是为系统添加更多的永久存储空间。
发布于 2018-07-02 05:55:43
5GB的磁盘不太大,但即使有带有GUI和许多标准应用程序的Linux发行版也可以。
您应该知道哪个目录使用了大部分磁盘空间。为此,请使用磁盘使用du:
du -smx / | sort -n该列表中的最后一个目录使用mos空间。
可能是/var。然后运行更详细的命令:
du -m /var | sort -n例如,可以看到/var/cache/apt/archives占用418 an:
418 /var/cache/apt/archives
472 /var/cache/apt
482 /var/cache
706 /var当您找到使用大部分空间的目录时,您可以从其中删除som文件:
sudo rm /foo/bar如果您的发行版是类似Debian的发行版,则可以通过以下方式删除已安装的软件包:
sudo apt-get clean发布于 2018-07-02 16:35:10
为了直接回答您的问题,这些文件系统不能用于包安装的主要原因是它们没有安装到包文件所在的位置(通常是在/etc和/usr之间分离)。分析df -h:
devtmpfs 7.9G 0 7.9G 0% /dev这用于通过设备的文件系统指针跟踪设备。包裹不会在/dev里。理想情况下,只有设备进入/dev。
tmpfs 7.9G 0 7.9G 0% /dev/shm
tmpfs 7.9G 17M 7.9G 1% /run这些都是不同的临时文件系统,位于/dev/shm (“共享内存”)和/run中。
tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup这和/dev一样,有一个非常具体的目的,这超出了这个答案的范围,甚至可以开始描述。
tmpfs 1.6G 0 1.6G 0% /run/user/0这是专门为根用户指定的最后一个tmpfs (uid 0)。
无论如何,这些都不是很好的包安装选择,因为当您重新启动时,它们的内容将被清空。可以想象,您只需将包存档存储在磁盘上,并在每次引导时执行覆盖tmpfs并重新安装所有包,但如果您只有5GB的存储空间,则可能是一个嵌入式设备,如果这样做,将需要很长时间才能启动。不过,这将是一个巧妙的项目。
https://unix.stackexchange.com/questions/452962
复制相似问题