Назад | Перейти на главную страницу

Дисковое пространство заполнено при выполнении операции apt-get в Ubuntu 14.04

Я пытаюсь установить новое программное обеспечение на моем Ubuntu 14.04, который работает

$ uname -r
3.13.0-45-generic

На моей машине установлены старые ядра

$ dpkg --list | grep linux-image
rc  linux-image-3.13.0-24-generic       3.13.0-24.47                     amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-3.13.0-45-generic       3.13.0-45.74                     amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-3.13.0-55-generic       3.13.0-55.94                     amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-3.13.0-57-generic       3.13.0-57.95                     amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-3.13.0-58-generic       3.13.0-58.97                     amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-3.13.0-59-generic       3.13.0-59.98                     amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-3.13.0-61-generic       3.13.0-61.100                    amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
rc  linux-image-extra-3.13.0-24-generic 3.13.0-24.47                     amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-extra-3.13.0-45-generic 3.13.0-45.74                     amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-extra-3.13.0-55-generic 3.13.0-55.94                     amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-extra-3.13.0-57-generic 3.13.0-57.95                     amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-extra-3.13.0-58-generic 3.13.0-58.97                     amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-extra-3.13.0-59-generic 3.13.0-59.98                     amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
iF  linux-image-extra-3.13.0-61-generic 3.13.0-61.100                    amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
iU  linux-image-extra-3.13.0-62-generic 3.13.0-62.102                    amd64        Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
iU  linux-image-generic                 3.13.0.62.69                     amd64        Generic Linux kernel image

Когда я пытаюсь очистить их, используя команду ниже

$ sudo apt-get purge linux-image-3.13.0-24-generic
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 linux-image-extra-3.13.0-62-generic : Depends: linux-image-3.13.0-62-generic but it is not going to be installed
 linux-image-generic : Depends: linux-image-3.13.0-62-generic but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Я получаю ошибку выше.

При автоматическом удалении появляется ошибка

$ sudo apt-get autoremove
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
 linux-image-extra-3.13.0-62-generic : Depends: linux-image-3.13.0-62-generic but it is not installed
 linux-image-generic : Depends: linux-image-3.13.0-62-generic but it is not installed
E: Unmet dependencies. Try using -f.

И если я запустил принудительную установку, он говорит, что на устройстве не осталось места.

$ sudo apt-get install -f
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
  linux-headers-3.13.0-55 linux-headers-3.13.0-55-generic
  linux-headers-3.13.0-57 linux-headers-3.13.0-57-generic
  linux-headers-3.13.0-58 linux-headers-3.13.0-58-generic
  linux-headers-3.13.0-59 linux-headers-3.13.0-59-generic
  linux-image-3.13.0-55-generic linux-image-3.13.0-57-generic
  linux-image-3.13.0-58-generic linux-image-3.13.0-59-generic
  linux-image-extra-3.13.0-55-generic linux-image-extra-3.13.0-57-generic
  linux-image-extra-3.13.0-58-generic linux-image-extra-3.13.0-59-generic
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  linux-image-3.13.0-62-generic
Suggested packages:
  fdutils linux-doc-3.13.0 linux-source-3.13.0 linux-tools
The following NEW packages will be installed:
  linux-image-3.13.0-62-generic
0 upgraded, 1 newly installed, 0 to remove and 48 not upgraded.
5 not fully installed or removed.
Need to get 15.2 MB of archives.
After this operation, 42.5 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://mirrors.voxel.net/ubuntu/ trusty-updates/main linux-image-3.13.0-62-generic amd64 3.13.0-62.102 [15.2 MB]
Fetched 15.2 MB in 4s (3,237 kB/s)                        
(Reading database ... 243451 files and directories currently installed.)
Preparing to unpack .../linux-image-3.13.0-62-generic_3.13.0-62.102_amd64.deb ...
Done.
Unpacking linux-image-3.13.0-62-generic (3.13.0-62.102) ...
dpkg: error processing archive /var/cache/apt/archives/linux-image-3.13.0-62-generic_3.13.0-62.102_amd64.deb (--unpack):
 cannot copy extracted data for './boot/vmlinuz-3.13.0-62-generic' to '/boot/vmlinuz-3.13.0-62-generic.dpkg-new': failed to write (No space left on device)
