При установке некоторых пакетов (например, RabbitMQ) на компьютеры Debian / Ubuntu на post-install
шаге по умолчанию запускается служба.
Хотя это прекрасно в большинстве случаев, в некоторых случаях (например, когда у вас уже есть служба, работающая на нужном порту), это приводит к apt-get
сбою, который приводит к сбою полностью.
Есть ли способ сказать, apt-get
чтобы пропустить все эти post-install
шаги, чтобы он все еще мог правильно установить?
Примечание. Речь идет не о вопросах во время установки, даже в интерактивных сеансах эти установки завершаются неудачно, поскольку post-install
шаг завершается неудачей. Ошибка не обрабатывается правильно
Ответы:
Как попросить apt-get пропустить любые интерактивные шаги после установки?
Изменить : да, это было для пропуска (ну, автоматизации) вопросов после установки , правда - извините.
Нет способа пропустить постинсталляционные скрипты . Официальная политика Debian заключается в том, чтобы отредактировать скрипт, чтобы он возвращал нетерминальную ошибку, или исправил скрипт. См. Http://www.debian-administration.org/articles/251
Похоже, вы автоматизируете это для многих серверов, и в этом случае вы, вероятно, захотите создать свою собственную версию пакета и развернуть ее. Другой вариант - отправить по электронной почте сопровождающему пакета и обсудить, должен ли сбой при запуске быть терминальной ошибкой после установки (я не верю, что это происходит для других пакетов, таких как, например, apache или lighttpd, но я могу ошибаться .)
источник
post-install
шаги, которые терпят неудачу, если что-то подобноеservice rabbitmq-server start
терпит неудачу.sudo DEBIAN_FRONTEND=noninteractive apt-get -y [packagename]
Вы можете захотеть сделать что-то с policy-rc.d . Смотрите справочную страницу для invoke-rc.d. Вы можете установить политику, чтобы службы не запускались автоматически.
источник
это должно работать
источник