Каждый раз, когда я устанавливаю новое ядро Linux, оно остается в grub_config, каждый раз делая меню загрузки длиннее.
Я знаю, что могу вручную искать установленные пакеты и удалять их.
Предоставляет ли Ubuntu более простой способ очистить их или не показывать в списке загрузки?
sudo apt autoremove
Эта команда удаляет пакеты, которые были автоматически установлены в разрешить зависимость, но теперь от них больше не зависят. Сюда входят старые версии заголовков linux - *
и образ linux - *
. (Этот процесс также продуман, оставляя одну запасную версию ядра в качестве запасного варианта!)
Последние версии Grub2 , установленный в Ubuntu , автоматически отображает последнее ядро и скрывает старые ядра, которые, возможно, были установлены.
Если вы не видите свой grub - не забудьте нажать Shift при загрузке.
Как видите, отображается только последнее ядро.
Если вы выберете показанный вариант (нажмите , введите ), тогда все старые ядра станут видимыми и доступными для загрузки с.
Первая загрузка с последним доступным ядром.
Есть несколько способов удалить старые ядра. Лично я бы не стал трогать Computer Janitor , поскольку признано, что это нарушает работу вашего компьютера своими предложениями.
synaptic
Альтернативой является Synaptic ( sudo apt install synaptic
)
найдите linux-image , щелкните ядро правой кнопкой мыши, выберите полное удаление и, наконец, нажмите кнопку Применить , чтобы удалить ядро.
Повторите поиск, но на этот раз для linux-header - вы можете удалить связанные заголовки для образа ядра, выбранного ранее.
Synaptic , но не будет пытаться проверить, что вы пытаетесь удалить. .. вы можете случайно удалить свое новейшее ядро - или даже удалить все свои ядра с помощью этого инструмента, в результате чего вы останетесь с незагружаемой Ubuntu !.
Не забудьте проверить, какое ядро вы используете, введите:
uname -r
Результат будет примерно таким:
Запомните результат и число - убедитесь, что вы не удалили соответствующий im возраст или заголовок.
Моя рекомендация - сохранить как минимум два, а лучше три ядра, включая самое последнее. Причина рекомендации заключается в том, что у вас будет по крайней мере одно / два других ядра для загрузки, если по какой-либо причине вы не можете загрузиться с последним ядром, или если у вас есть регрессивные возможности, такие как нарушение беспроводной связи.
באזירט אויף אַ פריערדיקן ענטפער פון David Kemp, די ווייַטערדיק שריפט וועט רייניקן אַלע כעדערז און בילדער אַחוץ פֿאַר די לעצטע 2 ווערסיעס.
#!/bin/sh
# This script assumes that the installed linux-image and linux-headers packages
# share the same versions (i.e. if a linux-image version number is installed,
# the corresponding linux-headers package will also be installed, and vice
# versa.)
SECONDTOLASTVER=$(dpkg --list | grep linux-image | awk '{ print $2 }' | sort -r -n | sed '/^[^0-9]\+$/d' | sed 's/^.*-\([0-9\.]\+-[0-9]\+\).*/\1/' | uniq | sed -n 2p)
# get a list of package names matching the argument passed to the function, and
# return only those package names which should be removed
get_pkgs_to_remove_matching () {
if [ -n "$SECONDTOLASTVER" ]; then
echo $(dpkg --list | grep $1 | awk '{ print $2 }' | sort | sed -n '/'"$SECONDTOLASTVER"'/q;p')
fi
}
echo $(get_pkgs_to_remove_matching linux-image) $(get_pkgs_to_remove_matching linux-headers) | xargs sudo apt-get purge
(נוצן apt-get -y
צו באַזייַטיקן אָן קשיא)
Установите диспетчер синаптических пакетов и перейдите на вкладку фильтров (я думаю, фильтры, если не попробуйте все 5) и выберите «локальный». Это покажет вам потерянные пакеты в вашей системе, такие как ядра. После их удаления запустите update-grub
. Эта команда обновляет список параметров загрузки для grub.
Если это не удается, вы всегда можете попробовать apt-get remove linux-image-version-generic
.
Следующая строка команд будет очищать любые установленные ядра Linux, кроме текущего запущенного (grep -v uname -r
) и самого последнего доступного ядра (dpkg -l | .... | tail -1):
dpkg -l | grep -E linux-image-.*-generic | cut -d ' ' -f3 | grep -v `dpkg -l | grep -E linux-image-.*-generic | cut -d ' ' -f3 | tail -1` | grep -v `uname -r` | xargs apt-get -y purge
Я использую это, чтобы сохранить загрузочные тома рабочего стола относительно чистыми, но в ситуации с сервером вы, вероятно, захотите расширить логику и написать несколько дополнительных сценариев для поддержки списка последних X ядер, загруженных сервером.
Что-то вроде сценария запуска, который выполняет:
uname -r >> /root/bootedkernels
cat /root/bootedkernels | sort -u | tail -3 > /root/bootedkernels # Keep the last 3 booted kernels
и затем использует:
dpkg -l | grep -E linux-image-.*-generic | cut -d ' ' -f3 | grep -vf /root/bootedkernels | grep -v `dpkg -l | grep -E linux-image-.*-generic | cut -d ' ' -f3 | tail -1` | grep -v `uname -r` | xargs apt-get -y purge
Mba hananana fifehezana kely kokoa amin'ireo kinova hitazona, safidio mazava tsara ireo tianao esorina. Ohatra, raha te-hanala ireo kinova kininina 3.2.0 ianao. [49-53] dia ampiasao tsotra ho an'ny loop
:
for k in 49 51 52 53 ; do aptitude remove --purge linux-image-3.2.0-${k}-generic ; done
Amboary ny lisitry ny kinova kernel mba hifanaraka.
Попробуйте это. Запустите его как корень.
Сохранить этот сценарий, как, скажем, ./keep-n-kernels.sh
Pass, в качестве аргумента командной строки, количество последних ядер, которые вы хотите сохранить.
#!/bin/bash # pass n as a command line argument, and it will find all the installed # kernels and keep only the n most recent ones => uninstall all older ones # dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' # this command gives the list of all packages EXCEPT for the latest kernel. # source : https://help.ubuntu.com/community/Lubuntu/Documentation/RemoveOldKernels n=$1 # find the installed kernel versions : # dpkg-query -W -f='${Version}\n' 'linux-image-*' | grep . | sort -n # gives version numbers, one in each line # dpkg-query -W -f='${Version}\n' 'linux-image-*' | grep . | sed 's/\...$//g' | grep -v '\...$'| sort -u # gives only the ones that appear in linux-image # suffix, e.g. -generic-pae # the kind of kernel you boot into suffix=$(uname -r | sed 's:^[0-9]\.[0-9]\.[0-9]\-[0-9]\{2\}::g') command="apt-get purge " for version in $(dpkg-query -W -f='${Version}\n' 'linux-image-*' | grep . | sed 's/\...$//g' | grep -v '\...$'| sort -u | head -n -${n}) do command=${command}"^linux-image-${version}${suffix} " done $command
Пример использования :
# ./keep-n-kernels.sh 4 # launch the apt-get command to remove all but the 4 most recent kernels
Если вы хотите [И ВАШ СВОЙ РИСК], вы можете добавить -y (или флаг силы) в apt-получить команду и сделать его неактивным.
Просто чтобы вмешаться, вы можете также введите
apt-get remove linux- {image, headers} -xyz- {1,2, ..., n}
как root, и работа будет выполнена.
Если вы используете ansible для управления машинами, эта книга может оказаться полезной.
---
- hosts: all
become: yes
tasks:
- name: "Run apt-get autoremove"
apt:
name: linux-image-generic
autoremove: yes
state: present
update_cache: yes
cache_valid_time: 3600
Я использую рабочий стол KDE, и самый простой вариант, который я нашел, - это использование приложения kde-config-grub2, как предлагается здесь: https://www.kubuntuforums.net/ showthread.php? 58075-remove-old-linux-versions (который я уже установил для установки фонового изображения, варианта загрузки по умолчанию и т.п.). Рядом с раскрывающимся списком, где вы можете выбрать запись по умолчанию, есть кнопка «Удалить старые записи». Нажав на эту кнопку, вы увидите список всех установленных ядер, и вы сможете выбрать, какие из них нужно удалить. Когда вы примените изменения, он будет использовать dpkg для фактического удаления их из системы, а также из меню GRUB.
У меня есть скрипт для этого, который не нуждается в очень модном разборе строк.
Удалите заголовки и изображения, кроме текущего, чтобы освободить место
sudo apt-get autoremove --purge 'linux-headers-[0-9].*' linux-headers-$(uname -r)+ linux-headers-$(uname -r | cut -d- -f1,2)+ 'linux-image-[0-9].*' linux-image-$(uname -r)+
Я использую unattended-upgrades
, поэтому мне очень понравился ответ Qwerty , который настраивает его для автоматического удаления старых пакетов ядра.
Однако была одна проблема: после установки нового ядра этот процесс удалял бы пакет для работающего в данный момент ядра!
Это не полностью разрушает ОС. На самом деле я редко замечал, что это произошло, пока мне не потребовалась горячая загрузка модуля (например, путем подключения USB-устройства), а затем модуль не мог быть найден.
В качестве решения этой проблемы я создал скрипт для генерации виртуального пакета currently-installed-kernel
, который эффективно закрепляет текущий пакет ядра до следующей загрузки.
Сценарий называется pin-current-kernel-with-package.sh
. Вот последняя версия (вероятно) и первая версия (определенно).
Просто сохраните этот скрипт где-нибудь и добавьте его в процесс загрузки . Например, сохраните его в /root/bit/pin-current-kernel-with-package.sh
, затем отредактируйте /etc/rc.local
и добавьте следующую строку:
bash /root/bin/pin-current-kernel-with-package.sh
Теперь ваш работающий пакет ядра никогда не будет удален!
Скорее используйте apt
, клиентскую среду, чем apt-get
, чтобы очистить старые образы ядра:
$ sudo apt autoremove --purge
...
The following packages will be REMOVED:
linux-headers-4.4.0-51* linux-headers-4.4.0-51-generic* linux-image-4.4.0-51-generic* linux-image-extra-4.4.0-51-generic*
Я даю два более безопасных варианта методов в других ответах: один использует менеджер синапсов , а другой - терминал .
С этими вариантами вы удаляете только те пакеты, которые система идентифицирует как сменные. Нет никакого риска, что вы удалите ядра Linux, которые используются в настоящее время - как это случилось со мной несколько недель назад; - (
Вместо того, чтобы искать linux-image
по все установленных пакетов, выберите пакеты с автоматическим удалением (см. Красный эллипс на рисунке ниже). Теперь из этого списка удалите необходимое linux-образ .
Аналогично, если вы удаляете ядра на терминале, показывайте только ядра с автоматическим удалением , запустив [ 1116]
sudo apt-get -s autoremove | grep linux-image
А затем удалите ядро linux-image-x.x.x-x-generic
, которое вы хотите удалить из данного списка, запустив
sudo apt-get purge linux-image-x.x.x-x-generic
Чтобы удалить ядра, которые были автоматически установлены через регулярные обновления системы, откройте терминал и запустите:
sudo apt autoremove --purge
Чтобы узнать текущую версию ядра, запустите uname -r
, а также вы можете запустите uname --help
, чтобы узнать больше обо всех командах uname
Вы также можете запустить df -h
, чтобы показать вам драйверы файловой системы, аналогично вы можете запустить df --help
для получения дополнительной информации.
Чтобы включить автоматическое удаление старых ядер: отредактируйте файл конфигурации, используя gksu
gksudo gedit /etc/apt/apt.conf.d/50unattended-upgrades
Когда файл откроется, раскомментируйте следующую строку и измените значение на true :
// Unattended-Upgrade :: Remove-Unused-Dependencies " false ";
Если вам нужно установить gksu , вы можете запустить sudo apt install gksu
Чтобы очистить старые пакеты, мы можем использовать sudo apt-get clean
Для получения дополнительной информации посетите http://ubuntuhandbook.org/index.php/2016/ 05 / удалить старый-ядра-убунту-16-04 /
В следующий раз, при удалении старых ядер, откройте терминал и используйте эту команду:
sudo apt-get autoremove linux-headers-2.6.38-10-generic
Вы можете использовать Synaptic для получения точного имени ядра, которое вы собираетесь удалить. Просто откройте Synaptic и найдите "linux-заголовки", а затем выберите запись о том, какое ядро вы хотите удалить. Соответствующая запись будет помечена в конце "-generic".
Чтобы очистить систему от любых неиспользуемых (оставшихся) зависимостей, используйте эту команду:
sudo apt-get autoremove
Вот сценарий, который я использую для хранения 2 пакетов ядра установленными (т.е. текущий и предыдущий). Это также удаляет initrd-VERSION-generic.old-dkms файлы, разбросанные DKMS, который может заполнение маленький раздел начальной загрузки.
Сценарий:
echo "**Removing -generic.old-dkms files from /boot**" && rm -f /boot/*-generic.old-dkms # if using DKMS it creates initrd-VERSION-generic.old-dkms in /boot and doesn't clean them up, meaning after a few kernel upgrades /boot can become full
OLDKERNEL=$(ls -tr /boot/vmlinuz-* | head -n -2 | cut -d- -f2- | awk '{print "linux-image-" $0}')
OLDHEADERS=$(ls -tr /boot/vmlinuz-* | head -n -2 | cut -d- -f2- | sed 's/-generic//g' | awk '{print "linux-headers-" $0}')
OLDHEADERS=${OLDHEADERS//-pae/} # remove -pae string as linux-header packages don't have it in their names
if [ -n "$OLDKERNEL" -o -n "$OLDHEADERS" ]; then
apt-get -q remove --purge $OLDKERNEL $OLDHEADERS
echo "**Finished removing old kernels**"
else
echo "**No old kernels found**"
fi
вот приблизительный набросок того, что я сделал, осторожно, так как я не эксперт в Linux, убедитесь, что вы знаете, что делаете, и сделали резервную копию всех файлов, которые вы изменяете.
gedit /boot/grub/grub.cfg
затем найдите записи, которые вы хотите сохранить, мы выделим и скопируем их
cd /etc/grub.d
ls
вы увидите список файлов, таких как 10_linux и 30_os-prober
sudo chmod -x 10_linux
, это остановит автоматическое добавление всех записей linux в меню загрузки grub .
gksudo gedit 40_custom
откройте файл пользовательского меню загрузки, затем вернитесь к grub.cfg (который все еще должен быть открыт в gedit) и скопируйте записи, которые вы хотите сохранить ... например,
menuentry "My Default Karmic" {
set root=(hd0,1)
search --no-floppy --fs-uuid --set cb201140-52f8-4449-9a95-749b27b58ce8
linux /boot/vmlinuz-2.6.31-11-generic root=UUID=cb201140-52f8-4449-9a95-749b27b58ce8 ro quiet splash
initrd /boot/initrd.img-2.6.31-11-generic
}
вставьте их в 40_custom
, а затем сохраните его.
sudo chmod 755 40_custom
делает его исполняемым, затем, наконец, мы обновляем grub, который изменяет файл grub.cfg:
sudo update-grub
ОСТОРОЖНО, если вы обновите ядро или ОС, ваше меню загрузки, вероятно, будет не обновлять ... вам придется сделать это вручную. Но выполнение этой процедуры позволит вам настроить меню загрузки немного больше, например, удалить версию ядра и просто указать имя ubuntu ... например, Ubuntu Lucid 10.04 и т. Д.
Надеюсь, кто-то сочтет это полезным, так как это мне потребовалось время, чтобы понять ... нигде не видел этого решения ...
Вы можете использовать ukuu - это весь графический интерфейс - для обновления и удаления старых ядер. У меня работает!
Просто не забудьте оставить последние 2 установленными и, очевидно, «работающее» ядро.
Вы также можете настроить ukuu на отображение только основных выпусков, даже ядер RC, скрытых выпусков.
Вы можете найти ukuu в Synaptic или инструкции здесь:
ailurus имеет функцию удаления старых ядер, а также неиспользуемых конфигураций. Я лично удаляю вручную из синаптики. Вы можете установить ailurus из getdeb , а также из ppa
Самый быстрый / простой способ (применимый по крайней мере с 12.04), который уже поставляется с Ubuntu, - apt-get
. Выполните следующие действия, если вы хотите удалить все старые версии ядра, которые не используются (кроме предыдущей, которую вы не используете. Это необходимо для того, чтобы убедиться, что в случае сбоя текущей версии ядра каким-либо образом у вас есть способ вернуться в предыдущее состояние). Сделайте следующее:
sudo apt-get autoclean
Это удалит все старые файлы (включая версии ядра), которые могут у вас быть. Обратите внимание, что если у вас много старых версий, это займет некоторое время, поскольку необходимо убедиться, что удаление версии ядра не вызывает проблем. Для меня удаление последних 12 версий ядра заняло около 2 минут. Вы также можете сделать следующее:
sudo apt-get clean
Что удалит все загруженное и сохраненное в папке кэша apt. Наконец, у вас есть:
sudo apt-get autoremove
, который проверяет наличие неиспользуемых пакетов и при необходимости удаляет их. Это отлично подходит для тех библиотек и пакетов зависимостей, которые больше не нужны ни одному установленному приложению.
$ sudo apt autoremove
...
The following packages will be REMOVED:
linux-headers-4.4.0-57 linux-headers-4.4.0-57-generic linux-image-4.4.0-57-generic linux-image-extra-4.4.0-57-generic linux-tools-4.4.0-57 linux-tools-4.4.0-57-generic
Я нахожу это самым простым и быстрым способом. В нём хранится последнее ядро, а также ещё два:
sudo apt-get install bikeshed
sudo purge-old-kernels
Для изменения количества хранимых дополнительных ядер:
sudo purge-old-kernels --keep 3
Удаление записей из Grub 2. Записи должны быть удалены путем редактирования или удаления файлов в папке /etc/grub.d. Файл /boot/grub/grub.cfg доступен только для чтения и обычно не требует редактирования.
Слишком много ядер?
Если вы не уверены в используемом в настоящее время ядре, в терминале типа отсоедините -r.
Ядра, удаленные через APT (Synaptic, "apt-get delete" и т.д.), автоматически обновят grub.cfg и никаких действий от пользователя не требуется.
Отличным инструментом для удаления ядер (и пунктов меню) является Ubuntu-Tweak, безопасное и простое в использовании приложение с графическим интерфейсом.
Установка ubuntu-Tweak
Ubuntu-Tweak будет доступна в разделе Приложения > Системные инструменты.
Удаление старых записей ядра
Выберите "Очиститель пакетов" слева и "Очистить ядро" справа.
Нажмите кнопку "Разблокировать" в правом нижнем углу, введите пароль.
Выберите из отображаемого списка изображения ядра и заголовки, которые вы хотите удалить. Используемого ядра нет в списке.
Нажмите кнопку "Очистка" в правом нижнем углу, чтобы удалить выбранные образы ядра и заголовки.
Удаление операционных систем из меню Grub
Другие операционные системы, которые были удалены с компьютера, также будут удалены из меню, как только "update-grub" будет запущен от имени root.
Пункты меню скриптами помещаются в меню Grub2. Если вы не хотите, чтобы в меню были введены другие операционные системы, отключите /etc/grub.d/30_osprober
Выполните эту команду, чтобы остановить выполнение скрипта
sudo chmod -x /etc/grub. d/30_os-prober
DISABLE_30_OS-PROBER='true' в /etc/default/grub
Удалить Memtest86+ из меню Grub
sudo chmod -x /etc/grub.d/20_memtest86+
Примечание:. После обновления ядра в меню GRUB добавляется новая запись, которую при желании можно удалить старую. Однако, большинство опытных пользователей посоветуют оставить хотя бы одну запасную запись на случай, если что-то пойдет не так с обновлением, и вам нужно будет загрузить старую версию ядра для поиска и устранения неисправностей.
Альтернативный способ удаления записей ядра (Kernel entries) (до 10.04)
для GRUB, а не для GRUB2
Вы можете найти его в разделе System>>Administration>>>.
На втором скриншоте видно, что можно выбрать количество отображаемых ядер? Обычно я просто держу его на 1, но когда я получаю обновление ядра я всегда меняю его на 2 перед перезагрузкой, так что я могу выбрать старое ядро, если новое ядро имеет проблемы с моим оборудованием. Как только я узнаю, что новое ядро хорошо работает, я меняю его обратно на 1.
Чистая командная строка, это удалит все, кроме текущей и второй по актуальности (через «-2» в команде head ниже):
OLD=$(ls -tr /boot/vmlinuz-* | head -n -2 | cut -d- -f2- |
awk '{print "linux-image-" $0 " linux-headers-" $0}' )
if [ -n "$OLD" ]; then
apt-get -qy remove --purge $OLD
fi
apt-get -qy autoremove --purge
Обновление: purge-old-kernels
в настоящее время устарело .
Я написал сценарий для очистки ядер даже в сложных условиях . Он называется linux-purge
, и вы можете найти его здесь .
Если вы просто хотите очистить ядра (и связанные пакеты), которые старше, чем используемое в настоящее время ядро , когда система не сломана, вы можете использовать этот сценарий .
Также есть страница документации Ubuntu, в которую я внес свой вклад относительно удаления старых ядер здесь .
O le tẹle awọn Lilo apakan package "awọn iṣagbega-iṣagbega" ti [Awọn imudojuiwọn Aabo Aifọwọyi nkan lori Ubuntu Wiki lati ṣe eyi.
O nilo lati yi ila ti o tẹle sii ni /etc/apt/apt.conf.d/50unattended-upgrades file;
//Unattended-Upgrade::Remove-Unused-Dependencies "false";
with
Unattended-Upgrade::Remove-Unused-Dependencies "true";
lati yọ awọn idii atijọ kuro laifọwọyi, pẹlu awọn ekuro.
yọ kuro tabi sọ asọye laini
"^linux-image.*";
ni apakan "NeverAutoRemove" ti faili naa /etc/apt/apt.conf.d/01autoremove.
Принятый ответ с использованием sed
для постоянного удаления старых ядер имеет некоторые недостатки, если кто-то не перезагрузил компьютер после обновления ядра, команда удалит и новое ядро.
Вот альтернативное решение, которое будет учитывать все ситуации для удаления только реальных старых ядер:
#!/bin/bash
kernels=( $(grep -Po "^linux-image-[^-]+-[^-]+-generic\b" < <(dpkg --get-selections)) )
cur_rel=$(grep -Po ".*(?=-[a-z]*$)" < <(uname -r))
for kernel in "${kernels[@]}"; do
ker_rel=$(grep -Po "[0-9].*(?=-[a-z]*)" <<< "$kernel")
dpkg --compare-versions "$ker_rel" gt "$cur_rel" && echo "Please Restart your computer first" && break
dpkg --compare-versions "$ker_rel" lt "$cur_rel" && sudo apt-get remove "$kernel"
done
Если у вас есть какая-либо версия, которая новее текущей, это даст вам предупреждение о необходимости сначала перезагрузить компьютер. Также обратите внимание, что старые ядра сохраняются по уважительной причине: если вы каким-то образом испортите свое текущее ядро, сделав вашу систему нестабильной, вы сможете загрузиться с любым старым ядром.
Чтобы выяснить, какие ядра и заголовки установлены, используйте
dpkg -l | grep linux-image
dpkg -l | grep linux-headers
Вы можете удалить их по одному или вместе, просто убедитесь, что они самые последние.
Есть также несколько удобных команд и скриптов для автоматизации удаления.
http://ubuntuforums.org/showthread.php? t=1658648
Следующие утверждения об удалении всех неиспользуемых ядер и заголовков:
dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d'|grep -E "(image|headers|modules)" | grep -v hwe | xargs sudo apt-get purge
(используйте apt-get -y
для удаления без вопросов)
Вот что происходит при выполнении на 18.04.1:
~$ dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]
\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d'|grep -E "(image|headers|modules)" | xargs sudo apt-get -y purge
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
linux-headers-4.15.0-33* linux-headers-4.15.0-33-generic* linux-headers-4.15.0-34* linux-headers-4.15.0-34-generic* linux-image-4.15.0-33-generic* linux-image-4.15.0-34-generic*
linux-modules-4.15.0-33-generic* linux-modules-4.15.0-34-generic* linux-modules-extra-4.15.0-33-generic* linux-modules-extra-4.15.0-34-generic*
0 upgraded, 0 newly installed, 10 to remove and 1 not upgraded.
After this operation, 671 MB disk space will be freed.
(Reading database ... 227403 files and directories currently installed.)
Removing linux-headers-4.15.0-33-generic (4.15.0-33.36) ...
Removing linux-headers-4.15.0-33 (4.15.0-33.36) ...
Removing linux-headers-4.15.0-34-generic (4.15.0-34.37) ...
Removing linux-headers-4.15.0-34 (4.15.0-34.37) ...
Removing linux-modules-extra-4.15.0-33-generic (4.15.0-33.36) ...
Removing linux-image-4.15.0-33-generic (4.15.0-33.36) ...
/etc/kernel/postrm.d/initramfs-tools:
update-initramfs: Deleting /boot/initrd.img-4.15.0-33-generic
/etc/kernel/postrm.d/zz-update-grub:
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.15.0-36-generic
Found initrd image: /boot/initrd.img-4.15.0-36-generic
Found linux image: /boot/vmlinuz-4.15.0-34-generic
Found initrd image: /boot/initrd.img-4.15.0-34-generic
Adding boot menu entry for EFI firmware configuration
done
Removing linux-modules-extra-4.15.0-34-generic (4.15.0-34.37) ...
Removing linux-image-4.15.0-34-generic (4.15.0-34.37) ...
I: /vmlinuz.old is now a symlink to boot/vmlinuz-4.15.0-36-generic
I: /initrd.img.old is now a symlink to boot/initrd.img-4.15.0-36-generic
/etc/kernel/postrm.d/initramfs-tools:
update-initramfs: Deleting /boot/initrd.img-4.15.0-34-generic
/etc/kernel/postrm.d/zz-update-grub:
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.15.0-36-generic
Found initrd image: /boot/initrd.img-4.15.0-36-generic
Adding boot menu entry for EFI firmware configuration
done
Removing linux-modules-4.15.0-33-generic (4.15.0-33.36) ...
Removing linux-modules-4.15.0-34-generic (4.15.0-34.37) ...
(Reading database ... 156180 files and directories currently installed.)
Purging configuration files for linux-image-4.15.0-34-generic (4.15.0-34.37) ...
Purging configuration files for linux-modules-4.15.0-33-generic (4.15.0-33.36) ...
dpkg: warning: while removing linux-modules-4.15.0-33-generic, directory '/lib/modules/4.15.0-33-generic' not empty so not removed
Purging configuration files for linux-modules-4.15.0-34-generic (4.15.0-34.37) ...
Purging configuration files for linux-image-4.15.0-33-generic (4.15.0-33.36) ...
Purging configuration files for linux-modules-extra-4.15.0-34-generic (4.15.0-34.37) ...
Purging configuration files for linux-modules-extra-4.15.0-33-generic (4.15.0-33.36) ...
~$ uname -r
4.15.0-36-generic
Для того, чтобы удалить старые ядра образов Linux, сначала загрузитесь в ядро, которое хотите сохранить.
Также вы можете проверить версию ядра с помощью команды uname -r
, чтобы не удалить по ошибке не ту версию.
Теперь перейдите в менеджер пакетов synaptic и найдите linux-image
и удалите старые версии, кроме той, что показана верхней командой. Обычно я предпочитаю использовать последнюю.
Теперь, когда вы перезагрузитесь, вы увидите более чистое grub-меню.
Лично мне нравится использовать Synaptic
. Это позволяет мне чувствовать себя увереннее в том, что происходит. Единственное приложение, которое я использовал и которое имеет возможность удалять старые ядра, это Ubuntu Tweak.
Как удалить ядра, которые вы не используете:
uname -a
в терминале Вы можете удалить старые ядра (linux-image-...
пакеты) с помощью Synaptic, что удалит их из меню загрузки. Не удаляйте запущенное ядро (вы можете проверить его версию с помощью uname -r
).
Имейте в виду, что наличие одной или двух старых версий может помочь в диагностике, если что-то пойдет не так.
Или же вы можете отредактировать/удалить записи вручную (gksu gedit /boot/grub/grub.cfg
), но они будут заново сгенерированы при обновлении до более нового ядра.
Если вы думаете об удалении опций recovery mode
- не надо. Они могут пригодиться, если вы сломаете что-то, что препятствует загрузке.