Назад | Перейти на главную страницу

Как мне попросить apt-get пропустить все этапы настройки после установки?

При установке некоторых пакетов (например, RabbitMQ) на машины Debian / Ubuntu post-install step по умолчанию запускает службу.

Хотя в большинстве случаев это замечательно, в некоторых случаях (например, когда у вас уже есть служба, работающая на необходимом порту) это не удается, что делает apt-get полностью потерпеть неудачу.

Есть ли способ сказать apt-get пропустить все эти post-install шаги, чтобы он все еще мог правильно установить?

Заметка Это не вопрос вопросов во время установки, даже в интерактивных сеансах эти установки завершаются неудачно, потому что post-install сбой шага сбой обрабатывается неправильно

Как мне попросить apt-get пропустить какие-либо интерактивные шаги настройки после установки?

export DEBIAN_FRONTEND=noninteractive
apt-get install -y [packagename]

редактировать: да, это для пропуска (ну, автоматизации) постустановки вопросы, правда - извините.

Нет возможности пропустить пост-установку скрипты. Официальная политика Debian заключается в том, чтобы отредактировать сценарий, чтобы он возвращал нетерминальную ошибку, или исправить сценарий. Видеть http://www.debian-administration.org/articles/251

Похоже, вы автоматизируете это для многих серверов, и в этом случае вы, вероятно, захотите создать свою собственную версию пакета и развернуть ее. Другой вариант - отправить электронное письмо сопровождающему пакета и обсудить, должен ли сбой при запуске быть ошибкой терминала для пост-установки (я не верю, что это относится, например, к другим пакетам, таким как apache или lighttpd, но я могу ошибаться .)

Возможно, вы захотите что-нибудь сделать с policy-rc.d. См. Справочную страницу по invoke-rc.d. Вы можете установить политику, чтобы службы не запускались автоматически.

это должно работать

echo exit 101 > /usr/sbin/policy-rc.d
chmod +x /usr/sbin/policy-rc.d
apt-get install <packagename>
rm -f /usr/sbin/policy-rc.d