Corrigindo o erro 'Unable to acquire dpkg frontend lock. Are You Root?' no Ubuntu e em outras distribuições do Linux

Este é um erro comum que um novo usuário do Linux vê ao tentar executar um comando que requer acesso root. Aqui está o que um iniciante deve saber sobre essa situação.

Corrigindo o erro 'Unable to acquire dpkg frontend lock. Are You Root?' no Ubuntu e em outras distribuições do Linux

Estou presumindo que você seja muito novo no Linux.

Você segue algum tutorial na Internet que informa para instalar um determinado programa ou executar algum comando. Provavelmente é algo para fazer com um servidor.

Mas quando você executa o comando, você encontra esse erro:

E: Could not open lock file /var/lib/dpkg/lock-frontend – open (13: Permission denied)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?

Um erro semelhante é este:

dpkg: error: required read/write access to the dpkg database directory /var/lib/dpkg
E: Sub-process dpkg –set-selections returned an error code (2)
E: Executing dpkg failed. Are you root?

Ambos os erros fazem a mesma pergunta: você é root? E essa é a resposta para esse problema. Tornar-se root.

Tornar-se root para evitar esse erro

Como você se torna root no Ubuntu ou Debian? Você usa o comando sudo.

Sim é isso. Qualquer comando que você estava rodando, apenas adicione sudo antes.

Comandos para usar no terminal

sudo your_command

Execução de comandos com sudo

Comando em execução com sudo

Ele solicitará que você insira sua senha de conta de usuário. Por favor, tenha em mente que nada é exibido na tela quando você digita a senha. Não há nada de errado com o seu sistema. Na maioria dos sistemas Linux, a digitação de senha não mostra os asteriscos habituais ou qualquer coisa desse tipo como um 'recurso de segurança'.

Basta digitar sua senha e pressionar Enter depois. Se a senha foi digitada corretamente, você poderá executar o comando agora.

Você pode até usar este prático truque de linha de comando no Linux para executar um comando anterior com sudo:

Comandos para usar no terminal

sudo !!

Isso foi simples e funciona imediatamente, a menos que você não tenha acesso sudo. Então, você verá um erro diferente.

Vendo um erro 'User is not in sudoer file'?

Não no erro de arquivo sudoer

Alguns usuários não podem executar comandos com sudo

Quando você instala o Ubuntu, você precisa criar uma conta de usuário. Este usuário é concedido automaticamente com poderes sudo para executar comandos como root quando necessário.

Isso acontece no desktop Ubuntu, não em servidores. A maioria das distribuições de servidor terá uma conta root separada. Se você criar uma conta regular separadamente, você terá que adicionar o usuário ao sudoer para que este usuário normal possa usar sudo.

Na captura de tela acima, eu tinha criado este usuário adicional, mas não adicionei ao grupo sudo. Isso significa que o usuário prakash aqui não tem direitos para usar o comando sudo e, portanto, o sistema reclama que prakash is not in sudoers file.

Onde está o incidente relatado?

Uma tentativa de sudo incorreta é adicionada aos logs do sistema. Ele registra o nome de usuário, o número do terminal virtual, local de onde o comando foi executado e qual comando foi executado.

Incidente sudo relatado

As tentativas de sudo incorretas são registradas no sistema

A localização desses logs difere da distribuição para distribuição.

Normalmente, você pode encontrá-lo em jornalctl logs ou /var/log/auth.log no Ubuntu, /var/log/audit/audit.log no Fedora.

O que você pode fazer se um usuário não estiver na lista de sudoer?

O que você pode fazer quando você não pode usar sudo com a conta de usuário atual? Primeiro, verifique se o usuário tem direitos sudo ou não. Se não, aqui estão algumas opções para você:

  • Faça o login como root ou alternar para root (se você tiver senha root).
  • Adicione o usuário na lista de sudoer (se você tiver direitos administrativos/sudo de alguma outra conta de usuário).
  • Se você estiver no sistema Linux multi-usuário e não tem acesso root ou sudo sozinho, peça ao administrador do sistema para conceder ao seu acesso ao usuário sudo ou instalar o aplicativo que você queria instalar.

Isso ajuda?

Sudo é um mecanismo de segurança compreensivo, e é muito mais do que apenas uma ferramenta para permitir que um usuário normal se torne root. Isso ajuda a auditar o sistema a saber qual usuário rodou qual comando com sudo. Também pode ser configurado para permitir que um determinado usuário execute apenas alguns comandos com sudo.

Você não verá essa configuração granular do sudo no Desktop Linux, onde é pré-configurado para permitir que qualquer usuário no grupo sudo execute qualquer comando como root com sudo. Mais sobre sudo em algum outro artigo.

Espero que, ao resolver este problema clássico, você tenha aumentado seu conhecimento sobre o comando sudo. Deixe-me saber se você tem mais perguntas sobre este tópico na seção de comentários.

Última atualização deste artigo: 25 de october de 2021