No apport report written because the error message indicates a disk full error
                                                                              dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.13.0-62-generic /boot/vmlinuz-3.13.0-62-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.13.0-62-generic /boot/vmlinuz-3.13.0-62-generic
Errors were encountered while processing:
 /var/cache/apt/archives/linux-image-3.13.0-62-generic_3.13.0-62.102_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Использование моего диска:

$ df -k
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda3      955997652 5241596 911812456   1% /
none                   4       0         4   0% /sys/fs/cgroup
udev             4066160      12   4066148   1% /dev
tmpfs             815404     512    814892   1% /run
none                5120       0      5120   0% /run/lock
none             4077016       0   4077016   0% /run/shm
none              102400       0    102400   0% /run/user
/dev/sda1         190346  152098     24199  87% /boot

Как я могу освободить место на моем Ubuntu, чтобы я мог устанавливать на него новые приложения?

Пожалуйста помоги...

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

Проблемные пакеты находятся в вашем dpkg выход, а apt-get вывод.

Вы можете попробовать использовать aptitude install -f чтобы увидеть, решит ли один из вариантов проблему для вас (возможно, удалив эти пакеты), или вы можете попробовать apt-get purge linux-image-extra-3.13.0-61-generic linux-image-extra-3.13.0-62-generic linux-image-generic для удаления установленных сломанных и частично настроенных пакетов.

Если вы достаточно отчаялись, чтобы использовать dpkg обязательно обратите внимание на сообщения и удалите зависимости от пакета, прежде чем пытаться удалить пакет. Из приведенной выше команды вам, вероятно, следует удалить linux-image-extra-3.13.0-55-generic прежде чем пытаться удалить linux-image-3.13.0-55-generic если вы хотите пойти по этому пути.

Будьте особенно внимательны, чтобы не удалить работающее ядро. 3.13.0-45-generic.

Тогда ты можешь apt-get autoremove и apt-get purge оставшиеся ненужные пакеты ядра, а затем установите более позднее ядро, похоже, вы пытались установить.

Ваша корневая файловая система (/) имеет много свободного места, однако /boot не.

Внимательно посмотрите на вывод ошибки из sudo apt-get install -f команда:

Unpacking linux-image-3.13.0-62-generic (3.13.0-62.102) ...
dpkg: error processing archive /var/cache/apt/archives/linux-image-3.13.0-62-generic_3.13.0-62.102_amd64.deb (--unpack):
 cannot copy extracted data for './boot/vmlinuz-3.13.0-62-generic' to '/boot/vmlinuz-3.13.0-62-generic.dpkg-new': failed to write (No space left on device)

Пытается поместить файл в /boot и в этой файловой системе недостаточно места для этого.

Ваши варианты:

  1. Удалить файлы из /boot которые больше не нужны
  2. Добавьте больше места в /boot. Это может быть сложно сделать, поскольку LVM не используется. Если это виртуальная машина, возможно, нет.
  3. Канава /boot все вместе. В большинстве случаев наличие отдельной файловой системы для /boot не нужно. (прежде чем рассматривать это, взгляните на ответ @Kassandry)

Если вы решили избавиться от /boot файловой системе вы можете сделать следующее.

ПРИМЕЧАНИЕ: будьте очень осторожны, если будете использовать следующие инструкции.:

mkdir ~/copy-of-boot-files
sudo rsync -aHS /boot/ ~/copy-of-boot-files/
sudo umount /boot
sudo rsync -AHS ~/copy-of-boot-files/ /boot/
sudo sed -i 's/.*\/boot.*/#&/' /etc/fstab

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

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

Дополнительное примечание: Вам может потребоваться обновить конфигурацию загрузчика (например, update-grub, не уверен, что использует эта версия Ubuntu). Кроме того, если это паравиртуализированный гость под Xen, вам необходимо убедиться, что конфигурация domU знает, как получить ядро ​​из нового местоположения (sda3 вместо того sda1).