Моя первая проблема была, когда я попытался apt-get update или apt-get upgrade. При обновлении я получаю следующую ошибку:
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
linux-image-server : Depends: linux-image-3.2.0-27-generic but it is not installed
E: Unmet dependencies. Try using -f.
Я попробовал запустить apt-get install -f, и это был результат (после ответа «да»)
(Reading database ... 186183 files and directories currently installed.)
Unpacking linux-image-3.2.0-27-generic (from .../linux-image-3.2.0-27-generic_3.2.0-27.43_amd64.deb) ...
Done.
dpkg: error processing /var/cache/apt/archives/linux-image-3.2.0-27-generic_3.2.0-27.43_amd64.deb (--unpack):
failed in write on buffer copy for backend dpkg-deb during `./boot/System.map-3.2.0-27-generic': 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.2.0-27-generic /boot/vmlinuz-3.2.0-27-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.2.0-27-generic /boot/vmlinuz-3.2.0-27-generic
Errors were encountered while processing:
/var/cache/apt/archives/linux-image-3.2.0-27-generic_3.2.0-27.43_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
I apt-get autoremove, и он дает мне ту же ошибку, что и apt-get upgrade.
Когда я запускаю df, я получаю это для /boot:
/dev/sda1 233191 230297 0 100% /boot
So , Я читал в другом месте, что я должен попытаться очистить старые ядра. Я проверил, какие ядра у меня были с:
$ dpkg -l linux-image-\* | grep ^ii
ii linux-image-2.6.38-13-server 2.6.38-13.52 Linux kernel image for version 2.6.38 on x86_64
ii linux-image-3.0.0-13-server 3.0.0-13.22 Linux kernel image for version 3.0.0 on x86_64
ii linux-image-3.0.0-14-server 3.0.0-14.23 Linux kernel image for version 3.0.0 on x86_64
ii linux-image-3.0.0-15-server 3.0.0-15.26 Linux kernel image for version 3.0.0 on x86_64
ii linux-image-3.0.0-16-server 3.0.0-16.29 Linux kernel image for version 3.0.0 on x86_64
ii linux-image-3.0.0-17-server 3.0.0-17.30 Linux kernel image for version 3.0.0 on x86_64
ii linux-image-3.2.0-24-generic 3.2.0-24.39 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
ii linux-image-3.2.0-25-generic 3.2.0-25.40 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
ii linux-image-3.2.0-26-generic 3.2.0-26.41 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
Когда я пытаюсь удалить старейшее с помощью этого:
$ sudo apt-get purge linux-image-2.6.38-13-server
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-server : Depends: linux-image-3.2.0-27-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 -f autoremove разрешил мою проблему.
Вы можете использовать dpkg вместо apt-get для удаления старых ядер:
sudo dpkg -r linux-image-3.2.0-29-generic
Я обнаружил, что единственное, что сработало для меня, это использовать Aptitude.
sudo aptitude
Затем, когда он открывается, он обычно скажет что-то о неудовлетворительных зависимостях внизу. Вы можете нажать на букву g, чтобы продолжить предлагаемое удаление. Он перенесет вас на страницу, где будет указано, что произойдет.
Рядом с разбитыми ядрами должен быть минус -. Нажмите g еще раз, и он удалит сломанные ядра. Нажмите q, чтобы выйти. Затем вы сможете использовать sudo apt-get autoremove, чтобы избавиться от старых ядер и освободить место.
Используйте диспетчер пакетов Synaptic. Просто выберите пакет, который хотите удалить, и он попросит вас также удалить пакеты, зависящие от него. По моему опыту, пакеты ядра всегда входят в группы из двух (или более, в зависимости от того, как вы считаете), которые являются взаимозависимыми. Обычно вы можете быстро найти старые, используя «локальный / устаревший» фильтр.
Просто запуск sudo apt-get -f autoremove разрешил мою проблему.
Вы можете использовать dpkg вместо apt-get для удаления старых ядер:
sudo dpkg -r linux-image-3.2.0-29-generic
Я обнаружил, что единственное, что сработало для меня, это использовать Aptitude.
sudo aptitude
Затем, когда он открывается, он обычно скажет что-то о неудовлетворительных зависимостях внизу. Вы можете нажать на букву g, чтобы продолжить предлагаемое удаление. Он перенесет вас на страницу, где будет указано, что произойдет.
Рядом с разбитыми ядрами должен быть минус -. Нажмите g еще раз, и он удалит сломанные ядра. Нажмите q, чтобы выйти. Затем вы сможете использовать sudo apt-get autoremove, чтобы избавиться от старых ядер и освободить место.
Используйте диспетчер пакетов Synaptic. Просто выберите пакет, который хотите удалить, и он попросит вас также удалить пакеты, зависящие от него. По моему опыту, пакеты ядра всегда входят в группы из двух (или более, в зависимости от того, как вы считаете), которые являются взаимозависимыми. Обычно вы можете быстро найти старые, используя «локальный / устаревший» фильтр.