Arreglo “No se puede adquirir el bloqueo de frontend dpkg. ¿Eres Root? Error en Ubuntu y otras distribuciones de Linux

Supongo que es bastante nuevo en Linux.

Sigues algún tutorial en Internet que te dice que instales un programa determinado o ejecutes algún comando. Probablemente tenga algo que ver con un servidor.

Pero cuando ejecuta el comando, se encuentra con este error:

E: No se pudo abrir el archivo de bloqueo / var / lib / dpkg / lock-frontend – abierto (13: Permiso denegado)
E: No se puede adquirir el bloqueo de frontend dpkg (/ var / lib / dpkg / lock-frontend), ¿es root?

Un error similar es este:

dpkg: error: se requiere acceso de lectura / escritura al directorio de la base de datos dpkg / var / lib / dpkg
E: El subproceso dpkg –set-selections devolvió un código de error (2)
E: Error al ejecutar dpkg. ¿Eres root?

Ambos errores te hacen la misma pregunta: ¿eres root? Y esa es la respuesta a este problema. Conviértete en root.

Conviértete en root para evitar este error

¿Cómo se convierte en root en Ubuntu o Debian? Usas el sudo mando.

Si eso es. Cualquiera que sea el comando que estaba ejecutando, solo agregue sudo antes de eso.

sudo your_command

Ejecutando comando con sudo

Le pedirá que ingrese la contraseña de su cuenta de usuario. Tenga en cuenta que no se muestra nada en la pantalla cuando escribe la contraseña y está bien.

No hay nada de malo en su sistema. En la mayoría de los sistemas Linux, la escritura de contraseñas no muestra los asteriscos habituales ni nada por el estilo como una “característica de seguridad”.

Simplemente escriba su contraseña y presione enter después de ella. Si la contraseña se escribió correctamente, debería poder ejecutar el comando ahora.

Incluso puede usar este práctico truco de línea de comandos de Linux para ejecutar un comando anterior con sudo:

sudo !!

Eso fue simple y funciona de inmediato, a menos que no tenga sudo acceso. Luego, verá un error diferente.

¿Ves el error “El usuario no está en el archivo sudoer”?

Algunos usuarios no pueden ejecutar comandos con sudo

Cuando instala Ubuntu, debe crear una cuenta de usuario. Este usuario recibe automáticamente sudo poder para ejecutar comandos como root cuando sea necesario.

Esto sucede en el escritorio de Ubuntu, no en los servidores. La mayoría de las distribuciones de servidor tendrán una cuenta raíz separada. Si crea una cuenta normal por separado, tendrá que agregar el usuario a sudoer para que este usuario normal pueda usar sudo.

En la captura de pantalla anterior, había creado este usuario adicional pero no lo agregué al sudo grupo. Esto significa que el usuario ‘prakash’ aquí no tiene derechos para usar el sudo comando y, por lo tanto, el sistema se queja de que ‘prakash no está en el archivo sudoers’.

¿Dónde se reporta el incidente?

Un incorrecto sudo El intento se agrega a los registros del sistema. Registra el nombre de usuario, el número de terminal virtual, la ubicación desde donde se ejecutó el comando y qué comando se ejecutó.

Incorrecto sudo los intentos se registran en el sistema

La ubicación de estos registros difiere de una distribución a otra.

Normalmente, puede encontrarlo en los registros journalctl o en el archivo /var/log/auth.log en Ubuntu, el archivo /var/log/audit/audit.log en Fedora.

¿Qué puede hacer si un usuario no está en la lista de sudoer?

¿Qué puede hacer cuando no puede usar sudo con la cuenta de usuario actual? Primero, verificar si el usuario tiene sudo derechos o no. Si no, aquí hay algunas opciones para Uds:

  • Inicie sesión como root o cambie a root (si tiene contraseña de root).
  • Agregue el usuario a la lista de sudoer (si usted tiene admin/sudo derechos de alguna otra cuenta de usuario).
  • Si está en un sistema Linux multiusuario y no tiene root o sudo acceder a sí mismo, solicite al administrador del sistema que le otorgue a su usuario sudo acceda o instale la aplicación que desea instalar.

¿Le ayudó esto?

Sudo es un mecanismo de seguridad muy completo y es mucho más que permitir que un usuario normal se convierta en root. Ayuda a auditar el sistema para saber qué usuario ejecutó qué comando con sudo. También se puede configurar para permitir que un determinado usuario ejecute solo ciertos comandos con sudo.

No verás tan granular sudo configuración en Linux de escritorio donde está preconfigurado para permitir que cualquier usuario en el sudo grupo para ejecutar cualquier comando como root con sudo. Más en sudo en algún otro artículo.

Espero que al resolver este problema clásico para principiantes, obtenga algunas ideas iniciales sobre el sudo mando. Avíseme si tiene más preguntas sobre este tema en la sección de comentarios.