Почему Ubuntu не удаляет старые ядра автоматически? [Дубликат]

Вы меняете его в точках крепления в fstab, как вы правильно пробовали. Для этого вам нужно открыть / etc / fstab с правами root. Для этого типа в терминале:

sudo gedit /etc/fstab

В Интернете есть много информации об этом.

1
задан 28 February 2015 в 06:51

7 ответов

Здесь есть две вещи:

Новые ядра - это совершенно новые пакеты, а не обновленные пакеты с более новым номером версии, поэтому установка нового образа ядра не заменяет старых. Они сосуществуют. Ubuntu использует кучу apt magic для защиты последних двух версий ядра от «apt-get autoremove» (последний и последний загруженный). Подробнее см. /etc/apt/apt.conf.d/01autoremove-kernels.

Все это означает, что после перезагрузки в последнее ядро ​​«apt-get autoremove» следует удалить все, кроме текущего и последнего загруженных пакетов ядра.

Старые ядра все еще накапливаются в / boot, потому что autoremove по умолчанию не включен в Ubuntu - вы должны либо запускать его вручную так часто, либо вы должны его включить.

Это может измениться в 16.04 - исправление для автоматической установки, пакет обновлений позволит по умолчанию автоматически запускать старые ядра.

20
ответ дан 23 May 2018 в 22:52

Этот скрипт выполнит эту работу. Он удалит все ядра, которые не используются.

sudo 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

Другое, что, не удаляя ядра, должно быть довольно новым. У меня есть одна система Ubuntu 14 после того, как другая работает над этой проблемой полного раздела загрузки из-за старого мусора ядра.

Это может сделать жизнь менее опытных пользователей чрезвычайно сложной. Это на самом деле ловушка noob. Canonical должен это исправить.

16
ответ дан 23 May 2018 в 22:52
  • 1
    Этот сценарий потенциально опасен: когда я делаю обновление системы, которое устанавливает новое ядро, затем запустите этот скрипт перед перезагрузкой, новое ядро ​​будет удалено вместо старого. Я не хочу говорить, что это плохой сценарий, просто нужно быть осторожным, когда его можно назвать. – daniel kullmann 30 July 2015 в 10:05
  • 2
    Благодаря! «0 обновлено, 0 вновь установлено, 48 удалено и 5 не обновлено. После этой операции будет освобождено 3232 МБ дискового пространства. & Quot; – thenickdude 22 October 2015 в 14:43
  • 3
    Целесообразно запустить этот скрипт без части | xargs ..., чтобы проверить, какие пакеты будут удалены, прежде чем удалять их: sudo dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' – PeterM 26 November 2015 в 17:43
  • 4
    @PeterM и sudo не нужны перед dpkg. – jarno 23 December 2015 в 20:36
  • 5
    Существует отдельный вопрос о скрипте здесь . – jarno 23 December 2015 в 20:40

Простым способом удаления старых ядер является использование ubuntu-tweak. Вы выбираете тег «Дворник» и отметьте поле «Старый ящик». Это дает вам список ядер, которые, по его мнению, вам больше не нужны. Вы можете выбрать их все и нажать «Очистить», и через некоторое время работа будет выполнена. Из-за нервного расположения я проверил, какое ядро ​​запускалось с помощью uname -a, но это не фигурировало в списке. Это работало на ноутбуке моей жены (у которого был довольно небольшой загрузочный раздел и он показывал предупреждения) и мой (который работал отлично). Все согласны с тем, что это безопасно?

3
ответ дан 23 May 2018 в 22:52
  • 1
    О удалении ядер автоматически можно сделать безопасно; дело в том, что лицо, ответственное за совершение этого, не чувствует себя достаточно уверенно, заявляя, что может решить, для кого ядро ​​конкретной системы должно быть удалено. Старый не означает нежелательных;) – Rinzwind 28 February 2015 в 17:15
  • 2
    Как указывает @Rinzwind, здесь есть две проблемы. Как и когда / если это сделать. Раньше я использовал ubuntu-tweak, и это сработало, но не очень понравилось KDE (которое я использую). Теперь, всякий раз, когда я получаю обновление ядра, я заходил в менеджер пакетов muon gui, искал ядро, нашел тот, который нужно удалить, добавляет его последний номер, например 36, в ядро ​​- ядро ​​36, сортировка по установленному и выбор 2 или 3 пакеты, которые необходимо удалить. Это просто. Это также руководство, поэтому, если я скомпилировал любые модули драйверов, которым по-прежнему требуется более старое ядро, это ядро ​​не удаляется, пока я не буду готов к этому. – Joe 6 March 2015 в 15:58

