私はDebianタグ付きプロファイルの1つを含むパッケージであるリポジトリのパッケージを自動インストールするためのスクリプトを作成しています。新しいプロファイルを許可するようにapt-get
/に渡すオプションはありますか?aptitude
デフォルトでは、次のような apt
/が必要です。aptitude
dpkg --force-confnew
apt-get
Y を使用してインストールする場合は、次の質問に対する回答が必要です。
構成ファイル "/opt/application/conf/XXX.conf"
==> File on system created by you or by a script.
==> File also in package provided by package maintainer.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer's version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : background this process to examine the
The default action is to keep your current version.
追加情報:
sudo
また、コマンドを実行するためにパイプにパスワードを渡しています。
echo "mysudopass"|sudo -S apt-get mypackage
インストールが構成対話型ステップにあるときにインストールエラーを表示します。
私はUbuntu 10.04
aptバージョンを使用しています:apt 0.7.25.3
利用できない理由dpkg
: この Debian はリポジトリからインストールされ、マイ コンピュータにローカル Debian がありません。
答え1
次のdpkg
パラメータを渡すことができます。apt-get
apt-get -y -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confnew install pkgname1 pkgname2 ...
古い設定ファイルがまだ存在する場合は--force-confdef
上書きされません。だからおそらくあなたはそれを使用しないでしょう。私は他の人のためにそれを文書化しています。
sudo
ユーザーの認証オプションを拒否したり、特定のアイテムNOPASSWD
にラベルを追加したりすると、パスワードは要求されません。例えば
someuser ALL = NOPASSWD: /usr/bin/apt-get
答え2
次のことを試すことができます。
export DEBIAN_FRONTEND=noninteractive
apt-get -q -y install whatever-2
ただし、これは空の基本パスワードと同じ意味を持つことに注意してください。
バラより須藤(5)sudo
パスワードのない通話を許可する方法について
答え3
他の答えに加えて、環境を設定する必要があるかもしれません。UCF_FORCE_CONFFNEW=1。
たとえば、debianstretchのopensshはdebconfの代わりにucfを使用してopenssh-server/openssh-7.4p1/debian/openssh-server.postinst
設定ファイルを要求します。 (これはagainstをopenssh-server.postinst
使って見ることができます。dget
http://security.debian.org/debian-security/pool/updates/main/o/openssh/openssh_7.4p1-10+deb9u4.dsc)
無料ユーザーになることに加えて、このページのすべてのヒントを使用する必要があります。debconfプリセット。
export DEBIAN_FRONTEND=noninteractive
しかし、私たちは何か(重要かもしれません)を見逃していないかどうか疑問に思いました。私たちのユースケースは、オペレータが作業を始めることです。アップグレードは非対話型に進みますが、問題が発生してダイアログボックスが表示されたら、オペレータが参加します。あなたの状況は異なる場合があります。
しかし、これはexport DEBIAN_FRONTEND=noninteractive
あなたのことわざの大きなハンマーです。
注:設定-o Dpkg::Options::=--force-confnew
および/またはUCF_FORCE_CONFFNEW=1
手段みんなインストールされたパッケージの構成ファイルは、アップストリーム構成ファイルに戻ります。たとえば、の場合、openssh-server
設定は/etc/ssh/sshd_config
工場設定にリセットされます。たとえばPermitRootLogin=yes
削除されます。でも当然使わないから大丈夫でしょう! ;-)
答え4
または何か必須検査推奨事項これらの難しいプログラムオプションを追加する必要がないように、APT設定に追加することをお勧めします。また、これらの設定は無人アップグレードに役立ちます。
/etc/apt/apt.conf.d/71debconf
次のコンテンツを含むファイルを作成します。
Dpkg::Options {
"--force-confnew";
};
注(Geoff):この変更はグローバルな変更です。無人アップグレードを実行しようとしていますが、手動で設定した他のパッケージがシステムにある場合、これは適切なソリューションではありません。