Некоторые вопросы о / boot full [duplicate]

Я знаю, что этот вопрос задают много раз раньше, однако со мной это немного отличается, я думаю.

# 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)
30
задан 5 January 2014 в 23:51

12 ответов

По-видимому, это работает:

sudo apt-get autoremove

Согласно apt-get man-страница:

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

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.
10
ответ дан 17 July 2018 в 23:17

вам нужно сначала исправить свои проблемы с зависимостями. У меня была такая же проблема с моей матерью 12.04 LTS. Она делала обновления и ПРОСТО, пока дочерний процесс (apt-get или dpkg, я думаю) закончил, она выключила компьютер. Я просто пошел по этой ссылке на askubuntu, и это исправило проблему. то я удалил несколько старых ядер так же, как вы собираетесь. Я надеюсь, это поможет вам. :)

Я обожаю Ubuntu (и Debian GNU / Linux, конечно :), но я не apt или dpkg хакер, но я хотел бы, чтобы был способ сделать ВСЕ обновления атомарными. как ACID в PostgreSQL, MySQL и т. д. (в основном, Atomicity). Я изучаю, что это незавершенный процесс ...

Неудовлетворенные зависимости для linux-generic

-3
ответ дан 17 July 2018 в 23:17
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»

3
ответ дан 17 July 2018 в 23:17

Я надеюсь, что это может помочь:

Я обычно удаляю старые ядра, используя ubuntu-tweak janitor, красивый графический интерфейс и легко:)

нажмите «система», и там будет список старых ядер, просто нажмите его и очистите

-2
ответ дан 17 July 2018 в 23:17

Вы не можете использовать 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

, либо просто продолжить с rm.

, вы также должны sudo update-grub, когда вы будете финишировать

22
ответ дан 17 July 2018 в 23:17

В терминале выполните следующую команду:

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, затем выбираются все те, которые в настоящее время не используются, и удаляет их.

7
ответ дан 17 July 2018 в 23:17

По-видимому, это работает:

sudo apt-get autoremove

Согласно apt-get man-страница:

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

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.
10
ответ дан 24 July 2018 в 13:48
  • 1
    Мне нравится этот ответ, но он пропускает какое-то руководство, чтобы точно знать, что это autoremove для. – s3m3n 8 October 2015 в 16:44
  • 2
    autoremove работает только в том случае, если какие-либо ранее выполненные действия apt правильно завершены. Autoremove не будет работать, если вы уже получаете ошибку «Отсутствие пробела на устройстве» - те ранее поставленные в очередь действия не будут выполнены, и autoremove не будет работать. Другими словами, autoremove работает ... пока этого не произойдет. – user535733 31 December 2015 в 21:59

вам нужно сначала исправить свои проблемы с зависимостями. У меня была такая же проблема с моей матерью 12.04 LTS. Она делала обновления и ПРОСТО, пока дочерний процесс (apt-get или dpkg, я думаю) закончил, она выключила компьютер. Я просто пошел по этой ссылке на askubuntu, и это исправило проблему. то я удалил несколько старых ядер так же, как вы собираетесь. Я надеюсь, это поможет вам. :)

Я обожаю Ubuntu (и Debian GNU / Linux, конечно :), но я не apt или dpkg хакер, но я хотел бы, чтобы был способ сделать ВСЕ обновления атомарными. как ACID в PostgreSQL, MySQL и т. д. (в основном, Atomicity). Я изучаю, что это незавершенный процесс ...

Неудовлетворенные зависимости для linux-generic

-3
ответ дан 24 July 2018 в 13:48
  • 1
    Проблема в том, что это больше не работает, когда у вас есть точка, где есть проблемы с зависимостями, например, впереди. – Paŭlo Ebermann 8 October 2013 в 16:00
  • 2
    Проблема в том, что решение неудовлетворенных зависимостей (т. Е. Их установка) невозможно из-за полного диска. – Paŭlo Ebermann 8 October 2013 в 17:13
  • 3
    Это работает для меня! – Daniel 16 October 2013 в 18:52
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»

3
ответ дан 24 July 2018 в 13:48

Я надеюсь, что это может помочь:

Я обычно удаляю старые ядра, используя ubuntu-tweak janitor, красивый графический интерфейс и легко:)

нажмите «система», и там будет список старых ядер, просто нажмите его и очистите

-2
ответ дан 24 July 2018 в 13:48
  • 1
    это сервер ubuntu, и я подключен через шпатлевку. (Но у меня также есть доступность к Webmin на сервере) – Marcel 3 March 2013 в 19:50
  • 2
    Как я могу установить этот ubuntu-twaak janitor, пожалуйста? – Jenny O'Reilly 22 December 2016 в 20:24

Вы не можете использовать 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

, либо просто продолжить с rm.

, вы также должны sudo update-grub, когда вы будете финишировать

22
ответ дан 24 July 2018 в 13:48
  • 1
    Команда установки переустановила много старых ядер, в результате чего появился полный загрузочный диск. Команда чистки решила это для меня. – SPRBRN 10 February 2017 в 13:25
  • 2
    Я выполнил этот ответ до sudo apt-get -f install, затем перезапустил его, чтобы убедиться, что все это хорошо, и удалил остальные с помощью apt autoremove, как это было предложено в предыдущем выпуске команд. – Bart C 20 September 2017 в 12:44

В терминале выполните следующую команду:

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, затем выбираются все те, которые в настоящее время не используются, и удаляет их.

7
ответ дан 24 July 2018 в 13:48
  • 1
    Возможно, вы хотели бы объяснить, что именно делает эта команда. Это выглядит довольно сложно: в общем, людям следует советовать избегать выполнения таких команд, которые они не понимают, особенно с чем-то жизненно важным для их системы. – mtdevans 7 January 2014 в 07:22
  • 2
    @mtdevans: Я добавил, что приведенная выше команда перечисляет все установленные ядра Linux, затем выбирает все те, которые в настоящее время не используются, а затем удаляет все ядра, которые в настоящее время не используются. – Kristian 5 November 2014 в 20:05
  • 3
    Команда полезна, просто запустите часть до & quot; | | xargs & Quot; сначала проверьте, что вы собираетесь удалить. Кроме того, | grep -v может понадобиться, чтобы сохранить последнее ядро, которое, возможно, еще не используется, но нужно. – Roman Susi 5 May 2015 в 09:10
  • 4
    это опасно, так как он также соответствует linux-libc-dev: amd64 – Frederick Nord 31 August 2015 в 14:07

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

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