Breve: esta guía para principiantes le muestra lo que puede hacer con los comandos pacman en Linux, cómo usarlos para encontrar nuevos paquetes, instalar y actualizar nuevos paquetes y limpiar su sistema.
El pacman el administrador de paquetes es una de las principales diferencias entre Arch Linux y otras distribuciones importantes como Red Hat y Ubuntu / Debian. Combina un formato de paquete binario simple con un formato fácil de usar. construir sistema. El objetivo de pacman es gestionar paquetes fácilmente, ya sea desde el repositorios oficiales o las propias compilaciones del usuario.
Si alguna vez usó distribuciones basadas en Ubuntu o Debian, es posible que haya usado los comandos apt-get o apt. Pacman es el equivalente en Arch Linux. Si acaba de instalar Arch Linux, una de las primeras cosas que debe hacer después de instalar Arch Linux es aprender a usar los comandos de pacman.
En esta guía para principiantes, explicaré algunos de los usos esenciales del comando pacmand que debe conocer para administrar su sistema basado en Arch.
Comandos esenciales de pacman que los usuarios de Arch Linux deben saber
Al igual que otros administradores de paquetes, pacman puede sincronizar listas de paquetes con los repositorios de software para permitir que el usuario descargue e instale paquetes con un simple comando resolviendo todas las dependencias requeridas.
Instalar paquetes con pacman
Puede instalar un solo paquete o varios paquetes usando el comando pacman de esta manera:
pacman -S _package_name1_ _package_name2_ ...
Instalar un paquete
La -S significa sincronización. Significa que pacman primero sincroniza
La base de datos de pacman clasifica los paquetes instalados en dos grupos según el motivo por el que se instalaron:
- instalado explícitamente: los paquetes que fueron instalados por un comando genérico pacman -S o -U
- dependencias: los paquetes que se instalaron implícitamente porque requerido por otro paquete que se instaló explícitamente.
Quitar un paquete instalado
Para eliminar un solo paquete, dejando todas sus dependencias instaladas:
pacman -R package_name_
Eliminar un paquete
Para eliminar un paquete y sus dependencias que no son necesarios para ningún otro paquete instalado:
pacman -Rs _package_name_
Para eliminar las dependencias que ya no son necesarias. Para example, se eliminó el paquete que necesitaba las dependencias.
pacman -Qdtq | pacman -Rs -
Actualización de paquetes
Pacman proporciona una forma sencilla de actualizar Arch Linux. Puede actualizar todos los paquetes instalados con un solo comando. Esto podría llevar un tiempo dependiendo de qué tan actualizado esté el sistema.
El siguiente comando sincroniza las bases de datos del repositorio y actualiza los paquetes del sistema, excluyendo los paquetes “locales” que no están en los repositorios configurados:
pacman -Syu
- S significa sincronización
- y es para actualizar (caché local)
- u es para la actualización del sistema
Básicamente, se trata de sincronizar con el repositorio central (base de datos del paquete maestro), actualizar la copia local de la base de datos del paquete maestro y luego realizar la actualización del sistema (actualizando todos los paquetes que tienen una versión más nueva disponible).
Actualizacion del sistema
¡Atención!
Si es un usuario de Arch Linux antes de actualizar, se recomienda visitar el Página de inicio de Arch Linux para consultar las últimas noticias en busca de actualizaciones fuera de lo común. Si se necesita una intervención manual, se realizará una publicación de noticias adecuada. Alternativamente, puede suscribirse al RSS Feed o la lista de correo arch -nounce.
También tenga cuidado de revisar los foro antes de actualizar el software fundamental (como el kernel, xorg, systemd o glibc), para cualquier problema informado.
Las actualizaciones parciales no son compatibles en una distribución de lanzamiento continuo como Arch y Manjaro. Eso significa que cuando las nuevas versiones de la biblioteca se envían a los repositorios, todos los paquetes de los repositorios deben reconstruirse contra las bibliotecas. Para example, si dos paquetes dependen de la misma biblioteca, actualizar solo un paquete podría romper el otro paquete que depende de una versión anterior de la biblioteca.
Use pacman para buscar paquetes
Pacman consulta la base de datos de paquetes local con el indicador -Q, la base de datos de sincronización con el indicador -S y la base de datos de archivos con el indicador -F.
Pacman puede buscar paquetes en la base de datos, tanto en los nombres como en las descripciones de los paquetes:
pacman -Ss _string1_ _string2_ ...
Buscando un paquete
Para buscar paquetes ya instalados:
pacman -Qs _string1_ _string2_ ...
Para buscar nombres de archivos de paquetes en paquetes remotos:
pacman -F _string1_ _string2_ ...
Para ver el árbol de dependencias de un paquete:
pactree _package_naenter code hereme_
Limpiar la caché de paquetes
Pacman almacena sus paquetes descargados en / var / cache / pacman / pkg / y no elimina las versiones antiguas o desinstaladas automáticamente. Esto tiene algunas ventajas:
- Permite degradar un paquete sin la necesidad de recuperar la versión anterior a través de otras fuentes.
- Un paquete que se ha desinstalado se puede reinstalar fácilmente directamente desde la carpeta de caché.
Sin embargo, es necesario limpiar la caché periódicamente para evitar que la carpeta aumente de tamaño.
El paccache (8) script, proporcionado dentro del pacman-contrib package, elimina todas las versiones en caché de los paquetes instalados y desinstalados, excepto las 3 más recientes, de forma predeterminada:
paccache -r
Limpiar cache
Para eliminar todos los paquetes almacenados en caché que no están instalados actualmente y la base de datos de sincronización no utilizada, ejecute:
pacman -Sc
Para eliminar todos los archivos de la caché, use el interruptor de limpieza dos veces, este es el enfoque más agresivo y no dejará nada en la carpeta de la caché:
pacman -Scc
Instalación de paquetes locales o de terceros
Instale un paquete ‘local’ que no sea de un repositorio remoto:
pacman -U _/path/to/package/package_name-version.pkg.tar.xz_
Instale un paquete ‘remoto’, no contenido en un repositorio oficial:
pacman -U https://www.example.com/repo/example.pkg.tar.xz
Bono: solución de problemas de errores comunes con pacman
A continuación, se muestran algunos errores comunes que puede encontrar al administrar paquetes con pacman.
No se pudo confirmar la transacción (archivos en conflicto)
Si ve el siguiente error:
error: could not prepare transaction
error: failed to commit transaction (conflicting files)
package: /path/to/file exists in filesystem
Errors occurred, no packages were upgraded.
Esto sucede porque pacman ha detectado un conflicto de archivos y no sobrescribirá los archivos por usted.
Una forma segura de resolver esto es verificar primero si otro paquete posee el archivo (pacman -Qo / path / to / file). Si el archivo es propiedad de otro paquete, presente un informe de error. Si el archivo no es propiedad de otro paquete, cambie el nombre del archivo que ‘existe en el sistema de archivos’ y vuelva a emitir el comando de actualización. Si todo va bien, es posible que se elimine el archivo.
En lugar de cambiar el nombre manualmente y luego eliminar todos los archivos que pertenecen al paquete en cuestión, puede ejecutar explícitamente pacman -S – sobrescribe el paquete glob para forzar a pacman a sobrescribir archivos que coincidan con glob.
Error al confirmar la transacción (paquete no válido o dañado)
Busque archivos .part (paquetes parcialmente descargados) en / var / cache / pacman / pkg / y elimínelos. A menudo se debe al uso de un XferCommand personalizado en pacman.conf.
No se pudo iniciar la transacción (no se pudo bloquear la base de datos)
Cuando pacman está a punto de alterar la base de datos del paquete, por example Al instalar un paquete, crea un archivo de bloqueo en /var/lib/pacman/db.lck. Esto evita que otra instancia de pacman intente alterar la base de datos del paquete al mismo tiempo.
Si pacman se interrumpe mientras se cambia la base de datos, este archivo de bloqueo obsoleto puede permanecer. Si está seguro de que no se están ejecutando instancias de pacman, elimine el archivo de bloqueo.
Compruebe si un proceso contiene el archivo de bloqueo:
lsof /var/lib/pacman/db.lck
Si el comando anterior no devuelve nada, puede eliminar el archivo de bloqueo:
rm /var/lib/pacman/db.lck
Si encuentra el PID del proceso que contiene el archivo de bloqueo con la salida del comando lsof, elimínelo primero y luego elimine el archivo de bloqueo.
Espero que les guste mi humilde esfuerzo al explicar los comandos básicos de pacman. Deje sus comentarios a continuación y no olvide suscribirse en nuestras redes sociales. ¡Mantenerse a salvo!