Я пытаюсь установить новое программное обеспечение на моем 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
и в этой файловой системе недостаточно места для этого.
Ваши варианты:
/boot
которые больше не нужны/boot
. Это может быть сложно сделать, поскольку LVM не используется. Если это виртуальная машина, возможно, нет./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
).