Не могу запустить apt-инсталляцию из-за неудовлетворенных зависимостей или существует

Я пытаюсь обновить некоторые пакеты, но продолжаю получать сообщение "Неопределенные зависимости".

Что я делаю

sudo apt update // All good here
sudo apt install --only-upgrade certbot

С помощью apt install я получаю следующие сообщения (я перевел сообщения так, что они не будут правильными слово за словом):

It's useful to run "apt-get -f install" to fix the following issues:
The following packages have unmet dependencies:
     certbot : Depends: python3-certbot (= 0.31.0-2~deb10u1+ubuntu16.04.1+certbot+3) but it's not going to be installed
     linux-headers-4.4.0-179-generic : Depends: linux-headers-4.4.0-179 but it's not going to be installed
     linux-image-4.4.0-179-generic : Depends: linux-modules-4.4.0-179-generic but it's not going to be installed

Ядро сейчас:

uname -a
Linux 4.4.0-178-generic #208-Ubuntu SMP Sun Apr 5 23:45:10 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Так что я пытаюсь запустить apt-get -f install

After this operation, 131MB will be occupiede on disk
Continue? Y/n
E: Sub-process /usr/bin/dpkg exited unexpectedly

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

С помощью sudo apt-get autoremove --purge я, как и прежде, получаю предупреждение о неудовлетворенных зависимостях и предлагаю запустить apt-get -f install.

Если я попытаюсь удалить старое ядро с помощью dpkg, то процесс будет убит почти сразу:

sudo dpkg --force-all -P linux-image-4.4.0-71-generic
Reading database 95%
Killed

С помощью sudo dpkg --configure -a я получаю

Так что я застрял и перепробовал почти все

0
задан 15 April 2021 в 11:51

2 ответа

Проблема заключалась не в дисковом пространстве, даже если было неплохо очистить упорядоченные ядра, поскольку они занимали 8 ГБ.

Проблема заключалась в нехватке оперативной памяти. На сервере всего 512 МБ, и из-за этого процесс останавливался.

Я решил это, создав файл подкачки, следуя этому руководству: https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-16-04

После этого все идет гладко.

0
ответ дан 23 April 2021 в 23:22

Ваш DPKG, похоже, страдает от проблемы с базой данных пакетов, вы можете проверить /var/log/dpkg.log, чтобы узнать, есть ли что-нибудь полезное. APT предназначен для управления источниками, содержащими пакеты DPKG. обычно APT - это все, что вам нужно, но здесь вам может потребоваться принудительная переустановка пакетов с помощью dpkg -i --force-all по одному, начиная с зависимостей, которые вы сначала загрузили как файл deb

, "apt update" "получает последнюю информацию о пакете," apt upgrade "загрузит и обновит пакеты, но поскольку вы выполняете команду" apt install --only-upgrade certbot ", он будет пытаться обновить только certbot, которому также нужны пакеты python , но вы просили только обновить certbot.

APT загружает все пакеты в / var / cache / apt /, и вы можете удалить эти пакеты с помощью "apt clean", но у вас, похоже, есть проблемы с apt, это действительно связано с дисковым пространством, вы можете проверить дисковое пространство использование и доступность в / boot и / var / cache / apt / с df

df -h /boot/
df -h /var/cache/apt/

, если apt зависает из-за этого дискового пространства в / boot /, вы можете удалить его прямо с жесткого диска, но будьте очень осторожны, чтобы не удалить последнее ядро ! вы все еще используете его, он загружен в память, поэтому следующая загрузка не удастся!

cd /boot/
ls -la

Итак, если у вас есть два ядра vmlinuz-4.4.0-71-generic vmlinuz-4.4.0-178-generic

, вы можете удалить все, что связано с самой старой версией, например

sudo rm /boot/*-4.4.0-71-generic
1
ответ дан 23 April 2021 в 23:22

Другие вопросы по тегам:

Похожие вопросы: