Я получил это сообщение от salt-ssh
ID: apache
Function: pkg.installed
Result: False
Comment: Problem encountered installing package(s). Additional info follows:
errors:
- Running scope as unit: run-r62a347a4ff4d4aa398bd0b516ba4fb59.scope
E: Sub-process /usr/bin/dpkg returned an error code (1)
Started: 15:47:16.154590
Duration: 9726.732 ms
Changes:
Как увидеть корень проблемы?
Я уже использовал --log-level=all
, но по-прежнему не вижу значимого сообщения об ошибке.
Я так не думаю dpkg
молча существует с кодом ошибки без вывода какого-либо сообщения на stdout / stderr.
Я предполагаю, что солевой стек где-то сбрасывает важное сообщение об ошибке.
Я собрал эту обертку:
https://github.com/guettli/wrap_and_log_calls
Теперь я бегу salt-ssh
снова и искал ненулевые строки "ret:".
Я нашел:
Parent: python2.7 /var/tmp/.root_dcdf8c_salt/salt-call --retcode-passthrough --local --metadata --out json -l quiet -c /var/tmp/.root_dcdf8c_salt -- state.pkg /var/tmp/.root_dcdf8c_salt/salt
_state.tgz test=None pkg_sum=7683cfdcaf0ef6b6c907889fab738da83b6f897fe02387251db02a25f541e4ca hash_type=sha256
Parent: /usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold -o DPkg::Options::=--force-confdef install openssl-foo-bar-user.cert
Parent: python /usr/bin/dpkg --force-confold --force-confdef --status-fd 70 --no-triggers --unpack --auto-deconfigure /var/cache/apt/archives/openssl-foo-bar-user.cert_1-2_all.deb
stdout:
(Reading database ... 365773 files and directories currently installed.)
Preparing to unpack .../openssl-foo-bar-user.cert_1-2_all.deb ...
Unpacking openssl-foo-bar-user.cert (1-2) ...
stderr:
dpkg: error processing archive /var/cache/apt/archives/openssl-foo-bar-user.cert_1-2_all.deb (--unpack):
trying to overwrite '/etc/ssl/server/foo-bar_user.pem', which is also in package server-certificates-user 2-2.1
dpkg-deb (subprocess): decompressing archive member: lzma write error: Broken pipe
dpkg-deb: error: <decompress> subprocess returned error exit status 2
Errors were encountered while processing:
/var/cache/apt/archives/openssl-foo-bar-user.cert_1-2_all.deb
Теперь я знаю, что проблема в пользовательском (не Pulic) dpkg openssl-foo-bar-user.cert
Было бы очень любезно, если бы в следующий раз солонка сразу же рассказала мне настоящую причину. Это несложно, только stdout / stderr не прячьте :-)