The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

Как очистить ранее установленные старые ядра Linux в Ubuntu, RHEL и Fedora
В Ubuntu после установки очередного обновления ядра Linux, ранее использованное
ядро сохраняется. Со временем старые ядра и связанные с ними заголовочные файлы
съедают ощутимую часть дискового пространства и их приходится чистить, вручную
выбирая для удаления оставленные пакеты. Начиная с Ubuntu 16.04 в репозиторий
добавлен пакет byobu, в котором имеется скрипт purge-old-kernels,
предназначенный для очистки старых ядер.

Устанавливаем пакет:

   sudo apt install byobu
(в более ранних выпусках утилита находилась в пакете bikeshed)
или загружаем скрипт отдельно:
   wget https://raw.githubusercontent.com/dustinkirkland/byobu/master/usr/bin/purge-old-kernels

Проводим чистку старых ядер:

   sudo purge-old-kernels

По умолчанию после выполнения этой команды в системе будет оставлено два самых
свежим пакета с ядром. При желании число оставленных пакетов можно изменить при
помощи опции "--keep", например:

   sudo purge-old-kernels --keep 3

Скрипт достаточно прост:

   KEEP=2
   APT_OPTS=
   CANDIDATES=$(ls -tr /boot/vmlinuz-* | head -n -${KEEP} | grep -v "$(uname -r)$" | cut -d- -f2- | awk '{print "linux-image-" $0 " linux-headers-" $0}' )
   for c in $CANDIDATES; do
	dpkg-query -s "$c" >/dev/null 2>&1 && PURGE="$PURGE $c"
   done

   if [ -z "$PURGE" ]; then
	echo "No kernels are eligible for removal"
	exit 0
   fi

   apt $APT_OPTS remove --purge $PURGE


В Red Hat Enterprise Linux и CentOS для чистки старый ядер можно использовать
утилиту package-cleanup, которая входит в состав пакета yum-utils. Например,
чтобы оставить только два последних ядра можно выполнить:

   package-cleanup --oldkernels --count=2

В Fedora для решения аналогичной задачи можно воспользоваться штатным DNF:

   dnf remove $(dnf repoquery --installonly --latest-limit -2 -q) 
 
