С прошлого месяца (или два) я наблюдаю этот вид ошибки при выполнении apt-get upgrade
:
Preparing to unpack .../nginx-common_1.9.3-1ubuntu1.2_all.deb ...
Unpacking nginx-common (1.9.3-1ubuntu1.2) over (1.9.3-1ubuntu1.1) ...
dpkg: error processing archive /var/cache/apt/archives/nginx-common_1.9.3-1ubuntu1.2_all.deb (--unpack):
trying to overwrite '/etc/logrotate.d/nginx', which is also in package nginx 1.10.1-1~wily
Preparing to unpack .../nginx-core_1.9.3-1ubuntu1.2_amd64.deb ...
Unpacking nginx-core (1.9.3-1ubuntu1.2) over (1.9.3-1ubuntu1.1) ...
dpkg: error processing archive /var/cache/apt/archives/nginx-core_1.9.3-1ubuntu1.2_amd64.deb (--unpack):
trying to overwrite '/usr/sbin/nginx', which is also in package nginx 1.10.1-1~wily
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Хотя целый процесс обновления не перестал работать, мне все еще упомянули эту ошибку в конце процесса обновления:
Errors were encountered while processing:
/var/cache/apt/archives/nginx-common_1.9.3-1ubuntu1.2_all.deb
/var/cache/apt/archives/nginx-core_1.9.3-1ubuntu1.2_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Если я понимаю это правильно, мне установили версию 1.10.1 в настоящее время, в то время как склонный пытается установить версию 1.9.3 по нему... Т.е. это пробует к donwgrade его.Я прав? Действительно ли возможно, что более новая версия прибыла из некоторого PPA, в то время как более старый прибывает из некоторого официального списка?
Мне установили Ubuntu 15.10.
Как я могу предотвратить это снижение для случая?
Править: Здесь вывод от apt-cache policy nginx
nginx:
Installed: 1.10.1-1~wily
Candidate: 1.10.1-1~wily
Version table:
*** 1.10.1-1~wily 0
500 http://nginx.org/packages/ubuntu/ wily/nginx amd64 Packages
100 /var/lib/dpkg/status
1.10.0-1~wily 0
500 http://nginx.org/packages/ubuntu/ wily/nginx amd64 Packages
1.9.3-1ubuntu1.2 0
500 http://de.archive.ubuntu.com/ubuntu/ wily-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu/ wily-security/main amd64 Packages
1.9.3-1ubuntu1 0
500 http://de.archive.ubuntu.com/ubuntu/ wily/main amd64 Packages
1.8.1-1~wily 0
500 http://nginx.org/packages/ubuntu/ wily/nginx amd64 Packages
1.8.0-1~wily 0
500 http://nginx.org/packages/ubuntu/ wily/nginx amd64 Packages
Сначала я проверил бы для наблюдения, какой пакет APT настроен для установки (из доступных вариантов), можно сделать это с:
apt-cache policy nginx
, например,
% apt-cache policy nginx
nginx:
Installed: 1.10.0-0ubuntu0.16.04.2
Candidate: 1.10.0-0ubuntu0.16.04.2
Version table:
*** 1.10.0-0ubuntu0.16.04.2 500
500 http://nz.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages
500 http://nz.archive.ubuntu.com/ubuntu xenial-updates/main i386 Packages
500 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages
500 http://security.ubuntu.com/ubuntu xenial-security/main i386 Packages
100 /var/lib/dpkg/status
1.9.15-0ubuntu1 500
500 http://nz.archive.ubuntu.com/ubuntu xenial/main amd64 Packages
500 http://nz.archive.ubuntu.com/ubuntu xenial/main i386 Packages
Это говорит мне, который, если бы у меня уже не было nginx установленным, склонным, попытался бы установить
1.10.0-0ubuntu0.16.04.2
версия nginx.
Затем для установки детали - не кандидата - пакет можно указать его как опцию к apt-get
, например, от man apt
(я имею усеченный вывод, чтобы помочь понять)
, склонное РЕЗЮМЕ
- добирается... pkg [{=pkg_version_number]...
, например,
apt-get install nginx=1.9.15-0ubuntu1
установил бы неновую версию nginx
пакет, если бы это было необходимо. Обратите внимание, что Вам, вероятно, придется сделать часть Вашего собственного управления зависимостью в этом случае, но не всегда.