Мой /boot
раздел почти заполнен, и я получаю предупреждение каждый раз, когда перезагружаю свою систему. Я уже удалил старые пакеты ядра (linux-headers ...), фактически я сделал это, чтобы установить более новую версию ядра, которая шла с автоматическими обновлениями.
После установки новой версии раздел снова почти заполнен. Так что еще я могу удалить? Существуют ли другие файлы, связанные со старыми образами ядра?
Вот список файлов, которые находятся на моем /boot
разделе:
:~$ ls /boot/
abi-2.6.31-21-generic lost+found
abi-2.6.32-25-generic memtest86+.bin
abi-2.6.38-10-generic memtest86+_multiboot.bin
abi-2.6.38-11-generic System.map-2.6.31-21-generic
abi-2.6.38-12-generic System.map-2.6.32-25-generic
abi-2.6.38-8-generic System.map-2.6.38-10-generic
abi-3.0.0-12-generic System.map-2.6.38-11-generic
abi-3.0.0-13-generic System.map-2.6.38-12-generic
abi-3.0.0-14-generic System.map-2.6.38-8-generic
boot System.map-3.0.0-12-generic
config-2.6.31-21-generic System.map-3.0.0-13-generic
config-2.6.32-25-generic System.map-3.0.0-14-generic
config-2.6.38-10-generic vmcoreinfo-2.6.31-21-generic
config-2.6.38-11-generic vmcoreinfo-2.6.32-25-generic
config-2.6.38-12-generic vmcoreinfo-2.6.38-10-generic
config-2.6.38-8-generic vmcoreinfo-2.6.38-11-generic
config-3.0.0-12-generic vmcoreinfo-2.6.38-12-generic
config-3.0.0-13-generic vmcoreinfo-2.6.38-8-generic
config-3.0.0-14-generic vmcoreinfo-3.0.0-12-generic
extlinux vmcoreinfo-3.0.0-13-generic
grub vmcoreinfo-3.0.0-14-generic
initrd.img-2.6.31-21-generic vmlinuz-2.6.31-21-generic
initrd.img-2.6.32-25-generic vmlinuz-2.6.32-25-generic
initrd.img-2.6.38-10-generic vmlinuz-2.6.38-10-generic
initrd.img-2.6.38-11-generic vmlinuz-2.6.38-11-generic
initrd.img-2.6.38-12-generic vmlinuz-2.6.38-12-generic
initrd.img-2.6.38-8-generic vmlinuz-2.6.38-8-generic
initrd.img-3.0.0-12-generic vmlinuz-3.0.0-12-generic
initrd.img-3.0.0-13-generic vmlinuz-3.0.0-13-generic
initrd.img-3.0.0-14-generic vmlinuz-3.0.0-14-generic
В настоящее время я использую 3.0.0-14-generic
ядро.
boot
hard-drive
filesystem
disk-usage
init
user6722
источник
источник
Ответы:
У вас много неиспользованных ядер. Удалите все ядра, кроме последних:
Это сокращение для:
Удаление
linux-image-x.x.x-x
пакета также удалитlinux-image-x.x.x-x-generic
.Заголовки устанавливаются
/usr/src
и используются при сборке модулей ядра вне дерева (например, проприетарного драйвера nvidia и virtualbox). Большинству пользователей следует удалять эти пакеты заголовков, если соответствующий пакет ядра (linux-image-*
) не установлен.Чтобы вывести список всех установленных ядер, запустите:
Одна команда, чтобы показать все ядра и заголовки, которые можно удалить, кроме текущего работающего ядра:
Он выбирает все пакеты с именами, начинающимися с
linux-headers-<some number>
илиlinux-image-<some number>
, печатает имена пакетов для установленных пакетов, а затем исключает текущее загруженное / работающее ядро (не обязательно самое последнее ядро!). Это соответствует рекомендации по тестированию более нового ядра перед удалением старых, известных для работы ядер.Итак, после обновления ядер и перезагрузки для тестирования вы можете удалить все остальные ядра с помощью:
источник
uname -a
. Вероятно, лучше всего убедиться, что у вас нет ожидающих отложенного перезапуска для установки нового ядра (как я сделал; но я заметил несоответствие междуuname -a
«последним» ядром).Ваш загрузочный раздел заполнен. Поскольку это обновление ядра, эти файлы будут скопированы в загрузочный раздел, поэтому вам нужно очистить его. Вот запись в блоге , которая покажет вам, как очистить старые образы ядра одной командой. Я дам краткий обзор метода. Используйте эту команду, чтобы распечатать текущую версию вашего ядра:
Затем используйте эту команду, чтобы распечатать все установленные вами ядра, которые не являются вашим новым ядром:
Убедитесь, что вашего текущего ядра нет в этом списке. Обратите внимание, как это большинство из заключительной команды (внизу). Чтобы удалить и удалить эти старые ядра, вам нужно передать следующие аргументы:
Теперь мы можем делать все, что мы хотим, комбинируя эти две последние команды в этот безобразный беспорядок:
И эта одна команда позаботится обо всем для вас. Я подтверждаю, что это работает отлично, но никогда никому не доверяю в Интернете. :) Для получения дополнительной информации в блоге дается очень хорошее объяснение того, что делает каждая часть команды, поэтому прочитайте ее, чтобы убедиться, что она делает то, что вы хотите, чтобы она делала.
источник
Эта команда выполняет работу автоматически.
источник
Диспетчер пакетов Synaptic можно использовать для простого выбора и удаления старых образов ядра.
Если у вас еще не установлен Synaptic:
Запустите приложение и выберите показанные параметры.
Вы должны быть в состоянии выделить все пакеты "linux-" с версией "2.6.x", где x находится между 31 и 38 в соответствии с файлами в вашей папке / boot.
Щелкните правой кнопкой мыши по каждому из этих пакетов Linux и выберите параметр «Пометить для полного удаления». Наконец нажмите кнопку Применить. Это удалит все файлы и все связанные файлы. Ваша
/boot
папка должна быть немного аккуратнее.источник
/boot
!Спасибо за ваш подробный пост вашей проблемы, это заставило меня двигаться в правильном направлении. Хотя полезно сохранить предыдущие файлы ядра, вы можете удалить все из них за один раз, проверьте этот пост:
Как удалить все неиспользуемые заголовки ядра Linux, изображения и модули
Сделано через командную строку. Если вы делаете это через удаленный доступ, используйте что-то вроде WINSCP, чтобы открыть терминальную сессию и просто вставить его, очень хорошо работает.
Здесь это скопировано из статьи, я предлагаю вам прочитать статью полностью:
источник
Это новый ответ на старый вопрос, но простой способ убрать эту вещь (и не только) - установить Ubuntu Tweak . Чтобы установить его :
затем вы можете запустить Ubuntu Tweak, перейдя на вкладку «janitor», и отсюда всего три клика:
Для безопасности лучше оставить последнее ядро (вы никогда не знаете) или хорошо известное работающее ядро; но это легко настраивается.
Вы можете использовать один и тот же инструмент для очистки многих вещей - просто помните, что если вы очищаете кэш миниатюр или кэш ТБ, тогда системе придется их перестраивать, если они необходимы.
источник
Я смог решить проблему с помощью
dpkg
непосредственного удаления пакетов. Хотя пакеты все еще перечисленыdpkg -l
, файлы удаляются/boot
, освобождая место.После этого
apt-get -f install
исправили мои проблемы с зависимостями, и все было хорошо с миром.Однако я не приму этот ответ, так как мне все еще нужно знать, должен ли я увеличивать свой
/boot
размер или делать что-то еще.источник
sudo dpkg --remove linux-headers-3.5.0-28*
sudo dpkg --remove linux-image-3.5.0-28*
для изображения, проверено черезdf -h
apt-get -f install
. Кроме того, не забудьте позже сделатьapt-get autoremove
, чтобы возможно удалить другие ненужные.Вы можете прекратить использование отдельного раздела / boot, тогда у вас не будет такого ограниченного пространства там. Для этого размонтируйте раздел, затем смонтируйте его где-нибудь еще и скопируйте все файлы в каталог / boot вашего корневого раздела, затем удалите запись из / etc / fstab и переустановите grub. Например (вам нужно будет использовать правильный раздел):
Затем вы можете использовать gparted для удаления старого / загрузочного раздела и, возможно, расширить корневой раздел, чтобы использовать это пространство. Для расширения корневого раздела вам нужно будет загрузиться с livecd, а свободное место должно быть сразу справа. Если раздел / boot в данный момент находится слева от корневого раздела, вам необходимо сначала переместить корневой раздел влево, а затем расширить его, но это может занять очень и очень много времени, поэтому может не стоить беда.
источник
lsblk
может быть использован для определения того, что это за разделПринимая лучшее из ответов выше, мой проверенный подход заключается в следующем:
uname -a
найти работающее ядро.dpkg -l linux-{headers,image}-\* | grep ^ii
список всех установленных на данный момент пакетов, связанных с ядром. Это будет включать работающее ядро.sudo apt-get purge linux-{image,headers}-3.16.0-{xx,yy,zz}
удалить старые ядра. Заменитеxx,yy,zz
списком сборок ядра, которые вы хотите удалить - это все сборки, перечисленные предыдущей командой, которые старше, чем работающее в данный момент ядро. Убедитесь, что вы не удаляете работающее в данный момент ядро - ваша система перестанет загружаться . Вам также может потребоваться изменить версию ядра с3.16.0
той, которая установлена в вашей системе.sudo apt-get autoremove
- это удалит все оставшиеся зависимости старых ядер, которые больше не нужны текущему ядру, освободив немного больше места.У вас могут быть заголовочные файлы без установленных версий ядра, или наоборот - просто включите все эти версии в команду. APT будет жаловаться, что некоторые пакеты не могут быть удалены, потому что они не установлены, но это не принесет вреда.
Если что-то не получается ...
sudo dpkg --purge linux-{image,headers}-3.16.0-{xx,yy,zz}
.linux-image
пакеты требуются дляlinux-headers
пакетов той же версии (которую вы также хотите удалить), возможно, dpkg не удалось решить эту проблему. Еще раз проверьте выводdpkg -l
и укажите любые суффиксы имени пакета в командной строке. Например, на одной из моих систем команда, которая в итоге сработала, былаsudo dpkg --purge linux-{image,headers}-3.16.0-{xx,yy,zz}-generic-pae
.источник
/boot
, просто недостаточно для другого пакета ядра. В этих случаях вышесказанное сработало хорошо. Не стесняйтесь, однако, чтобы добавить соответствующуюdpkg
команду. Что касаетсяpurge
, нет, это не своего рода «принудительное удаление». В отличие отremove
него он также удаляет файлы конфигурации. Поскольку / до тех пор , как пакеты ядра не устанавливать и не конфигурационных файлов,remove
иpurge
будет делать то же самое для пакетов ядра.Для меня и то
apt-get purge
иdpkg --remove
другое не удалось. Поэтому мне пришлось удалить пару старых образов ядра из / boot с помощьюrm -f
.источник
/boot
раздел был заполнен. ЭтаNo space left on device
initrd.img
Список всех ядер:
Показать текущее ядро:
Перечислите все ядра, кроме текущего:
Убедитесь, что вашего текущего ядра нет в этом списке.
Удалите все ядра, кроме текущего:
Очистить другие вещи:
Если он по-прежнему выдает ошибку места на загрузочном диске для установки / удаления файлов, то удалите непосредственно один из старых изображений из каталога / boot,
ПРИМЕЧАНИЕ. Пожалуйста, просмотрите текущий образ ядра еще раз, прежде чем удалять любое изображение.
источник
linux-headers-*
не ядра. Пакеты ядра называютсяlinux-image-*
. Названныеlinux-headers-*
пакеты являются пакетами разработки для компиляции модулей ядра: они не находятся в каталоге / boot и не требуются для повседневного использования вашей системы.Файлы, которые вы перечислили в / boot , включают несколько старых образов ядра (
vmlinuz*
) и скомпилированные образы initrd (initrd.img*
) для этих ядер, что указывает на то, что у вас все еще установлено много старых пакетов ядра.Вы должны быть в состоянии перечислить ваши установленные ядра с
(Обратите внимание, что это, вероятно, вернет пакеты, которые также не являются ядрами).
Как правило, нет необходимости устанавливать более двух ядер - одно используется в настоящее время, а предыдущее - как запасной вариант. Таким образом, вы можете начать удалять старые по очереди, например так:
Убедитесь, что вы заменили "3.2.0-23-generic" на версию ядра, которую хотите удалить! Кроме того, не удаляйте пакеты, такие как
linux-image-generic
. Вы должны быть очень осторожны, чтобы не удалить работающее в данный момент ядро, иначе вы не сможете загрузиться (Ubuntu может или не может предупредить вас об этом).Вы можете найти ваше текущее работающее ядро с:
источник
У меня была эта проблема и больше, поскольку я удалил некоторые
initrd-img-xxx
файлы вручную из / boot, и у меня была проблема, что эти старые версии продолжают генерироваться и заполнять/boot
папку. Чтобы это исправить, я следовал следующему:Вы будете редактировать текстовый файл конфигурации как суперпользователь, поэтому вставьте в терминал следующее:
Найдите строку
update_initramfs=yes
и измените ее наupdate_initramfs=no
. Сохраните и выйдите из файла, затем запустите:Это решило мою проблему. Это было основано на этом блоге
Надеюсь, что все будет хорошо, когда вы перезагрузите компьютер, и позже вы можете попытаться изменить
no
обратноyes
вupdate-initramfs.conf
.источник
Я показываю, что еще в 2017 году этот вопрос имеет новые комментарии и ответы, но пропускает один ответ, который я считаю очень полезным здесь:
Ubuntu как настольная ОС простого повседневного использования не имеет причин для установки с отдельным \ загрузочным разделом, и что-то вроде этого НЕ будет предлагать что-то «обычному пользователю» ... Так что решение - это новая установка без \ загрузочного раздела, и это как у тебя никогда не будет такой проблемы
PS: Мой ответ может быть удален или добавлен в принятый ответ ... (думаю, это поможет некоторым людям таким образом)
источник
Супер полезная утилита , которая очистит ваш загрузочный раздел
Используйте на свой страх и риск, но у меня это сработало
источник
В aptitude или synaptic есть раздел «старый или установленный вручную». Там должны быть старые пакеты Linux.
источник
Есть скрипт bash, который я написал ниже, который делает этот процесс более удобным для пользователя.
YMMV - это было сделано для Mint 14. Все еще изучаю BASH, так что это, вероятно, немного неуклюже. Используйте на свой страх и риск, но у меня это работает!
источник
[Как новичок AskUbuntu, я не могу комментировать, пока репутация не = 50, поэтому не голосуйте из-за этого.]
Мой сервер тоже этим занимался. Буквально ни один из ожидаемых ответов здесь не сработал, поскольку для их завершения требуется некоторая рабочая комната на / boot. Если загрузочный раздел заполнен, он внезапно завершится без удаления каких-либо образов.
Единственное, что мне помогло, - это просмотреть текущее изображение, а затем вручную найти
sudo rm filename
самые старые файлы изображений ( в именах каждого из них было -3.16.0-30 ). Как только это будет сделано, тогдаsudo apt-get autoremove
была комната для маневра, необходимая для выполнения своей работы. Он выделил некоторые ошибки, связанные с этой версией, например: «depmod: FATAL: не удалось загрузить /boot/System.map-3.16.0-30-generic: нет такого файла или каталога», но этого и следовало ожидать.После завершения
df
возвращается 42% использования / boot, чтобы указать, что он снова здоров.источник
apt-get
имеет достаточно места для его продолжения, и б), где происходитapt-get
сбой из-за переполнения диска. Это другой пост.Я написал этот сценарий bash для выборочной очистки старых ядер сразу:
Весь код bash и инструкции включены в ссылку.
источник
Сохраните этот скрипт как
/usr/local/bin/remove_kernels.sh
(не забудьте дать права на выполнениеsudo chmod 755 /usr/local/bin/remove_kernels.sh
):Затем, чтобы удалить все старые ядра, просто наберите:
sudo remove_kernels.sh
источник
/ boot раздел иногда может быть немного странным
не начинайте напрямую удалять файлы Kernal.
Шаги, чтобы следовать
Проверьте, используется ли установленный в данный момент kernal системой linux
uname -r
это должно дать вам имя установленного в данный момент образа ядра в системе
Теперь начните удалять дополнительные файлы, кроме одного, установленного в вашей системе.
apt-get remove linux-image-XXXXX
Также удалите заголовочный файл, а также
apt-get remove linux-headers-XXXXX
Также может возникнуть условие, когда
apt
перестал работать, в этом случае переключиться на / bootcd /boot
Начните удалять файлы вручную, но очень осторожно и помните, что не следует удалять
installed one's
файлы ядра из вашей системы.rm linux-image-XXXXX
rm linux-image-extra-XXXXXX
После удаления правильных файлов очистки частичные установки, если таковые имеются
apt-get -f install
Удалите лишние файлы, сидящие там, так как загрузочные файлы очищены вручную
apt-get autoremove
Обновление grub
update-grub
Последнее обновление ваших системных пакетов
apt-get update
источник
Если вы не можете удалить больше неиспользуемых файлов и если у вас есть другой раздел с / или свободным пространством на том же устройстве, вы можете изменить размер / boot раздела с помощью parted / gparted . (Он также включен в установочный носитель.)
Внимание : изменение размера раздела - опасная операция, сохраните ваши важные данные на другом носителе, прежде чем делать это!
источник