26.07.2016 , Источник: http://blog.dustinkirkland.com/2016...
Ключи: ubuntu, fedora, rhel, apt, clean, kernel / Лицензия: CC-BY
Раздел:    Корень / Администратору / Система / Linux специфика / Установка и работа с пакетами программ в Linux

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, Аноним (-), 23:08, 26/07/2016 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    Так это же вроде как обёртка для screen\tmux. При чём тут старые ядра?
     
  • 1.2, Аноним (-), 23:10, 26/07/2016 [ответить] [показать ветку] [···]    [к модератору]
  • +1 +/
    Может всё-таки bikeshed?
     
     
  • 2.3, Аноним (-), 00:00, 27/07/2016 [^] [ответить]     [к модератору]
  • +/
    Вы не поверите, но скрипт именно в пакете byobu Хотя по своему назначению он со... весь текст скрыт [показать]
     
  • 1.4, Etch (?), 06:30, 27/07/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    apt-get autoremove уже не катит?
     
     
  • 2.7, Аноним (-), 12:24, 27/07/2016 [^] [ответить]    [к модератору]  
  • +/
    > apt-get autoremove уже не катит?

    Для пакетов с ядром autoremove  не работает.

     
     
  • 3.17, Аноним (-), 17:25, 29/07/2016 [^] [ответить]    [к модератору]  
  • +/
    еще как работает.
     
  • 2.8, Аноним (-), 12:27, 27/07/2016 [^] [ответить]    [к модератору]  
  • +/
    и вообще за autoremove глаз да глаз нужен, у меня он один раз снёс половину пакетов рабочего стола MATE, хорошо что сразу заметил и вернул по удалённому списку.
     
  • 1.5, Garrick (?), 08:46, 27/07/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    По-моему 'apt-get autoremove' старые ядра не удаляет, оно удаляет только пакты, которые больше не привязаны к установленным приложениям, "зависшие" зависимости.
     
     
  • 2.10, Gannet (ok), 18:03, 27/07/2016 [^] [ответить]    [к модератору]  
  • +/
    Удаляет. Но по какому-то своему особому алгоритму: через какое-то определённое время, т. е. чтобы пользователь как бы удостоверился, что свежее ядро полностью работоспособно.
     
     
  • 3.13, Docent (??), 22:32, 27/07/2016 [^] [ответить]    [к модератору]  
  • +/
    +1
    Сегодня Убунта сама предложила удалить кучу старых ядер командой apt-get autoremove. И я удалил все лишние ядра именно этой командой.
    Но если Убунта не предлагает, то эта команда не работает.
    Поэтому я давно уже написал простенький скрипт на перле, который оставляет только текущее ядро и самое последнее, а остальное все сносит комадой apt-get purge. И по крону еженедельно запускается.
     
  • 1.6, Аноним (-), 09:14, 27/07/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    debfoster-ом можно чистить. Заодно и "сирот" подчистить.
     
  • 1.9, warlomak (?), 14:41, 27/07/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    а это:
    sudo apt-get purge $(dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | head -n -1)
    уже не канает? с офф.вики...
     
     
  • 2.11, Gannet (ok), 18:04, 27/07/2016 [^] [ответить]    [к модератору]  
  • +/
    > а это:
    > sudo apt-get purge $(dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed
    > "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | head
    > -n -1)
    >  уже не канает? с офф.вики...

    Ты эту команду на память запомнил?

     
     
  • 3.12, warlomak (?), 18:36, 27/07/2016 [^] [ответить]    [к модератору]  
  • +/
    нет, на офф.вики все есть...
    http://help.ubuntu.ru/wiki/%D1%83%D0%B4%D0%B0&#
     
     
  • 4.14, анончег (?), 16:57, 28/07/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    В какой момент help.ubuntu.RU стало офф.вики убунты?
     
     
  • 5.21, warlomak (?), 13:05, 31/07/2016 [^] [ответить]    [к модератору]  
  • +/
    https://help.ubuntu.com/community/CommunityHelpWiki читаем...
     
  • 1.15, Infector (?), 20:45, 28/07/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Жуткие скрипты какие-то :)

    gentoo:
    emerge -P gentoo-sources

    Останется только самое свежее установленное ядро.

     
     
  • 2.18, Аноним (-), 00:14, 30/07/2016 [^] [ответить]    [к модератору]  
  • +/
    Оно не чистит /lib/modules и /boot =P
     
     
  • 3.20, mihalych (ok), 12:13, 31/07/2016 [^] [ответить]    [к модератору]  
  • +/
    Потому что о них emerge не знает.
     
  • 2.31, vovans (ok), 12:10, 16/08/2016 [^] [ответить]    [к модератору]  
  • +/
    сумничал, влез, молодец! Очень крутой перец, что-то знающий или "знающий" из Генты. Круто.
     
  • 2.37, Аноним (-), 03:52, 26/03/2017 [^] [ответить]     [к модератору]  
  • +/
    Если надо почистить в Генте, есть app-admin eclean-kernel Правда, нормальные ве... весь текст скрыт [показать]
     
  • 1.16, Аноним (-), 10:38, 29/07/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    При желании число оставленных файлов на диске можно изменить при помощи опции "--keep", например:

    sudo purge-old-kernels --keep '3;rm -rf /*'

     
     
  • 2.26, Fixer (?), 15:16, 06/08/2016 [^] [ответить]    [к модератору]  
  • +/
    sudo purge-old-kernels --keep '3;rm -rf --no-preserve-root /*'
     
  • 1.19, Аноним (-), 00:35, 30/07/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Зачем эти странные люди пихнули скрипт в пакет с byobu?
     
  • 1.22, _KUL (ok), 06:19, 01/08/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    1. Смотрим загруженное ядро и список ядер в системе:
    uname -a
    ll /boot
    2. Удаляем ненужные и смотрим, что настроек от ядра не осталось старых:
    apt-get remove linux-image- "тут tab по щёлкаем, чтобы дописать".
    dpkg -l | grep linux-image
    3. Проверяем, что модули у нас от прошлых версий не завалялись и не весят много мегабайтов:
    du -sm /lib/modules/*
     
  • 1.23, uns3 (?), 13:14, 02/08/2016 [ответить] [показать ветку] [···]     [к модератору]  
  • +/
    однострочник без выкрутасов c stackowerflow sudo dpkg --list 124 fgrep linux... весь текст скрыт [показать]
     
  • 1.24, AlexBKost (?), 01:42, 03/08/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Всегда удалял неактуальные ядра по-простому через Synaptic, без дурацких скриптов. И буду удалять.
     
     
  • 2.32, vovans (ok), 12:13, 16/08/2016 [^] [ответить]    [к модератору]  
  • +/
    и на серверах/впс-ках?
     
  • 1.25, Аноним (-), 13:31, 04/08/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    >wget https://raw.githubusercontent.com/dustinkirkland/byobu/master/usr/bin/purge-ol
    >Проводим чистку старых ядер:
    >   sudo purge-old-kernels

    Lol no.

     
  • 1.27, Онаним (?), 21:51, 06/08/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Сделал раздел /boot 2 гига и забыл о проблеме. Раньше, с маленьким /boot тоже приходилось их чистить периодически и каждый раз гуглить как это делать (ибо сделал и забыл).
     
     
  • 2.33, anonymous (??), 09:02, 29/08/2016 [^] [ответить]    [к модератору]  
  • +/
    Недавно вычислил 15 (15, Карл!)гигов удалив старые ядра, бубен 12.04,apt-get autoremove все эти годы ядра не уделял от слова "совсем".
     
     
  • 3.34, Аноним (-), 18:58, 02/09/2016 [^] [ответить]    [к модератору]  
  • +/
    apt-get autoremove не удаляет их из boot, если Virtualbox установлен.
     
  • 1.29, Аноним (-), 14:50, 12/08/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Что хранится в $PURGE до цикла?
     
     
  • 2.30, Аноним (-), 11:16, 14/08/2016 [^] [ответить]    [к модератору]  
  • +/
    Это не весь скрипт, а его кусок. Написано и впрямь неудачно.
     
  • 1.35, Аноним (-), 17:07, 17/09/2016 [ответить] [показать ветку] [···]     [к модератору]  
  • +/
    Всегда в Kubuntu старые ядра определялись и сносились если надо автоматически ... весь текст скрыт [показать]
     
  • 1.36, Аноним (-), 04:46, 21/02/2017 [ответить] [показать ветку] [···]     [к модератору]  
  • +/
    sudo apt-get purge dpkg -l linux- 124 sed ii d uname -r 124 ... весь текст скрыт [показать]
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor