脱サラのすすめ

ダムとバイクとSEの記録

【Ubuntu】aptで「/var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable」のエラー解決方法

f:id:shibatty:20211204151926j:plain

2021.11.25 

POSTFIXを、Webmin経由でaptインストールしようとした際に陥った現象の1つです。

個人的なメモとして発生原因と解消方法を記載しています。

 

(全行程の所要時間:5分程度)

 

 

 

 

目次

 

0.構築環境

■実行環境

・さくらVPNメモリ:1GB、CPU:2コア、SSD:100GB)

 

LinuxOS:Ubuntu18.04

 

Apache:2.4

MySQL:5.7

PHP:7.2

 

 

 

1.解決方法

 「/var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable」というエラーは、要は「config.dat」のプロセスが終了されてないよ!って怒られているので、Windowsで言う所の「プロセス強制終了」をしてあげればいいわけです。

 

①「fuser」コマンドで、対象プロセスのID(PID)番号を確認する

sudo fuser -v /var/cache/debconf/config.dat

 

上記を実行すると、プロセスが稼働中であれば以下のようなPID等の情報が返ってくる

※PIDの数字はあくまでも例

                     USER        PID ACCESS COMMAND
/var/cache/debconf/config.dat:
                   root       993 F.... frontend

 

②対象PIDを「kill」する

sudo kill <SID>

例えば、上記の流れだと、<SID>には993という数字が入ります。

 

③再度「fuser」でプロセスを確認し、何も表示されなくなればプロセスが終了、問題解決

 が、しかし、「apt」インストールなど絡みでこのエラーに辿り着いた人はおそらく「apt」インストールに関するファイルもロックされている可能性が大です。

 これに関しては、別記事にしているので、不明な方は参照してみてください。

 簡単に言うと、「エラーで出た対象ロックファイルを削除」してあげればいいだけです。

 

次項、主な原因を述べているので、気になる方は参照してみてください。

 

 

 

2.原因

 自分の場合、GUIが挟む apt install の実行を、GUI表示ができないコマンドツールを利用して実行しフリーズしたのが原因でした。

ツールを強制終了してもこの「config.dat」自体がプロセスに残り続けていたことがエラーの引き金になりました。

 

 インストールやアンインストールの際に、途中で強制終了したり、ターミナルを落としたりすると発生すると思います。

その際は上記でもふれたように「apt」に関する幾つかのファイルもロックされている可能性が高いです。

 

 

3.最後に

Ubuntuに限らず、Unix系はWindowsと比べてGUIで解決できるエラーが少ないため、頑張ってディグってコマンドを叩いて直す、みたいなことが多いです。

「何でもできる」自由度の反面、「何でも自分で解決」しなければなりません。

が、逆に何でも自分で解決できれば、何でもできるようになるので、それがUnix系を触る面白さだと思います。

 

以上。 

(不明点あればコメント頂ければ、可能な限りお答えします。)