許可が拒否されました、あなたはルートですか?


81

ターミナルを使用してプログラムをインストールしようとすると、このエラーが発生します。

home@ubuntu:~$ apt-get install myunity
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

また、ターミナルを使用してアップデートをインストールできません。


4
これは重複した同じエラーではなく、異なる理由です。
ホルヘカストロ

3
試してみてくださいsudo apt-get update
のAvinashラジ

apt-get updateを実行している間、GUIアップデートマネージャーが開いていると思います
。apt

はい、あなたはルートの所有者(であることによってそれを表示する必要がある場合でも、そのコンピュータを所有してくださいsudoを任意のインストールしてくださいする前に)
オル・スミス

回答:


80

解決策は、エラーメッセージを読むことです:あなたはルートですか?。次のsudoように、root権限でコマンドを実行するために使用します。sudo apt-get update


24

端末の使用に関するコミュニティドキュメントによると、

sudo:特権を高めてコマンドを実行する

  1. 次のコマンドのほとんどは、sudoコマンドで始まる必要があります。これにより、特権が一時的にrootユーザー管理レベルに昇格します。これは、ユーザーアカウントが所有していないディレクトリまたはファイルを操作する場合に必要です。sudoを使用する場合、パスワードの入力を求められます。sudo(管理)特権を持つユーザーのみがこのコマンドを使用できます。あなたは、必要がある(参照してくださいルートなどのグラフィカルなアプリケーションを起動するために、通常のsudoを使用しないRootSudoを正しくsudoを使用しての詳細については。)

そのため、apt-getはソフトウェアをインストールし、システムに影響sudoを与えるため、コマンドを使用して管理者権限を付与する必要があります。

したがって、コマンドは sudo apt-get install myunity

システムを更新する場合は、実行します

sudo apt-get update
sudo apt-get dist-upgrade

これにより、システムのパッケージデータベースが更新され、アップグレードがインストールされます。


7
これはエラーを取り除くのに役立ちunable to lock the administration directory (/var/lib/dpkg/), are you root?
ません

10

管理タスクを実行する前に、システム全体の設定のインストール、削除、変更などを行う必要がありますroot。これは特にに当てはまりますapt-get。メッセージ自体は、問題の場所を示しています。

あなたは根っこですか?

そうでないroot場合、installコマンドはまったく機能しません。

これを修正する方法はsudo、コマンドの前に使用することです:

➜  ~  apt-get update
E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)
E: Unable to lock directory /var/lib/apt/lists/
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
➜  ~  sudo apt-get update
Fetched 616 kB in 25s (23.9 kB/s)

お気づきのとおり、を使用すると問題なく完了しましたsudo。持ってopen (13: Permission denied)いる場合はroot、使用していない必要があることはほぼ確実ですsudo


私はルートを設定していないとして、ヘルプ紳士のためのおかげで、私はsudoを使用する必要があるだろうとは思いませんでしたが、私にとってそれは、すべての学習experience.Justあなたはターミナルで更新を規定ことがしたいです
フランス人の

4

で試す

sudo apt-get update 

それでもロックエラーが発生する場合は、このコマンドを試してください。プロセスの詳細が表示されます。

ps -e | grep -e apt -e adept | grep -v grep

次に、プロセスIDを使用してプロセスを強制終了し、更新コマンドを実行します

また、このファイルを削除して問題を解決できます

rm /var/lib/dpkg/lock 

1
apt-getを使用する前に、ソフトウェアセンターを必ず閉じてください。または、アップデーターがロックされます。
ダンヨハンセン14

1
リポジトリ設定ファイルを保護するためにロックが存在します。注意してプロセスを強制終了し、ロックファイルを削除すると、システムの構成が誤ってしまう可能性があります。この答えは本当に危険です。ロックファイルを削除する前に、それを保持しているプロセスが閉じられているか、クラッシュしているか、その他何でも確認する必要があります。正解は@braiamのものです。
Rmano 14年

そのようなファイルまたはディレクトリはありません:/var/lib/dpkg/lock
IgorGanapolsky

アップデーターがロックを保持しているため、実行できませんでしたapt-get install。更新が
完了


2

エラー出力を読んでください:are you root?あなたはそうではないからです。通常のユーザーとしては、パッケージをインストールするための十分な権限がありません。

sudoコマンドの前に追加して、特権を昇格させます。アカウントに機能するsudo特権がある場合。


0

私はこのエラーがあり、私の場合はnoexec/varで削除する必要があり ました/etc/fstab

CentOS、Fedora、Alpine Linuxで正常に動作します

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.