yum lock / apt lock が原因でインストールできないときの対処方法

  • URLをコピーしました!

Linux でパッケージをインストールしようとした際に、以下のようなエラーが出ることがあります。

Existing lock /var/run/yum.pid: another copy is running as pid 1234.
E: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 5678

これは、yum / apt がロックを取得している状態で発生するエラーです。
同時に複数のパッケージ管理プロセスを走らせないための安全機構ですが、異常終了した場合などに ロックファイルが残りっぱなし になることがあります。

目次

主な原因

  1. 他のパッケージ管理プロセスが実行中
    • 例: yum updateapt upgrade が裏で動いている。
  2. 前回の処理が異常終了し、ロックファイルが残っている
    • yum: /var/run/yum.pid
    • apt/dpkg: /var/lib/dpkg/lock-frontend, /var/lib/dpkg/lock
  3. 未完了の dpkg 設定が残っている
    • apt 系で処理が中断されると、再設定が必要になる。

解決方法

1. 実行中のプロセスを確認する

まずは他の処理が本当に動いていないか確認します。

ps aux | grep -E "yum|apt|dpkg"

もし yumapt のプロセスが動いていれば、それが終了するまで待ちましょう。

2. yum のロック解除

もし yum のプロセスが動いていないのにロックが残っている場合、ロックファイルを削除します。

sudo rm -f /var/run/yum.pid

その後、改めて yum を実行します。

sudo yum install <パッケージ名>

3. apt/dpkg のロック解除

apt の場合はロックファイルを削除します。

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

さらに dpkg の状態を修復します。

sudo dpkg --configure -a

最後にキャッシュを更新します。

sudo apt update

注意点

  • 強制的にロックを削除するのは最終手段 です。
    本当に別のプロセスが動いていないことを確認してから実施してください。
  • プロセスが動作中にロックを削除すると、パッケージの依存関係が壊れる可能性があります。

まとめ

  • yum/apt の「lock」エラーは、他の処理が動いているかロックファイル残存が原因。
  • 実行中プロセスを確認し、なければ ロックファイル削除 + dpkg 再設定 を実施。
  • 強制削除は最後の手段とする。

👉 これで yum/apt の「lock」問題を安全に解決できます。

目次