Я знаю, что этот вопрос задавался много раз раньше, однако, со мной, я думаю, он немного другой.
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 224G 5.2G 208G 3% /
udev 1.9G 4.0K 1.9G 1% /dev
tmpfs 777M 260K 777M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 1.9G 0 1.9G 0% /run/shm
/dev/sda2 90M 88M 0 100% /boot
/dev/sda6 1.9G 514M 1.3G 29% /tmp
Мой загрузочный раздел заполнен.
Текущее ядро:
# uname -r
3.2.0-35-generic
Все ядра:
# dpkg --list | grep linux-image
ii linux-image-3.2.0-32-generic 3.2.0-32.51 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
ii linux-image-3.2.0-34-generic 3.2.0-34.53 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
ii linux-image-3.2.0-35-generic 3.2.0-35.55 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
iF linux-image-3.2.0-37-generic 3.2.0-37.58 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
iF linux-image-3.2.0-38-generic 3.2.0-38.60 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
iU linux-image-generic 3.2.0.37.45 Generic Linux kernel image
Поэтому я подумал об удалении общего ядра 3.2.0.32 с помощью:
# sudo apt-get purge linux-image-3.2.0-32-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-generic : Depends: linux-headers-generic (= 3.2.0.37.45) but 3.2.0.38.46 is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
Безуспешно.
Когда я пытаюсь apt-get -f install
, это также терпит неудачу:
# apt-get -f install
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-34 linux-headers-3.2.0-35 linux-headers-3.2.0-34-generic linux-headers-3.2.0-35-generic
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
linux-generic linux-image-generic
The following packages will be upgraded:
linux-generic linux-image-generic
2 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.
5 not fully installed or removed.
Need to get 0 B/4,334 B of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? y
Setting up initramfs-tools (0.99ubuntu13.1) ...
update-initramfs: deferring update (trigger activated)
Setting up linux-image-3.2.0-37-generic (3.2.0-37.58) ...
Running depmod.
update-initramfs: deferring update (hook will be called later)
The link /initrd.img is a dangling linkto /boot/initrd.img-3.2.0-38-generic
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.2.0-37-generic /boot/vmlinuz-3.2.0-37-generic
update-initramfs: Generating /boot/initrd.img-3.2.0-37-generic
gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-3.2.0-37-generic with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-3.2.0-37-generic.postinst line 1010.
dpkg: error processing linux-image-3.2.0-37-generic (--configure):
subprocess installed post-installation script returned error exit status 2
Setting up linux-image-3.2.0-38-generic (3.2.0-38.60) ...
Running depmod.
update-initramfs: deferring update (hook will be called later)
The link /initrd.img is a dangling linkto /boot/initrd.img-3.2.0-37-generic
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.2.0-38-generic /boot/vmlinuz-3.2.0-38-generic
update-initramfs: Generating /boot/initrd.img-3.2.0-38-generic
gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-3.2.0-38-generic with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-3.2.0-38-generic.postinst line 1010.
dpkg: error processing linux-image-3.2.0-38-generic (--configure):
subprocess installed post-installation script returned error exit status 2
dpkg: dependency problems prevent configuration of linux-image-generic:
linux-image-generic depends on linux-image-3.2.0-37-generic; however:
Package linux-image-3.2.0-37-generic is not configured yet.
dpkg: error processing linux-image-generic (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of linux-generic:
linux-generic depends on linux-image-generic (= 3.2.0.37.45); however:
Package linux-image-generic is not configured yet.
linux-generic depends on linux-headers-generic (= 3.2.0.37.45); however:
Version of linux-headers-generic on system is 3.2.0.38.46.
dpkg: error processing linux-generic (--configure):
dependency problems - leaving unconfigured
Processing triggers for initramfs-tools ...
No apport report written because the error message indicates its a followup error from a previous failure.
No apport report written because MaxReports is reached already
update-initramfs: Generating /boot/initrd.img-3.2.0-35-generic
gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-3.2.0-35-generic with 1.
dpkg: error processing initramfs-tools (--configure):
subprocess installed post-installation script returned error exit status 1
No apport report written because MaxReports is reached already
Errors were encountered while processing:
linux-image-3.2.0-37-generic
linux-image-3.2.0-38-generic
linux-image-generic
linux-generic
initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)
Любая помощь действительно будет оценена.
Обновление: я сделал:
sudo rm /boot/*-3.2.0-32-generic /boot/*-3.2.0-34-generic
После этого следующая проблема с apt-get -f install
:
root@localhost:/# 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-generic
The following packages will be upgraded:
linux-generic
1 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.
1 not fully installed or removed.
Need to get 0 B/1,722 B of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? y
dpkg: dependency problems prevent configuration of linux-generic:
linux-generic depends on linux-image-generic (= 3.2.0.37.45); however:
Version of linux-image-generic on system is 3.2.0.38.46.
linux-generic depends on linux-headers-generic (= 3.2.0.37.45); however:
Version of linux-headers-generic on system is 3.2.0.38.46.
dpkg: error processing linux-generic (--configure):
dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
Errors were encountered while processing:
linux-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)
Очевидно, это работает:
sudo apt-get autoremove
Согласно apt-get
man-page:
autoremove используется для удаления пакетов, которые были автоматически установлены для удовлетворения зависимости для других пакетов и больше не нужны.
blockquote>3.16.0-39 - это тот, который я пытался установить, но потерпел неудачу, потому что / boot был переполнен. 3.16.0-38 - моя текущая версия. Вы можете видеть, что -38 был пропущен.
server:~$ uname -r 3.16.0-38-generic server:~$ sudo apt-get autoremove [sudo] password for mikeb: Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: linux-headers-3.16.0-30 linux-headers-3.16.0-30-generic linux-headers-3.16.0-31 linux-headers-3.16.0-31-generic linux-headers-3.16.0-33 linux-headers-3.16.0-33-generic linux-headers-3.16.0-34 linux-headers-3.16.0-34-generic linux-headers-3.16.0-36 linux-headers-3.16.0-36-generic linux-headers-3.16.0-39 linux-headers-3.16.0-39-generic linux-image-3.16.0-30-generic linux-image-3.16.0-31-generic linux-image-3.16.0-33-generic linux-image-3.16.0-34-generic linux-image-3.16.0-36-generic linux-image-3.16.0-39-generic linux-image-extra-3.16.0-30-generic linux-image-extra-3.16.0-31-generic linux-image-extra-3.16.0-33-generic linux-image-extra-3.16.0-34-generic linux-image-extra-3.16.0-36-generic linux-image-extra-3.16.0-39-generic 0 upgraded, 0 newly installed, 24 to remove and 0 not upgraded.
Вы не можете использовать apt-get, если ваше ядро устарело.
cd /boot
sudo rm *-2.6.35-6.9-generic
sudo rm *-3.16.0-23-generic
используйте ls
, чтобы увидеть, что находится в папке, удалите один или два самых старых, затем
sudo apt-get -f install
. Затем вы можете очистить apt-get как в
sudo apt-get purge linux-image-3.2.0-32-generic linux-image-3.2.0-34-generic
[ 118] или просто продолжить с т. Д.
вы также должны sudo update-grub
, когда вы закончите
Для Ubuntu 12.04 попробуйте это sudo apt-get purge linux-image-[kernel version]
Это удалит любую версию ядра. Если в вашей загрузочной папке много ядер, не забудьте обновить grub и перезагрузить систему
ex. sudo apt-get purge linux-image-3.11.6 *
В терминале выполните следующую команду:
dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get purge
Эта команда выводит список всех установленных на данный момент ядер Linux, затем выбирает все те, которые в данный момент не используются, и удаляет их.
dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge
Если выполнение вышеуказанной команды без «sudo apt-get -y purge» соответствует вашему linux-libc-dev: amd64, вы можете добавить точку с запятой в регулярное выражение, чтобы не включать ее:
dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ :]*\).*/\1/;/[0-9]/!d' | xargs
Теперь просто убедитесь, что он выглядит хорошо, и добавьте «sudo apt-get -y purge»
Я надеюсь, что это может помочь:
я обычно удаляю старые ядра, используя ubuntu-tweak janitor, хороший графический интерфейс и просто:)
нажмите на «system», и там будет список старых ядра, просто щелкните по нему и почистите
Вам нужно сначала исправить проблемы с зависимостями. У меня была такая же проблема с моей мамой 12.04 LTS box. Она делала обновления и ТОЛЬКО до того, как дочерний процесс (apt-get или dpkg, я думаю) завершился, она выключила свой компьютер. Я просто пошел по этой ссылке на Askubuntu, и это решило проблему. Затем я удалил несколько старых ядер, как вы собираетесь. Я надеюсь, это поможет вам. :)
Я люблю Ubuntu (и, конечно, Debian GNU / Linux :), но я не являюсь apt или dpkg-хакером, но я бы хотел, чтобы ВСЕ обновления были атомарными. как ACID в PostgreSQL, MySQL и т. д. (главным образом, атомарность), я учусь, так что работа в процессе ...
Во многих ответах говорится для использования "склонный, автоудаляют", но это не может работать, когда начальная загрузка / полна потому что способные попытки добавить ядра перед удалением.
Следующая Кв. автоудаляет, не удалит ядер, упомянутых в/etc/apt/apt.conf.d/01autoremove-kernels, таким образом, мы должны зафиксировать это.
Вот процесс, который работал на меня.
Удаляют нежелательные файлы конфигурации ядра.
sudo dpkg - $ чистки (COLUMNS=200 dpkg-l | grep "linux-image-extra" | grep "^rc" | TR-s '' | сократил-d ''-f 2)
Обновление/etc/apt/apt.conf.d/01autoremove-kernels путем выполнения...
sudo/etc/kernel/postinst.d/apt-auto-removal
, Надо надеяться, склонный автоудаляют, будет работать.
sudo Кв. автоудаляет - чистка
, Если не необходимо смочь вручную удалить очень старые и неиспользованные ядра из начальной загрузки/.
Первый узнают, какое ядро Вы выполняете.
uname-r
не удаляют Вас текущее ядро или предыдущее ядро.
sudo комната/boot/initrd.img-V.XX.Y-ZZ-generic
Теперь у Вас должно быть достаточно комнаты для попытки Кв., автоудаляют снова. В противном случае удалите другое очень старое ядро. Конечно, держите в курсе и затем самый старый.