Недавно я установил newrelic на свой сервер Ubuntu, и после этого я автоматически начал получать ошибки в журнале с невозможностью загрузить расширение newrelic.
Я пробовал обновить / удалить newrelic, но в обоих случаях получаю сообщение об ошибке:
ubuntu@ip:/etc/php$ sudo apt-get upgrade
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:
nginx : Depends: nginx-core (< 1.10.0-0ubuntu0.16.04.4.1~) but 1.10.3-0ubuntu0.16.04.1 is installed or
nginx-full (< 1.10.0-0ubuntu0.16.04.4.1~) but it is not installed or
nginx-light (< 1.10.0-0ubuntu0.16.04.4.1~) but it is not installed or
nginx-extras (< 1.10.0-0ubuntu0.16.04.4.1~) but it is not installed
E: Unmet dependencies. Try using -f.
Я пробовал бежать sudo apt-get -f install
но это приводит к выводу:
ubuntu@ip:/etc/php$ sudo apt-get -f install
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-4.4.0-78 linux-headers-4.4.0-78-generic linux-headers-4.4.0-79 linux-headers-4.4.0-79-generic
linux-image-4.4.0-78-generic linux-image-4.4.0-79-generic nginx-common nginx-core
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
nginx
The following packages will be upgraded:
nginx
1 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.
7 not fully installed or removed.
Need to get 787 kB of archives.
After this operation, 2,777 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
WARNING: The following packages cannot be authenticated!
nginx
Install these packages without verification? [y/N] y
Get:1 http://nginx.org/packages/ubuntu xenial/nginx amd64 nginx amd64 1.12.1-1~xenial [787 kB]
Fetched 787 kB in 2s (275 kB/s)
(Reading database ... 138963 files and directories currently installed.)
Preparing to unpack .../nginx_1.12.1-1~xenial_amd64.deb ...
Unpacking nginx (1.12.1-1~xenial) over (1.10.0-0ubuntu0.16.04.4) ...
dpkg: error processing archive /var/cache/apt/archives/nginx_1.12.1-1~xenial_amd64.deb (--unpack):
trying to overwrite '/etc/nginx/uwsgi_params', which is also in package nginx-common 1.10.3-0ubuntu0.16.04.1
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
/var/cache/apt/archives/nginx_1.12.1-1~xenial_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Я нашел одна статья который предлагает удалить nginx, а затем переустановить. Это рабочий сервер с непрерывным трафиком, поэтому я хочу избежать риска удаления nginx, а затем сбоя. Я изменил конфиги nginx и не знаю обо всех своих изменениях. Какой-нибудь безопасный способ решить эту проблему?
Бегать apt list --upgradable
первый.
Следующий запуск sudo apt-get install <package-name>
начиная с пакета в верхней части списка.
Бегать apt list --upgradable
еще раз, чтобы проверить, все ли пакеты установлены. Если нет, повторите шаги 1 и 2.
После исследования и экспериментов с множеством вещей я не смог найти никакого решения и, наконец, последовал этому https://askubuntu.com/questions/243568/nginx-dependency-problem-trying-to-upgrade
Я сделал следующее:
/etc/nginx
/etc/nginx
с резервной папкой, и он начал работатьНа все это у меня было около 15-20 минут простоя.
Это можно решить, передав принудительную перезапись базовому процессу dpkg. Я использовал эту команду:
sudo apt -o Dpkg::Options::="--force-overwrite" upgrade nginx
Источник: https://askubuntu.com/questions/56761/force-apt-get-to-overwrite-file-installed-by-another-package