いくつかのインストールを含む新しい仮想マシンを設定するためのスクリプトを作成しようとしていますが、インストールコマンド(apt-get --yes install <package>
)をスクリプトに入れると常に失敗します。
E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
sudo ./setup.sh
スクリプトはルート()として実行されます。
apt
プロセスを確認すると、次のような結果が得られます。
4 S root 2227 1 0 80 0 - 1126 - 07:33 ? 00:00:00 /bin/sh /usr/lib/apt/apt.systemd.daily update
0 S root 2231 2227 0 80 0 - 1126 - 07:33 ? 00:00:00 /bin/sh /usr/lib/apt/apt.systemd.daily lock_is_held update
問題は、これがスクリプトでaptsを実行したときにのみ発生することです。同じコマンドを手動で実行すると、この問題は発生しません。シェルスクリプトはapt installを別々に実行しますか?
apt
とにかく、インストーラをロックせずyum
にシェルスクリプトでインストーラを実行する最良の方法は何ですか?
ベストアンサー1
sudo apt-get install <package> -y
スクリプトに書き込む必要があります。スクリプトの実行./setup.sh
しかし、もちろん、ユーザーはsudoer(sudoアクセス)でなければなりません。