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

Почему я получаю предупреждения / ошибки о зависимости при удалении nginx из Ubuntu?

root@ubuntus:~# apt-get remove nginx-light
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package nginx-light is not installed, so not removed
You might want to run `apt-get -f install' to correct these:
The following packages have unmet dependencies:
  nginx-full: Depends: nginx-common (= 1.0.5-1ppa2~lucid) but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Как это решить?

Обновлено:

root@tftc:~# apt-get -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following extra packages will be installed:
  nginx-common
The following NEW packages will be installed:
  nginx-common
0 upgraded, 1 newly installed, 0 to remove and 41 not upgraded.
2 not fully installed or removed.
Need to get 0B/60.6kB of archives.
After this operation, 246kB of additional disk space will be used.
Do you want to continue [Y/n]? Y
(Reading database ... 62634 files and directories currently installed.)
Unpacking nginx-common (from .../nginx-common_1.0.5-1ppa2~lucid_all.deb) ...
dpkg: error processing /var/cache/apt/archives/nginx-common_1.0.5-1ppa2~lucid_all.deb (--unpack):
 trying to overwrite '/etc/ufw/applications.d/nginx', which is also in package nginx 0:1.0.5-1ppa2~lucid
Processing triggers for man-db ...
Processing triggers for ureadahead ...
Processing triggers for ufw ...
Errors were encountered while processing:
 /var/cache/apt/archives/nginx-common_1.0.5-1ppa2~lucid_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Вы сломали свою систему, испортив репозиторий пакетов. Итак, вы должны решить это, выполнив по порядку:

apt-get update
apt-get upgrade
apt-get install nginx-common
apt-get remove nginx-full

на каждом этапе внимательно читайте сообщения и следуйте приведенным инструкциям.

Редактировать: То, что я сказал, по-прежнему верно. Вы действительно испортили настройку. Принудительная установка никогда не является хорошей идеей. Вы попытались установить пакет, не подходящий для вашей системы, а затем принудительно установили еще один пакет с другим номером версии. И я не знаю, какие еще пакеты вы заставляли устанавливать / обновлять / удалять. (2 not fully installed or removed. это плохо.) Так что я бы попробовал

apt-get remove nginx-common nginx-full
apt-get purge nginx-common nginx-full
apt-get -f install

И в следующий раз подумайте дважды, прежде чем устанавливать пакеты, предназначенные для других версий Ubuntu / Debian.

Я просто "воспроизвел" проблему:

  • установите nginx 0.7.x, который является стандартным в Ubuntu 10.04
  • добавить PPA для nginx
  • бегать apt-get update и apt-get upgrade
  • обновление не удалось, попытка удалить / очистить nginx тоже не удалась

Исправление:

  • удалите PPA nginx (я закомментировал строку в /etc/apt/sources.list.d/...)
  • apt-get purge nginx nginx-full nginx-common - теперь это удается
  • снова добавьте PPA (раскомментируйте строку)
  • apt-get update, apt-get install nginx