
仕事でたくさんの PC を用意しなければなりません。sudo apt-get install
ターミナルにたくさんのコマンドを詰め込まなければなりませんが、これはかなり面倒です。おそらくそれらすべてを sh スクリプトにまとめることはできるでしょう (多分)。しかし、コマンドの中には、コマンドsudo add-apt-repository
経由で新しいリポジトリ ( ) を追加したり、新しいキー (??) を追加したりするものgpg
があり、ユーザーは ENTER キーを押す必要があります。
すべてに「はい」と言う方法はありますか? おそらく、apt-get コマンドと gpg コマンドにいくつかのオプションを追加する必要がありますか?
答え1
--assume-yes
フラグと--force-yes
フラグを追加すると、すべてに自動的に「はい」と答えることができます。
sudo apt-get --assume-yes --force-yes install <packagename(s)>
これらの変更を永続的にするには、/etc/apt/apt.conf
次の行を編集して追加します。
APT::Get::Assume-Yes "true";
APT::Get::force-yes "true";
これは、apt-get
言う -
-y, --yes, --assume-yes
Automatic yes to prompts; assume "yes" as answer to all prompts and
run non-interactively. If an undesirable situation, such as
changing a held package, trying to install a unauthenticated
package or removing an essential package occurs then apt-get will
abort. Configuration Item: APT::Get::Assume-Yes.
--force-yes
Force yes; this is a dangerous option that will cause apt to
continue without prompting if it is doing something potentially
harmful. It should not be used except in very special situations.
Using force-yes can potentially destroy your system! Configuration
Item: APT::Get::force-yes.
答え2
事前設定されたシステムのカスタム インストールを除き、各システムでインストール スクリプトを実行することになるでしょう。
Enter キーを押す必要があるコマンドは何ですか?add-apt-repository
のヘルプではその-y
オプションが宣伝されています:
$ sudo add-apt-repository --help
Usage: add-apt-repository [options] repository
Options:
-h, --help show this help message and exit
-y, --yes force yes on all confirmation questions
以下のヘルプ リンクには、PPA を追加するには「公開キーが必要で、利用可能な場合は、自動的にダウンロードされ、登録されます」と記載されています。また、、ubuntu-keyring
などubuntu-extras-keyring
のパッケージlinuxmint-keyring
には、さまざまなリポジトリのキーが含まれています。また、man gpg
使用できない場合は、キーを自動的にインストールする方法が記載されているはずです。
また、/ を使って直接ファイルを編集することもできますしsources.list
、システムが同一の場合は「完成した」ファイルをコピーするだけです。 このUbuntuヘルプページには、sed
awk
コマンドラインからソフトウェア リポジトリを管理する方法。
また、多数のシステムを準備している場合は、すべてのシステムを更新してからダウンロードするのではなく、.deb パッケージを 1 回だけダウンロードして各マシンにインストールすることになると思いますか? すべての .deb が 1 つのフォルダーにある場合は、次のコマンドですべてをインストールできます。
sudo dpkg -iR [deb-directory]
参考までに、インストールが完了する前に を待つ奇妙なパッケージを以前見たことがありますenterが、どうやらそれは独自の構成スクリプトの中にあり、 でさえapt-get
動作--force-yes
しませんでした。そのようなタイプのパッケージはありませんか?
あるいは、単に大量のキー入力を強制的に行うtelnet (他の方法でも動作するはずです) ターミナルでは、次のような bash スクリプトを使用できます。
{
echo "open 192.168.55.55"
sleep 0.5
echo "$login"
sleep 0.5
echo "$password"
sleep 0.5
echo "command1"
sleep 2
echo " "
sleep 5
echo "exit"
} | telnet
「入力」間の遅延に異なるスリープ時間を使用したり、スペースをエコーしたり" "
、単にエコーするだけでも、改行の「リターン」を送信する必要があります。