Ejemplos de comandos de Alpine Linux Apk

Esta guía explica qué es apk administrador de paquetes y cómo realizar varias operaciones de administración de paquetes de Alpine Linux utilizando el administrador de paquetes de línea de comando Apk con ejemplos.

Una breve introducción al administrador de paquetes apk

apk, significa A lpino PAGS paquete k eeper, es el administrador de paquetes predeterminado para Alpine Linux. Se utiliza para instalar, actualizar, actualizar, buscar, enumerar y eliminar paquetes en un sistema Alpine Linux en ejecución. Apk es la parte de apk-tools paquete que viene preinstalado en todas las versiones de Alpine Linux.

Apk recupera paquetes, así como información sobre los paquetes disponibles en los repositorios en línea. Cada repositorio contiene un archivo de índice especial, llamado APKINDEX.tar.gz . Todos los paquetes de software almacenados en un repositorio están firmados digitalmente tar.gz archivo. tienen la extensión .apk y a menudo se les llama “paquetes” .

A partir de la versión 3.3 de Alpine Linux, hay dos repositorios habilitados de forma predeterminada. Ellos son – main y community .

los [main] El repositorio consta de paquetes probados minuciosamente y respaldados oficialmente por el equipo central de Alpine Linux. los [community] El repositorio contiene los paquetes compatibles con la comunidad que se aceptan desde el [testing] o [edge] repositorio. los [testing] repositorio suelen tener los paquetes nuevos, rotos y/o desactualizados. No se proporciona soporte para este repositorio y no está incluido en las instantáneas de la versión.

Todos los repositorios están configurados en /etc/apk/repositories expediente. Echemos un vistazo al contenido de este archivo usando cat mando:

                      
                        $ cat /etc/apk/repositories
                      
                    

Salida de muestra:

                      
                        https://sjc.edge.kernel.org/alpine/
                        
                          
                            edge
                          
                        
                        /main
https://sjc.edge.kernel.org/alpine/
                        
                          
                            edge
                          
                        
                        /community
                      
                    
Archivo de configuración de repositorios Alpine Linux

Cada línea en el archivo anterior indica un repositorio. Como puede ver en la salida anterior, he habilitado [edge] repositorio, por lo que es una versión de lanzamiento continua.

Si está utilizando una versión estable, debería haber visto el número de versión, por example v3.12 como abajo:

                      
                        https://sjc.edge.kernel.org/alpine/
                        
                          
                            v3.12
                          
                        
                        /main
https://sjc.edge.kernel.org/alpine/
                        
                          
                            v3.12
                          
                        
                        /community
                      
                    

Ejemplos de comandos apk para instalar y administrar paquetes en Alpine Linux

La administración de paquetes usando apk en Alpine Linux es bastante simple y directa. Apk no incluye muchas opciones y la sintaxis es más fácil de recordar.

El uso típico del administrador de paquetes apk es:

                      
                        apk [<OPTIONS>...] COMMAND [<ARGUMENTS>...]
                      
                    

Permítame mostrarle algunos comandos importantes para las operaciones diarias.

1. Muestra la ayuda del comando apk

Si es nuevo en apk, puede ver la sección de ayuda del comando apk en cualquier momento ejecutando este comando:

                      
                        $ apk --help
                      
                    

apk tiene muchos subcomandos para realizar una operación específica. Para mostrar la sección de ayuda de un subcomando, ejecute:

                      
                        $ apk add --help
                      
                    

2. Actualizar la lista de paquetes en Alpine Linux

Para obtener la lista de paquetes disponibles en los repositorios de Alpine Linux, simplemente ejecute:

                      
                        $ sudo apk update
                      
                    

Salida de muestra:

                      
                        fetch https://sjc.edge.kernel.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
