Как освободить больше места в / boot?

Мой раздел /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

В настоящее время я использую [ 113] ядро.

590
задан 12 February 2018 в 23:16

22 ответа

У Вас есть много неиспользованных ядер. Удалите все кроме последних ядер с:

sudo apt-get purge linux-image-{3.0.0-12,2.6.3{1-21,2-25,8-{1[012],8}}}

Это - сокращение от:

sudo apt-get purge linux-image-3.0.0-12 linux-image-2.6.31-21 linux-image-2.6.32-25 linux-image-2.6.38-10 linux-image-2.6.38-11 linux-image-2.6.38-12 linux-image-2.6.38-8

Удаление linux-image-x.x.x-x пакет также удалит linux-image-x.x.x-x-generic.

Заголовки установлены в /usr/src и используются при создании древовидных модулей ядра (как собственный драйвер Nvidia и virtualbox). Большинство пользователей должно удалить эти пакеты заголовка если пакет ядра соответствия (linux-image-*) не установлен.

Для списка всех установленных ядер работайте:

dpkg -l linux-image-\* | grep ^ii

Одна команда для показа всех ядер и заголовков, которые могут быть удалены, исключая текущее рабочее ядро:

kernelver=$(uname -r | sed -r 's/-[a-z]+//')
dpkg -l linux-{image,headers}-"[0-9]*" | awk '/ii/{print $2}' | grep -ve $kernelver

Это выбирает названный запуск всех пакетов с linux-headers-<some number> или linux-image-<some number>, печатает названия пакета установленных пакетов и затем исключает текущее загруженное/рабочее ядро (не обязательно последнее ядро!). Это вписывается в рекомендацию тестирования более нового ядра прежде, чем удалить более старые, известные работе ядра.

Так, после обновления ядер и перезагрузки для тестирования его можно удалить все другие ядра с:

sudo apt-get purge $(dpkg -l linux-{image,headers}-"[0-9]*" | awk '/ii/{print $2}' | grep -ve "$(uname -r | sed -r 's/-[a-z]+//')")
631
ответ дан 12 February 2018 в 23:16

Сохраните этот скрипт как /usr/local/bin/remove_kernels.sh (не забудьте дать права на выполнение sudo chmod 755 /usr/local/bin/remove_kernels.sh):

#!/bin/sh
if test $(id -u) != 0; then
 echo Error: You must be root to run this script!
 exit 1
fi
apt purge $( dpkg --list | grep -P -o "linux-image-\d\S+" | grep -v $(uname -r | grep -P -o ".+\d") )
update-grub

Затем, чтобы удалить все старые ядра, просто введите: sudo remove_kernels.sh

0
ответ дан 12 February 2018 в 23:16

Я написал этот сценарий bash для выборочной очистки старых ядер сразу:

rm kernels real size

Весь bash Код и инструкции включены в ссылку.

0
ответ дан 12 February 2018 в 23:16

Супер полезная утилита , которая очистит ваш загрузочный раздел

git clone https://github.com/erichs/bootnukem.git
cd bootnukem
sudo ./install.sh

Используйте на свой страх и риск, но у меня сработало:

sudo bootnukem
0
ответ дан 12 February 2018 в 23:16

Для меня оба apt-get purge и dpkg --remove оба потерпели неудачу. Поэтому мне пришлось удалить пару старых образов ядра из / boot с помощью rm -f.

0
ответ дан 12 February 2018 в 23:16

У меня была эта проблема и больше когда я удалил приблизительно initrd-img-xxx файлы вручную от начальной загрузки/, и у меня была проблема, что эти старые версии сохраняют сгенерированными и заполнение /boot папка. Для фиксации его, я следовал за следующим:

  • я удалил сгенерированную старую версию ядра вручную так к свободному пространству.
  • You’ll отредактировать текстовый конфигурационный файл как суперпользователя, так вставьте следующее в терминал:

    sudo gedit /etc/initramfs-tools/update-initramfs.conf
    
  • Определяют местоположение строки update_initramfs=yes и изменяют его на update_initramfs=no. Сохраните и выйдите из файла, затем работайте:

    sudo dpkg --configure -a
    

, Который решил мою проблему. Это было основано этот блог

Хотелось бы надеяться, все должно быть прекрасным, когда Вы перезагружаете, и позже можно попытаться измениться no назад к yes в update-initramfs.conf.

0
ответ дан 12 February 2018 в 23:16

В aptitude или synaptic есть раздел «старый или установленный вручную». Там должны быть старые пакеты linux.

0
ответ дан 12 February 2018 в 23:16

Используя лучшее из приведенных выше ответов, мой проверенный подход заключается в следующем:

  • 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 будет жаловаться, что некоторые пакеты не могут быть удалены, потому что они не установлены, но это не принесет вреда.

Если что-то не получается ...

  • Если команда apt не выполнена из-за ошибки на устройстве не осталось места , используйте вместо нее соответствующую команду dpkg: sudo dpkg --purge linux-{image,headers}-3.16.0-{xx,yy,zz}.
  • Если команда dpkg по-прежнему не работает, поскольку пакеты linux-image требуются пакетами linux-headers той же версии (которую вы также хотите удалить), возможно, dpkg не удалось решить эту проблему. Еще раз проверьте вывод dpkg -l и укажите любые суффиксы имени пакета в командной строке. Например, в одной из моих систем команда, которая в итоге сработала, была sudo dpkg --purge linux-{image,headers}-3.16.0-{xx,yy,zz}-generic-pae.
  • Если вы получили какую-либо другую ошибку, обратитесь за помощью - у вас может быть другая проблема, чем вы думали.
0
ответ дан 12 February 2018 в 23:16

Существует сценарий удара, который я записал, дают ниже этого, делает процесс немного более удобным для пользователя.

YMMV - это было сделано для Монетного двора 14. Все еще изучая Bash, таким образом, это, вероятно, немного неуклюже. Используйте в собственном риске, но он работает на меня!

#!/bin/bash

endCol='\e[0m'
bold_red='\e[1;31m'
bold_green='\e[1;32m'
bold_yellow='\e[1;33m'

title_color='\e[0;30;47m'

function show_kernel_info {
clear
current_kernel=$(uname -r)
echo "Current ACTIVE kernel is:"
echo -e "  "$bold_yellow$current_kernel$endCol
echo "This kernel will be TOTALLY EXCLUDED from all actions in this script."
echo "Also, one fallback non-active kernel will be always left untouched."
echo ""
echo "These are the non-active kernels stored in /boot:"
count_of_old_kernels_in_boot=$(ls -o /boot/initrd* | grep -c -v "$current_kernel")
if [ $count_of_old_kernels_in_boot = 0 ]; then
  echo " * No non-active kernels found! *"
else
  ls -o /boot/initrd* | grep -v "$current_kernel"
fi
echo ""
list_of_old_kernels=$(dpkg --list | grep linux-image | awk -F' ' '{ print $2 }' | grep -v "$current_kernel" | grep -v "linux-image-generic")
current_old_kernel=$(dpkg --list | grep linux-image | awk -F' ' '{ print $2 }' | grep -v "$current_kernel" | grep -v "linux-image-generic" | head -n 1)
count_of_old_kernels_installed=$(dpkg --list | grep linux-image | awk -F' ' '{ print $2 }' | grep -v "$current_kernel" | grep -c -v "linux-image-generic")
echo "Listing of all unused kernels still installed in the system (these may not exist in /boot):"
if [ $count_of_old_kernels_installed = 0 ]; then
  echo " * No unused kernel installs found! *"
else
  dpkg --list | grep linux-image | awk -F' ' '{ print $2 }' | grep -v "$current_kernel" | grep -v "linux-image-generic"
fi
echo ""
}

function exit_script {
free_space_after=$(df -BM /boot | tail -n 1 | awk -F' ' '{ print $4 }' | tr -d M)
let freed_space=$free_space_after-$free_space_before
echo ""
echo "Results (in MB)"
echo "---------------"
echo "Free space in /boot before script was run: "$free_space_before
echo "Free space now: "$free_space_after
echo ""
echo "Amount of space freed up = "$freed_space
echo ""
echo "Press any key to exit."
read -s -n 1
echo ""
exit
}

# Main code
echo ""
echo -e $title_color" --------------------------- "$endCol
echo -e $title_color" -   Kernel Cleanup v1.0   - "$endCol
echo -e $title_color" --------------------------- "$endCol
echo ""
echo "Maximise this window for readability."
echo "Press any key to continue."
read -s -n 1
echo ""
echo "This script will remove old unused kernels, but it will prompt you before removing each one."
echo "It will never remove the current running kernel, and will also leave one fallback kernel."
echo "It can also remove source files from /usr/src for each kernel removed."
echo "This is normally safe to do and will free up lots more space."
echo ""
echo "Do you want that done as well? (y/n, enter=yes)"
valid_input=0
while [ "$valid_input" = "0" ]; do
  read -s -n 1 YesNo_input
  if [ "$YesNo_input" = "" ]; then
    YesNo_input="y"
  fi
  case $YesNo_input
  in
    y)
    RemoveSource="y"
    valid_input=1
    ;;

    Y)
    RemoveSource="y"
    valid_input=1
    ;;

    n)
    RemoveSource="n"
    valid_input=1
    ;;

    N)
    RemoveSource="N"
    valid_input=1
    ;;
  esac
done

free_space_before=$(df -h /boot | tail -n 1 | awk -F' ' '{ print $4 }' | tr -d M)
show_kernel_info
while [ $count_of_old_kernels_in_boot -gt 1 ]; do
  # failsafe check if somehow the current kernel is about to be removed!
  if [ "$current_old_kernel" = "$current_kernel" ]; then
    echo -e $bold_red"ERROR!"$endCol" Somehow the current kernel has crept into the removal process!"
    echo "I refuse to do that! Aborting script."
    exit_script
  fi
  # failsafe check if somehow a linux-image-generic entry is about to be removed
  if [ "$current_old_kernel" = "linux-image-generic" ]; then
    echo -e $bold_red"ERROR!"$endCol" Somehow one of the linux-image-generic entries has crept into the removal process!"
    echo "I refuse to do that! Aborting script."
    exit_script
  fi
  echo "Command about to be executed is:"
  echo "  $ sudo apt-get purge \"$current_old_kernel\""
  check_in_boot=$(echo $current_old_kernel | sed 's/linux-image/initrd.img/g')
  if [ -e /boot/$check_in_boot ]; then
    echo -e $bold_yellow"Note:"$endCol" This kernel exists in /boot but it NON-active, so it's OK to remove."
  else
    echo -e $bold_green"Totally safe to remove:"$endCol" This kernel does NOT exist in /boot."
  fi
  echo ""
  echo "Are you sure you want to remove this kernel?"
  echo "(*upper case* Y=yes / any other key will exit the script)"
  read -s -n 1 yes_no
  echo ""
  # Only entering a single upper case Y will work!
  if [ "$yes_no" != "Y" ]; then
    echo "Aborting script."
    exit_script
  fi
  echo "Removing kernel "$current_old_kernel"..."
  sleep 1
  sudo apt-get -y purge $current_old_kernel
  if [ "$RemoveSource" = "y" ]; then
    current_old_source=$(echo $current_old_kernel | sed 's/linux-image/linux-headers/g')
    current_old_source=$(echo $current_old_source | sed 's/-generic//g')
    current_old_source=$(echo $current_old_source | sed 's/-pae//g')
    sudo apt-get -y purge $current_old_source
  fi
  show_kernel_info
done

if [ $count_of_old_kernels_in_boot = 0 ]; then
  echo -e $bold_red"There are no NON-active kernels to remove!"$endCol
else
  echo -e $bold_red"There is only one NON-active kernel left in /boot!"$endCol
  echo "This script will not remove the last non-active kernel so that you have at least one backup kernel."
fi
echo "Aborting script."
exit_script
0
ответ дан 12 February 2018 в 23:16

Перечислите все ядра:

dpkg --list 'linux-image*'

Отобразите текущее ядро:

uname -r

Перечислите все ядра КРОМЕ текущего:

dpkg -l linux-{image,headers}-"[0-9]*" | awk '/^ii/{ print $2}' | grep -v -e `uname -r | cut -f1,2 -d"-"` | grep -e '[0-9]'

Удостоверьтесь, что Ваше текущее ядро не находится в том списке.

Удалите все ядра КРОМЕ текущего:

dpkg -l linux-{image,headers}-"[0-9]*" | awk '/^ii/{ print $2}' | grep -v -e `uname -r | cut -f1,2 -d"-"` | grep -e '[0-9]' | xargs sudo apt-get -y purge

Очистите другой материал:

sudo apt-get autoremove

Если это все еще дает Вам, ошибка пространства загрузочного диска для установки/удаления файлов затем непосредственно удаляет одно из СТАРОГО изображения из каталога начальной загрузки/,

ls -lh /boot/*-3.13.0-119*;

rm /boot/*-3.13.0-119*; 

Примечание: Рассмотрите текущее изображение ядра снова прежде, чем удалить любое изображение.

4
ответ дан 12 February 2018 в 23:16

Я показываю, что все еще в 2017 этот вопрос имеет новые комментарии и ответы, но отсутствие одного ответа, что я думаю, очень полезно здесь:

Ubuntu как настольная ОС простого повседневного использования не имеет никакой причины, которая будет установлена с отдельным \boot разделом, и что-то вроде этого НЕ предложит что-то "обычному пользователю"... Таким образом, решением является новая установка без \boot раздела и этого способа, которым у Вас никогда не будет такой проблемы

пз: Мой ответ может быть удален или добавлен в принятом ответе... (Я думаю, что это поможет некоторым людям этот путь)

0
ответ дан 12 February 2018 в 23:16

Это новый ответ на старый вопрос, но простой способ убрать эту вещь (и не только) - установить Ubuntu Tweak . Чтобы установить его :

sudo add-apt-repository ppa:tualatrix/ppa
sudo apt-get update
sudo apt-get install ubuntu-tweak

, затем вы можете запустить Ubuntu Tweak, перейдя на вкладку «janitor», и отсюда всего три щелчка:

Ubuntu tweak janitor for old kernels

Лучше оставить последнее ядро ​​(вы никогда не знаете) или хорошо известное работающее ядро ​​для безопасности; но это легко настраивается.

Вы можете использовать один и тот же инструмент для очистки многих вещей - просто помните, что если вы очищаете кэш миниатюр или кэш ТБ, то система должна будет перестроить их, если они необходимы.

0
ответ дан 12 February 2018 в 23:16

Спасибо за ваш подробный пост о вашей проблеме, это заставило меня двигаться в правильном направлении. Хотя полезно сохранить предыдущие файлы ядра, вы можете удалить их все за один раз, проверьте этот пост:
Как удалить все неиспользуемые заголовки ядра Linux, изображения и модули

Готово через командную строку. Если вы делаете это через удаленный доступ, используйте что-то вроде WINSCP, чтобы открыть терминальную сессию и просто вставить его, очень хорошо работает.

Здесь это скопировано из ссылки на статью, я предлагаю вам прочитать статью полностью:

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
0
ответ дан 12 February 2018 в 23:16

Synaptic Package Manager может использоваться для простого выбора и удаления старых образов ядра. Screenshot of Synaptic Package Manager

Если у вас еще не установлен Synaptic:

sudo apt-get install synaptic

Запустите приложение и выберите показанные параметры.

Вы должны быть в состоянии выделить все пакеты «linux-» с версией «2.6.x», где x находится в диапазоне от 31 до 38 в соответствии с файлами в вашей папке / boot.

Щелкните правой кнопкой мыши на каждом из этих пакетов Linux и выберите параметр «Пометить для полного удаления». Наконец нажмите кнопку Применить. Это удалит все файлы и все связанные файлы. Ваша папка /boot теперь должна быть немного аккуратнее.

0
ответ дан 12 February 2018 в 23:16
sudo apt-get autoremove

Эта команда выполняет работу автоматически.

0
ответ дан 12 February 2018 в 23:16

Ваш загрузочный раздел заполнен. Поскольку это обновление ядра, эти файлы будут скопированы в загрузочный раздел, поэтому вам нужно очистить его. Вот сообщение в блоге , которое покажет вам, как очистить старые образы ядра одной командой. Я дам краткий обзор метода. Используйте эту команду, чтобы распечатать текущую версию вашего ядра:

uname -r

Затем используйте эту команду, чтобы распечатать все установленные вами ядра, которые не являются вашим новейшим ядром:

dpkg -l linux-{image,headers}-"[0-9]*" | awk '/^ii/{ print $2}' | grep -v -e `uname -r | cut -f1,2 -d"-"` | grep -e '[0-9]'
[ 117] Убедитесь, что вашего текущего ядра нет в этом списке. Обратите внимание, как это большинство из заключительной команды (внизу). Чтобы удалить и удалить эти старые ядра, вы захотите передать эти аргументы следующим образом:

sudo apt-get -y purge

Теперь мы можем делать все, что захотим, объединяя эти две последние команды в этот безобразный беспорядок:

dpkg -l linux-{image,headers}-"[0-9]*" | awk '/^ii/{ print $2}' | grep -v -e `uname -r | cut -f1,2 -d"-"` | grep -e '[0-9]' | xargs sudo apt-get -y purge
[ 119] И эта одна команда позаботится обо всем для вас. Я подтверждаю, что это работает отлично, но никогда никому не доверяю в Интернете. :) Для получения дополнительной информации в блоге дается очень хорошее объяснение того, что делает каждая часть команды, поэтому прочитайте ее, чтобы убедиться, что она делает то, что вы хотите, чтобы она делала.

0
ответ дан 12 February 2018 в 23:16

Я уже удалил старые пакеты ядра (linux-headers ...)

linux-headers-* не являются ядрами. Пакеты ядра называются linux-image-*. Те, что названы linux-headers-*, являются пакетами разработки для компиляции модулей ядра: они не находятся в каталоге / boot и не требуются для повседневного использования вашей системы.

Файлы, которые вы перечислили в / boot , делают , включают несколько старых образов ядра (vmlinuz*) и скомпилированные образы initrd (initrd.img*) для этих ядер, что свидетельствует о том, что у вас еще много установленных старых пакетов ядра.

Вы должны быть в состоянии перечислить свои установленные ядра с помощью

aptitude search ~ilinux-image

(обратите внимание, что это, вероятно, вернет пакеты, которые также не являются ядрами).

Как правило, нет необходимости устанавливать более двух ядер - одно используется в настоящее время, а предыдущее - как запасной вариант. Таким образом, вы можете начать удалять старые по очереди, например так:

sudo apt-get autoremove linux-image-3.2.0-23-generic

Убедитесь, что вы заменили «3.2.0-23-generic» на версию ядра, которую хотите удалить! Также не удаляйте пакеты, такие как linux-image-generic. Вы должны быть очень осторожны, чтобы не удалить текущее работающее ядро, иначе вы не сможете загрузиться (Ubuntu может или не может предупредить вас об этом).

Вы можете найти ваше текущее работающее ядро ​​с:

uname -r
0
ответ дан 12 February 2018 в 23:16

Если вы не можете удалить больше неиспользуемых файлов и если у вас есть другой раздел с / или свободным пространством на том же устройстве, вы можете изменить размер / boot раздела на parted / gparted . (Он также включен на установочном носителе.)

Предупреждение : Изменение размера раздела опасно , сохраняйте важные данные на другом носителе, прежде чем делать это!

0
ответ дан 12 February 2018 в 23:16

[Как новичок 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, чтобы указать, что он снова здоров.

0
ответ дан 12 February 2018 в 23:16

Вы можете прекратить использовать отдельный раздел / boot, тогда у вас не будет такого ограниченного пространства там. Для этого размонтируйте раздел, затем смонтируйте его где-нибудь еще и скопируйте все файлы в каталог / boot вашего корневого раздела, затем удалите запись из / etc / fstab и переустановите grub. Например (вам нужно будет использовать правильный раздел):

sudo -s
umount /boot
mount /dev/sda2 /mnt
cp -a /mnt/* /boot/
umount /mnt
gedit /etc/fstab
grub-install /dev/sda

Затем вы можете использовать gparted, чтобы удалить старый раздел / boot, и, возможно, расширить корневой раздел, чтобы использовать это пространство. Для расширения корневого раздела вам нужно будет загрузиться с livecd, а свободное место должно быть сразу справа. Если раздел / boot в данный момент находится слева от корневого раздела, вам необходимо сначала переместить корневой раздел влево, а затем расширить его, но это может занять очень и очень много времени, поэтому может не стоить Проблема.

0
ответ дан 12 February 2018 в 23:16

Мне удалось решить проблему с помощью dpkg для непосредственного удаления пакетов. Хотя пакеты все еще перечислены в dpkg -l, файлы удаляются из /boot, освобождая место.

phrogz@planar:/boot$ sudo dpkg --remove linux-image-2.6.32-30-server
(Reading database ... 145199 files and directories currently installed.)
Removing linux-image-2.6.32-30-server ...
Running postrm hook script /usr/sbin/update-grub.
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.32-35-server
Found linux image: /boot/vmlinuz-2.6.32-34-server
Found initrd image: /boot/initrd.img-2.6.32-34-server
Found linux image: /boot/vmlinuz-2.6.32-33-server
Found initrd image: /boot/initrd.img-2.6.32-33-server
Found linux image: /boot/vmlinuz-2.6.32-32-server
Found initrd image: /boot/initrd.img-2.6.32-32-server
Found linux image: /boot/vmlinuz-2.6.32-31-server
Found initrd image: /boot/initrd.img-2.6.32-31-server
Found memtest86+ image: /memtest86+.bin
done

# Repeat for kernels -31 and -32 and -33, up to (but not including)
# the version listed by `uname -a`

После этого apt-get -f install исправили мои проблемы с зависимостями, и все было хорошо с миром.

Однако я не приму этот ответ, так как мне все еще нужно знать, должен ли я увеличивать свой /boot размер или делать что-то еще.

0
ответ дан 12 February 2018 в 23:16

/ раздел начальной загрузки может быть бит, странный иногда

непосредственно не начинайте удалять файлы ядра.

Шаги для следования

  1. Проверьте на в настоящее время устанавливаемое ядро, используемое системой Linux

    uname -r

    это должно дать Вам название в настоящее время устанавливаемого изображения ядра в системе

  2. Теперь начните удалять дополнительные файлы за исключением того, что одно определенное установило в Вашей системе

    apt-get remove linux-image-XXXXX

  3. Также удалите заголовочный файл также

    apt-get remove linux-headers-XXXXX

  4. Также может быть условие где apt прекратил работать, в этом случае переключитесь на начальную загрузку /

    cd /boot

  5. Начните удалять файлы вручную, но очень тщательно также оставайтесь в уме, не удаляя installed one's файлы ядра от Вашей системы.

    rm linux-image-XXXXX

    rm linux-image-extra-XXXXXX

  6. После удаления корректной очистки файлов частичные установки, если любой

    apt-get -f install

  7. Удалите дополнительные файлы, находящиеся туда как загрузочные файлы, убранные вручную

    apt-get autoremove

  8. Личинка обновления

    update-grub

  9. Наконец обновите свои системные пакеты

    apt-get update

0
ответ дан 22 November 2019 в 22:31

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

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