pacman/Tips and tricks (Español) - ArchWiki

# pacman/Tips and tricks (Español)

From ArchWiki
< Pacman

Artículos relacionados

- pacman
- Improve pacman performance
- Mirrors
- Creating packages

Para métodos generales para mejorar la flexibilidad de las sugerencias proporcionadas o del propio pacman, consulte Core utilities y Bash.

## Mantenimiento

Nota: En lugar de utilizar comm (que requiere una entrada ordenada con sort) en las secciones siguientes, también puede utilizar `grep -Fxf` o `grep -Fxvf`.

Véase también System maintenance.

### Listando paquetes

Es posible que desee obtener la lista de paquetes instalados con su versión, lo cual es útil cuando se reportan errores o se discuten los paquetes instalados.

- Lista todos los paquetes explícitamente instalados: `pacman -Qe`.
- Lista los paquetes originales instalados explícitamente (es decir, presentes en la base de datos de sincronización) que no sean dependencias directas o opcionales: `pacman -Qent` .
- Lista de todos los paquetes externos (normalmente descargados e instalados manualmente): `pacman -Qm`.
- Lista de todos los paquetes originales (instalados desde la (s) base de datos de sincronización): `pacman -Qn` .
- Lista de paquetes por regex: `pacman -Qs regex` .
- Lista de paquetes por regex con formato de salida personalizado: `expac -s "%-30n %v" regex` (necesita expac).

#### Por tamaño

Para obtener una lista de paquetes instalados ordenados por tamaño, lo que puede ser útil para liberar espacio en su disco duro:

- Instalar expac y ejecutar `expac -H M '%m\t%n' | sort -h`.
- Ejecute pacgraph con la opción `-c` .

Para crear un listado de paquetes y su tamaño (deje packages en blanco para listar todos los paquetes):

     $ expac -S -H M '%k \ t%n' packages

Para listar los paquetes explícitamente instalados que no están en base ni en base-devel con tamaño y descripción:

     $ expac -H M "%011m\t%-20n\t%10d" $(comm -23 <(pacman -Qqen | sort) <(pacman -Qqg base base-devel | sort)) | sort -n

#### Por fecha

Para enumerar los 20 últimos paquetes instalados con expac , ejecute:

     $ expac --timefmt='%Y-%m-%d %T' '%l\t%n' | sort | tail -n 20

O, con segundos desde la fecha (1970-01-01 UTC):

     $ expac --timefmt=%s '%l\t%n' | sort -n | tail -n 20

#### No especificado en un grupo o repositorio

Nota: Para obtener una lista de paquetes instalados como dependencias pero que ya no son necesarios para ningún paquete instalado, consulte #Eliminación de paquetes no utilizados (huérfanos).

Lista los paquetes explícitamente instalados que no están en los grupos de base o base-devel :

     $ comm -23 <(pacman -Qeq | sort) <(pacman -Qgq base base-devel | sort)

Lista de todos los paquetes instalados no requeridos por otros paquetes y que no estén en los grupos de base o de base-devel :

     $ comm -23 <(pacman -Qqt | sort) <(pacman -Sqg base base-devel | sort)

Como arriba, pero con descripciones:

     $ expac -HM '%-20n\t%10d' $(comm -23 <(pacman -Qqt | sort) <(pacman -Qqg base base-devel | sort))

Lista todos los paquetes instalados que no están en el repositorio especificado repo_name

     $ comm -23 <(pacman -Qtq | sort) <(pacman -Slq repo_name | sort)

Liste todos los paquetes instalados que están en el repositorio repo_name :

     $ comm -12 <(pacman -Qtq | sort) <(pacman -Slq repo_name | sort)

Lista todos los paquetes en Arch Linux ISO que no están en el grupo base:

    $ comm -23 <(wget -q -O - https://git.archlinux.org/archiso.git/plain/configs/releng/packages.both) <(pacman -Qqg base | sort)

#### Paquetes en desarrollo

Para listar todos lo paquetes development/unstable , ejecute:

    $ pacman -Qq | awk '/^.+(-cvs|-svn|-git|-hg|-bzr|-darcs)$/'

### Listado de archivos propiedad de un paquete , ordenado por tamaño

Esto podría ser útil si descubrió que un paquete específico utiliza una gran cantidad de espacio y desea saber qué archivos lo componen.

    $ pacman -Qlq package | grep -v '/$' | xargs du -h | sort -h

### Identificar archivos que no pertenecen a ningún paquete

Si su sistema tiene archivos huérfanos que no pertenecen a ningún paquete (un caso común si no usa el administrador de paquetes para instalar software), es posible que desee encontrar dichos archivos para limpiarlos. El proceso general para hacerlo es:

1. Crear una lista ordenada de los archivos que desea verificar los propietarios:

       $ find /etc /opt /usr | sort > all_files.txt

1. Crear una lista ordenada de los archivos rastreados por pacman (y elimina las barras diagonales de los directorios):

       $ pacman -Qlq | sed 's|/$||' | sort > owned_files.txt

1. Encuentra líneas en la primera lista que no están en el segundo:

       $ comm -23 all_files.txt owned_files.txt

En la práctica, este proceso es complicado porque muchos archivos importantes no forman parte de ningún paquete (por ejemplo, archivos generados en tiempo de ejecución, configuraciones personalizadas), por lo que se incluirán en el resultado final, lo que dificulta seleccionar los archivos que pueden eliminarse de manera segura.

Sugerencia: El lostfiles script realiza pasos similares, pero también incluye una extensa lista negra para eliminar falsos positivos comunes de la salida. aconfmgr (aconfmgr-gitAUR) también permite rastrear archivos huérfanos usando una secuencia de comandos de configuración.

### Eliminación de paquetes no utilizados (huérfanos)

Para eliminar de forma recursiva los huérfanos y sus archivos de configuración:

    # pacman -Rns $(pacman -Qtdq)

Si no se encontraron paquetes huérfanos, aparecerán errores de pacman con `error: no targets specified`. Esto se espera ya que no se pasaron argumentos a `pacman -Rns`.

Note: Los argumentos `-Qt` enumeran sólo huérfanos verdaderos. Para incluir paquetes que son opcionalmente requeridos por otro paquete, pase el indicador `-t` dos veces (i.e., `-Qtt`).

### Eliminar todo menos el grupo base

Si alguna vez es necesario eliminar todos los paquetes, excepto el grupo base, pruebe esta sola linea:

    # pacman -R $(comm -23 <(pacman -Qq | sort) <((for i in $(pacman -Qqg base); do pactree -ul "$i"; done) | sort -u))

Esta única linea fue originalmente concebida en esta conversación, y posteriormente mejorada en este artículo.

### Obtener la lista de dependencias de varios paquetes

Las dependencias se ordenan alfabéticamente y las repetidas se eliminan.

Nota: Para mostrar solo el árbol de paquetes locales instalados, use `pacman -Qi`.

    $ pacman -Si packages | awk -F'[:<=>]' '/^Depends/ {print $2}' | xargs -n1 | sort -u

Como alternativa puede utilizar expac:

    $ expac -l '\n' %E -S packages | sort -u

### Listado de archivos de copia de seguridad modificados

Si desea realizar una copia de seguridad de los archivos de configuración del sistema, puede copiar todos los archivos en `/etc/`, pero normalmente sólo le interesan los ficheros que ha modificado. Los archivos de copias de seguridad se puede ver con el siguiente comando:

    # pacman -Qii | awk '/^MODIFIED/ {print $2}'

Ejecutar este comando con permisos de root asegurará que los archivos sólo pueden ser leídos por root (por ejemplo `/etc/sudoers`) están incluidos en la salida.

Sugerencia: Mire #Listado de todos los archivos modificados de los paquetes para listar todos los archivos modificados que conoce pacman , no sólo los archivos de copia de seguridad.

### Copia de seguridad de la base de datos de pacman

El siguiente comando se puede usar para realizar una copia de seguridad de la base de datos local de pacman :

    $ tar -cjf pacman_database.tar.bz2 /var/lib/pacman/local

Almacene el archivo de base de datos de respaldo pacman en uno o más medios sin conexión, como una memoria USB, disco duro externo o CD-R.

La base de datos se puede restaurar moviendo el archivo `pacman_database.tar.bz2` en el `/` directorio y ejecutando el siguiente comando :

    # tar -xjvf pacman_database.tar.bz2

{{Nota|Si los archivos de la base de datos pacman están dañados y no hay un archivo de respaldo disponible, existe la esperanza de reconstruir la base de datos pacman . Consultar Pacman/Restore local database.

Sugerencia: El paquete pakbak-gitAUR proporciona una secuencia de comandos y un servicio en systemd para automatizar la tarea. La configuración es posible en `/etc/pakbak.conf`.

### Verifique registros de cambios fácilmente

Cuando los mantenedores actualizan los paquetes, las confirmaciones a menudo se comentan de manera útil. Los usuarios pueden comprobarlo rápidamente desde la línea de comando instalando pacologAUR. Esta utilidad enumera mensajes de confirmación recientes para paquetes de los repositorios oficiales o en AUR, mediante el uso de `pacolog <package>`.

## Instalación y recuperación

Formas alternativas de obtener y restaurar paquetes.

### Instalación de paquetes desde un CD / DVD o dispositivo USB

This article or section is a candidate for merging with #Repositorio local personalizado .

Notes: Utilícelo como ejemplo y evite la duplicación (Discuss in Talk:Pacman/Tips and tricks (Español)#)

Para descargar paquetes o grupos de paquetes:

    # cd ~/Packages
    # pacman -Syw base base-devel grub-bios xorg gimp --cachedir .
    # repo-add ./custom.db.tar.gz ./*

A continuación puede grabar la carpeta "Packages" en un CD/DVD o transferir a una dispositivo USB , disco duro externo HDD, etc.

Para instalar:

1. Montar los medios:

    # mkdir /mnt/repo
    # mount /dev/sr0 /mnt/repo    #For a CD/DVD.
    # mount /dev/sdxY /mnt/repo   #For a USB stick.

2. Edite `pacman.conf` y agrege este repositorio antes de los otros (e.g. extra, core, etc.). Esto es importante. No se limite a descomentar el que está en la parte inferior. De esta manera se asegura de que los archivos del CD/DVD/USB tengan prioridad sobre los de los repositorios estándar.:

    /etc/pacman.conf

    [custom]
    SigLevel = PackageRequired
    Server = file:///mnt/repo/Packages

3. Finalmente, sincronice la base de datos pacman para poder usar el nuevo repositorio:

    # pacman -Syu

### Repositorio local personalizado

Utilice el script repo-add incluido con pacman para generar una base de datos para un repositorio personal. Utilize `repo-add --help` para más detalles sobre su uso. Para agregar un nuevo paquete a la base de datos o para reemplazar la versión anterior de un paquete existente en la base de datos, ejecute:

    $ repo-add /path/to/repo.db.tar.gz /path/to/package-1.0-1-x86_64.pkg.tar.xz

Nota: Una base de datos de paquetes es un archivo tar, opcionalmente comprimido. Las extensiones válidas son .db o .files seguidas por una extensión de archivo de .tar , .tar.gz , .tar.bz2 , . tar.xz o .tar.z . No es necesario que exista el fichero, pero deben existir todos los directorios principales.

La base de datos y los paquetes no necesitan estar en el mismo directorio cuando se utiliza repo-add , pero tenga en cuenta que cuando se usa pacman con esa base de datos, deben estar juntos. Almacenar todos los paquetes construidos para ser incluidos en el repositorio en un directorio también permite usar la expansión shell glob para añadir o actualizar múltiples paquetes a la vez:

    $ repo-add /path/to/repo.db.tar.gz /path/to/*.pkg.tar.xz

Advertencia: repo-add agrega las entradas a la base de datos en el mismo orden que se pasó en la línea de comando. Si se trata de varias versiones del mismo paquete, se debe tener cuidado para asegurarse de que se agregue la versión correcta al final. En particular, tenga en cuenta que el orden léxico utilizado por el shell depende de la configuración regional y difiere de la vercmp orden utilizado por pacman.

repo-remove se usa para eliminar paquetes de la base de datos, excepto si el nombre del paquete se especifica con el siguiente comando.

    $ repo-remove /path/to/repo.db.tar.gz pkgname

Una vez que se haya creado la base de datos del repositorio local, agregue el repositorio a `pacman.conf` para cada sistema que usará el repositorio. Un ejemplo de repositorio personalizado está en `pacman.conf`. El nombre del repositorio es el nombre de archivo de la base de datos con la extensión de archivo omitida. En el caso del ejemplo anterior, el nombre del repositorio sería simplemente repo . Haga referencia a la ubicación del repositorio utilizando un `file://` url, o por FTP usando ftp://localhost/path/to/directory.

Si lo desea, añada el repositorio personalizado al directorio list of unofficial user repositories, para que la comunidad pueda beneficiarse de ello.

### Caché de pacman compartida en red

Si ejecuta varios Arch boxes en su LAN, puede compartir paquetes para que pueda disminuir considerablemente los tiempos de descarga. Tenga en cuenta que no debe compartir entre diferentes arquitecturas (es decir, i686 y x86_64) o se encontrará con problemas.

#### Caché de solo lectura

Si está buscando una solución rápida, puede simplemente ejecutar un servidor web independiente que otros ordenadores pueden utilizar como primera réplica.:

    # ln -s /var/lib/pacman/sync/*.db /var/cache/pacman/pkg
    $ sudo -u http darkhttpd /var/cache/pacman/pkg --no-server-id

También podría ejecutar darkhttpd como un servicio systemd para su comodidad.Solo agregue este servidor en la parte superior de su `/etc/pacman.d/mirrorlist` in client machines with `Server = http://mymirror:8080`.Asegúrese de mantener su réplica actualizada .

#### Distribución de caché de solo lectura

Existen herramientas específicas de Arch para descubrir automáticamente otros equipos de la red que ofrecen una caché de paquetes. Intente pacserve, pkgdistcacheAUR, o paclanAUR. pkgdistcache utilize Avahi en lugar de UDP el cual puede funcionar mejor en ciertas redes domésticas que enrutan en lugar de tender un puente entre WiFi y Ethernet .

Históricamente, hubo PkgD y multipkg, pero ya no se mantienen.

#### Caché de lectura y escritura

Para compartir paquetes entre varios equipos, simplemente comparta `/var/cache/pacman/` utilizando cualquier protocolo de montaje basado en red. Esta sección muestra cómo usar shfs o SSHFS para compartir una caché de paquetes más los directorios de biblioteca relacionados entre múltiples ordenadores de la misma red local. Tenga en cuenta que una caché compartida en red puede ser lenta dependiendo de la elección del sistema de archivos, entre otros factores.

Primero, instale cualquier paquete de sistema de ficheros que soporte la red: shfs-utils, sshfs, curlftpfs, samba or nfs-utils.

Sugerencia:

- Para usar sshfs o shfs, considere leer Using SSH Keys.
- Por defecto, smbfs no sirve nombres de archivo que contengan dos puntos, lo que hace que el cliente descargue de nuevo el paquete otra vez. Para evitarlo, utilice la función `mapchars` opción de montaje en el cliente.

Luego, para compartir los paquetes actuales, monte `/var/cache/pacman/pkg` del servidor a `/var/cache/pacman/pkg` en cada máquina cliente

Nota: No haga `/var/cache/pacman/pkg` ni a ninguno de sus antecesores (e.g., `/var`) un enlace simbólico Pacman espera que estos sean directorios. Cuando pacman se reinstale o actualice, eliminará los enlaces simbólicos y creará directorios vacíos. Sin embargo, durante la operación pacman se basará en algunos archivos que residen allí, rompiendo así el proceso de actualización. Consulte FS#50298 para más detalles.

#### de doble sentido con rsync

Otro enfoque en un entorno local es rsync. Elija un servidor para el almacenamiento en caché y active el Rsync#rsync daemon. En los clientes, sincronice bidireccionalmente con este recurso compartido mediante el protocolo rsync. Los nombres de archivo que contienen dos puntos no son un problema para el protocolo rsync.

Ejemplo para un cliente, utilizando `uname -m` dentro del nombre compartido asegura una arquitectura dependiente sync:

     # rsync rsync://server/share_$(uname -m)/ /var/cache/pacman/pkg/ ...
     # pacman ...
     # paccache ...
     # rsync /var/cache/pacman/pkg/ rsync://server/share_$(uname -m)/  ...

#### Caché de proxy inverso dinámico usando nginx

nginx puede utilizarse para realizar peticiones proxy a las réplicas ascendentes oficiales y almacenar los resultados en caché en el disco local. Todas las solicitudes posteriores de ese archivo se servirán directamente desde la caché local, lo que minimiza la cantidad de tráfico de Internet necesario para actualizar un gran número de servidores con el mínimo esfuerzo.

Advertencia: Este método tiene una limitación. Debe usar réplicas que usan la misma ruta relativa a los archivos del paquete y debe configurar su caché para usar esa misma ruta. En este ejemplo, estamos usando réplicas que usan la ruta relativa `/archlinux/$repo/os/$arch` y la configuración de nuestro `Server` en `mirrorlist` está configuradara de forma similar.

En este ejemplo, ejecutaremos el servidor de caché en `http://cache.domain.local:8080/` y almacenaremos los paquetes en `/srv/http/pacman-cache/`.

Cree el directorio para la memoria caché y ajuste los permisos para que nginx pueda escribir archivos en ella:

     # mkdir /srv/http/pacman-cache
     # chown http:http /srv/http/pacman-cache

A continuación, configure nginx como la opción dynamic cache (lea los comentarios para una explicación de los comandos).

Finalmente, actualice sus otros servidores Arch Linux para usar esta nueva caché agregando la siguiente línea al archivo `mirrorlist`:

    /etc/pacman.d/mirrorlist

    Server = http://cache.domain.local:8080/archlinux/$repo/os/$arch
    ...

Nota: Habrá que crear un método para borrar paquetes viejos, ya que este directorio continuará creciendo con el tiempo. `paccache` (que se incluye con pacman) se puede utilizar para automatizarlo , utilizando criterios de retención de su elección. Por ejemplo, `find /srv/http/pacman-cache/ -type d -exec paccache -v -r -k 2 -c {} \;` mantendrá las dos últimas versiones de los paquetes en su directorio de caché.

#### Sincronice la memoria caché de pacman utilizando programas de sincronización

Use Resilio Sync o Syncthing para sincronizar las carpetas de la caché de "pacman" (i.e. `/var/cache/pacman/pkg`).

#### Prevención de limpiezas de caché no deseadas

Por defecto, `pacman -Sc` elimina los paquetes tarballs de la caché que corresponden a paquetes que no están instalados en la máquina en la que se emitió el comando. Dado que "pacman" no puede predecir qué paquetes están instalados en todos los equipos que comparten la caché, acabará eliminando archivos que no deberían estarlo.

Para limpiar la caché de forma que sólo se eliminen los tarballs obsoletos, añada esta entrada en el archivo `[options]` en la sección de `/etc/pacman.conf`:

    CleanMethod = KeepCurrent

### Reconstituir un paquete del sistema de archivos

Para reconstituir un paquete desde el sistema de archivos, use bacman (incluido con pacman ). Los archivos del sistema se toman tal como están, por lo tanto, cualquier modificación estará presente en el paquete ensamblado. Por lo tanto, se desaconseja la distribución del paquete reconstituido; ver ABS y Arch Linux Archive para las alternativas.

Sugerencia: bacman respeta las opciones de `PACKAGER`, `PKGDEST` y `PKGEXT` de `makepkg.conf`. Las opciones personalizadas para las herramientas de compresión se pueden configurar exportando la variable de entorno relevante, por ejemplo `XZ_OPT = "- T 0"` habilitará la compresión paralela para xz .

Una herramienta alternativa sería fakepkgAUR. Es compatible con la paralelización y puede manejar múltiples paquetes de entrada en un comando, lo que bacman no soporta.

### Lista de paquetes instalados

Mantener una lista de paquetes instalados explícitamente puede ser útil para acelerar la instalación en un nuevo sistema:

    $ pacman -Qqe > pkglist.txt

Nota: Si se usó la opción `-t` al reinstalar la lista, todos los paquetes que no sean de nivel superior se establecerán como dependencias. Con la opción `-n`, los paquetes externos (por ejemplo, de AUR) se omitirán de la lista.

Para instalar paquetes de la copia de seguridad de la lista, ejecute:

    # pacman -S - < pkglist.txt

Sugerencia:

- Para omitir los paquetes ya instalados, use `--needed`.
- Use `comm -13 <(pacman -Qqdt | sort) <(pacman -Qqdtt | sort) > optdeplist.txt` para crear también una lista de las dependencias opcionales instaladas que se pueden reinstalar con `--asdeps`.

En caso de que la lista incluya paquetes externos, como paquetes AUR, quítelos primero:

    # pacman -S $(comm -12 <(pacman -Slq | sort) <(sort pkglist.txt))

Para eliminar todos los paquetes en su sistema que no se mencionan en la lista:

    # pacman -Rsu $(comm -23 <(pacman -Qq | sort) <(sort pkglist.txt))

Sugerencia: Estas tareas pueden ser automatizadas. Consulte bacpacAUR, packupAUR, pacmanityAUR y pugAUR por ejemplo.

Si desea mantener una lista actualizada de los paquetes explícitamente instalados (e.g. en combinación con una versión `/etc/`), puede configurar un hook. Ejemplo:

    [Trigger]
    Operation = Install
    Operation = Remove
    Type = Package
    Target = *

    [Action]
    When = PostTransaction
    Exec = /bin/sh -c '/usr/bin/pacman -Qqe > /etc/packages.txt'

### Listado de todos los archivos modificados de los paquetes

Si sospecha que hay corrupción de archivos (por ejemplo, por fallos de software o hardware), pero no está seguro de si los archivos se corrompieron, es posible que desee compararlos con las sumas de hash de los paquetes. Esto se puede hacer con pacutils:

    # paccheck --md5sum --quiet

Para la recuperación de la base de datos, véase #Restaurar la base de datos local de pacman. Los archivos `mtree` también pueden ser extraído como `.MTREE` de los respectivos archivos del paquete.

Nota: ¡Esto no debe usarse cuando se sospeche de cambios maliciosos! En este caso, se recomiendan precauciones de seguridad, como usar un medio en vivo o una fuente independiente para las sumas de hash.

### Reinstalar todos los paquetes

Para reinstalar todos los paquetes originales, use:

    # pacman -Qnq | pacman -S -

Los paquetes externos (AUR) deben reinstalarse por separado; puede listarlos con `pacman -Qmq`.

Pacman conserva el Motivo de la instalación por defecto.

### Restaurar la base de datos local de pacman

Véase Pacman/Restore local database.

### Recuperar una memoria USB desde la instalación existente

Si tiene Arch instalado en una memoria USB y se las arregla para estropearlo ( por ejemplo, quitándola mientras todavía está siendo escrita), entonces es posible reinstalar todos los paquetes y esperar que vuelva a funcionar (suponiendo que la memoria USB está montada en `/newarch`)

    # pacman -S $(pacman -Qq --dbpath /newarch/var/lib/pacman) --root /newarch --dbpath /newarch/var/lib/pacman

### Visualización de un único archivo dentro de un .pkg

Por ejemplo, si desea ver el contenido de `/etc/systemd/logind.conf` suministrado dentro del paquete systemd:

    $ tar -xOf /var/cache/pacman/pkg/systemd-204-3-x86_64.pkg.tar.xz etc/systemd/logind.conf

O puede usar vim para explorar el archivo:

    $ vim /var/cache/pacman/pkg/systemd-204-3-x86_64.pkg.tar.xz

### Buscar aplicaciones que usan bibliotecas de paquetes antiguos

Incluso después de haber instalado un paquete, los programas existentes que se ejecutan desde hace mucho tiempo (como los demonios y los servidores) siguen utilizando código de antiguas bibliotecas.Y es una mala idea dejar que estos programas se ejecuten si la biblioteca anterior contiene un error de seguridad.

Esta es una manera de encontrar todos los programas que usan código de paquetes antiguos:

    # lsof +c 0 | grep -w DEL | awk '1 { print $1 ": " $NF }' | sort -u

Imprimirá el nombre del programa en ejecución y la biblioteca antigua que se eliminó o reemplazó con contenido más reciente.

## Optimización

### Velocidades de acceso a la base de datos

Pacman almacena toda la información del los paquetes en una colección de archivos pequeños, uno por cada paquete. La mejora de las velocidades de acceso a la base de datos reduce el tiempo necesario en las tareas relacionadas con esta, por ejemplo, buscar paquetes y resolver las dependencias. El método más seguro y fácil es ejecutarlo como root:

     # pacman-optimize

Esto intentará poner todos los archivos pequeños juntos en una ubicación (física) en el disco duro para que la cabeza del disco no tenga que moverse tanto al acceder a todos los datos. Este método es seguro, pero no es infalible, depende del sistema de archivos, el uso del disco y la fragmentación del espacio vacío. Otra opción más agresiva sería eliminar primero los paquetes desinstalados de la caché y eliminar los repositorios no utilizados antes de la optimización de la base de datos:

     # pacman -Sc && pacman-optimize

### Velocidades de descarga

Nota: Si las velocidades de descarga se han reducido , asegúrese de que está utilizando uno de los muchos mirrors y no ftp.archlinux.org, que está saturado desde marzo de 2007.

Al descargar paquetes pacman usa los mirrors en el orden en que están en `/etc/pacman.d/mirrorlist` .Sin embargo los mirrors que está en la parte superior de la lista , pueden no ser los más rápido para usted. Para seleccionar los mirrors más rápidos, consulte Mirrors.

La velocidad de pacman en la descarga de paquetes también puede ser mejorada mediante el uso de una aplicación diferente para descargar paquetes, en lugar del descargador de archivos integrado de pacman.

En todos los casos, asegúrese de tener la última pacman antes de hacer cualquier modificación.

     # pacman -Syu

#### Powerpill

Powerpill es un envoltorio de Pacman que utiliza la descarga paralela y segmentada para tratar de acelerar las descargas de Pacman.

#### Wget

Esto también es muy útil si necesita configuraciones proxy más potentes que las capacidades incorporadas de pacman.

Para usar `wget` , primero instale el paquete wget y luego modifique `/etc/pacman.conf` descomentando la siguiente línea en la sección `[options]` :

     XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u

En lugar de descomentar los parámetros de `wget` en `/etc/pacman.conf` , también puede modificar el archivo de configuración de `wget` directamente , el archivo de todo el sistema es `/etc/wgetrc` o por usuario , el archivo es `$HOME/.wgetrc` .

#### Aria2

aria2 es una utilidad de descarga de peso ligero con soporte para HTTP / HTTPS y transferencias directas continuas y segmentadas. Aria2 permite múltiples y simultáneas conexiones HTTP / HTTPS y FTP a un mirror de Arch, lo que debería dar como resultado un aumento en las velocidades de descarga para la recuperación de archivos y paquetes.

Nota: El uso de aria2c en XferCommand de pacman no dará lugar a descargas paralelas de varios paquetes. Pacman invoca el XferCommand con un solo paquete a la vez y espera a que se complete antes de invocar el siguiente. Para descargar varios paquetes en paralelo, consulte Powerpill.

Instale aria2 y luego edite `/etc/pacman.conf` agregando la siguiente línea a la sección `[options]` :

    XferCommand = /usr/bin/aria2c --allow-overwrite=true --continue=true --file-allocation=none --log-level=error --max-tries=2 --max-connection-per-server=2 --max-file-not-found=5 --min-split-size=5M --no-conf --remote-time=true --summary-interval=60 --timeout=5 --dir=/ --out %o %u

Sugerencia: Esta configuración alternativa para usar pacman con aria2 intenta simplificar la configuración y añade más opciones de configuración.

Vea OPTIONS en aria2c(1) para usar las configuraciones de aria2.

- `-d, --dir`: El directorio para almacenar los archivo(s) descargado según lo especificado por pacman .
- `-o, --out`: El nombre(s) de archivo(s) de salida descargado(s).
- `%o`: Variable que representa el nombre(s) de archivo(s) local especificado por pacman.
- `%u`: Variable que representa la URL de descarga especificada por pacman.

#### Otras aplcaciones

Hay otras aplicaciones de descarga que puede usar con pacman . Aquí están, y su configuración asociada de XferCommand

- `snarf`: `XferCommand = /usr/bin/snarf -N %u`
- `lftp`: `XferCommand = /usr/bin/lftp -c pget %u`
- `axel`: `XferCommand = /usr/bin/axel -n 2 -v -a -o %o %u`
- `hget`: `XferCommand = /usr/bin/hget %u -n 2 -skip-tls false` (por favor lea documentation on the Github project page for para mas información)

## Utilidades

- Lostfiles — Script que identifica archivos que no son propiedad de ningún paquete.

  https://github.com/graysky2/lostfiles || lostfiles

- Pacmatic — Envoltura de Pacman para comprobar notícias de Arch antes de la actualización, evitar actualizaciones parciales y advertir sobre cambios en el archivo de configuración.

  http://kmkeen.com/pacmatic || pacmatic

- pacutils — Biblioteca de ayuda para programas basados en libalpm.

  https://github.com/andrewgregory/pacutils || pacutils

- pkgfile — Es una herramienta para buscar ficheros en paquetes.

  http://github.com/falconindy/pkgfile || pkgfile

- pkgtools — Colección de scripts para los paquetes de Arch Linux.

  https://github.com/Daenyth/pkgtools || pkgtoolsAUR

- repoctl — Herramienta para ayudar a gestionar repositorios locales.

  https://github.com/cassava/repoctl || repoctlAUR

- repose — Una herramienta de construcción de repositorios Arch Linux.

  https://github.com/vodik/repose || repose

- snap-pac — Haga que pacman utilice automáticamente snapper para crear instantáneas previas y posteriores como YaST de openSUSE.

  https://github.com/wesbarnett/snap-pac || snap-pac

### Front-ends gráficos

Advertencia: Algunos front-ends como octopiAUR [1] or pamac-aurAUR [2] realizan partial upgrades periódicamente.

- Aarchup — Fork de archup. Tiene las mismas opciones que archup más algunas otras características. Para las diferencias entre ambos, compruebe changelog.

  https://github.com/aericson/aarchup/ || aarchupAUR

- Arch-Update — Indicador de actualización para Gnome-Shell.

  https://github.com/RaphaelRochet/arch-update || gnome-shell-extension-arch-updateAUR

- Arch-Update-Notifier — Indicador de actualización para KDE.

  https://github.com/I-Dream-in-Code/kde-arch-update-plasmoid || plasma5-applets-kde-arch-update-notifier-gitAUR

- Discover — Una colección de herramientas de administración de paquetes para KDE, utilizando PackageKit.

  https://projects.kde.org/projects/kde/workspace/discover || discover

- GNOME packagekit — Herramienta de gestión de paquetes basada en GTK.

  http://www.freedesktop.org/software/PackageKit/ || gnome-packagekit

- GNOME Software — Gnome Software App. (Selección conservada por GNOME)

  https://wiki.gnome.org/Apps/Software || gnome-software

- kalu — Una pequeña aplicación que agregará un ícono a su bandeja de sistema, verificando regularmente si hay nuevas actualizaciones.

  https://jjacky.com/kalu/ || kaluAUR

- pcurses — Gestión de paquetes en una interfaz de curses

  https://github.com/schuay/pcurses || pcurses

- PkgBrowser — Aplicación para buscar y explorar paquetes de Arch, muestra detalles sobre paquetes seleccionados.

  https://bitbucket.org/kachelaqa/pkgbrowser/wiki/Home || pkgbrowserAUR

- tkPacman — Depende solo de Tcl/Tk y X11, e interactúa con la base de datos del paquete a través de la CLI de pacman.

  http://sourceforge.net/projects/tkpacman || tkpacmanAUR

Category:

- Package management (Español)

Hidden category:

- Pages or sections flagged with Template:Merge