fetch https://sjc.edge.kernel.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
v20201218-310-g44bdae590f [https://sjc.edge.kernel.org/alpine/edge/main]
v20201218-333-ga9f7a8a644 [https://sjc.edge.kernel.org/alpine/edge/community]
OK: 13780 distinct packages available
                      
                    
Actualizar la lista de paquetes en Alpine Linux

Como puede ver en la salida anterior, actualmente hay 13780 paquetes disponibles en los repositorios de Alpine. Tenga en cuenta que estos no son el número total de paquetes instalados localmente, sino el número total de paquetes disponibles.

3. Instalar paquetes en Alpine Linux

Para agregar o instalar un paquete, por example empuje en Alpine Linux, simplemente ejecute:

                      
                        $ sudo apk add vim
                      
                    

El comando anterior instalará vim y sus dependencias.

                      
                        (1/3) Installing xxd (8.2.2137-r0)
(2/3) Installing lua5.3-libs (5.3.6-r0)
(3/3) Installing vim (8.2.2137-r0)
Executing busybox-1.32.0-r8.trigger
OK: 163 MiB in 87 packages
                      
                    
Instalar paquetes en Alpine Linux Instalar paquetes en Alpine Linux

Del mismo modo, puede agregar varios paquetes mencionándolos con un espacio como el siguiente:

                      
                        $ sudo apk PackageName1 PackageName2
                      
                    

3.1. Instalar paquetes locales

Si ya ha descargado un paquete, puede instalarlo como se muestra a continuación.

                      
                        $ sudo apk add --allow-untrusted vim-8.2.2137-r0.apk
                      
                    

También puede instalar varios paquetes:

                      
                        $ sudo apk add --allow-untrusted PackageName1.apk PackageName2.apk PackageName3.apk
                      
                    

4. Eliminar paquetes en Alpine Linux

Para desinstalar o eliminar un paquete instalado de su sistema Alpine Linux, ejecute:

                      
                        $ sudo apk del vim
                      
                    

Este comando eliminará vim y sus dependencias.

                      
                        (1/3) Purging vim (8.2.2137-r0)
(2/3) Purging xxd (8.2.2137-r0)
(3/3) Purging lua5.3-libs (5.3.6-r0)
Executing busybox-1.32.0-r8.trigger
OK: 144 MiB in 84 packages
                      
                    
Eliminar paquetes en Alpine Linux Eliminar paquetes en Alpine Linux

Si desea eliminar varios paquetes, menciónelos con espacios separados.

5. Buscar paquetes en Alpine Linux

Los repositorios de Alpine Linux contienen más de 13.000 paquetes. Puede enumerar todos los paquetes disponibles, junto con su descripción, usando el comando:

                      
                        $ apk search -v
                      
                    

Salida de muestra:

                      
                        kleopatra-20.08.3-r0 - Certificate Manager and Unified Crypto GUI
py3-libevdev-0.9-r0 - Python3 wrapper around the evdev library
telepathy-farstream-dev-0.6.2_git20190919-r0 - Telepathy GLib-based client library that uses Farstream to handle Call channels (development files)
vulkan-loader-1.2.137-r0 - Vulkan Installable Client Driver (ICD) Loader
mtd-utils-ubi-2.1.2-r0 - MTD utils (UBI and UBIFS commands)
hwids-udev-20201207-r0 - Hardware identification databases (udev integration)
py3-rsa-4.6-r0 - Pure-Python3 RSA implementation
[...]
                      
                    

Para mostrar solo el número total de paquetes, canalice la salida a wc comando como a continuación:

                      
                        $ apk search -v | wc -l
                      
                    

También puede obtener la lista de todos los paquetes que coinciden con un patrón. Para exampleel siguiente comando mostrará todos los paquetes que coincidan con el término de búsqueda “vim”.

                      
                        $ apk search -v 'vim*'
                      
                    

Si solo desea mostrar los paquetes que contienen un término específico en su descripción correr:

                      
                        $ apk search -v --description 'disk'
                      
                    

O, brevemente, use -d cambiar:

                      
                        $ apk search -v -d 'disk'
                      
                    

6. Mostrar detalles del paquete en Alpine Linux

Para mostrar los detalles de un paquete específico, podemos usar info comando como a continuación:

                      
                        $ apk info vim
                      
                    

Verá la pequeña descripción del paquete dado y su sitio web donde está alojado.

Salida de muestra:

                      
                        vim-8.2.2137-r0 description:
Improved vi-style text editor

vim-8.2.2137-r0 webpage:
https://www.vim.org/

vim-8.2.2137-r0 installed size:
18 MiB

gvim-8.2.2137-r0 description:
advanced text editor, with GUI

gvim-8.2.2137-r0 webpage:
https://www.vim.org/

gvim-8.2.2137-r0 installed size:
29 MiB
                      
                    
Mostrar detalles del paquete en Alpine Linux Mostrar detalles del paquete en Alpine Linux

Como puede ver, este comando no solo enumera los detalles del paquete vim, sino también los detalles de los otros paquetes que contienen el patrón “vim” en su nombre.

Si desea información detallada sobre el paquete dado y sus dependencias, use -a bandera.

                      
                        $ apk info -a vim
                      
                    

El comando anterior mostrará los siguientes detalles:

  • Descripción del paquete.
  • sitio web del paquete.
  • tamaño instalado (es decir, el tamaño requerido por el paquete después de instalarlo).
  • el contenido del paquete (es decir, la lista de archivos que instala el paquete).
  • Dependencias de paquetes, es decir, qué paquetes se requieren para usar este.
  • qué paquetes requieren que este sea instalado.
  • y más.

7. Lista de paquetes instalados en Alpine Linux

Para ver la lista de todos los paquetes instalados en su sistema Alpine Linux, ejecute:

                      
                        $ apk info
                      
                    

Salida de muestra:

                      
                        lm_sensors
man
virtualbox-guest-modules-virt
musl
libcrypto1.1
libssl1.1
apk-tools
musl-utils
busybox
alpine-baselayout
[...]
                      
                    

También puede enumerar los paquetes instalados con su número de versión y descripción:

                      
                        $ apk info -vv
                      
                    

Salida de muestra:

                      
                        lm_sensors-3.4.0-r6 - Collection of user space tools for general SMBus access and hardware monitoring.
man-1.14.3-r0 - dummy package for upgrade compatibility.  this can safely be removed
virtualbox-guest-modules-virt-4.14.167-r0 - VirtualBox Additions kernel modules for virt
musl-1.2.2_pre6-r0 - the musl c library (libc) implementation
libcrypto1.1-1.1.1i-r0 - Crypto library from openssl
libssl1.1-1.1.1i-r0 - SSL shared libraries
apk-tools-2.12.0-r3 - Alpine Package Keeper - package manager for alpine
musl-utils-1.2.2_pre6-r0 - the musl c library (libc) implementation
busybox-1.32.0-r8 - Size optimized toolbox of many common UNIX utilities
alpine-baselayout-3.2.0-r8 - Alpine base dir structure and init scripts
[...]
                      
                    

Enumere solo el número total de paquetes instalados:

                      
                        $ apk info | wc -l
87
                      
                    

8. Paquetes de actualización en Alpine Linux

Para actualizar un paquete específico, ejecute:

                      
                        $ sudo apk update
                      
                    
                      
                        $ sudo apk add -u vim
                      
                    

O,

                      
                        $ sudo apk add --upgrade vim
                      
                    

Para actualizar todos los paquetes instalados, ejecute:

                      
                        $ sudo apk update
                      
                    
                      
                        $ sudo apk upgrade
                      
                    

También puede combinar el comando anterior en uno como el siguiente:

                      
                        $ sudo apk -U upgrade
                      
                    
Paquetes de actualización en Alpine Linux Paquetes de actualización en Alpine Linux

9. Actualice Alpine Linux

¡Actualizar un Alpine Linux en ejecución a la próxima versión disponible es fácil! Alpine Linux viene en dos ediciones:

  • estable
  • liberación rodante (borde)

Puede actualizar de la versión estable actual a una versión más nueva o convertir una versión estable en una versión de lanzamiento continuo.

Instrucciones más detalladas están disponibles en la siguiente guía:

  • Cómo actualizar Alpine Linux a la última versión

10. Retenga un paquete de actualización

A veces, desea evitar o detener la actualización automática de un paquete por algún motivo al actualizar su sistema Alpine Linux. Puede haber muchas razones para retener un paquete. Por ejemplo, una aplicación requiere una versión particular para funcionar correctamente. O el nuevo paquete puede romper su sistema. Por lo tanto, desea ignorar que los paquetes se actualicen cuando actualice el sistema.

Para retener un paquete específico de la actualización, use cualquiera de los siguientes comandos:

                      
                        $ sudo apk add vim=8.2.0-r0
                      
                    

O,

                      
                        $ sudo apk add 'vim<8.2.1'
                      
                    

Y luego, actualice el sistema usando el comando:

                      
                         $ sudo apk upgrade
                      
                    

Este comando actualizará todos los paquetes, pero mantendrá el paquete vim en la versión 8.2.0 o inferior.

Más tarde puede actualizar el paquete vim a la versión actualmente disponible como se muestra a continuación:

                      
                        $ sudo apk add 'vim>8.2.1'
                      
                    

También puede usar la coincidencia de versiones “inexactas” para fijar la versión a una versión principal/secundaria. Por ejemplo, el siguiente comando coincidirá con cualquier versión de vim que comience con 8.2.

                      
                        $ sudo apk add 'vim=~8.2'
                      
                    

Lectura relacionada:

  • Cómo ignorar la actualización de un paquete en Arch Linux
  • Cómo evitar que un paquete se actualice en Debian , Ubuntu

11. Descargar paquetes en Alpine Linux

A veces, desea descargar un paquete específico pero no desea instalarlo. Por ejemplo, descarguemos el paquete vim usando el comando:

                      
                        $ apk fetch vim
                      
                    

El comando anterior mostrará el paquete vim de los repositorios de Alpine y lo guardará en el directorio actual.

                      
                        $ ls
vim-8.2.2137-r0.apk
                      
                    

Si desea guardar el paquete en una ruta diferente, use -o cambiar.

                      
                        $ apk fetch vim -o ~/Downloads
                      
                    

Tenga en cuenta que este comando no descargará todas las dependencias requeridas, sino solo el paquete real.

Para descargar el paquete dado junto con todas las dependencias requeridas, use -R ( --recursive ) bandera:

                      
                        $ apk fetch -R vim
                      
                    

Salida de muestra:

                      
                        Downloading xxd-8.2.2137-r0
Downloading ncurses-libs-6.2_p20201219-r0
Downloading musl-1.2.2_pre6-r0
Downloading lua5.3-libs-5.3.6-r0
Downloading vim-8.2.2137-r0
Downloading ncurses-terminfo-base-6.2_p20201219-r0
                      
                    

Puede instalar los paquetes descargados localmente como se muestra en 3.1. Instalar paquetes locales sección.

12. Muestra los detalles del repositorio de un paquete

Es posible que desee encontrar de qué repositorio proviene un paquete. Apk también tiene un subcomando para eso.

Para mostrar el repositorio de un paquete (Ej. vim ) se instaló y se actualizará desde, use apk policy mando:

                      
                        $ apk policy vim
                      
                    

Salida de muestra:

                      
                        vim policy:
  8.2.2137-r0:
    lib/apk/db/installed
    etc/apk/cache

                        
                              https://sjc.edge.kernel.org/alpine/edge/main
                        
                      
                    

Como puede ver, el paquete vim ha sido instalado desde el [main] repositorio.

13. Mostrar estadísticas de paquetes y repositorios

Podemos imprimir las estadísticas sobre los paquetes instalados y los repositorios de paquetes usando el comando:

                      
                        $ apk stats
                      
                    

Salida de muestra:

                      
                        installed:
  packages: 87
  dirs: 485
  files: 9617
  bytes: 171270144
  triggers: 5
available:
  names: 30975
  packages: 13773
atoms:
  num: 9761
                      
                    

14. Limpiar caché de paquetes

De forma predeterminada, todos los paquetes instalados se almacenan en caché en /etc/apk/cache/ directorio. Cuando se agregan paquetes más nuevos a la memoria caché, las versiones anteriores de los paquetes permanecen de manera predeterminada.

Si no desea las versiones anteriores de los paquetes, simplemente puede borrar el caché del paquete usando el comando:

                      
                        $ sudo apk cache clean
                      
                    

Si desea ver qué versiones se eliminan, use el interruptor -v (detallado):

                      
                        $ sudo apk -v cache clean
                      
                    

Si accidentalmente eliminó paquetes del caché, puede descargarlos usando el comando:

                      
                        $ sudo apk cache download
                      
                    

También puede eliminar el caché y descargar el paquete faltante con un solo comando:

                      
                        $ sudo apk cache -v sync
                      
                    

Espero que esto ayude.

Recurso:

Lectura relacionada:

  • Cómo instalar páginas man en Alpine Linux

Related Posts