- Debian / Ubuntu Linux Delete Old Kernel Images Command
- Delete Old Kernel Images
- Step 1 – Boot into new kernel
- Step 2 – Delete unwanted and unused kernel images
- A note about newer Ubuntu and Debian based system
- Understanding package states in Ubuntu and Debian Linux
- How to Remove Old Kernels in Debian and Ubuntu
- Get current status
- Ubuntu 18.04 remove all unused old kernels
- Ubuntu 18.04 remove kernel that is not used
- How to list all installed Linux kernel
- How to remove old kernel versions on Ubuntu 18.04 or above
- Dealing with Ubuntu 16.04 LTS and older
- How to delete old kernels in Ubuntu
- Result
- Removing old kernels using GUI software updater tool
- Conclusion
- Как удалить старые ядра Ubuntu
- Удалить старые ядра в Ubuntu
- 1. Терминал
- 2. Synaptic
- 3. Ubuntu Cleaner
- Выводы
Debian / Ubuntu Linux Delete Old Kernel Images Command
Delete Old Kernel Images
The procedure is as follows for a Debian or Ubuntu Linux system. You must login as root user.
Step 1 – Boot into new kernel
First, boot into newly installed kernel. Verify this with the following command:
$ uname -mrs
$ uname -a
Sample outputs:
To list all installed Linux kernel images, type the following dpkg command:
# dpkg —list | egrep -i —color ‘linux-image|linux-headers’
Sample outputs:
Fig.01: Check what kernel image(s) are installed on your system (click to enlarge)
Step 2 – Delete unwanted and unused kernel images
You can remove kernel images one by one using the following apt-get command or apt command syntax:
# apt-get —purge remove linux-image-3.13.0-67-generic
OR
$ sudo apt-get —purge remove linux-image-3.13.0-67-generic
The purge removes packages and any configuration files are deleted too.
A note about newer Ubuntu and Debian based system
On newer system all obsolete kernels and headers should automatically be flagged as no more needed, and thus can be purged with the following single command:
$ sudo apt —purge autoremove
OR
$ sudo apt-get —purge autoremove
Sample outputs:
Please note that the autoremove is used to remove packages that were automatically installed to satisfy dependencies for other packages and are now no longer needed. This may remove rest of unwanted packages too.
Understanding package states in Ubuntu and Debian Linux
Consider the following example:
# dpkg —list | grep linux-image
Sample outputs:
The first column indicates package flags like rc, ii. So, what do the various dpkg flags like ‘ii’ ‘rc’ mean?
- rc : It means package is in remove/deinstall state and only config file exists.
- ii : It means package is in install state and it is 100% installed on the system.
You can remove all linux-image packages in rc state using the following command:
# x=$(dpkg —list | grep -i linux-image | grep ^rc| awk ‘< print $2>‘)
# echo «$x»
# apt-get —purge remove $x
Sample outputs:
Type the following command again to see the results:
# dpkg —list | egrep -i —color ‘linux-image|linux-headers’
Sample outputs:
Источник
How to Remove Old Kernels in Debian and Ubuntu
After installing a new Linux kernel, old kernels are not automatically deleted. They remain in your disk ( /boot partition). You have to delete them manually. Why?
The main reason is to save disk space, which occupied by old kernels. Some systems may become unusable if not enough disk space is available in /boot partition. However, disk space is not a problem in modern systems.
An other reason is to clean up Grub boot menu. In Ubuntu, Grub boot menu is hidden by default. You can display it by pressing “SHIFT” continuously at boot time. More details in this post.
You will never delete your current kernel, of course. It is recommended to keep at least one or two older kernels, so you can boot your system in an emergency situation (hardware or software compatibility issues with the current kernel).
After removing old kernels, new grub boot menu will be available in next reboot.
In a healthy Debian system, each time you install a package or update your system, you will be prompted that old kernels (if any) can ber removed. You will get the message “The following packages were automatically installed and are no longer required”. This message is no specific for kernel, but for any package which no longer required in your system:
In this case you may use:
This would be enough to remove old kernels from your system. But, below, it is described a completed and more safe approach.
Get current status
First things first. Which is your current kernel?
Источник
Ubuntu 18.04 remove all unused old kernels
H ow do I remove all unused old kernels in Ubuntu Linux 18.04/20.04 LTS using the command line?
Over time you get many Linux kernel packages installed on Ubuntu Linux 16.04 or 18.04 LTS server. All unused Linux kernel takes disk space on Ubuntu server, hence you must delete them from the system. This page shows you how to remove old kernels from an Ubuntu server install. The following commands works with Ubuntu 18.04 and 20.04 LTS server or desktop systems.
Tutorial details | |
---|---|
Difficulty level | Easy |
Root privileges | Yes |
Requirements | Ubuntu 18.04 LTS |
Est. reading time | 4 minutes |
Ubuntu 18.04 remove kernel that is not used
The procedure to delete all unused old kernels on Ubuntu Linux version 18.04 and 20.04 LTS is as follows:
- First, boot into a new kernel
- List all other older kernel using the dpkg command
- Note down system disk space usage by running the df -H command
- Delete all unused old kernels, run: sudo apt —purge autoremove
- Verify it by running the df -H
How to list all installed Linux kernel
Simply type the following dpkg command along with egrp command:
dpkg —list | egrep -i —color ‘linux-image|linux-headers’
# only installed #
dpkg —list | grep -i -E —color ‘linux-image|linux-kernel’ | grep ‘^ii’
Listing old kernel for removal purpose
Also note down the amount of disk space available on the file system by typing the following df command:
df -H
Total 9.3G disk space used on my cloud server
How to remove old kernel versions on Ubuntu 18.04 or above
Dealing with Ubuntu 16.04 LTS and older
First, get list of currently running Linux kernel, run:
v=»$(uname -r | awk -F ‘-virtual’ ‘< print $1>‘)»
echo «$v»
Sample outputs:
Next, I am going to create a list that tells not to delete currently running Linux kernel as follows:
i=»linux-headers-virtual|linux-image-virtual|linux-headers-generic-hwe-|linux-image-generic-hwe-|linux-headers-$
echo «$i»
Sample outputs (the following kernel I am going to keep on my systems):
Here is a list of the kernel that needs to be deleted:
dpkg —list | egrep -i ‘linux-image|linux-headers’ | awk ‘/ii/< print $2>‘ | egrep -v «$i»
Sample outputs:
How to delete old kernels in Ubuntu
Finally, I am going to delete all unwated and older Linux kernels on my Ubuntu Linux 16.04 LTS server, run:
$ sudo -i
# apt-get —purge remove $(dpkg —list | egrep -i ‘linux-image|linux-headers’ | awk ‘/ii/< print $2>‘ | egrep -v «$i»)
Result
Again run the df command:
df -H
Sample outputs:
- No ads and tracking
- In-depth guides for developers and sysadmins at Opensourceflare✨
- Join my Patreon to support independent content creators and start reading latest guides:
- How to set up Redis sentinel cluster on Ubuntu or Debian Linux
- How To Set Up SSH Keys With YubiKey as two-factor authentication (U2F/FIDO2)
- How to set up Mariadb Galera cluster on Ubuntu or Debian Linux
- A podman tutorial for beginners – part I (run Linux containers without Docker and in daemonless mode)
- How to protect Linux against rogue USB devices using USBGuard
Join Patreon ➔
Now I have used 6.7G disk space as compared 9.3G before deleting kernels. In other words, I gained 2G disk free space.
Removing old kernels using GUI software updater tool
Ubuntu comes with graphical management of software packages updates called update-manager. It is a frontend for the apt command package management system. Start update manger from GUI or open the terminal app, then type:
update-manager
Make sure you select an option called “Unused kernel updates to be removed” > click on the Install Now button:
Naturally, the GUI method works on the Ubuntu desktop. Server users need to stick with the CLI method.
Conclusion
And there you have it. You successfully removed old kernel and header packages from the Ubuntu Linux system. On really older Ubuntu system, we had a command named purge-old-kernels but t is now deprecated. Hence, you must use the apt/apt-get.
🐧 Get the latest tutorials on Linux, Open Source & DevOps via
Источник
Как удалить старые ядра Ubuntu
В Ubuntu ядро можно обновить несколькими способами. Для версии Ubuntu Desktop, менеджер обновлений программного обеспечения позволяет обновить ядро до самой новой версии в любое удобное время. В серверной версии Ubuntu ядро обновляется автоматически, утилитами из пакета unattended-upgrades, как часть важных обновлений безопасности. Также ядро можно обновить вручную, с помощью утилит управления пакетами apt, aptitude или даже собрав из исходников.
Со временем из-за таких обновлений, в системе накапливается много неиспользуемых образов ядер, которые только занимают дисковое пространство. Каждый образ ядра вместе со связанными заголовочными файлами и файлами модулей занимает около 200-400 мегабайт. Таким образом, удаление старых ядер в ubuntu позволит освободить много дискового пространства.
Посмотреть сколько в вашей системе набралось образов ядер можно с помощью файлового менеджера, открыв каталог /boot или просто выполнив команду в терминале:
Кроме того, в меню загрузчика Grub присутствует пункт для каждого ядра, на случай если вы захотите выбрать его для загрузки:
Для очистки диска можно удалить старые ядра в Ubuntu, если вы их не используете и они вам больше не нужны.
Удалить старые ядра в Ubuntu
1. Терминал
Перед тем как удалить старые ядра Ubuntu вспомните, что рекомендуется иметь в системе две версии ядра — последнюю, используемую на данный момент, и предыдущую, на случай какой-либо неполадки.
Не рекомендуется работать с одним ядром в системе, потому что если вы его повредите, у вас будет намного больше работы для восстановления системы. Важно заметить, что такой вариант не будет работать, если вы устанавливали новые ядра из исходников.
В Ubuntu образы ядра принадлежат к таким пакетам:
- linux-image- — образ ядра
- linux-image-extra- — внешние модули ядра
- linux-headers- — файлы заголовков
Сначала посмотрим какое ядро используется на данный момент в вашей системе:
Смотрим какие версии ядер были установлены:
apt list —installed | egrep «linux-image|linux-headers»
Можно посмотреть список ядер с помощью dpkg:
dpkg —list | egrep «linux-image|linux-headers»
Здесь rc — означает, что пакет был установлен, но уже удален, а ii — что пакет сейчас установлен.
На основе полученного списка вы можете удалить любую версию, например, 4.15.0-91:
sudo apt purge linux-image-4.15.0-66-generic linux-headers-4.15.0-91-generic
Эти команды удалят образ ядра, а также связанные с ним заголовочные файлы и файлы модулей.
Обратите внимание, что при удалении старого ядра, будет автоматически инициирован процесс обновления ядра до последней версии, если вы этого еще не сделали, а также после удаления будет обновлен конфигурационный файл Grub, чтобы убрать лишнюю запись из меню.
Если такое ядро не одно, вы можете удалить старые ядра ubuntu одной командой, используя расширенный синтаксис Bash. Оператор <> будет работать только в Bash и совместимых с ним оболочках:
sudo apt purge linux-image-4.15.0- <20.21,50.54,51.55>linux-headers-4.15.0-
После выполнения этих команд будет удаленно три образа ядра 4.15.0-20.21, 4.15.0-50.54, 4.15.0-51.55.
Если конфигурация Grub не обновится по каким-либо причинам, это можно сделать вручную:
Теперь можете перезагрузить компьютер, чтобы убедиться, что меню выбора операционной системы было очищено от лишних ядер.
Скрипт purge-old-kernels, который можно было использовать для удаления старых ядер больше не актуален, потому что он просто ссылается на команду apt. Теперь можно удалить старые ядра с помощью неё:
sudo apt —purge autoremove
Удалить все старые ядра, кроме используемого и предпоследнего, также можно командой:
sudo apt-get purge $(dpkg -l ‘linux-*’ | sed ‘/^ii/!d;/'»$(uname -r | sed «s/\(.*\)-\([^0-9]\+\)/\1/»)»‘/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/7/!d’ | head -n -1)
Затем нужно выполнить команду очистки системы и вручную обновить конфигурацию grub.
sudo apt autoremove
sudo update-grub
2. Synaptic
Synaptic — это графический пакетный менеджер для Ubuntu. Он позволяет устанавливать удалять и обновлять все пакеты в системе. Для его установки выполните:
sudo apt install synaptec
Запустите программу, в левой части выберите пункт Разделы затем Ядро и модули:
Найдите в списке пакеты linux-headers и linux-image, которые не используются и выберите в контекстном меню для них пункт Отметить для полного удаления:
Отметьте так все лишние пакеты и нажмите кнопку Применить на верхней панели чтобы применить изменения к системе. Конфигурация Grub должна обновится автоматически.
3. Ubuntu Cleaner
Это небольшая утилита, которая позволяет вам держать систему в чистоте удаляя старые ядра, ненужные пакеты, кэши браузеров и тому подобные вещи. Для её установки надо добавить PPA:
sudo add-apt-repository ppa:gerardpuig/ppa
Затем установите программу:
sudo apt install ubuntu-cleaner
После завершения установки вы найдёте её в главном меню:
Для очистки ядер выберите Old kernels на левой панели, затем отметьте ядра, которые надо удалить или отметьте пункт Old kernels в правой части окна:
После этого нажмите Clean и подтвердите операцию:
Всё, ваши старые ядра будут удалены.
Выводы
Незачем держать в системе очень много ненужных файлов. Теперь вы знаете, как правильно удалить старые версии ядер Ubuntu и сможете поддерживать свою систему в чистоте и порядке, это очень важно, особенно если вы часто обновляете ядра и тестируете новые версии. Если у вас остались вопросы, спрашивайте в комментариях!
Источник