はじめに
Ubuntuでは、 apt
を実行しようとするとエラーが発生する場合があります コマンド:
ロックを取得できませんでした/var/ lib / dpkg / lock –オープン(11:リソースが一時的に利用できません)
E:管理ディレクトリ(/ var / lib / dpkg /)をロックできません。別のプロセスがそれを使用していますか?
このメッセージは、Debianパッケージマネージャーサービスであるdpkgが利用できないことを知らせます。
このガイドのオプションを使用して、Ubuntuの「ロックを取得できませんでした…」エラーを解決します。

前提条件
- ターミナルウィンドウ/コマンドラインへのアクセス
- sudoのユーザーアカウント またはルート 特権
「ロックできませんでした」Ubuntuエラーを修正するための5つのオプション
デフォルトでは、Ubuntuの起動時に更新サービスが起動します。自動アップデーターはdpkgを使用します アップデートを確認してインストールします。
dpkg 2つのプロセスがコンテンツを同時に更新しないように、サービスはそれ自体をロックします。システムの潜在的な破損を回避するために、サービスはロックされています。ただし、これは、たとえば、ユーザーが単純な apt
を実行できないことも意味します。 コマンド。
1:待機または再起動
システムに最大10分かかります エラーが表示されたら、ソフトウェアのインストールを再試行してください。
何もインストールされていないことが確実な場合は、マシンを再起動して再試行できます。
自動更新の設定を調整するには:
1.アクティビティをクリックします>検索 。
2.「更新」と入力します 。
3.ソフトウェアとアップデートのアイコンをクリックします 。
4.チェックボックスとドロップダウンメニューを使用して、希望する更新スケジュールを選択します。

2:実行中のプロセスを調べます
1.システムの待機と再起動をすでに試みてもエラーが発生する場合は、次のコマンドを使用して、実行中のインストールサービスを確認します。
ps aux | grep -i apt
2. aptを使用しているアプリケーションがある場合 、リストに表示されます。次のようなエントリを探します:
/usr/lib/apt/apt.systemd.daily update

3.daily update
メッセージは、システムが通常の更新を実行していることを意味します。このプロセスが完了するまで待つ必要がありますが、他のアクションは必要ありません。
別のaptがあるかもしれません 実行中のプロセス:
root 2810 0.0 0.0 72948 4312 pts/0 S+ 15:03 0:00 sudo apt-get remove logstash
最も重要な列は、 PIDをリストする2番目の列です。 (プロセスID)、およびaptを使用しているサービスを表示する最後の列。
4.または、 dpkgを使用することもできます。 まだ実行中のサービス。それを見つけるには、次のコマンドを使用します:
ps aux | grep -i dpkg
dpkgの出力はaptの出力と似ています。

3:スタックしたAptサービスに対処する
1.謎がある場合apt またはdpkg サービスを実行し、終了して、エラーが解決するかどうかを確認します。次のコマンドを使用します:
sudo kill 8808
2. 8808
を置き換えます 手順2の実際のプロセスID(PID)を使用します。完了して、新しいコマンドプロンプト行に戻る必要があります。そうでない場合は、 -9
を追加して、プロセスを強制的に停止します。 オプション:
sudo kill -9 8808
これで問題は解決したはずです。
4:ロックファイルを削除する
Ubuntuのエラーメッセージは次のように表示される場合があります:
/var/lib/dpkg/lock
/var/lib/dpkg/lock-frontend
/var/lib/apt/lists/lock
/var/cache/apt/archives/lock
これらはロックファイルです 、 aptの2つのインスタンスを防ぐために作成されます またはdpkg 同じファイルを同時に使用することから。これは、インストールが中断された場合、または完了しなかった場合に発生する可能性があります。自己責任でロックファイルを削除してください。
ロックファイルを削除するには、 rm
を使用します コマンド:
sudo rm /var/lib/dpkg/lock
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
これらのファイルを削除すると、エラーが修正されます。
5:dpkgを再構成する
1. --configure
を実行します ロックファイルを削除したばかりの場合はコマンド。また、このコマンドは、次のエラーが発生した場合に役立ちます。
「dpkgが中断されました。問題を修正するには「sudodpkg–configure-a」を手動で実行する必要があります。」
2.上記のようにコマンドを入力します:
sudo dpkg --configure -a
出力は新しい行を返し、コマンドは問題を解決するはずです。
ロックを取得できなかった修正/var/ lib / dpkg/lock-frontendエラー
このエラーを修正する手順は、上記の方法と同様のパターンに従います。完全なエラーは次のとおりです:
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
1.ロックファイルをすぐに削除しないでください 。その前に、ファイルを使用している可能性のあるすべてのプロセスを見つけて強制終了します。
sudo lsof /var/lib/dpkg/lock-frontend
2.出力は次のような結果を返します:
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
Output information may be incomplete.
lsof: WARNING: can't stat() fuse file system /run/user/1000/doc
Output information may be incomplete.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
unattende 1127 root 2oW REG 7,2 0 165231 /var/lib/dpkg/lock-frontent
3.unattended
が表示された場合 コマンド列の下で、システムはセキュリティアップデートをインストールしています。プロセスが完了するのを待ちます。
4.それ以外の場合は、すべてのプロセスIDをメモし、forceオプションを使用してそれらを強制終了します。
sudo kill -9 process_id
5.これを行ったら、ロックフロントエンドを削除してみてください。 ファイル。
sudo rm /var/lib/dpkg/lock-frontend
これでエラーが修正されます。
6.ロックファイルを削除した後に試すことができる最後のことは、5番目のセクションで示したようにdpkgを再構成することです。
sudo dpkg --configure -a
これらの手順でエラーが修正されたかどうかをテストするには、updateコマンドを実行します。
sudo apt update
プロセスが正常に完了すると、「E:ロックを取得できませんでした/ var / lib / dpkg/lock」エラーが修正されたことを示しています。