Каков безопасный способ очистки / загрузки раздела?

PAE обозначает P-hysical A-ddress E-xtension для доступа к 4-гигабайтным ОЗУ на 32-битных системах. Это не требуется для 64-разрядного Ubuntu.

для 11.10 и более ранних

Для 32-разрядного Ubuntu ядро ​​PAE автоматически загружается и устанавливается в системе с более чем 3 ГБ ОЗУ. В противном случае, если нет сетевого подключения, используется общее ядро.

для 12.04 LTS

Обратите внимание, что из Ubuntu и Kubuntu 12.04 LTS ядро ​​PAE P [!d2 ] можно установить с 32-битного установочного компакт-диска. Это может вызвать проблемы с старым оборудованием, когда ЦПУ не поддерживает PAE.Release Notes

В этих редких случаях нам, возможно, придется установить 32-разрядные Lubuntu или A , которые по-прежнему поставляются с не-PAE-ядро. Мы можем установить рабочий стол Unity позже. В качестве альтернативы мы также можем установить 32-разрядные 10.04 или 11.10 с ядром без PAE. С обновлением до 12.04 ядро ​​без PAE также может быть обновлено до ядра без PAE.

Ubuntu 12.04 LTS - последняя версия для поддержки ядра без PAE.

1
задан 31 May 2016 в 18:53

6 ответов

ПРИМЕЧАНИЕ: это только в том случае, если вы не можете использовать apt для очистки из-за 100% полной загрузки /

. Если apt-get не работает, потому что ваш / boot на 100% вам нужно сначала очистить / загрузить. Вероятно, это привело к обновлению ядра в частичной установке, которая означает, что apt полностью застыл и будет продолжать говорить apt-get -f install, даже если эта команда продолжает сбой.

Получить список изображений ядра и определить, с чем вы можете обойтись. Эта команда покажет установленные ядра, за исключением текущей версии sudo dpkg --list 'linux-image*'|awk '{ if ($1=="ii") print $2}'|grep -v `uname -r`. Обратите внимание на две новейшие версии в списке. Вам не нужно беспокоиться о запуске, поскольку он не указан здесь. Вы можете проверить это с помощью uname -r.

