Удалить самые новые (Не старые )Записи ядра (Обновления )CentOS

С помощью awk. Сопоставьте имена ключей в массиве unique, и к тому времени, когда вся обработка файла будет завершена, в массиве должен быть только один ключ.

awk '!unique[$0]++ { count++ } END { print count == 1 ? "contents are same" : "contents are different"  }' file

Общий синтаксис для awkпредставляет собой шаблонную -модель действия.

pattern { action }

Часть !unique[$0]++создает хэш-карту (ассоциативного массива )путем создания ключа как содержимого всей строки $0. При первом просмотре уникальной строки значение unique['<key-name>']будет равно нулю, а блок !отменяет это ложное и становится истинным действием для части {..}, где мы увеличиваем счетчик.

Поскольку мы также увеличиваем значение после -, для последующих вхождений той же строки отрицание создаст логическое ложное условие, в результате чего блок {..}не будет выполняться. Инструкции внутри ENDвыполняются после обработки всех строк. Поскольку в конце обработки у нас есть только один ключ в массиве, мы объявляем строки одинаковыми.

2
10.09.2021, 03:01
1 ответ

Список пакетовdnf list installed kernel*

[root@centos /]# dnf list installed kernel*
Installed Packages
kernel-core.x86_64                 4.18.0-193.6.3.el8_2            @BaseOS       
kernel-core.x86_64                 4.18.0-193.14.2.el8_2           @BaseOS       
kernel-core.x86_64                 4.18.0-305.3.1.el8              @BaseOS       
kernel-devel.x86_64                4.18.0-193.6.3.el8_2            @BaseOS       
kernel-devel.x86_64                4.18.0-193.14.2.el8_2           @BaseOS       
kernel-devel.x86_64                4.18.0-305.3.1.el8              @BaseOS       
kernel-headers.x86_64              4.18.0-305.3.1.el8              @BaseOS       
kernel-ml.x86_64                   5.7.8-1.el8.elrepo              @elrepo-kernel
kernel-ml.x86_64                   5.8.0-1.el8.elrepo              @elrepo-kernel
kernel-ml.x86_64                   5.12.10-1.el8.elrepo            @elrepo-kernel
kernel-ml-core.x86_64              5.7.8-1.el8.elrepo              @elrepo-kernel
kernel-ml-core.x86_64              5.8.0-1.el8.elrepo              @elrepo-kernel
kernel-ml-core.x86_64              5.12.10-1.el8.elrepo            @elrepo-kernel
kernel-ml-devel.x86_64             5.7.8-1.el8.elrepo              @elrepo-kernel
kernel-ml-modules.x86_64           5.7.8-1.el8.elrepo              @elrepo-kernel
kernel-ml-modules.x86_64           5.8.0-1.el8.elrepo              @elrepo-kernel
kernel-ml-modules.x86_64           5.12.10-1.el8.elrepo            @elrepo-kernel
kernel-modules.x86_64              4.18.0-193.6.3.el8_2            @BaseOS       
kernel-modules.x86_64              4.18.0-193.14.2.el8_2           @BaseOS       
kernel-modules.x86_64              4.18.0-305.3.1.el8              @BaseOS       
kernel-tools.x86_64                4.18.0-305.3.1.el8              @BaseOS       
kernel-tools-libs.x86_64           4.18.0-305.3.1.el8              @BaseOS       
[root@centos /]# 

Поиск пакетов ядраrpm -qa | grep kernel

