Permission refusée, es-tu root?


81

Je reçois cette erreur chaque fois que j'essaie d'installer des programmes à l'aide du terminal:

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?

De plus, je ne parviens pas à installer les mises à jour à l'aide du terminal.


4
Ce n'est pas un doublon, même erreur, mais des raisons différentes.
Jorge Castro

3
Essayezsudo apt-get update
Avinash Raj

Je pense que votre gestionnaire de mise à jour graphique est ouvert pendant que vous exécutez apt-get update et vous devez être super utilisateur ou utiliser sudo avant d'utiliser apt-get update
smn_onrocks

Possédez-vous même cet ordinateur, si oui, alors vous devez le montrer en étant le propriétaire de la racine ( sudo ) avant toute installation, veuillez
Olu Smith

Réponses:


80

La solution consiste à lire le message d'erreur: êtes-vous root? . Utilisez sudopour exécuter une commande avec les privilèges root, comme ceci:sudo apt-get update


24

Selon la documentation de la communauté sur l’utilisation du terminal ,

sudo: Exécuter des commandes avec des privilèges élevés

  1. La plupart des commandes suivantes devront être précédées de la commande sudo . Cela élève temporairement les privilèges au niveau administratif de l'utilisateur root, ce qui est nécessaire lorsque vous travaillez avec des répertoires ou des fichiers n'appartenant pas à votre compte d'utilisateur. Lorsque vous utilisez sudo, vous serez invité à saisir votre mot de passe. Seuls les utilisateurs disposant de privilèges sudo (administratifs) pourront utiliser cette commande. Vous ne devriez jamais utiliser sudo normal pour démarrer des applications graphiques en tant que racine (veuillez consulter RootSudo pour plus d'informations sur l'utilisation de sudo correctement.)

Donc, comme apt-get installe les logiciels et affecte donc le système, vous devez utiliser la sudocommande pour vous attribuer des privilèges d’administrateur.

Ainsi, votre commande devrait être sudo apt-get install myunity

Si vous souhaitez mettre à jour votre système, exécutez

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

Cela mettra à jour la base de données de paquets de votre système, puis installera les mises à niveau.


7
Cela n'aide pas à supprimer l'erreur:unable to lock the administration directory (/var/lib/dpkg/), are you root?
IgorGanapolsky

10

Avant d'exécuter toute tâche administrative: installation, suppression, modification des préférences système, etc., vous devez l'être root. Ceci est particulièrement vrai pour apt-get. Le message lui-même vous indique où se situe le problème:

es-tu root?

Si vous ne l'êtes pas root, la installcommande ne fonctionnera pas du tout.

La solution à ce problème consiste à utiliser sudoavant la commande:

➜  ~  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)

Comme vous pouvez le constater, cela s’est terminé sans problème lorsque j’ai utilisé sudo. Si vous en avez, open (13: Permission denied)il est presque certain que vous ne l'êtes pas rootet que vous devez en utiliser sudo.


Merci pour l'aide, messieurs, comme je n'ai pas encore défini root, je ne pensais pas avoir besoin d'utiliser sudo mais c'est pour moi une expérience d'apprentissage. Je souhaite juste que vous puissiez stipuler des mises à jour dans le terminal
Frenchman le

4

Essayer avec

sudo apt-get update 

Si vous obtenez toujours une erreur de verrouillage, essayez cette commande. Elle vous donnera les détails du processus.

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

Tuez ensuite le processus à l'aide de l'ID de processus, puis exécutez la commande de mise à jour.

Et aussi vous pouvez supprimer ce fichier, votre problème va résoudre

rm /var/lib/dpkg/lock 

1
N'oubliez pas de fermer le Centre de logiciel avant d'utiliser apt-get. Ou bien le programme de mise à jour est verrouillé.
Dan Johansen

1
Le verrou existe pour protéger les fichiers de configuration de votre référentiel. Tuer des processus et supprimer les fichiers de verrouillage sans précaution peut conduire à un système mal configuré. Cette réponse est vraiment dangereuse. Avant de supprimer un fichier de verrouillage, vous devez vous assurer à trois fois que le processus qui le contient est fermé, s'est bloqué ou autre. La bonne réponse est celle de @braiam.
Rmano

Aucun fichier ou répertoire de ce type:/var/lib/dpkg/lock
IgorGanapolsky le

Le programme de mise à jour tenait le verrou, je ne pouvais donc pas courir apt-get install. J'ai dû attendre que la mise à jour se termine (quelques minutes seulement), puis ça a marché,
gaborsch le

3

juste courir

sudo apt-get update

sudo est pour le lancer en tant que super utilisateur


2

Il suffit de lire la sortie d'erreur: are you root?parce que vous ne l'êtes pas. En tant qu'utilisateur régulier, vous ne disposez pas de suffisamment de privilèges pour installer des packages.

Ajoutez sudola commande pour élever les privilèges. Pourvu que ce compte dispose de privilèges sudo qui fonctionneront.


0

J'ai eu cette erreur et dans mon cas , je devais retirer noexecle /vardans/etc/fstab

qui fonctionne bien sur mes CentOS, Fedora et Alpine Linux

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.