Как Вы удаляете старые ядра из терминала

Я проходил различные вопросы о том, как очистить старые ядра Linux. У них всех, кажется, есть различные ответы, и они стары, таким образом, кто-то обязан сказать, что вопрос слишком стар, и запустите новое сообщение, таким образом, здесь это:

Я хочу сделать все следующее:

  1. Удалите старые ядра Linux вручную в терминале.
  2. Удалите все конфигурационные файлы
  3. Удалите все заголовочные файлы
  4. Удалить ненужный inodes?
  5. Объясните, почему dpkg-l | grep изображение Linux не возвращает те же результаты как, что я вижу в своем списке grub2 во время начальной загрузки
  6. Объясните дистанционное управление по сравнению с ii в dpkg-l | grep список изображений Linux
  7. Объясните несоответствие между записями в/usr/src каталоге (или везде, где эти файлы найдены в других версиях Ubuntu), и вышеупомянутые два метода определения избыточных версий ядра.
  8. Каковы разветвления полной очистки более старых ядер. Я должен волноваться о зависимостях? Как я знаю, зависят ли какие-либо приложения на моем компьютере от файлов конфигураций более старых ядер.

Что я не хочу:

  • Ссылки на другие ответы, что Вы лично не протестировали или не решаете ВСЕ проблемы, вовлеченные в полную очистку.
  • Любой ответ Вы лично не протестировали.
  • Сценарии, которые пытаются автоматически убрать все сразу. Я просто хочу сделать это вручную, пока я полностью не понимаю все, что продолжается.

Давайте по возможности получим комплексное решение проблемы наращивания ядра. Я в настоящее время играю с более старой версией Ubuntu (10.04), прежде чем я обновлю, но у меня была та же проблема с Ubuntu 12.04. Если решение отличается для различных версий, заявите версию, Вы раньше тестировали Ваше решение.

Какие работы:

uname -r

Это правильно возвращает версию ядра, которую я в настоящее время использую.

Вещи, которые не работают:

sudo apt-get autoremove
sudo apt-get clean
sudo apt-get autoremove linux-image-x.x.xx-xx-generic

То, что я думал, должно работать, но не сделало:

sudo apt-get purge linux-image-x.x.xx-xx-generic

Это работало для уменьшения списка, сгенерированного dpkg -l | grep linux-image:

sudo dpkg --purge linux-image-x.x.xx-xx-generic

Также вот преимущество на rc/ii проблема:

ii означает, что 'Это должно быть установлено, и это установлено' тогда как rc означает, что 'Это удалено/удалено, но это - конфигурационные файлы, все еще там'.

Я думаю, что это решает проблему между несоответствием между терминальным списком и grub2 меню при начальной загрузке. Поскольку я вспоминаю, ii списки соответствуют списку grub2. Вопрос здесь состоит в том, как сделал ii записи добираются там во-первых?

7
задан 12 January 2016 в 06:06

3 ответа

Накопление старых ядер до / начальная загрузка полно, таким образом, повреждаясь склонный, ошибка: LP № 1357093 , с фиксацией, реализованной во всех разновидностях Ubuntu 16.04 и более новой.

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

, Когда новое ядро установлено,/etc/kernel/postinst.d/apt-auto-removal, сценарий отмечает более старые ядра как имеющий право для автоудаления..., но не работает, автоудаляют. Отсутствие автоудаляет, был первоначально предназначен, чтобы позволить человеку рассматривать список удаленных пакетов.

bugfix к LP № 1357093 работает на большинство пользователей - если он не работает на Вас, тогда существует другая первопричина, препятствующая тому, чтобы старые пакеты ядра были способно отмечены, поскольку имеющий право на автоудаляют. Ищите справку один на один в каналах поддержки Ubuntu.

В более старых версиях Ubuntu, необходимо зафиксировать сорняк старые ядра для сохранения пространства вручную. Как Вы фиксируете его, вручную зависит от того, полна ли Ваша начальная загрузка / или нет. Большинство пользователей не замечает проблемы, пока / начальная загрузка не полно, и они становятся склонными и dpkg no-space-left-on-device ошибки.

, Если начальная загрузка / не полна , и способные работы правильно, простое