[root@centos /]# rpm -qa | grep kernel
kernel-core-4.18.0-305.3.1.el8.x86_64
kernel-core-4.18.0-193.6.3.el8_2.x86_64
kernel-core-4.18.0-193.14.2.el8_2.x86_64
kernel-tools-libs-4.18.0-305.3.1.el8.x86_64
kernel-ml-core-5.12.10-1.el8.elrepo.x86_64
kernel-ml-modules-5.7.8-1.el8.elrepo.x86_64
kernel-ml-5.12.10-1.el8.elrepo.x86_64
kernel-modules-4.18.0-193.6.3.el8_2.x86_64
kernel-ml-core-5.8.0-1.el8.elrepo.x86_64
kernel-ml-core-5.7.8-1.el8.elrepo.x86_64
kernel-4.18.0-193.14.2.el8_2.x86_64
kernel-devel-4.18.0-305.3.1.el8.x86_64
kernel-ml-5.8.0-1.el8.elrepo.x86_64
kernel-4.18.0-193.6.3.el8_2.x86_64
kernel-modules-4.18.0-193.14.2.el8_2.x86_64
kernel-devel-4.18.0-193.14.2.el8_2.x86_64
kernel-ml-devel-5.7.8-1.el8.elrepo.x86_64
kernel-headers-4.18.0-305.3.1.el8.x86_64
kernel-4.18.0-305.3.1.el8.x86_64
kernel-tools-4.18.0-305.3.1.el8.x86_64
kernel-ml-5.7.8-1.el8.elrepo.x86_64
kernel-ml-modules-5.8.0-1.el8.elrepo.x86_64
kernel-modules-4.18.0-305.3.1.el8.x86_64
kernel-ml-modules-5.12.10-1.el8.elrepo.x86_64
kernel-devel-4.18.0-193.6.3.el8_2.x86_64

[root@centos /]#

Классификация пакетов для просмотра целевых пакетов!

kernel-4.18.0-193.6.3.el8_2.x86_64
kernel-4.18.0-193.14.2.el8_2.x86_64
kernel-4.18.0-305.3.1.el8.x86_64
kernel-ml-5.7.8-1.el8.elrepo.x86_64
kernel-ml-5.8.0-1.el8.elrepo.x86_64
kernel-ml-5.12.10-1.el8.elrepo.x86_64

kernel-core-4.18.0-193.6.3.el8_2.x86_64
kernel-core-4.18.0-193.14.2.el8_2.x86_64
kernel-core-4.18.0-305.3.1.el8.x86_64
kernel-ml-core-5.7.8-1.el8.elrepo.x86_64
kernel-ml-core-5.8.0-1.el8.elrepo.x86_64
kernel-ml-core-5.12.10-1.el8.elrepo.x86_64

kernel-devel-4.18.0-193.14.2.el8_2.x86_64
kernel-devel-4.18.0-193.6.3.el8_2.x86_64
kernel-ml-devel-5.7.8-1.el8.elrepo.x86_64

kernel-modules-4.18.0-193.6.3.el8_2.x86_64
kernel-modules-4.18.0-193.14.2.el8_2.x86_64
kernel-modules-4.18.0-305.3.1.el8.x86_64
kernel-ml-modules-5.7.8-1.el8.elrepo.x86_64
kernel-ml-modules-5.8.0-1.el8.elrepo.x86_64
kernel-ml-modules-5.12.10-1.el8.elrepo.x86_64

kernel-tools-libs-4.18.0-305.3.1.el8.x86_64
kernel-headers-4.18.0-305.3.1.el8.x86_64
kernel-tools-4.18.0-305.3.1.el8.x86_64

Если меня интересует, удалите версию 5.7.8; Мне нужно будет сделать что-то вроде:

dnf remove kernel-ml-5.7.8-1.el8.elrepo.x86_64
dnf remove kernel-ml-core-5.7.8-1.el8.elrepo.x86_64
dnf remove kernel-ml-devel-5.7.8-1.el8.elrepo.x86_64
dnf remove kernel-ml-modules-5.7.8-1.el8.elrepo.x86_64

Метод быстрого выбора пакетов, связанных с 5.7.8, для удаления:rpm -qa | grep ^kernel | grep 5\.7\.8

[root@centos /]# rpm -qa | grep ^kernel | grep 5\.7\.8
kernel-ml-modules-5.7.8-1.el8.elrepo.x86_64
kernel-ml-core-5.7.8-1.el8.elrepo.x86_64
kernel-ml-devel-5.7.8-1.el8.elrepo.x86_64
kernel-ml-5.7.8-1.el8.elrepo.x86_64
[root@centos /]# 

Тогда dnf remove $(rpm -qa | grep ^kernel | grep 5\.7\.8)удалю всё, Что мне нужно!

[root@centos /]# dnf remove $(rpm -qa | grep ^kernel | grep 5\.7\.8)
Dependencies resolved.
=================================================================================
 Package              Arch      Version                  Repository         Size
