У нас есть несколько серверов Ubuntu 16.04. unattended-upgrades
автоматически включаются с 16.04, и загрузочный раздел находится на отдельном разделе. Из-за автоматических обновлений безопасности в загрузочном разделе не хватает места с новыми ядрами.
Мы не можем просто перезагрузить системы, поэтому машина все еще использует предпоследнее ядро.
Какие ядра я должен удалить? Все, кроме текущего, самого старого и самого нового?
У вас есть рекомендации?
Я также заметил, что новейшее ядро имеет статус «Полуконфигурированный». Это ядро, вероятно, не будет работать, поэтому я должен удалить это и использовать более старое ядро.
Выход dpkg -l | grep linux image
:
ii linux-image-4.4.0-21-generic --> old kernel
ii linux-image-4.4.0-34-generic --> current kernel
ii linux-image-4.4.0-36-generic --> new kernel
ii linux-image-4.4.0-38-generic --> new kernel
ii linux-image-4.4.0-42-generic --> new kernel
ii linux-image-4.4.0-45-generic --> new kernel
ii linux-image-4.4.0-47-generic --> new kernel
ii linux-image-4.4.0-51-generic --> new kernel
ii linux-image-4.4.0-53-generic --> new kernel
iF linux-image-4.4.0-57-generic --> new kernel
источник
byobu
это, вероятно, пакет, который вы хотите для 16.04 Xenuial:purge-old-kernels
он переместилсяbikeshed
вbyobu
некоторое время между Trusty и Xenial, хотяbikeshed
теперь рекомендует,byobu
так что вы все равно получите программу, если у вас нет no-install-рекомендует.Для Ubuntu Grub2 автоматически отображает последнее ядро и скрывает старые ядра. Если вы хотите их увидеть, вы можете нажать Shift во время загрузки.
Итак, перед удалением старых ядер загрузитесь с последним доступным ядром (grub2 загружает его по умолчанию при загрузке). Чтобы проверить, какое ядро вы используете, вы можете использовать команду:
Рекомендуется хранить как минимум два или предпочтительно три ядра, включая самое последнее. Причина в том, что у вас будет по крайней мере одно / два других ядра для загрузки, если окажется, что вы не можете загрузиться с последним ядром.
Чтобы удалить старые ядра, откройте терминал и проверьте текущее ядро:
Затем перечислите все установленные ядра в вашей системе.
Найдите все ядра, которые ниже вашего текущего ядра. Запустите команды ниже, чтобы удалить ядро, которое вы выбрали:
Наконец, выполните команды ниже, чтобы обновить grub2
И перезагрузите вашу систему.
источник
apt-get autoremove
, запускаемый периодически, должен быть в состоянии помочь вам выполнить то, что вы хотите. Действующего ядра, предыдущего ядра и двух последних ядер должно быть достаточно.источник
Загрузите одно из предыдущих ядер.
Первая попытка
apt autoremove --purge
Если это не работает
dpkg -l 'linux-[ihs]*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\([-0-9]*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d'
Управляйте тем, что будет деинсталлировано.
dpkg -l 'linux-[ihs]*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\([-0-9]*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo dpkg -P
Это удалит ядро списка из команды ниже.и наверняка
источник