GNU/Linux >> Linux の 問題 >  >> Ubuntu

「ロック/var/ lib / dpkg /lockを取得できませんでした」エラーを1回限り修正(Ubuntu)

はロックを取得できませんでした/var/ lib / dpkg / lock 」エラーは、仮想マシンで実行されているDebian/Ubuntuではかなり一般的です。インターネット上の既存の回避策(つまり、apt-getプロセスを強制終了するか、ロックファイルを削除する)は、システムに損傷を与える可能性があり、将来同じエラーが発生する可能性があるため、理想的ではありません。

「ロック/var/ lib / dpkg/lockを取得できませんでした」エラーを1回限り修正

このエラーの本当の原因を説明し、それを完全に修正する方法を示します。エラーメッセージは次のとおりです。

E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg), is another process using it?

エラーメッセージはすでに問題の原因のヒントを示しています:別のプロセスが / var / lib / dpkg /を使用しています 。これは、Ubuntuがデフォルトでセキュリティアップデートの無人アップグレードを有効にしているためです。

Ubuntu OSの起動が完了すると、 apt-get updateが自動的に実行されます。 指図。利用可能なセキュリティアップデートがある場合は、バックグラウンドでインストールされます。したがって、 sudo apt upgradeを実行すると 同時にコマンドを実行すると、上記のエラーが表示されます。ベアメタルでUbuntuを使用するほど、VirtualboxまたはVMwareワークステーションでUbuntuを使用しないため、Ubuntu仮想マシンが更新されることはめったになく、仮想マシンでこのエラーが頻繁に発生します。

ベアメタルでUbuntuデスクトップを使用する場合でも、仮想マシンでUbuntuデスクトップを使用する場合でも、無人アップグレードを無効にして、この問題を完全に解決できます。

注:このエラーがUbuntuサーバーで発生することはめったにありません。サーバーで無人アップグレードを有効にして、セキュリティアップデートを自動的にインストールすることをお勧めします。

方法は次のとおりです。 ソフトウェアとアップデートを開きます アプリケーションメニューから。

次に、[更新]をクリックします タブ。デフォルトでは、セキュリティ更新プログラムは自動的にダウンロードおよびインストールされます。 すぐに表示に変更できます 、したがって、 sudo apt-get upgradeは実行されません バックグラウンドでコマンドを実行します。

次に、この変更を有効にするためのユーザーパスワードを入力します。

その後、コンピュータを再起動します。

コマンドラインからの無人アップグレードを無効にする

コマンドラインからも同じ結果を得ることができます。ターミナルで、 /etc/apt/apt.conf.d/20auto-upgradesを開きます nanoのようなコマンドラインテキストエディタを使用したファイル。

sudo nano /etc/apt/apt.conf.d/20auto-upgrades

元の内容は次のとおりです。

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "0";
APT::Periodic::Unattended-Upgrade "1";

自動セキュリティ更新を無効にするには、次のように変更します

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";
APT::Periodic::Unattended-Upgrade "0";

Nanoテキストエディタでファイルを保存するには、 Ctrl + Oを押します。 、次にEnterキーを押して、ファイル名を確認します。 Ctrl + Xを押します 出る。次に、コンピュータを再起動します。

更新

ある読者から、上記の手順を実行した後でも、 sudo apt update を実行すると、エラーメッセージが表示される可能性があるとのことです。 Ubuntuの起動が終了した直後のコマンド。これは、背景の「 apt update 」はまだ終了していません。

パッケージを手動で更新することが多い場合は、「更新を自動的に確認する」を毎週に設定することをお勧めします。 dailyの代わりに 。エラーメッセージを完全に修正するには、値を Neverに設定します。 。

Ubuntuはいつ無人アップグレードを実行しますか?

Ubuntuは、システムの起動後に無人アップグレードを実行します。また、Systemdは無人アップグレードを実行できます。 apt-daily.service パッケージリストを毎日更新し、 apt-daily-upgrade.serviceに使用されます セキュリティアップデートを毎日ダウンロードしてインストールするために使用されます。次のコマンドでステータスを確認できます:

systemctl status apt-daily.service

systemctl status apt-daily-upgrade.service

apt-daily.service apt-daily.timerによって制御されます 。タイマーはcronジョブのようなもので、指定された時間に同じ名前のsystemdサービスを実行します。 apt-daily.timer の構成ファイルは/lib/systemd/system/apt-daily.timerです。 。その内容は次の方法で確認できます:

cat /lib/systemd/system/apt-daily.timer

出力:

[Unit]
Description=Daily apt download activities

[Timer]
OnCalendar=*-*-* 6,18:00
RandomizedDelaySec=12h
Persistent=true

[Install]
WantedBy=timers.target

緑の線は、 apt-daily.serviceを示しています 毎日6:00と18:00に実行されます。 RandomizedDelaySec =12h 別のタイマーの開始時刻が同じ場合、アクションは0〜12時間延期されることを意味します。

apt-daily-upgrade.service apt-daily-upgrade.timerによって制御されます 、その構成ファイルは /lib/systemd/system/apt-daily-upgrade.timer

cat /lib/systemd/system/apt-daily-upgrade.timer

出力:

[Unit]
Description=Daily apt upgrade and clean activities
After=apt-daily.timer

[Timer]
OnCalendar=*-*-* 6:00
RandomizedDelaySec=60m
Persistent=true

[Install]
WantedBy=timers.target

ご覧のとおり、 apt-daily-upgrade.service 毎日午前6時に実行されます。 RandomizedDelaySec =60m 別のタイマーの開始時刻が同じ場合、アクションは0〜60分延期されることを意味します。

2つの.service ファイルと2つの.timer ファイルはaptによってインストールされます パッケージ。/usr/lib/apt/apt.systemd.dailyも付属しています。 apt-daily.serviceによって実行されるシェルスクリプト およびapt-daily-upgrade.service

/usr/lib/apt/apt.systemd.daily シェルスクリプトは、 /etc/apt/apt.conf.d/20auto-upgradesから構成を読み取ります ファイル。したがって、上記のエラーを修正するために2つのタイマーを無効にする必要はありません。

それでおしまい!この記事が「couldnotget lock / var / lib / dpkg / lock」の修正に役立つことを願っています 」Ubuntuでのエラー。いつものように、この投稿が役に立った場合は、無料のニュースレターを購読して、その他のヒントやコツを入手してください。気をつけて🙂


Ubuntu
  1. Ubuntuでの「dpkg:エラー:ファイル‘/ var / lib / dpkg /updates/0014‘の解析」エラーを修正

  2. Ubuntu 14.04で構築されたWebpユーティリティが機能せず、ライブラリエラーが表示されるのはなぜですか?

  3. 「ロックを取得できませんでした / var / lib / dpkg / lock – open (11 リソースが一時的に利用できません)」エラーを修正する方法

  1. UbuntuとDebianでの「add-apt-repositoryコマンドが見つかりません」エラーを修正

  2. Ubuntu E:ロック/ var / lib / dpkg / lockエラーを取得できませんでした-今すぐ修正しますか?

  3. 「Lockfile / var / lib / dpkg / lock-frontend could not open」というエラーを修正する方法

  1. 修正E:ロックを取得できませんでした/ var / cache / apt / archives /lock[クイックヒント]

  2. 「dpkgフロントエンドロックを取得できません。あなたは根っこですか?」 Ubuntuおよびその他のLinuxディストリビューションでのエラー

  3. Aptロックを保持しているプロセスを強制終了する方法は?