я сталкиваюсь со странной ошибкой при попытке 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, есть идеи, что может пойти не так? Спасибо

3 ответа3

9

Посмотрите на ваш вывод. это ясно показывает, что в разделе SDA3 имеется 0% свободного места, смонтированного как "/". Теоретически, если вы создаете один файл, который занимает все пространство, он все равно не использует все доступные inode для файловой системы. использование

du -sh /*

чтобы узнать, какой каталог использует сколько данных. Вы можете попробовать fsck проверить структуру файловой системы, в зависимости от типа файловой системы (возможно, ext3 или ext4). Однажды у меня возникла ситуация, когда приложение (в частности, веб-сервер apache) говорило "на устройстве не осталось места", когда я пытался запустить его, хотя места было достаточно, оказалось, что это были открытые семафоры (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, чтобы удалить пакет без возможности записи на диск из-за недостатка места.

2

Это ваша проблема:

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3             7.9G  7.9G     0 100% /

Там нет фактически не осталось на разделе «/ DEV / sda3» пространство

Наличие большого пространства, доступного на других разделах, не поможет, если место необходимо именно там.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .