У меня есть установка Ubuntu 14.04, которую я пытаюсь do-release-upgrade
до 16.04. Когда я пытаюсь, я получаю ошибку
Недостаточно свободного места на диске
Обновление прервано. Для обновления требуется в общей сложности 76,2 М свободного места на диске '/boot'. Пожалуйста, освободите как минимум еще 58,8 М дискового пространства на диске '/boot'.
apt-get autoremove
и apt-get clean
не удалили никаких файлов. Поиск в интернете показал, что стандартным решением этой проблемы является ответ Алаа Али на этот вопрос AskUbuntu, который заключается в apt-get purge
неиспользуемых образов ядра. Следуя этому совету, я удалил 41 образ ядра. Однако это не освободило место на /boot
.
До apt-get purge
удаления 41 образа, вывод df -h
был
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 3.9G 4.0K 3.9G 1% /dev
tmpfs 785M 1012K 784M 1% /run
/dev/sda2 47G 28G 17G 62% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
none 5.0M 0 5.0M 0% /run/lock
none 3.9G 88K 3.9G 1% /run/shm
none 100M 20K 100M 1% /run/user
/dev/sdb1 459G 121G 338G 27% /data
/dev/sda1 114M 89M 17M 85% /boot
/dev/sda4 404G 90G 295G 24% /home
После очистки, вывод df -h
был
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 3.9G 4.0K 3.9G 1% /dev
tmpfs 785M 1012K 784M 1% /run
/dev/sda2 47G 28G 17G 62% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
none 5.0M 0 5.0M 0% /run/lock
none 3.9G 88K 3.9G 1% /run/shm
none 100M 20K 100M 1% /run/user
/dev/sdb1 459G 121G 338G 27% /data
/dev/sda1 114M 89M 17M 85% /boot
/dev/sda4 404G 90G 295G 24% /home
Ничего не изменилось. Я все еще получаю ту же ошибку, когда пытаюсь do-release-upgrade
.
Сравнение результатов dpkg -l | grep linux-image
до и после очистки образов подтверждает, что образы ядра были удалены.
Все ответы на этот вопрос, которые я нашел, сводятся к autoremove
, clean
или очистке образов ядра, и ни один из них не сработал. Что мне теперь делать?
Редактировать: Дополнительная информация
Вот вывод dpkg -l | grep linux-image
перед очисткой:
$ dpkg -l | grep linux-image
rc linux-image-2.6.32-21-generic 2.6.32-21.32 amd64 Linux kernel image for version 2.6.32 on x86/x86_64
rc linux-image-2.6.32-23-generic 2.6.32-23.37 amd64 Linux kernel image for version 2.6.32 on x86/x86_64
rc linux-image-2.6.32-24-generic 2.6.32-24.43 amd64 Linux kernel image for version 2.6.32 on x86/x86_64
rc linux-image-2.6.32-25-generic 2.6.32-25.45 amd64 Linux kernel image for version 2.6.32 on x86/x86_64
rc linux-image-2.6.32-26-generic 2.6.32-26.48 amd64 Linux kernel image for version 2.6.32 on x86/x86_64
rc linux-image-2.6.32-27-generic 2.6.32-27.49 amd64 Linux kernel image for version 2.6.32 on x86/x86_64
rc linux-image-2.6.32-29-generic 2.6.32-29.58 amd64 Linux kernel image for version 2.6.32 on x86/x86_64
rc linux-image-2.6.32-30-generic 2.6.32-30.59 amd64 Linux kernel image for version 2.6.32 on x86/x86_64
rc linux-image-2.6.32-31-generic 2.6.32-31.61 amd64 Linux kernel image for version 2.6.32 on x86/x86_64
rc linux-image-2.6.32-32-generic 2.6.32-32.62 amd64 Linux kernel image for version 2.6.32 on x86/x86_64
rc linux-image-2.6.32-34-generic 2.6.32-34.77 amd64 Linux kernel image for version 2.6.32 on x86/x86_64
rc linux-image-2.6.32-37-generic 2.6.32-37.81 amd64 Linux kernel image for version 2.6.32 on x86/x86_64
rc linux-image-2.6.32-38-generic 2.6.32-38.83 amd64 Linux kernel image for version 2.6.32 on x86/x86_64
rc linux-image-2.6.32-39-generic 2.6.32-39.86 amd64 Linux kernel image for version 2.6.32 on x86/x86_64
rc linux-image-2.6.32-40-generic 2.6.32-40.87 amd64 Linux kernel image for version 2.6.32 on x86/x86_64
rc linux-image-2.6.32-41-generic 2.6.32-41.94 amd64 Linux kernel image for version 2.6.32 on x86/x86_64
rc linux-image-2.6.32-44-generic 2.6.32-44.98 amd64 Linux kernel image for version 2.6.32 on x86/x86_64
rc linux-image-3.13.0-107-generic 3.13.0-107.154 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP
rc linux-image-3.13.0-116-generic 3.13.0-116.163 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP
rc linux-image-3.13.0-157-generic 3.13.0-157.207 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP
ii linux-image-3.13.0-164-generic 3.13.0-164.214 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP
ii linux-image-3.13.0-170-generic 3.13.0-170.220 amd64 Signed kernel image generic
rc linux-image-3.13.0-66-generic 3.13.0-66.108 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP
rc linux-image-3.2.0-32-generic 3.2.0-32.51 amd64 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
rc linux-image-3.2.0-33-generic 3.2.0-33.52 amd64 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
rc linux-image-3.2.0-34-generic 3.2.0-34.53 amd64 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
rc linux-image-3.2.0-35-generic 3.2.0-35.55 amd64 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
rc linux-image-3.2.0-36-generic 3.2.0-36.57 amd64 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
rc linux-image-3.2.0-37-generic 3.2.0-37.58 amd64 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
rc linux-image-3.2.0-38-generic 3.2.0-38.61 amd64 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
rc linux-image-3.2.0-39-generic 3.2.0-39.62 amd64 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
rc linux-image-3.2.0-40-generic 3.2.0-40.64 amd64 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
rc linux-image-3.2.0-41-generic 3.2.0-41.66 amd64 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
rc linux-image-3.2.0-45-generic 3.2.0-45.70 amd64 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
rc linux-image-3.2.0-48-generic 3.2.0-48.74 amd64 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
rc linux-image-3.2.0-49-generic 3.2.0-49.75 amd64 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
rc linux-image-3.2.0-53-generic 3.2.0-53.81 amd64 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
rc linux-image-3.2.0-58-generic 3.2.0-58.88 amd64 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
rc linux-image-3.2.0-88-generic 3.2.0-88.126 amd64 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
rc linux-image-3.2.0-89-generic 3.2.0-89.127 amd64 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
rc linux-image-3.2.0-92-generic 3.2.0-92.131 amd64 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
rc linux-image-extra-3.13.0-107-generic 3.13.0-107.154 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
rc linux-image-extra-3.13.0-116-generic 3.13.0-116.163 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
rc linux-image-extra-3.13.0-157-generic 3.13.0-157.207 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
ii linux-image-extra-3.13.0-164-generic 3.13.0-164.214 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
rc linux-image-extra-3.13.0-66-generic 3.13.0-66.108 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
ii linux-image-generic 3.13.0.170.181 amd64 Generic Linux kernel image
Вот команды, которые я использовал для очистки образов:
$ sudo apt-get purge linux-image-2.6.32-{21,23,24,25,26,27,29,30,31,32,34,37,38,39,40,41,44}-generic
$ sudo apt-get purge linux-image-3.2.0-{32,33,34,35,36,37,38,39,40,41,45,48,49,53,58,88,89,92}-generic
$ sudo apt-get purge linux-image-3.13.0-107-generic
$ sudo apt-get purge linux-image-3.13.0-116-generic
$ sudo apt-get purge linux-image-extra-3.13.0-107-generic
$ sudo apt-get purge linux-image-extra-3.13.0-116-generic
$ sudo apt-get purge linux-image-3.13.0-66-generic
$ sudo apt-get purge linux-image-extra-3.13.0-66-generic
Вот вывод dpkg -l | grep linux-image
после выполнения вышеуказанных команд очистки:
$ dpkg -l | grep linux-image
rc linux-image-3.13.0-157-generic 3.13.0-157.207 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP
ii linux-image-3.13.0-164-generic 3.13.0-164.214 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP
ii linux-image-3.13.0-170-generic 3.13.0-170.220 amd64 Signed kernel image generic
rc linux-image-extra-3.13.0-157-generic 3.13.0-157.207 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
ii linux-image-extra-3.13.0-164-generic 3.13.0-164.214 amd64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
ii linux-image-generic 3.13.0.170.181 amd64 Generic Linux kernel image
Вот текущее содержимое /boot
:
$ ls -l /boot
total 81817
-rw-r--r-- 1 root root 1169147 Dec 5 2018 abi-3.13.0-164-generic
-rw-r--r-- 1 root root 166221 Dec 5 2018 config-3.13.0-164-generic
-rw-r--r-- 1 root root 166221 May 9 09:35 config-3.13.0-170-generic
drwxr-xr-x 5 root root 1024 Jul 19 14:43 grub
-rw-r--r-- 1 root root 31803728 Jul 9 13:28 initrd.img-3.13.0-164-generic
-rw-r--r-- 1 root root 31804631 Jul 9 13:28 initrd.img-3.13.0-170-generic
drwx------ 2 root root 12288 Jul 22 2010 lost+found
-rw-r--r-- 1 root root 254 Dec 5 2018 retpoline-3.13.0-164-generic
-rw------- 1 root root 3417774 Dec 5 2018 System.map-3.13.0-164-generic
-rw------- 1 root root 3418683 May 9 09:35 System.map-3.13.0-170-generic
-rw------- 1 root root 5905712 Dec 5 2018 vmlinuz-3.13.0-164-generic
-rw------- 1 root root 5909496 May 14 15:03 vmlinuz-3.13.0-170-generic
Вот uname -r
:
$ uname -r
3.13.0-170-generic
Edit: Summary
Мне удалось добиться того, что /boot
имеет 58M, удалив еще один образ ядра. do-release-upgrade
требует 77M, так что мне все еще нужно около ~20M.
Оставшийся образ ядра (тот, который я сейчас использую) занимает 31М. Кроме того, все остальное в /boot
составляет ~15.9M. Похоже, нет способа освободить достаточно места для запуска do-release-upgrade
без удаления моего текущего образа ядра. Кто-нибудь видит, что я что-то упускаю?
Данные для подсчета дискового пространства:
$ sudo du -h -d 1 /boot/
12K /boot/lost+found
6.7M /boot/grub
47M /boot/
$ ls -lh /boot
total 40M
-rw-r--r-- 1 root root 163K May 9 09:35 config-3.13.0-170-generic
drwxr-xr-x 5 root root 1.0K Jul 23 13:41 grub
-rw-r--r-- 1 root root 31M Jul 9 13:28 initrd.img-3.13.0-170-generic
drwx------ 2 root root 12K Jul 22 2010 lost+found
-rw------- 1 root root 3.3M May 9 09:35 System.map-3.13.0-170-generic
-rw------- 1 root root 5.7M May 14 15:03 vmlinuz-3.13.0-170-generic
Edit: Resolution
Кажется, ясно, что я не в состоянии решить эту проблему. Спасибо всем, кто любезно предоставил информацию и советы!
Самый простой путь, когда Вы не загружаетесь с EFI, состоит в том, чтобы переместиться /boot
кому: /
где у Вас есть тонны свободного пространства.
От: Linux Дуги, Как переместить начальную загрузку / в /
Начальная загрузка от живого дистрибутива, смонтируйте раздел, содержащий
/
кому:/mnt/main
раздел, содержащий/boot
кому:/mnt/boot
затем копия/mnt/boot
кому:/mnt/main
.Затем удалите "/начальная загрузка" запись от Вашего
/etc/fstab
, (дуга-), chroot в Arch и переустанавливают GRUB.
Вместо удаления /boot
запись, хотя я прокомментировал бы его с #
.
Вместо chroot
и переустановите GRUB, я использовал бы восстановление начальной загрузки.
Если Вы не имеете физического доступа к своему серверу, взглянули здесь
Перемещение /boot
к корневому разделу может быть сделан без живой системы, следующим образом. (Каждый шаг должен быть очевидным, но отметить, что я переустанавливаю GRUB и пакеты ядра вместо того, чтобы просто копировать файлы.)
Предупреждение: не забывайте шаг, особенно grub-install
и update-grub
, чтобы Ваша система не становится незагрузочной.
firas@ubuntu:~$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 2.0G 4.0K 2.0G 1% /dev
tmpfs 396M 420K 395M 1% /run
/dev/sda2 9.1G 1.2G 7.5G 14% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
none 5.0M 8.0K 5.0M 1% /run/lock
none 2.0G 0 2.0G 0% /run/shm
none 100M 0 100M 0% /run/user
/dev/sda1 464M 38M 398M 9% /boot
firas@ubuntu:~$ ls /boot
config-3.13.0-170-generic initrd.img-3.13.0-170-generic System.map-3.13.0-170-generic
grub lost+found vmlinuz-3.13.0-170-generic
firas@ubuntu:~$ sudo umount /boot
firas@ubuntu:~$ ls /boot
firas@ubuntu:~$ grep boot /etc/fstab
# /boot was on /dev/sda1 during installation
#UUID=9e6d0006-a9c2-4d0d-9b8a-615ffd9f533a /boot ext4 defaults 0 2
firas@ubuntu:~$ apt list --installed | grep grub
WARNING: apt does not have a stable CLI interface yet. Use with caution in scripts.
grub-common/trusty-updates,now 2.02~beta2-9ubuntu1.17 amd64 [installed]
grub-gfxpayload-lists/trusty,now 0.6 amd64 [installed,automatic]
grub-pc/trusty-updates,now 2.02~beta2-9ubuntu1.17 amd64 [installed]
grub-pc-bin/trusty-updates,now 2.02~beta2-9ubuntu1.17 amd64 [installed,automatic]
grub2-common/trusty-updates,now 2.02~beta2-9ubuntu1.17 amd64 [installed,automatic]
firas@ubuntu:~$ sudo apt-get install --reinstall grub-common grub-gfxpayload-lists grub-pc grub-pc-bin grub2-common
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 to upgrade, 0 to newly install, 5 reinstalled, 0 to remove and 0 not to upgrade.
Need to get 0 B/3,241 kB of archives.
After this operation, 0 B of additional disk space will be used.
Preconfiguring packages ...
(Reading database ... 54436 files and directories currently installed.)
Preparing to unpack .../grub-common_2.02~beta2-9ubuntu1.17_amd64.deb ...
Unpacking grub-common (2.02~beta2-9ubuntu1.17) over (2.02~beta2-9ubuntu1.17) ...
Preparing to unpack .../grub-gfxpayload-lists_0.6_amd64.deb ...
Unpacking grub-gfxpayload-lists (0.6) over (0.6) ...
Preparing to unpack .../grub-pc_2.02~beta2-9ubuntu1.17_amd64.deb ...
Unpacking grub-pc (2.02~beta2-9ubuntu1.17) over (2.02~beta2-9ubuntu1.17) ...
Preparing to unpack .../grub-pc-bin_2.02~beta2-9ubuntu1.17_amd64.deb ...
Unpacking grub-pc-bin (2.02~beta2-9ubuntu1.17) over (2.02~beta2-9ubuntu1.17) ...
Preparing to unpack .../grub2-common_2.02~beta2-9ubuntu1.17_amd64.deb ...
Unpacking grub2-common (2.02~beta2-9ubuntu1.17) over (2.02~beta2-9ubuntu1.17) ...
Processing triggers for ureadahead (0.100.0-16) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Processing triggers for install-info (5.2.0.dfsg.1-2) ...
Setting up grub-common (2.02~beta2-9ubuntu1.17) ...
Setting up grub2-common (2.02~beta2-9ubuntu1.17) ...
Setting up grub-pc-bin (2.02~beta2-9ubuntu1.17) ...
Setting up grub-gfxpayload-lists (0.6) ...
Setting up grub-pc (2.02~beta2-9ubuntu1.17) ...
firas@ubuntu:~$ sudo grub-install /dev/sda
Installing for i386-pc platform.
Installation finished. No error reported.
firas@ubuntu:~$ apt list --installed | grep linux
WARNING: apt does not have a stable CLI interface yet. Use with caution in scripts.
libselinux1/trusty-updates,now 2.2.2-1ubuntu0.1 amd64 [installed]
linux-base/trusty-updates,trusty-security,now 4.5ubuntu1~14.04.1 all [installed,automatic]
linux-firmware/trusty-updates,trusty-security,now 1.127.24 all [installed,automatic]
linux-generic/trusty-updates,trusty-security,now 3.13.0.170.181 amd64 [installed]
linux-headers-3.13.0-170/trusty-updates,trusty-security,now 3.13.0-170.220 all [installed,automatic]
linux-headers-3.13.0-170-generic/trusty-updates,trusty-security,now 3.13.0-170.220 amd64 [installed,automatic]
linux-headers-generic/trusty-updates,trusty-security,now 3.13.0.170.181 amd64 [installed]
linux-image-3.13.0-170-generic/trusty-updates,trusty-security,now 3.13.0-170.220 amd64 [installed,automatic]
linux-image-generic/trusty-updates,trusty-security,now 3.13.0.170.181 amd64 [installed,automatic]
linux-modules-3.13.0-170-generic/trusty-updates,trusty-security,now 3.13.0-170.220 amd64 [installed,automatic]
linux-modules-extra-3.13.0-170-generic/trusty-updates,trusty-security,now 3.13.0-170.220 amd64 [installed,automatic]
util-linux/trusty-updates,now 2.20.1-5.1ubuntu20.9 amd64 [installed]
firas@ubuntu:~$ sudo apt-get install --reinstall linux-image-3.13.0-170-generic linux-modules-3.13.0-170-generic linux-modules-extra-3.13.0-170-generic
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 to upgrade, 0 to newly install, 3 reinstalled, 0 to remove and 0 not to upgrade.
Need to get 0 B/50.5 MB of archives.
After this operation, 0 B of additional disk space will be used.
(Reading database ... 54436 files and directories currently installed.)
Preparing to unpack .../linux-image-3.13.0-170-generic_3.13.0-170.220_amd64.deb ...
Unpacking linux-image-3.13.0-170-generic (3.13.0-170.220) over (3.13.0-170.220) ...
Preparing to unpack .../linux-modules-3.13.0-170-generic_3.13.0-170.220_amd64.deb ...
Unpacking linux-modules-3.13.0-170-generic (3.13.0-170.220) over (3.13.0-170.220) ...
Preparing to unpack .../linux-modules-extra-3.13.0-170-generic_3.13.0-170.220_amd64.deb ...
Unpacking linux-modules-extra-3.13.0-170-generic (3.13.0-170.220) over (3.13.0-170.220) ...
Setting up linux-modules-3.13.0-170-generic (3.13.0-170.220) ...
Setting up linux-image-3.13.0-170-generic (3.13.0-170.220) ...
Setting up linux-modules-extra-3.13.0-170-generic (3.13.0-170.220) ...
Processing triggers for linux-image-3.13.0-170-generic (3.13.0-170.220) ...
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-3.13.0-170-generic
firas@ubuntu:~$ sudo update-grub
Generating grub configuration file ...
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
Found linux image: /boot/vmlinuz-3.13.0-170-generic
Found initrd image: /boot/initrd.img-3.13.0-170-generic
done
firas@ubuntu:~$ sudo reboot
У меня когда-то была аналогичная ситуация с большим количеством файлов ядра, которые были перенесены от предыдущих обновлений.
Во-первых, Вам только нужно одно ядро для системы для работы. Удалите все другие включая сопроводительный заголовок и дополнительные файлы.
Затем, если это все еще не освобождает достаточно места, можно вручную удалить все остающиеся файлы из /boot
от терминала, оставляя только файлы связанными с одним ядром используемый.
Посмотрите этот вопрос