sudo apt-get autoremove      ## Ubuntu 14.04 and older
sudo apt autoremove          ## Ubuntu 16.04 and newer

должно удалить все пакеты ядра, которые имеют право на автоудаление.

, Если начальная загрузка / полна , и способный сбой действий с dpkg ошибкой 'никакое пространство, оставленное на устройстве', тогда слишком поздно для использования, автоудаляют.

слишком поздно потому что действия пакета очередей Aptdaemon. Автоудалите скрывается за очередью и способными аварийными прекращениями работы вся остающаяся очередь, когда любое действие перестало работать... включая исчерпывание пространства. (Это - возможно ошибка в apt/aptdaemon)

, лучшая практика здесь должна использовать 'uname' и 'dpkg' для удаления одного или двух старых ядер, освобождая пространство для способного для завершения это поставило действия в очередь. Тогда автоудалите, будет работать.

Пример:

$ uname -r
3.16.0-36-generic    ## This is kernel you MUST NOT remove.

$ dpkg -l | grep linux-image
rc  linux-image-3.16.0-23-generic    ## 'rc' means already removed
rc  linux-image-3.16.0-28-generic    ## 'rc' can be safely ignored
rc  linux-image-3.16.0-29-generic
ii  linux-image-3.16.0-30-generic    ## 'ii' means installed. Removable
ii  linux-image-3.16.0-31-generic    ## Removable
ii  linux-image-3.16.0-33-generic    ## Removable
ii  linux-image-3.16.0-34-generic    ## Backup working kernel. Don't remove
ii  linux-image-3.16.0-36-generic    ## Current kernel. DO NOT REMOVE

## Use dpkg to remove one older kernel, freeing enough space for apt to work
$ sudo dpkg --remove linux-image-3.16.0-30-generic
$ sudo apt-get autoremove     ## Ubuntu 14.04 and older
$ sudo apt autoremove         ## Ubuntu 16.04 and newer

при игнорировании проблемы в течение долгого времени , тогда существуют эффекты второго порядка, как linux-image-generic, указывающий на неправильную версию ядра и способные ошибки зависимости. Нет никакого единственного способа зафиксировать все их сразу.

Обычно простой способ очистить большинство этих проблем состоит в том, чтобы убрать старые пакеты из Вашего локального кэша пакета, обновить Вашу базу данных пакета и переустановить незаконные пакеты из репозиториев Ubuntu (вместо Вашего локального кэша).

$ sudo apt-get update       ## Refresh the package database (14.04 and older)
$ sudo apt update           ##                              (16.04 and newer)

$ sudo apt-get autoclean    ## Delete the obsolete packages from your local cache (14.04 and older)
$ sudo apt autoclean        ##                                                    (16.04 and newer)

$ sudo apt-get install --reinstall <packagename>     ## Reinstall the offending package with the latest version in the Ubuntu repositories (14.04 and older)
$ sudo apt install --reinstall <packagename>         ##                (16.04 and newer)

при тихом обнаружении со способными и/или dpkg ошибками ищите справку один на один в каналах поддержки Ubuntu.

7
ответ дан 23 November 2019 в 06:32

Можно попробовать эти команды, для удаления старых файлов конфигурации и старых ядер:

exec sudo -i

CONFOLD=$(dpkg -l | grep '^rc' | awk '{print $2}')

KERNELCUR=$(uname -r | sed 's/-*[a-z]//g' | sed 's/-386//g')

PKGLINUX="linux-(image|headers|ubuntu-modules|restricted-modules)"

METAPKGLINUX="linux-(image|headers|restricted-modules)-(generic|i386|server|common|rt|xen)"

KERNELSOLD=$(dpkg -l | awk '{print $2}' | grep -E "$PKGLINUX" | grep -vE "$METAPKGLINUX" | grep -v "$KERNELCUR")

apt-get purge "$CONFOLD"

apt-get purge "$KERNELSOLD"

update-grub
1
ответ дан 23 November 2019 в 06:32

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

rpm -q kernel

Найдя список ядер, выполните приведенную ниже команду для удаления ядер.

sudo apt-get remove linux-image-x.x.x.x-generic

0
ответ дан 23 November 2019 в 06:32

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

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