Utility says therВs не обитал free disk space, when therВs plenty

Somehow my system is in в pickle.

$ sudo apt-get install -f
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
  linux-headers-3.2.0-29 linux-headers-3.2.0-29-generic
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  linux-headers-3.2.0-80
The following NEW packages will be installed
  linux-headers-3.2.0-80
0 to upgrade, 1 to newly install, 0 to remove and 251 not to upgrade.
3 not fully installed or removed.
Need to get 0 B/11.7 MB of archives.
After this operation, 56.4 MB of additional disk space will be used.
Do you want to continue [Y/n]? 
(Reading database ... 1255202 files and directories currently installed.)
Unpacking linux-headers-3.2.0-80 (from .../linux-headers-3.2.0-80_3.2.0-80.116_all.deb) ...
dpkg: error processing /var/cache/apt/archives/linux-headers-3.2.0-80_3.2.0-80.116_all.deb (--unpack):
 unable to create `/usr/src/linux-headers-3.2.0-80/include/linux/sunrpc/gss_err.h.dpkg-new' (while processing `./usr/src/linux-headers-3.2.0-80/include/linux/sunrpc/gss_err.h'): No space left on device
No apport report written because the error message indicates a disk full error
                                                                              dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/linux-headers-3.2.0-80_3.2.0-80.116_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

But:

us@desktop:/var/log$ df
Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/sda1       20158332 16166516   2967816  85% /
udev             4026512        4   4026508   1% /dev
tmpfs             807064      996    806068   1% /run
none                5120        0      5120   0% /run/lock
none             4035308      128   4035180   1% /run/shm
/dev/sda4      904990760 51533960 807485908   6% /home

Stumped!

us@desktop:~$ df -i
Filesystem       Inodes   IUsed    IFree IUse% Mounted on
/dev/sda1       1281120 1278499     2621  100% /
udev            1006628     507  1006121    1% /dev
tmpfs           1008827     445  1008382    1% /run
none            1008827       3  1008824    1% /run/lock
none            1008827       6  1008821    1% /run/shm
/dev/sda4      57466880  110192 57356688    1% /home

Ох so the inode table is full. Never had that before, what вызови that then?

4
задан 27 December 2015 в 08:23

2 ответа

Как показано в выводе df -i, Вы очень исчерпываете ресурсы на количестве свободного inodes на / и следовательно dpkg сбои для завершения операции.

Большую часть времени, это вызывается многочисленными маленькими файлами, созданными где-нибудь (неумышленно) в файловой системе.

можно проверить файлы размера меньше чем 1 КБ и начать удалять их если не нужный:

sudo find / -type f -size -1k -ls

Так же можно свериться с увеличением размеров файла, пока Вы не добираетесь до корня проблемы.

11
ответ дан 23 November 2019 в 11:37

Весь кредит к @heemayl для указателей, которые привели к этому ответу. Я признал, что ответ, но вот детали того, как я зафиксировал его, в случае, если это полезно для других.

проблема была вызвана полной inode таблицей. Как я понимаю, существует две части к файловой системе, inodes и пространству. inodes связаны с количеством файлов, где, поскольку пространство, насколько большой они. Моя система была переполнена миллионами крошечных файлов, вызванных Ubuntu, не удаляющим старые ядра. Поскольку система работала в течение долгого времени, у меня было более чем 40 ядер, включая заголовочные файлы, установленные, который является слишком много, чтобы системная файловая система раздела на 20 ГБ взяла.

Это означало, что dpkg не мог завершить установку - требовалось больше пространства для завершения его работы - но к сожалению который означал, ни мог я создавать пространство при помощи способного для удаления вещей!

решение, которое я нашел, состояло в том, чтобы переместиться весь эти /usr/src/ файлы к моему другому разделу, оставив просто символьную ссылку на файлы на целой фс:

sudo mv /usr/src /home/usr-src
sudo ln -s /home/usr-src /usr/src

После выполнения этого я смог позволить склонный завершенный:

sudo apt install -f

И после этого я смог удалить все более старые ядра, в которых я не нуждался, освобождение располагает с интервалами, и затем я мог положить обратно src папку.

4
ответ дан 23 November 2019 в 11:37

Другие вопросы по тегам:

Похожие вопросы: