当我尝试使用 yum 从系统中删除某些包时遇到了奇怪的错误:
sudo yum remove evaluation-1.2-0.1122.noarch.rpm
Loaded plugins: fastestmirror
Traceback (most recent call last):
File "/usr/bin/yum", line 29, in <module>
yummain.user_main(sys.argv[1:], exit_code=True)
File "/usr/share/yum-cli/yummain.py", line 276, in user_main
errcode = main(args)
File "/usr/share/yum-cli/yummain.py", line 107, in main
base.doLock()
File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 1740, in doLock
while not self._lock(lockfile, mypid, 0644):
File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 1810, in _lock
os.write(fd, contents)
OSError: [Errno 28] No space left on device
我运行“df -h”并得到了这个:
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 7.9G 7.9G 0 100% /
tmpfs 7.8G 0 7.8G 0% /dev/shm
/dev/sda1 97M 37M 55M 41% /boot
/dev/sda5 83G 977M 78G 2% /workplace
在我看来仍有很多可用空间。
运行‘df -i’并得到:
df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda3 524288 42146 482142 9% /
tmpfs 2041840 1 2041839 1% /dev/shm
/dev/sda1 25688 39 25649 1% /boot
/dev/sda5 5505024 229 5504795 1% /workplace
我不熟悉 Linux 系统,知道可能出现什么问题吗?谢谢
答案1
查看您的输出。它清楚地显示 SDA3 分区上有 0% 的可用空间,挂载为“/”。理论上,如果您创建一个占用所有空间的文件,它仍然不会使用文件系统的所有可用 inode。使用
du -sh /*
找出哪个目录使用了多少数据。您可以尝试使用 fsck 检查文件系统结构,具体取决于文件系统的类型(可能是 ext3 或 ext4)。有一次我遇到一种情况,当我尝试启动应用程序(特别是 apache webserver )时,它说“设备上没有剩余空间”,虽然空间充足,但结果却是打开信号量( ipcs / ipcrm )或每个进程允许打开的文件数限制导致了这种行为。
在现代系统中,尤其是桌面系统中,将“/”或“/boot”放在单独的分区上已不再有意义,而是使用 LVM 和类似工具将几个物理磁盘组合到一个分区中。“/”太小的常见问题是,当日志(通常是 /var/log 或 /var/adm/log )保存在“/”上时,会占用所有空间,然后您无论如何都需要将它们移动到“/work”或“/home”分区,而最终您还是会得到跨多个分区共享的根文件系统。
答案2
从 df-h 输出来看,您的 / 或根分区上没有剩余空间。
Filesystem Size Used Avail Use% Mounted on
dev/sda3 7.9G 7.9G 0 100% /
du -hs /
运行类似或 的命令du -hs /*/*/*
来查找包含大文件的目录,或运行类似 的命令find / -type f -size +500000k
,将 500000k 替换为单个文件的文件大小阈值。
一旦您确定了文件系统上的大型目录或文件,请确定它们是什么、有多大、上次修改的时间以及是否可以压缩(使用tar
和gzip
)或使用删除它们rm
,以释放更多空间。
然后您应该能够运行 yum 命令来卸载软件包,而不会因为空间不足而无法写入磁盘。
答案3
这是你的问题:
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 7.9G 7.9G 0 100% /
那里是事实上分区 '/dev/sda3' 上没有剩余空间
如果其他分区恰好需要空间,那么即使其他分区有大量可用空间也无济于事。