Ubuntu только автоматически удаляет элементы, которые больше не нужны или являются угрозой безопасности ... Поэтому я предполагаю, что причиной этого являются цели безопасности. Скажем, по какой-то нечетной причине новое ядро ​​становится небезопасным ... Затем вы временно перенаправляетесь к старому ядру, пока новый фиксируется. Кроме того, новые ядра могут появляться с изменениями, поэтому некоторые ядра могут включать, например, обновление с 14.04.1 по 14.04.2, вы можете отказаться от нового ядра, но в апреле этого года, когда выйдет новая версия LTS 15.04, вы автоматически получите вы обновляете ядра. Поэтому я считаю, что это для целей безопасности.

, но если вы хотите его удалить, попробуйте запустить эту командную строку

sudo apt-get autoremove

. Это должно удалить любое ненужное программное обеспечение, такое как ваше старое ядро, если не пытайтесь

sudo apt-get remove (kernels-name)
2
ответ дан 23 May 2018 в 22:52
  • 1
    «Скажем, по какой-то нечетной причине новое ядро ​​становится небезопасным ... Затем вы будете перенаправлены обратно на старое ядро ​​временно, пока новый исправляется. " У вас есть источник этого требования? – John Kugelman 28 February 2015 в 02:51
  • 2
    @JohnKugelman этого не произойдет. Новый пакет будет выпущен с исправлением, и люди смогут его обновить. В случае экстремальной проблемы с несанкционированным доступом более раннее ядро ​​будет упаковано с более высоким номером версии (возможно, смена эпохи) для осуществления обновления. – hobbs 1 March 2015 в 09:29
  • 3
    «... когда появляется новая версия LTS 15.04 ... " - 15.04 не будет LTS, если не произойдет существенного сдвига поддержки Canonical, о котором я не слышал. – iGadget 14 April 2015 в 17:24
  • 4
    на самом деле 15.04 будет новым LTS, но релиз, как и у всех выпусков, не станет новым стандартным LTS до определенной даты после выхода новой системы ... Я считаю, что Canonical делает это, потому что они хотят быть абсолютно уверен, что система полностью безопасна ... поскольку я печатаю этот 15.04, уже выпущен, так что дайте ему несколько месяцев, и это будет LTS ... Я не планирую дорабатывать до тех пор ... не так много изменено в любом случае – Tactux 29 April 2015 в 00:01
  • 5
    @TAC_Tux Это не то, как Ubuntu выпускает LTS. Возможно, вы думаете о том, как проект Debian что-то делает. Вот текущее расписание выпуска Ubuntu: wiki.ubuntu.com/LTS – Martijn Heemels 30 July 2015 в 16:32

Я рекомендую использовать Ubuntu Tweak для удаления старых ядер. смотрите здесь:

Как удалить старые версии ядра для очистки меню загрузки?

2
ответ дан 23 May 2018 в 22:52

Я думаю, что последняя версия Ubuntu 15.10 может автоматически удалять старые ядра, если вы редактируете файл /etc/apt/apt.conf.d/50unattended-upgrades: Изменить строку

// Автоматическое обновление :: Remove-Unused-Dependencies "false";

to

// Unattended-Upgrade :: Remove-Unused-Dependencies «false»;

Unattended-Upgrade :: Remove-Unused-Dependencies "true";

2
ответ дан 23 May 2018 в 22:52

У меня возникла проблема с невозможностью установки программного обеспечения. Apt-get не смог установить Linux-заголовки, сообщив, что диск был заполнен. [F1] сообщил, что IUse% был на 100%: на диске было свободное место, но закончилось inodes. $ sudo dpkg --configure -a не удалось, & amp; так и $ sudo apt-get -f install и $ sudo apt-get autoremove

Проблема была решена, когда я вручную удалил несколько старых папок ядра из / usr / src - просто $ rm или shift-delete папки. Это освободило достаточно пространство inode, чтобы завершить $ apt-get -f install.

После этого у меня было всего 10 ядер linux. Я побежал $ sudo apt-get autoremove, который удалил 1,4 ГБ файлов. Который задает вопрос: Действительно? В самом деле?? Но, честно говоря, это правильный способ запустить удобную для пользователя систему?

2
ответ дан 23 May 2018 в 22:52
  • 1
    Да, это так, потому что вам может неожиданно понадобиться старое ядро, как объяснялось выше. – Reinier Post 17 June 2016 в 12:14
  • 2
    Вы пытались очистить некоторое ядро ​​dpkg --purge? – jarno 16 August 2016 в 18:40

Другие вопросы по тегам:

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