Команда разработчиков Ubuntu Kernel каждый месяц выпускает новые обновления ядра, исправления ошибок и патчи системы безопасности. Если вы постоянный пользователь Ubuntu и регулярно обновляете свою систему, то в вашей системе постепенно накапливается больше количество неиспользованных старых ядер.
Таким образом, есть вероятность того, что загрузочный раздел /boot на жестком диске будет заполнен в определенный период времени. Если ваш раздел /boot полон, вы не сможете больше обновить систему или не можете даже обновить ядро до любой последней доступной версии. В этом случае очень важно регулярно обновлять ядро и программное обеспечение. Для этого вы должны иметь достаточно свободного пространства в разделе /boot. Чтобы система Ubuntu функционировала правильно, вы должны иметь достаточно свободного места в загрузочном /boot и корневом /root разделах.
Конечно, мы можем легко удалить накопившийся системный кэш, ненужные пакеты и зависимости с помощью следующих команд:
sudo apt-get autoremove
sudo apt-get autoclean
Но проблема в том, что это работает, только в том случае, если ядра устанавливались автоматически, или если вы устанавливали их с помощью Менеджера обновлений. C помощью этих команд не будут удалены ядра установленные вручную. Тем не менее, можно использовать некоторые сторонние программы, такие как Ubuntu Tweak для безопасного удаления неиспользуемых ядер, пакетов и их зависимостей, которые больше не нужны. Но Ubuntu Tweak это графическая программа, которая не может быть использована на серверах, которые не имеет графического режима.
Одним из разработчиков Ubuntu - Dustin Kirkland, отвечающим за развитие и стратегию продукта, была создана утилита purge-old-kernels, которая самым безопасным образом удаляет из системы неиспользованные пакеты ядер из десктопных и серверных систем Ubuntu.
Как использовать утилиту purge-old-kernels?
Утилита purge-old-kernels поставляется в Ubuntu 16.04 LTS по умолчанию, но прежде нужно установить утилиту byobu. В более старших версиях Ubuntu, вы должны прежде установить дополнительно утилиту bikeshed.
Для предыдущих дистрибутивов Ubuntu
sudo apt-get install bikeshed
В Ubuntu 16.04
sudo apt-get install byobu
Затем, чтобы удалить старые неиспользуемые ядра, выполните в терминале следующую команду:
sudo purge-old-kernels
Пример вывода команды:
Чтение списков пакетов ... Готово
Построение дерева зависимостей
Чтение информации о состоянии ... Готово
был автоматически установлен следующий пакет и больше не требуется:
linux-headers-4.4.0-21
Используйте sudo apt-get autoremove, чтобы удалить его.
Следующий пакеты, которые будут УДАЛЕНЫ:
linux-headers-4.4.0-21-generic* linux-image-4.4.0-21-generic* linux-image-extra-4.4.0-21-generic*обновлено 0, установлено 0 новых пакетов, 3 для удаления, и 0 пакетов обновлено.
После этой операции будет освобождено 224 Мб дискового пространства.
Вы хотите продолжить? [Y/n]
Введите Y и нажмите Enter, чтобы избавиться от неиспользуемого ядра и освободить место в системе.
Как видно, в приведенном выше выводе команды, старые ядра занимали 224 Мб на ж/диске моей Ubuntu 16.04.
Если нет старых ядер в вашей системе, использование этой утилиты отобразит следующее сообщение:
No kernels are eligible for removal (Нет ядер для удаления).
Безопасность использование данной утилиты заключается в том, что она никогда не удалит последнее установленное ядро, а если точнее, утилита purge-old-kernels удаляет все неиспользованные ядра, за исключением ДВУХ последних - актуальное и предыдущее. Но пользователь может переопределить это значение с помощью параметра --keep.
Например, чтобы удалить все старые ядра, за исключением 3-х последних, выполните следующую команду:
sudo purge-old-kernels --keep 3 -qy
Для получения более подробной информации об утилите purge-old-kernels, посмотрите мануал (руководство пользователя):
man purge-old-kernels
Источник: Dustin Kirkland blog
Удачи.
Таким образом, есть вероятность того, что загрузочный раздел /boot на жестком диске будет заполнен в определенный период времени. Если ваш раздел /boot полон, вы не сможете больше обновить систему или не можете даже обновить ядро до любой последней доступной версии. В этом случае очень важно регулярно обновлять ядро и программное обеспечение. Для этого вы должны иметь достаточно свободного пространства в разделе /boot. Чтобы система Ubuntu функционировала правильно, вы должны иметь достаточно свободного места в загрузочном /boot и корневом /root разделах.
Конечно, мы можем легко удалить накопившийся системный кэш, ненужные пакеты и зависимости с помощью следующих команд:
sudo apt-get autoremove
sudo apt-get autoclean
Но проблема в том, что это работает, только в том случае, если ядра устанавливались автоматически, или если вы устанавливали их с помощью Менеджера обновлений. C помощью этих команд не будут удалены ядра установленные вручную. Тем не менее, можно использовать некоторые сторонние программы, такие как Ubuntu Tweak для безопасного удаления неиспользуемых ядер, пакетов и их зависимостей, которые больше не нужны. Но Ubuntu Tweak это графическая программа, которая не может быть использована на серверах, которые не имеет графического режима.
Одним из разработчиков Ubuntu - Dustin Kirkland, отвечающим за развитие и стратегию продукта, была создана утилита purge-old-kernels, которая самым безопасным образом удаляет из системы неиспользованные пакеты ядер из десктопных и серверных систем Ubuntu.
Как использовать утилиту purge-old-kernels?
Утилита purge-old-kernels поставляется в Ubuntu 16.04 LTS по умолчанию, но прежде нужно установить утилиту byobu. В более старших версиях Ubuntu, вы должны прежде установить дополнительно утилиту bikeshed.
Для предыдущих дистрибутивов Ubuntu
sudo apt-get install bikeshed
В Ubuntu 16.04
sudo apt-get install byobu
Затем, чтобы удалить старые неиспользуемые ядра, выполните в терминале следующую команду:
sudo purge-old-kernels
Пример вывода команды:
Чтение списков пакетов ... Готово
Построение дерева зависимостей
Чтение информации о состоянии ... Готово
был автоматически установлен следующий пакет и больше не требуется:
linux-headers-4.4.0-21
Используйте sudo apt-get autoremove, чтобы удалить его.
Следующий пакеты, которые будут УДАЛЕНЫ:
linux-headers-4.4.0-21-generic* linux-image-4.4.0-21-generic* linux-image-extra-4.4.0-21-generic*обновлено 0, установлено 0 новых пакетов, 3 для удаления, и 0 пакетов обновлено.
После этой операции будет освобождено 224 Мб дискового пространства.
Вы хотите продолжить? [Y/n]
Введите Y и нажмите Enter, чтобы избавиться от неиспользуемого ядра и освободить место в системе.
Как видно, в приведенном выше выводе команды, старые ядра занимали 224 Мб на ж/диске моей Ubuntu 16.04.
Если нет старых ядер в вашей системе, использование этой утилиты отобразит следующее сообщение:
No kernels are eligible for removal (Нет ядер для удаления).
Безопасность использование данной утилиты заключается в том, что она никогда не удалит последнее установленное ядро, а если точнее, утилита purge-old-kernels удаляет все неиспользованные ядра, за исключением ДВУХ последних - актуальное и предыдущее. Но пользователь может переопределить это значение с помощью параметра --keep.
Например, чтобы удалить все старые ядра, за исключением 3-х последних, выполните следующую команду:
sudo purge-old-kernels --keep 3 -qy
Для получения более подробной информации об утилите purge-old-kernels, посмотрите мануал (руководство пользователя):
man purge-old-kernels
Источник: Dustin Kirkland blog
Удачи.
У меня не работает. пишет: No kernels are eligible for removal. Хотя много старых ядер в системе.
ОтветитьУдалитьЯ по старинке удаляю все накопившиеся ядра одной, хоть и длинной но надежной и проверенной временем командой:
dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge
А система какая? И устанавливал ли пере этим дополнительные утилиты byobu или bikeshed.
Удалитьsudo apt-get install bikeshed
или
sudo apt-get install byobu
Систему ставил с MinimalCD (Ubuntu 16.04) А потом накатил Cinnamon. Может в этоv проблема?
УдалитьСкорее всего. Гибриды - не самое лучшее решение для рабочей и безглючной системы.
УдалитьДа к сожалению у меня тоже самое, вспомнил для проверки зашёл в синаптик ,и все ядра на месте , удалил ядра через синаптик, без обид может это только у меня , но чё то здесь не так
УдалитьДа уж... Вы знаете толк в извращениях.) А Unity или Linux Mint Cinnamon чем не угодили?;)
УдалитьСударь, не понимаю о каких таких извращениях вы изволите говорить? Мне удобней удалить все старые ядра одной командой, без установки дополнительных утилит. Особенно, если по работе имеются десятки компьютеров с различными версиями Linux.
Удалить>>А Unity или Linux Mint Cinnamon чем не угодили?;)<<
Да будет вам известно, многоуважаемый Сергей, что Unity — свободная оболочка для среды рабочего стола GNOME. А Linux Mint Cinnamon — дистрибутив операционной системы Linux. Как они связаны между собой, и почему именно они должны мне "угодить" ума не приложу.
"Кто на ком стоял? - Крикнул Филипп Филиппович, - потрудитесь излагать ваши мысли яснее."©
Напоследок. Позвольте мне самому решать какую OS и каким "извращенным" образом устанавливать. Я вполне самостоятельный пользователь Unix-like систем с 2006г. И если устанавливаю систему с MinimalCD, поверьте, знаю что делаю.
P.S. Linux в отличии от Win и тем более OS X, обладает поистине огромным потенциалом и большими возможностями. Только не надо мне ничего навязывать коллега. Хорошо?
"Систему ставил с MinimalCD (Ubuntu 16.04) А потом накатил Cinnamon" Это разве не извращение? Ладно, умного учить - только портить. Удаляюсь.)))
УдалитьСергей Вам иногда лучше прмолчать, за умного сойдешь. Если не в теме, не пиши глупости. Удались лучше навсегда.)))
УдалитьПросто не люблю в дебри лезть. Особенно, когда "тема" выеденного яичка не стоит.)
УдалитьНа том и закончили, удачи!
УдалитьГибрид это Ubuntu,а по сути гибридов не существует, пользователь в праве сам решать какой софт ему ставить, и глючит софт или система,гибридом система становится токда-когда пользователь начинает устанавливать приложения отличные от идущих в предустановленной версией разработчиками.
УдалитьДва чая господину Eduards Shlapins.
Удалить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)\
ОтветитьУдалитья это использую и нормально все..
ruslan@ruslan-System-Product-Name:~$ uname -romi
Удалить4.6.0-040600-generic x86_64 x86_64 GNU/Linux
У меня это последнее ядро , кроме него остались в синаптике куча старых, спасибо что напомнили поудалять их,
Согласен с вами тоже в помощь ,только у меня в конце вот этот слеш \ не ставлю
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)
Ну и ещё sudo apt-get autoremove после выше описаного сделал , и всё ядер нет, но кстати счас через синоптик удалял, так быстрей ,просто комадны не всегда под рукой
УдалитьЕсли я постоянный пользователь Линукс(и Убунты в том числе) то я удаляю старое ядро после нескольких дней тестирования нового))) а программа полезная, спасибо.
ОтветитьУдалитьХотя в 14.04 надо кучу хрени всякой доставить)) Обойдусь как-нибудь.
Удалитьобновлено 0, установлено 65 новых пакетов, для удаления отмечено 0 пакетов, и 1 пакетов не обновлено.
Необходимо скачать 58,8 MБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 101 MB.
Хотите продолжить? [Д/н] n
$ man purge-old-kernels
ОтветитьУдалитьНет справочной страницы для purge-old-kernels
$ sudo apt install purge-old-kernels
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
E: Не удалось найти пакет purge-old-kernels
$ uname -romi
4.4.0-24-generic x86_64 x86_64 GNU/Linux
Стоит Ubuntu 16.04 Gnome. В её составе нет данного приложения. В источниках тоже ничего нет.
В 16.04 необходимо установить пакет byobu
Удалитьsudo apt-get install byobu
А мне понравился способ, после установки Лайта с ядром 4.2, обновил до 4.6 и применил данный способ, после нехитрых манипуляций, было предложено удалить 4.2 =) удалил не задумываясь. Всё отлично работает!
ОтветитьУдалить> Утилита purge-old-kernels поставляется в Ubuntu 16.04 LTS по умолчанию.
ОтветитьУдалить> В более старших версиях Ubuntu,вы должны прежде установить
> дополнительные утилиты byobu или bikeshed.
Прошу прощения, но это не совсем так. Цитата из блога автора утилиты:
> You'll already have the purge-old-kernels command in Ubuntu 16.04 LTS (and later),
> as part of the byobu package.
> In earlier releases of Ubuntu, you might need to install bikeshed...
То есть, в Ubuntu 16.04+ этой утилиты по умолчанию нет. Для её появления необходимо установить пакет byobu. А в более ранних версиях Ubuntu нужен пакет bikeshed.
Утилита удобная. Спасибо за информацию!
А на Хubuntu 16.04 LTS эту утилиту установить можно?
ОтветитьУдалитьА почему нет-то? Попробуйте sudo apt-get install byobu и сами увидите.
УдалитьМаксим спасибо, получилось, всё вычистил. Отличная утилита!
Удалитьsudo apt autoremove
ОтветитьУдалитьsudo apt autoclean
Интересно только у меня в 16.04 эти команды работают только после sudo su?
sudo purge-old-kernels --keep 0 -qy :D
ОтветитьУдалить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) --assume-yessudo 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) --assume-yes Самая лчщая команда удаления
ОтветитьУдалитьПочистил на системнике, даже не подозревал что 2.19 со времен Нади осталось, еще нашел 3.12 и 3.16, сейчас на родном 3.19 Mint 17.3/ выше 3.19 решил не лезть, пробовал, откатывался. То одно не хочет работать, то другое,
ОтветитьУдалитьВсе сработало. Наконец-то есть что-то, благодаря чему не надо скрещивать пальцы :) Как всегда актуально Владимир, спасибо!
ОтветитьУдалитьМожно конечно встать и апплодировать стоя.Но.Можно и просто не ставать. Вариантов всегда два. Результат , правда всегда один..Владимр, Вы не нуждаетесь в апплодисментах..Браво..
ОтветитьУдалитьUbuntu Tweak чем плох для удаления старых ядер?
ОтветитьУдалить==Ubuntu Tweak чем плох для удаления старых ядер?== Никто и не говорит, что Ubuntu Tweak - плох. Просто статью нужно внимательней читать:
Удалить"Тем не менее, можно использовать некоторые сторонние программы, такие как Ubuntu Tweak для безопасного удаления неиспользуемых ядер, пакетов и их зависимостей, которые больше не нужны. Но Ubuntu Tweak это графическая программа, которая не может быть использована на серверах, которые не имеет графического режима."
В общем-то, конечно, ничем. Кроме тех обстоятельств, что:
Удалить1) purge-old-kernels - утилита непосредственно от разработчиков системы, чего не скажешь об Ubuntu Tweak. Какая-никакая, а гарантия безопасности.
2) Ubuntu Tweak в дистрибутивах вроде Xubuntu, Lubuntu, UbuntuMate и тому подобных, по сути, смотрится как образцовое "нинужно" :). А старые ядра нужно чистить и там.
3) Ubuntu Tweak сегодня есть, а завтра заброшен. Разработчик уже не раз терял интерес к проекту на моей памяти :).
Спасибо.
УдалитьДействительно не внимательно читал.
УдалитьСпасибо,хорошая утилита,в Neon KDE работает все четко...
ОтветитьУдалитьНафига это надо если autoremove удаляет все старые ядра кроме последних двух
ОтветитьУдалить