Сломанный контейнер на самом деле является вашим «рабочим контейнером», в образе мертвого -человека -ходячего :кэши его репозитория устарели, поэтому apt policy
говорит вам нечто, что было правдой в прошлом, но больше нет. Если вы запустите в нем apt update
, вы увидите ту же ситуацию, что и в своем «битом контейнере».
Если вам действительно нужен PHP 7.2, вам нужно установить соответствующий пакет вместо пакета libapache2-mod-php
, который всегда будет устанавливать последнюю стабильную версию PHP. Установка libapache2-mod-php7.2
должна решить вашу проблему.
systemctl status
есть то, что вы ищете:
$ systemctl status openproject-web-1.service
● openproject-web-1.service
Loaded: loaded (/etc/systemd/system/openproject-web-1.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Mon 2020-05-25 08:17:17 CEST; 1 day 4h ago
Process: 969 ExecStart=/usr/bin/openproject run web (code=exited, status=203/EXEC)
Main PID: 969 (code=exited, status=203/EXEC)
Вы видите здесь под Main PID:
у вас есть (code=exited, status=203/EXEC)
. 203 — это код выхода.
Коды выхода зависят от конкретного приложения, но существуют соглашения. 0 — успешный выход, 1 -255 — аварийный выход, 256+ — выход за пределы допустимого диапазона. Стандарт posix имеет несколько особых случаев. Но вы захотите посмотреть документацию приложения для чего-то большего, чем это.
Например,grep(1)
говорит:
...the exit status is 0 if a line is selected, 1 if no lines were selected, and 2 if an error occurred
Как описано ниже в JdePB, systemd может сама устанавливать некоторые коды выхода в диапазоне от 200 до 242.В приведенном выше примере у нас есть код выхода 203
, который означает, что фактическое выполнение не удалось (, возможно, файл не был найден или не был помечен как исполняемый ).