设备上没有剩余空间

0 linux

尝试从系统中删除某些软件包时,我遇到了奇怪的错误:

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
Run Code Online (Sandbox Code Playgroud)

我运行'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
Run Code Online (Sandbox Code Playgroud)

在我看来还有很多可用空间。

运行 '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
Run Code Online (Sandbox Code Playgroud)

我不熟悉 linux 系统,不知道会出什么问题?谢谢

小智 9

看看你的输出。它清楚地表明 SDA3 分区上有 0% 的可用空间,挂载为“/”。从理论上讲,如果您创建一个占用所有空间的单个文件,它仍然不会使用文件系统的所有可用 inode。用

du -sh /*
Run Code Online (Sandbox Code Playgroud)

找出哪个目录使用了多少数据。您可以尝试 fsck 检查文件系统结构,具体取决于文件系统的类型(可能是 ext3 或 ext4 )。一旦我遇到了这样一种情况,当我尝试启动应用程序(特别是 apache webserver )时说“设备上没有剩余空间”,虽然有足够的空间,但结果却是打开的信号量( ipcs / ipcrm )或导致这种行为的每个进程允许打开的文件的限制。

在现代系统中,尤其是对于桌面使用而言,将“/”或“/boot”放在单独的分区上不再有意义,而是使用 LVM 和类似工具将几个物理磁盘组合在一个分区中。“/”太小的常见问题是当日志(通常是 /var/log 或 /var/adm/log )保存在“/”上时,占用了所有空间,然后您需要将它们移动到“/work”或“ /home”分区,但最终还是会在许多分区之间共享根文件系统。