シェルスクリプトでオペレーティングシステムを更新しようとするとエラーが発生します。

シェルスクリプトでオペレーティングシステムを更新しようとするとエラーが発生します。

私は現在新しいRaspbianイメージをインポートし、通常必要なすべてのアップデート、パッケージなどをインストールする一連のコマンドを自動的に実行するシェルスクリプトを作成しようとしています。

スクリプトを開始するには、次のコマンドを実行します。

#!/bin/bash

echo -n "Updating OS..."

OUTPUT=$(sudo apt-get update && sudo apt-get -y upgrade)
    if [ $? -eq 0 ]
    then
        echo "Done"
    else
        echo "**********ERROR**********"
        echo "$OUTPUT"
        exit 3
    fi

実行すると、次の結果が表示されます。

Updating OS...E: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 2395 (apt-get)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
**********ERROR**********
Hit:1 http://raspbian.raspberrypi.org/raspbian bullseye InRelease
Hit:2 http://archive.raspberrypi.org/debian bullseye InRelease
Reading package lists...

2つのコマンドを順番に実行してみましたが、出力は関係なく同じです...シェルスクリプトの次のコマンドセットはdpkgを使用していますが、更新までは実行され続けないようです。完全に完了しました。

どんな助けでも大変感謝します。私はシェルスクリプトに初めて触れたので、これが非常に簡単な場合はお詫び申し上げます。

ベストアンサー1

バックグラウンドプロセスがスクリプトに必要なリソースだけを使用しているようで、スクリプト自体の問題ではないようです。

おすすめ記事