さてさて、またArchLinuxネタでございます。

今回はタイトルの件です。

pacman -Syuでパッケージ更新掛けようとしたら、これだと更新情報も取得できず、
全くもって更新できない最悪の状態です。

もはやOSの再インストールしかないか?と思ってしまうかもしれません。

安心してください。再インストールまですることはありません。

これから紹介するコマンドで解決ができます。

まずは、どのような状況なのかを説明します。


pacmanのパッケージデータベースがロックされてしまう

$ sudo pacman -Syu

:: パッケージデータベースの同期中...
エラー: 全てのデータベースの同期に失敗しました (データベースをロックできません)

データベースがロックされてしまっているというわけです。


解決するにはデータベースをロック判定しているものをロックでない状態にすれば解決しそうですね。

そこで、このパッケージのデータベースをロックしている犯人を探しましょう。

以下に、ロックファイルを見つけることができました。


ロックファイルを削除してみる

それではこのロックファイルを以下コマンドで消してみましょう。


$ sudo rm /var/lib/pacman/db.lck   

上記のコマンド実行の結果、パッケージ更新ができるようになりました。


まとめ

というわけで、今回はArchLinuxでsudo pacman -Syuを実行した際にデータベースがロックされていると表示された場合の解決方法について紹介しました。

何かの参考になれば幸いです。