=================================================================================
Removing:
 kernel-ml            x86_64    5.7.8-1.el8.elrepo       @elrepo-kernel      0  
 kernel-ml-core       x86_64    5.7.8-1.el8.elrepo       @elrepo-kernel     64 M
 kernel-ml-devel      x86_64    5.7.8-1.el8.elrepo       @elrepo-kernel     50 M
 kernel-ml-modules    x86_64    5.7.8-1.el8.elrepo       @elrepo-kernel     23 M

Transaction Summary
=================================================================================
Remove  4 Packages

Freed space: 137 M
Is this ok [y/N]: y
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                         1/1 
  Erasing          : kernel-ml-5.7.8-1.el8.elrepo.x86_64                     1/4 
  Erasing          : kernel-ml-devel-5.7.8-1.el8.elrepo.x86_64               2/4 
  Erasing          : kernel-ml-modules-5.7.8-1.el8.elrepo.x86_64             3/4 
  Running scriptlet: kernel-ml-modules-5.7.8-1.el8.elrepo.x86_64             3/4 
  Running scriptlet: kernel-ml-core-5.7.8-1.el8.elrepo.x86_64                4/4 
  Erasing          : kernel-ml-core-5.7.8-1.el8.elrepo.x86_64                4/4 
warning: file /lib/modules/5.7.8-1.el8.elrepo.x86_64/updates: remove failed: No such file or directory

  Running scriptlet: kernel-ml-core-5.7.8-1.el8.elrepo.x86_64                4/4 
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-ml-5.12.10-1.el8.elrepo.x86_64.conf:6: hwcap directive ignored
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-ml-5.8.0-1.el8.elrepo.x86_64.conf:6: hwcap directive ignored

  Verifying        : kernel-ml-5.7.8-1.el8.elrepo.x86_64                     1/4 
  Verifying        : kernel-ml-core-5.7.8-1.el8.elrepo.x86_64                2/4 
  Verifying        : kernel-ml-devel-5.7.8-1.el8.elrepo.x86_64               3/4 
  Verifying        : kernel-ml-modules-5.7.8-1.el8.elrepo.x86_64             4/4 
Installed products updated.

Removed:
  kernel-ml-5.7.8-1.el8.elrepo.x86_64                                            
  kernel-ml-core-5.7.8-1.el8.elrepo.x86_64                                       
  kernel-ml-devel-5.7.8-1.el8.elrepo.x86_64                                      
  kernel-ml-modules-5.7.8-1.el8.elrepo.x86_64                                    

Complete!
[root@centos /]# 

Вот и все!

enter image description here

После того, как я получил:df -H /

[root@centos /]# df -H /
Filesystem      Size  Used Avail Use% Mounted on
/dev/nvme0n1p9   34G  9.2G   23G  29% /
[root@centos /]#

Иdf -H

[root@centos /]# df -H
Filesystem       Size  Used Avail Use% Mounted on
devtmpfs         8.2G     0  8.2G   0% /dev
tmpfs            8.2G  529M  7.7G   7% /dev/shm
tmpfs            8.2G   11M  8.2G   1% /run
tmpfs            8.2G     0  8.2G   0% /sys/fs/cgroup
/dev/nvme0n1p9    34G  9.2G   23G  29% /
/dev/nvme0n1p7   1.1G  447M  506M  47% /boot
/dev/nvme0n1p8   183G   73G  102G  42% /home
/dev/nvme0n1p10   26G   11G   13G  46% /var
/dev/nvme0n1p6   1.1G  7.6M  1.1G   1% /boot/efi
/dev/loop1        59M   59M     0 100% /var/lib/snapd/snap/core18/2074
/dev/loop0       102M  102M     0 100% /var/lib/snapd/snap/core/9665
/dev/loop2        66M   66M     0 100% /var/lib/snapd/snap/gtk-common-themes/1506
/dev/loop3        32M   32M     0 100% /var/lib/snapd/snap/snapd/8542
/dev/loop4        58M   58M     0 100% /var/lib/snapd/snap/core18/1880
/dev/loop5        34M   34M     0 100% /var/lib/snapd/snap/snapd/12398
/dev/loop7       105M  105M     0 100% /var/lib/snapd/snap/core/11316
/dev/loop6        65M   65M     0 100% /var/lib/snapd/snap/core20/1081
/dev/loop8        69M   69M     0 100% /var/lib/snapd/snap/gtk-common-themes/1515
tmpfs            1.7G   11M  1.7G   1% /run/user/1000
[root@centos /]# 