Создать команду для удаления всех файлов в / boot для ядер, которые не имеют значения для вас, с использованием расширения скобок, чтобы вы были здоровы. Не забудьте исключить текущие и два новых изображения ядра. Пример: sudo rm -rf /boot/*-3.2.0-{23,45,49,51,52,53,54,55}-*. Вы также можете использовать диапазон с синтаксисом {80..84}.

sudo apt-get -f install, чтобы очистить то, что делает apt grumpy об частичной установке.

Если вы столкнулись с ошибкой, включающей строку типа «Внутренняя ошибка: не удалось найти изображение (/ boot / vmlinuz-3.2.0-56-generic) », затем запустите команду sudo apt-get purge linux-image-3.2.0-56-generic (с соответствующей версией).

Наконец, sudo apt-get autoremove, чтобы очистить старые пакеты изображений ядра, которые был потерян сильной механической загрузкой.

Подумайте, запустите sudo apt-get update и sudo apt-get upgrade, чтобы позаботиться о любых обновлениях, которые могут быть скопированы, ожидая, пока вы обнаружите полный / загрузочный раздел.

Suggestion2, Review https://help.ubuntu.com/community/AutomaticSecurityUpdates и рассмотрите возможность установки Unattended-Upgrade :: Remove-Unused-Dependencies в true в /etc/apt/apt.conf.d/50unattended-upgrades. Это будет эквивалент запуска autoremove после каждого обновления безопасности, чтобы убедиться, что вы очищаете неиспользуемые ядра, но также удалите другие вещи, которые, по его мнению, не используются, избавят вас от этой проблемы в будущем.

237
ответ дан 24 May 2018 в 17:58
  • 1
    Таким образом, у меня есть последняя для следующей перезагрузки, а затем первая, прежде чем на всякий случай что-то сломается в этом. Обычно у меня много места, поэтому мне не больно иметь несколько, и это удовлетворяет моей паранойе, поскольку у вас не было достаточно вариантов резервного копирования в любом сценарии. – flickerfly 22 April 2014 в 11:32
  • 2
    У меня никогда не было проблем, вызванных автоматическими обновлениями. Я могу представить себе сценарии, где это может быть проблемой, главным образом, в зависимости от того, теряются ли потери на не-deb-упакованных установках. Скажем, вы устанавливаете php, решаете удалить его и установить более новую версию из источника. Эта версия имеет зависимости, предоставленные предыдущей установкой, но apt не знает, что она по-прежнему требуется. В следующий раз, когда вы запустите auto-remove, эти зависимости исчезнут. Если автоматизировать, это может быть немного запутанным. Если вы не устанавливаете вне репозиториев, я считаю, что это абсолютно безопасно. – flickerfly 15 April 2015 в 16:08
  • 3
    Увидев это в нескольких виртуальных серверах vsphere (где ядра автоматически обновлялись, но потом не удалялись), я написал сценарий python для его автоматизации. Я бы хотел больше смотреть на него – EvanK 30 September 2015 в 02:39
  • 4
    Если вы используете dpkg --purge при полной загрузке, вы получите следующее $ sudo dpkg --purge linux-image-3.13.0-65-generic dpkg: dependency problems prevent removal of linux-image-3.13.0-65-generic: linux-image-extra-3.13.0-65-generic depends on linux-image-3.13.0-65-generic. dpkg: error processing package linux-image-3.13.0-65-generic (--purge): dependency problems - not removing Errors were encountered while processing: linux-image-3.13.0-65-generic – flickerfly 13 February 2016 в 02:58
  • 5
    Это очень полезно. работал на меня. – deepdive 9 May 2018 в 13:01

Существует документация об этом на странице https://help.ubuntu.com/community/RemoveOldKernels

Вкратце: используйте

sudo apt-get autoremove --purge
# and/or:
sudo purge-old-kernels

Инструмент purge-old-kernels может быть установленным через sudo apt install byobu. Вот описание с его man-страницы:

Эта программа удалит из системы старые пакеты ядра и заголовка, освободив место на диске. Он никогда не удалит текущее ядро. По умолчанию он будет содержать как минимум последние 2 ядра, но пользователь может переопределить это значение с помощью параметра --keep.

Если вам требуется решение для копирования-вставки, ReSearchIT Eng предложил следующее:

sudo apt install -y byobu
sudo purge-old-kernels -y --keep 1
sudo apt-get -y autoremove --purge
40
ответ дан 24 May 2018 в 17:58
  • 1
    В моем случае apt не работает из-за ожидающего ядра, и предлагаемое исправление является catch-22: – James Bowery 21 October 2016 в 07:26
  • 2
    Сначала мне пришлось исправлять сломанные пакеты с помощью askubuntu.com/a/304388/284313 . После этого ваше решение сработало. – James Bowery 21 October 2016 в 07:42
  • 3
    Я думаю, что это должно быть приемлемым решением на данный момент. – Fran Marzoa 5 August 2017 в 03:33
  • 4
    это намного безопаснее, чем принятый ответ. я думаю, что apt-get autoremove --purge должно быть достаточно. – Woodrow Barlow 28 August 2017 в 20:12

Я обнаружил, что намного легче отказаться от небольшого раздела и переместить /boot в корень.

Сначала переместите ваши данные из загрузочного раздела в root (запустите как sudo -s):

cp -a /boot /boot2
umount /boot
rmdir /boot
mv /boot2 /boot

Удалите (или комментарий) запись /boot в /etc/fstab:

vim /etc/fstab

Обновите grub и убедитесь, что все правильно:

update-grub

apt теперь может обновить без проблем.

Это оставляет неиспользуемый раздел 200mb (который вы могли бы использовать для чего-то другого, если вы сочтете это проблемой).

5
ответ дан 24 May 2018 в 17:58
  • 1
    Это хорошая идея, но не работает, если вы хотите иметь полное шифрование диска для вашего корневого раздела. – Paŭlo Ebermann 9 November 2017 в 16:41

Удаление старых ядер (для свободного места в / boot) см .: http://askubuntu.com/questions/89710/how-do-i-free-up-more-space-in-boot

[ f1]

Затем запустите

sudo apt-get update
1
ответ дан 24 May 2018 в 17:58
  • 1
    это был единственный, который работал ... большое решение – John 20 October 2017 в 13:29

sudo apt-get autoremove

Удаляет все, кроме последних двух ядер. Протестировано на Ubuntu 16.04 LTS, когда /boot был на 100%, а apt-get upgrade потерпел неудачу в последнем обновлении ядра. Ядро autoremove является итеративным, поэтому, если у вас есть несколько ядер, они будут удалены по одному за раз. Так что будьте терпеливы.

1
ответ дан 24 May 2018 в 17:58

Зачем это делать вручную, когда вы можете сделать это с помощью инструмента? Вы знаете, что вам понадобится это снова через 30 секунд, потому что в эти дни требуется 30 секунд, чтобы они обновили новое обновление ядра = P

Я рекомендую использовать этот инструмент, bootnukem

[ f1]

Затем

sudo bootnukem --dry-run

Удалите --dry-run после подтверждения, что он выглядит безопасно

0
ответ дан 24 May 2018 в 17:58

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

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