首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >磁盘满:无法安装软件包

磁盘满:无法安装软件包
EN

Unix & Linux用户
提问于 2018-07-02 04:02:12
回答 3查看 2K关注 0票数 2

我正试图下载一个庞大的python软件包,突然间我遇到了这个空间紧缺的问题。当我运行df -h命令时,它显示:

代码语言:javascript
复制
[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%的容量。但是其他文件系统是免费的,为什么不能将它们用于包安装呢?

EN

回答 3

Unix & Linux用户

回答已采纳

发布于 2018-07-02 04:28:48

devtmpfs包含由内核填充的节点,其中包含有关设备等的信息。

tmpfs实际上存储在内存中,尽管它看起来是一个挂载的文件系统。tmpfs的内容可以交换到交换空间,但是当系统重新启动时,所有内容都会消失。

您可能可以清除一些空间,但这只是一个临时解决方案,因为日志、数据和安装更多的包只会再次填满它。从长远来看,5GB的空间是不够的。

永久解决问题的唯一方法是为系统添加更多的永久存储空间。

票数 10
EN

Unix & Linux用户

发布于 2018-07-02 05:55:43

5GB的磁盘不太大,但即使有带有GUI和许多标准应用程序的Linux发行版也可以。

您应该知道哪个目录使用了大部分磁盘空间。为此,请使用磁盘使用du

代码语言:javascript
复制
du -smx / | sort -n

该列表中的最后一个目录使用mos空间。

可能是/var。然后运行更详细的命令:

代码语言:javascript
复制
du -m /var | sort -n

例如,可以看到/var/cache/apt/archives占用418 an:

代码语言:javascript
复制
418     /var/cache/apt/archives
472     /var/cache/apt
482     /var/cache
706     /var

当您找到使用大部分空间的目录时,您可以从其中删除som文件:

代码语言:javascript
复制
sudo rm /foo/bar

如果您的发行版是类似Debian的发行版,则可以通过以下方式删除已安装的软件包:

代码语言:javascript
复制
sudo apt-get clean
票数 2
EN

Unix & Linux用户

发布于 2018-07-02 16:35:10

为了直接回答您的问题,这些文件系统不能用于包安装的主要原因是它们没有安装到包文件所在的位置(通常是在/etc和/usr之间分离)。分析df -h:

代码语言:javascript
复制
devtmpfs        7.9G     0  7.9G   0% /dev

这用于通过设备的文件系统指针跟踪设备。包裹不会在/dev里。理想情况下,只有设备进入/dev。

代码语言:javascript
复制
tmpfs           7.9G     0  7.9G   0% /dev/shm
tmpfs           7.9G   17M  7.9G   1% /run

这些都是不同的临时文件系统,位于/dev/shm (“共享内存”)和/run中。

代码语言:javascript
复制
tmpfs           7.9G     0  7.9G   0% /sys/fs/cgroup

这和/dev一样,有一个非常具体的目的,这超出了这个答案的范围,甚至可以开始描述。

代码语言:javascript
复制
tmpfs           1.6G     0  1.6G   0% /run/user/0

这是专门为根用户指定的最后一个tmpfs (uid 0)。

无论如何,这些都不是很好的包安装选择,因为当您重新启动时,它们的内容将被清空。可以想象,您只需将包存档存储在磁盘上,并在每次引导时执行覆盖tmpfs并重新安装所有包,但如果您只有5GB的存储空间,则可能是一个嵌入式设备,如果这样做,将需要很长时间才能启动。不过,这将是一个巧妙的项目。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/452962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档