GNU/Linux >> Tutoriales Linux >  >> Linux

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 P 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 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 denominan "a-packs" .

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

El [main] El repositorio consta de paquetes probados minuciosamente y respaldados oficialmente por el equipo central de Alpine Linux. La [community] El repositorio contiene los paquetes compatibles con la comunidad que se aceptan de [testing] o [edge] repositorio. El [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 comando:

$ cat /etc/apk/repositories

Salida de muestra:

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

Cada línea en el archivo anterior indica un repositorio. Como puede ver en el resultado 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 ejemplo, v3.12 , como a continuación:

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. Mostrar 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 lista de paquetes en Alpine Linux

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

$ sudo apk upgrade

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

Como puede ver en el resultado 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 ejemplo vim , 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

Del mismo modo, puede agregar varios paquetes al mencionarlos 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

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 listar 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. Por ejemplo, el 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 , ejecuta:

$ 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

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 esté 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 upgrade
$ sudo apk add -u vim

O,

$ sudo apk add --upgrade vim

Para actualizar todos los paquetes instalados, ejecute:

$ sudo apk upgrade
$ sudo apk upgrade

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

$ sudo apk -U upgrade

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. Retener 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 detener la actualización de un paquete específico, 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 disponible actualmente 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. Mostrar 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 (por ejemplo, vim ) se instaló y se actualizará desde, use apk policy comando:

$ 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 se instaló desde [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 modificador -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.


Linux
  1. Ejemplos de comandos rm en Linux

  2. Ejemplos de comandos ps en Linux

  3. Ejemplos de comandos sa en Linux

  4. w Ejemplos de comandos en Linux

  5. Ejemplos de comandos ac en Linux

9 ejemplos de comandos diff en Linux

Comando ip de Linux con ejemplos

15 comandos ps de Linux con ejemplos

Introducción a los ejemplos de comandos de Alpine Linux Apk

Ejemplos de comandos id en Linux

Comando apt Linux con ejemplos