И наконецdnf list installed kernel*

[root@centos /]# dnf list installed kernel*
Installed Packages
kernel.x86_64                     4.18.0-193.6.3.el8_2            @BaseOS       
kernel.x86_64                     4.18.0-193.14.2.el8_2           @BaseOS       
kernel.x86_64                     4.18.0-305.3.1.el8              @BaseOS       
kernel-core.x86_64                4.18.0-193.6.3.el8_2            @BaseOS       
kernel-core.x86_64                4.18.0-193.14.2.el8_2           @BaseOS       
kernel-core.x86_64                4.18.0-305.3.1.el8              @BaseOS       
kernel-devel.x86_64               4.18.0-193.6.3.el8_2            @BaseOS       
kernel-devel.x86_64               4.18.0-193.14.2.el8_2           @BaseOS       
kernel-devel.x86_64               4.18.0-305.3.1.el8              @BaseOS       
kernel-headers.x86_64             4.18.0-305.3.1.el8              @BaseOS       
kernel-ml.x86_64                  5.8.0-1.el8.elrepo              @elrepo-kernel
kernel-ml.x86_64                  5.12.10-1.el8.elrepo            @elrepo-kernel
kernel-ml-core.x86_64             5.8.0-1.el8.elrepo              @elrepo-kernel
kernel-ml-core.x86_64             5.12.10-1.el8.elrepo            @elrepo-kernel
kernel-ml-modules.x86_64          5.8.0-1.el8.elrepo              @elrepo-kernel
kernel-ml-modules.x86_64          5.12.10-1.el8.elrepo            @elrepo-kernel
kernel-modules.x86_64             4.18.0-193.6.3.el8_2            @BaseOS       
kernel-modules.x86_64             4.18.0-193.14.2.el8_2           @BaseOS       
kernel-modules.x86_64             4.18.0-305.3.1.el8              @BaseOS       
kernel-tools.x86_64               4.18.0-305.3.1.el8              @BaseOS       
kernel-tools-libs.x86_64          4.18.0-305.3.1.el8              @BaseOS       
[root@centos /]# 

иrpm -qa | grep kernel

[root@centos /]# rpm -qa | grep kernel
kernel-core-4.18.0-305.3.1.el8.x86_64
kernel-core-4.18.0-193.6.3.el8_2.x86_64
kernel-core-4.18.0-193.14.2.el8_2.x86_64
kernel-tools-libs-4.18.0-305.3.1.el8.x86_64
kernel-ml-core-5.12.10-1.el8.elrepo.x86_64
kernel-ml-5.12.10-1.el8.elrepo.x86_64
kernel-modules-4.18.0-193.6.3.el8_2.x86_64
kernel-ml-core-5.8.0-1.el8.elrepo.x86_64
kernel-4.18.0-193.14.2.el8_2.x86_64
kernel-devel-4.18.0-305.3.1.el8.x86_64
kernel-ml-5.8.0-1.el8.elrepo.x86_64
kernel-4.18.0-193.6.3.el8_2.x86_64
kernel-modules-4.18.0-193.14.2.el8_2.x86_64
kernel-devel-4.18.0-193.14.2.el8_2.x86_64
kernel-headers-4.18.0-305.3.1.el8.x86_64
kernel-4.18.0-305.3.1.el8.x86_64
kernel-tools-4.18.0-305.3.1.el8.x86_64
kernel-ml-modules-5.8.0-1.el8.elrepo.x86_64
kernel-modules-4.18.0-305.3.1.el8.x86_64
kernel-ml-modules-5.12.10-1.el8.elrepo.x86_64
kernel-devel-4.18.0-193.6.3.el8_2.x86_64
[root@centos /]# 
0
03.10.2021, 23:59

Теги

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