Ubuntuで 'E:lock / var / lib / dpkg / lock'エラーが発生しなかったのを修正

最近、Ubuntuでaptコマンドを使用してアプリケーションをインストールしようとしたところ、次のエラーが発生しました。

E:lock / var / lib / dpkg / lock - openを取得できませんでした - (11:一時的にリソースを利用できません)

E:管理ディレクトリ(/ var / lib / dpkg /)をロックできません。他のプロセスで使用されていますか?

実際には、あなたが見ることができる同様のエラーがあります:

E:lock / var / lib / apt / lists / lock - openを取得できませんでした(11:一時的にリソースを利用できません)

E:ディレクトリ/ var / lib / apt / lists /をロックできません

E:lock / var / lib / dpkg / lock - openを取得できませんでした - (11:一時的にリソースを利用できません)

E:管理ディレクトリ(/ var / lib / dpkg /)をロックできません。他のプロセスで使用されていますか?

これらのエラーは両方とも、他の一般的なUbuntuエラーと非常によく似ています。ディレクトリ/ var / cache / apt / archives /をロックできません。興味深いことに、これらすべてのエラーに対する修正も同様です。

方法1:修正管理ディレクトリをロックできない(/ var / lib / dpkg /)エラー

このエラーが表示されるのには多くの理由が考えられます。 最初のそして最も明白な理由は他のプロセスがAPTパッケージ管理ツール(言い換えればaptまたはapt-getコマンド)を使っていることかもしれません。 Ubuntu Software CenterまたはSynaptic Package Managerが実行されているかどうかを確認してください。

実行中のプロセスを見つけて強制終了するためにLinuxのコマンドラインを使用することもできます。 それには以下のコマンドを使います。

 ps aux grep -i apt 

これにより、aptまたはapt-getを実行しているプロセスのIDがわかります。 以下の例では、プロセスIDは7343です。 'grep –color = auto'を含む最後の行は無視できます。

あなたはそれを殺すためにこのプロセスIDを使用することができます:

 sudo kill -9 

もう1つの簡単な方法はkillallコマンドを使うことです。 これにより、実行中のプログラムのすべてのインスタンスが強制終了されます。

 sudo killall apt apt-get 

もっと役に立つLinuxチュートリアルは私たちに従ってください:)

Facebookでフォローする Twitterでフォローする YouTubeでフォローする

方法2:さらに修正管理ディレクトリをロックできない(/ var / lib / dpkg /)エラー

通常、これで問題はほとんどの場合解決されます。 しかし、私の場合は少し違っていました。 私は自分のシステムを更新していて、誤って端末を閉じました。 そのため、aptを実行しているプロセスはありませんでしたが、それでもエラーが発生しました。

この場合、根本的な原因はロックファイルです。 ロックファイルは、2つ以上のプロセスが同じデータを使用するのを防ぐために使用されます。 aptまたはapt-commandsが実行されると、いくつかの場所にロックファイルを作成します。 前のaptコマンドが正しく終了されなかった場合、ロックファイルは削除されず、そのためそれらはapt / apt-getコマンドの新しいインスタンスを防ぎます。

この問題を解決するには、ロックファイルを削除するだけです。 しかし、その前に、ロックファイルを使用しているプロセスを停止することをお勧めします。

ロックファイルを保持しているプロセスのプロセスIDを取得するには、lsofコマンドを使用します。 これらのコマンドを1つずつ実行してください。

 lsof / var / lib / dpkg / lock

lsof / var / lib / apt / lists / lock

lsof / var / cache / apt / archives / lock

コマンドが何も返さないか、または1つの数字だけを返す可能性があります。 それらが少なくとも1つの数を返すならば、数を使用して、そしてこのようにプロセスを殺してください。 PIDを上記のコマンドから取得した番号に置き換えます。

 sudo kill -9 PID 

以下のコマンドを使用してロックファイルを安全に削除できます。

 sudo rm / var / lib / apt / lists / lock

sudo rm / var / cache / apt / archives / lock

sudo rm / var / lib / dpkg / lock

その後、パッケージを再設定します

 sudo dpkg --configure -a 

sudo apt updateコマンドを実行すれば、すべてうまくいくはずです。

トラブルシューティング:dpkg:エラー:dpkgフロントエンドが別のプロセスによってロックされています

上記の方法を実行中に「dpkgフロントエンドが別のプロセスによってロックされています」というエラーが表示された場合は、追加の手順を実行する必要があります。

まず、ロックファイルを保持しているプロセスのIDを調べます。

 lsof / var / lib / dpkg / lock-frontend 

上記のコマンドはロックファイルを使用しているプロセスのPIDを表示します。 このPIDを使用してプロセスを強制終了してください。

 sudo kill -9 PID 

これでロックを解除してdpkgを再設定できます。

 sudo rm / var / lib / dpkg / lock-frontend

sudo dpkg --configure -a

このちょっとしたヒントが、「lock / var / lib / dpkg / lockを取得できなかった」エラーを修正するのに役立ったと思います。 ご質問やご提案がありましたら、お気軽にコメントをください。

推奨されます

Ubuntu 14.04をZukimacテーマのMacのように見せる
2019
Ubuntu 18.04および17.10でバッテリーの割合を表示する方法
2019
LinuxにWhatsApp Desktop Clientをインストールする
2019