TL; DR Прокрутите вниз
. Я сам столкнулся с этой проблемой.
Чтобы отладить ее еще немного, я установил следующую переменную среды:
export DEBCONF_DEBUG=developer
Таким образом, мы можем видеть, что делает debconf.
Теперь мы запускаем
dpkg --configure --pending
И мы можем видеть следующее:
Setting up nginx-common (1.10.1-3+xenial1) ...
debconf (developer): frontend started
debconf (developer): frontend running, package name is nginx-common
debconf (developer): starting /var/lib/dpkg/info/nginx-common.config configure 1.10.1-3+xenial0
dpkg: error processing package nginx-common (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of libnginx-mod-http-image-filter:
libnginx-mod-http-image-filter depends on nginx-common (= 1.10.1-3+xenial1); however:
Package nginx-common is not configured yet.
Теперь мы можем отредактировать скрипт /var/lib/dpkg/info/nginx-common.config и изменить
[d11 ] #!/bin/shс
#!/bin/sh -x, чтобы включить также отладку.
Запуск dpkg --configure --pending снова покажет:
Setting up nginx-common (1.10.1-3+xenial1) ...
debconf (developer): frontend started
debconf (developer): frontend running, package name is nginx-common
debconf (developer): starting /var/lib/dpkg/info/nginx-common.config configure 1.10.1-3+xenial0
+ set -e
+ . /usr/share/debconf/confmodule
+ [ ! 1 ]
+ [ -z ]
+ exec
+ [ ]
+ exec
+ DEBCONF_REDIR=1
+ export DEBCONF_REDIR
+ logdir=/var/log/nginx
+ log_symlinks_check 1.10.1-3+xenial0
+ [ -z 1.10.1-3+xenial0 ]
+ dpkg --compare-versions 1.10.1-3+xenial0 lt-nl 1.10.1-0ubuntu1.1
+ return
dpkg: error processing package nginx-common (--configure):
И теперь мы видим нашу проблемную строку в скрипте
dpkg --compare-versions 1.10.1-3+xenial0 lt-nl 1.10.1-0ubuntu1.1
возвращает код выхода 1, как и следовало ожидать - он выполняет сравнение версий и возвращает 0 или 1 в зависимости от результата.
Я не буду комментировать, как правильно его исправить, так как это ошибка, которая отслеживается на # 1637058 (для Ubuntu) и # 1637200 (для PPA) в LP. [ ! d18]
TL; DR :
Измените /var/lib/dpkg/info/nginx-common.config
и добавьте return в первую строку log_symlinks_check марихуана
например:
log_symlinks_check() {
return <---- here
# Skip new installations
[ -z "$1" ] && return
Это позволит продолжить процесс обновления.
EDIT Как отметил @Thomas Ward, это пропустит шаг установки (исправление небезопасных символических ссылок - если есть - in / var / log / nginx)