Как обычно, я начал обновление своей системы Kubuntu 12.04:
sudo apt-get --show-upgraded dist-upgrade
Я вернулся позже, и это не удалось:
Preconfiguring packages ...
(Reading database ... 478306 files and directories currently installed.)
Preparing to replace ...
Unpacking replacement base-files ...
Processing triggers for man-db ...
Processing triggers for install-info ...
...
Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-3.8.0-32-lowlatency
gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-3.8.0-32-lowlatency with 1.
dpkg: error processing initramfs-tools (--unpack):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)
вот проблема: вывод $ df -h:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 894M 879M 0 100% /boot
вручную удалил старые файлы и теперь немного свободного места
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 894M 129M 717M 16% /boot
Я запустил это следующее:
sudo apt-get autoremove
Следующий:
sudo apt-get -f install
вывод:
The following extra packages will be installed:
initramfs-tools
The following packages will be upgraded:
initramfs-tools
dpkg: dependency problems prevent configuration of initramfs-tools:
initramfs-tools depends on initramfs-tools-bin (<< 0.99ubuntu13.3.1~); however:
Version of initramfs-tools-bin on system is 0.99ubuntu13.4.
dpkg: error processing initramfs-tools (--configure):
dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
Errors were encountered while processing:
initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)
sudo apt-get install initramfs-tools
вышесказанное не удается
dpkg -l initramfs-tools
вывод:
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Description
+++-==============-==============-============================================
iF initramfs-tool 0.99ubuntu13.3 tools for generating an initramfs
sudo apt-get install --reinstall initramfs-tools
вывод:
The following packages will be upgraded:
initramfs-tools
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
Need to get 0 B/49.2 kB of archives.
After this operation, 0 B of additional disk space will be used.
dpkg: dependency problems prevent configuration of initramfs-tools:
initramfs-tools depends on initramfs-tools-bin (<< 0.99ubuntu13.3.1~); however:
Version of initramfs-tools-bin on system is 0.99ubuntu13.4.
dpkg: error processing initramfs-tools (--configure):
dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
Errors were encountered while processing:
initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)
Вот вывод apt-cache policy initramfs-tools-bin initramfs-tools
:
initramfs-tools-bin:
Installed: 0.99ubuntu13.4
Candidate: 0.99ubuntu13.4
Version table:
*** 0.99ubuntu13.4 0
500 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
100 /var/lib/dpkg/status
0.99ubuntu13 0
500 http://us.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
initramfs-tools:
Installed: 0.99ubuntu13.3
Candidate: 0.99ubuntu13.4
Version table:
0.99ubuntu13.4 0
500 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
*** 0.99ubuntu13.3 0
100 /var/lib/dpkg/status
0.99ubuntu13 0
500 http://us.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
Как предлагается ниже, вот мои следующие шаги:
$ sudo apt-get update
$ sudo apt-get -f install initramfs-tools=0.99ubuntu13 initramfs-tools-bin=0.99ubuntu13
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
...
Use 'apt-get autoremove' to remove them.
The following packages will be DOWNGRADED:
initramfs-tools initramfs-tools-bin
0 upgraded, 0 newly installed, 2 downgraded, 0 to remove and 4 not upgraded.
1 not fully installed or removed.
Need to get 59.2 kB of archives.
After this operation, 2,048 B disk space will be freed.
Do you want to continue [Y/n]?
Get:1 http://us.archive.ubuntu.com/ubuntu/ precise/main initramfs-tools all 0.99ubuntu13 [49.2 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu/ precise/main initramfs-tools-bin amd64 0.99ubuntu13 [9,988 B]
Fetched 59.2 kB in 0s (124 kB/s)
dpkg: warning: downgrading initramfs-tools-bin from 0.99ubuntu13.4 to 0.99ubuntu13.
(Reading database ... 478624 files and directories currently installed.)
Preparing to replace initramfs-tools-bin 0.99ubuntu13.4 (using .../initramfs-tools-bin_0.99ubuntu13_amd64.deb) ...
Unpacking replacement initramfs-tools-bin ...
Setting up initramfs-tools-bin (0.99ubuntu13) ...
dpkg: dependency problems prevent configuration of initramfs-tools:
initramfs-tools depends on initramfs-tools-bin (>= 0.99ubuntu13.3); however:
Version of initramfs-tools-bin on system is 0.99ubuntu13.
dpkg: error processing initramfs-tools (--configure):
dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
Errors were encountered while processing:
initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)
Затем я попробовал предложение Джайлза:
sudo dpkg --configure -a --force-depends
sudo apt-get install -f
sudo apt-get dist-upgrade
apt-cache policy initramfs-tools-bin initramfs-tools
apt-get install initramfs-tools=0.99ubuntu13.4
initramfs-tools
пакета или в том, как dpkg управляет ими. Я думаю, что ваша система не должна входить в это состояние, когда новоеinitramfs-tools-bin
помечается как установленное, а староеinitramfs-tools
все еще там. Помогаетdpkg --configure -a --force-depends
?sudo apt-get check
иdpkg --audit
?Ответы:
Ваша система находится в состоянии, которое, я думаю, не должно происходить: у вас есть новая версия зависимости
initramfs-tools-bin
в установленном состоянии, но старая версия зависимостиinitramfs-tools
в наполовину установленном состоянии. Я не уверен, что проблема в том, что APT позволяет системе войти в состояние, в котором она не может восстановиться, dpkg позволяет системе войти в состояние, в котором она не может восстановиться, сопровождающий пакета использовал комбинацию зависимостей. что не поддерживается, или мое ограниченное понимание не охватывает этот случай.Попробуйте использовать
dpkg
напрямую:Если это все еще жалуется на зависимости, попробуйте
Если это работает, у вас есть база данных dpkg в согласованном состоянии. Вам нужно получить APT в хорошем состоянии (не требующем ломаных зависимостей):
После этого вы можете возобновить нормальное обновление.
Если вы
/boot
удалили старые ядра, которые были в пакетах, вы больше не сможете удалять пакеты ядра. Вам придется воссоздать файлы. Вы можете создать пустые файлы (touch `cat /var/lib/dpkg/info/linux-image-1.2.3-foo`
), если вы удаляетеlinux-image-1.2.3-foo
пакет и вручную удалили некоторые из его файлов.источник
Это означает, что вам нужно удалить некоторые ядра. Старые, неиспользуемые ядра - лучшая альтернатива.
НЕТ!
Вы никогда не должны ничего удалять вручную. Когда-либо. Только вещи из
/home
и/tmp
которые могут быть легко извлекаемый меня может прикосновение руки, в противном случае использовать инструменты. В этом смысл DPKG / APT к вашим услугам. Если вам нужно что-то удалить, используйте вместо этого apt / dpkg и оставьте вещи, сделанные вручную, в качестве последней альтернативы. Я предполагаю, что ваша текущая проблема из-за этого.Чтобы решить проблему зависимости, вы можете понизить, а затем обновить:
К этому моменту вы должны были указать dpkg / apt также удалить старые ядра.
источник