Как удалить старые ядра, несмотря на 100% -ное использование inode в / usr?

Я пытался обновить свои пакеты сегодня:

$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
 linux-headers-3.16.0-44-generic : Depends: linux-headers-3.16.0-44 but it is not installed
E: Unmet dependencies. Try using -f.

Итак, я попытался apt-get -f install:

$ sudo apt-get -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following extra packages will be installed:
  linux-headers-3.16.0-44
The following NEW packages will be installed:
  linux-headers-3.16.0-44
0 upgraded, 1 newly installed, 0 to remove and 3 not upgraded.
3 not fully installed or removed.
Need to get 0 B/9,101 kB of archives.
After this operation, 64.5 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
(Reading database ... 688666 files and directories currently installed.)
Preparing to unpack .../linux-headers-3.16.0-44_3.16.0-44.59_all.deb ...
Unpacking linux-headers-3.16.0-44 (3.16.0-44.59) ...
dpkg: error processing archive /var/cache/apt/archives/linux-headers-3.16.0-44_3.16.0-44.59_all.deb (--unpack):
 unable to create `/usr/src/linux-headers-3.16.0-44/scripts/genksyms/Makefile.dpkg-new' (while processing `./usr/src/linux-headers-3.16.0-44/scripts/genksyms/Makefile'): No space left on device
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/linux-headers-3.16.0-44_3.16.0-44.59_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Жалуется на высказывание No space left on device. df -Th говорит мне, что места достаточно:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda6       3.3G  2.5G  571M  82% /
udev            2.0G     0  2.0G   0% /dev
tmpfs           395M   11M  384M   3% /run
tmpfs           2.0G   28M  1.9G   2% /dev/shm
tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup
tmpfs           100M   72K  100M   1% /run/user
tmpfs           5.0M  8.0K  5.0M   1% /run/lock
/dev/sda7       9.3G  7.6G  1.3G  87% /usr
/dev/sda8       188G  176G  3.0G  99% /home
/dev/sda1       945M  394M  487M  45% /boot
/dev/sda9       256G  9.6G  233G   4% /var

Однако df -i говорит мне, что /usr израсходовал все иноды.

Это каталоги и их использование inode:

/usr/bin = 2846
/usr/etc = 1
/usr/games = 8
/usr/include = 3204
/usr/lib = 42317
/usr/local = 105
/usr/lost+found = 1
/usr/sbin = 306
/usr/share = 228141
/usr/src = 348704

Итак, если я смогу очистить /usr/src (который содержит текущее и старое ядра), я, вероятно, смогу решить проблему. Но я продолжаю сталкиваться с первой ошибкой:

$ sudo apt-get purge linux-image-3.8.0-35-generic 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 linux-headers-3.16.0-44-generic : Depends: linux-headers-3.16.0-44 but it is not going to be installed
 linux-image-extra-3.8.0-35-generic : Depends: linux-image-3.8.0-35-generic but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Любые предложения о том, как я могу удалить мои старые ядра? Спасибо!

5
задан 26 July 2015 в 14:53

1 ответ

У меня заканчивались опции и время, таким образом, я попробовал это, и оно работало:

я выяснил, какое ядро я использовал:

$ uname -r
3.16.0-44-generic

я решил переместить действительно старые ядра в свое внешнее устройство хранения данных:

sudo mv linux-headers-3.8* /media/housni/linux-headers

df -i затем показал, что существенное количество inodes было освобождено так, я быстро удалил заголовки, я знал, что мне не будет нужно:

sudo apt-get purge linux-headers-3.8*

, После которого, я обновил личинку и перезагрузил

sudo update-grub2 && sudo shutdown now -r

, я затем сделал некоторую дополнительную уборку как чистка моего кэша (sudo apt-get clean), и выполнение автоудаляют (sudo apt-get autoremove) только для сейфа, и теперь все, кажется, вернулось к нормальному :)

5
ответ дан 27 July 2015 в 00:53

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

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