web-dev-qa-db-ja.com

インストール後の構成手順をすべてスキップするようにapt-getに要求するにはどうすればよいですか?

Debian/Ubuntuマシンにいくつかのパッケージ(RabbitMQなど)をインストールする場合、post-installステップはデフォルトでサービスを開始します。

これはほとんどの場合に優れていますが、場合によっては(たとえば、必要なポートでサービスがすでに実行されている場合など)、これは失敗し、apt-getが完全に失敗します。

apt-getpost-installの手順をすべてスキップして、正しくインストールできるようにする方法はありますか?

インストール中の質問についてではありません。インタラクティブセッションでも、post-installステップが失敗するため、これらのインストールは失敗します。失敗は正しく処理されません。

11
Wolph

インタラクティブなインストール後の構成手順をスキップするようにapt-getに要求するにはどうすればよいですか?

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

編集:はい、それはインストール後のスキップ(まあ、自動化)のためのものでした質問、true-ごめんなさい。

インストール後のscriptsをスキップする方法はありません。公式のDebianポリシーは、スクリプトを編集して非ターミナルエラーを返すか、スクリプトを修正することです。 http://www.debian-administration.org/articles/251 を参照してください

多くのサーバーでこれを自動化しているように思えますが、その場合は、独自のバージョンのパッケージを作成して展開することになるでしょう。別のオプションは、パッケージのメンテナーにメールを送信して、インストールの失敗が開始エラーであるかどうかを話し合うことです(たとえば、Apacheやlighttpdなどの他のパッケージのエラーではないようですが、間違っている可能性があります) 。)

8
Brett Dikeman

あなたがしたいのはpolicy-rc.dのようなものです。 invoke-rc.dのマニュアルページを参照してください。サービスが自動的に開始されないようにポリシーを設定できます。

4
Zoredache

これはうまくいくはずです

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
2
Diego Roccia