GNU/Linux >> Tutoriels Linux >  >> Linux

Exemples de commandes Alpine Linux Apk

Ce guide explique ce qu'est Apk gestionnaire de packages et comment effectuer diverses opérations de gestion de packages Alpine Linux à l'aide du gestionnaire de packages de ligne de commande Apk avec des exemples.

Une brève introduction au gestionnaire de packages apk

Apk, signifie A lpine P forfait K eeper, est le gestionnaire de paquets par défaut pour Alpine Linux. Il est utilisé pour installer, mettre à jour, mettre à niveau, rechercher, répertorier et supprimer des packages sur un système Alpine Linux en cours d'exécution. Apk fait partie de apk-tools qui est préinstallé dans toutes les versions d'Alpine Linux.

Apk récupère les packages ainsi que des informations sur les packages disponibles dans les référentiels en ligne. Chaque dépôt contient un fichier d'index spécial, nommé APKINDEX.tar.gz . Tous les packages logiciels stockés dans un référentiel sont signés numériquement tar.gz les archives. Ils ont l'extension .apk , et sont souvent appelés "a-packs" .

À partir de la version 3.3 d'Alpine Linux, deux référentiels sont activés par défaut. Ils sont - main et community .

Le [main] Le référentiel se compose des packages qui sont soigneusement testés et officiellement pris en charge par l'équipe principale d'Alpine Linux. La [community] le référentiel contient les packages pris en charge par la communauté qui sont acceptés depuis le [testing] ou [edge] dépôt. Le [testing] Le référentiel contient généralement les packages nouveaux, cassés et/ou obsolètes. Aucun support n'est fourni pour ce référentiel et il n'est pas inclus dans les instantanés de version.

Tous les référentiels sont configurés dans /etc/apk/repositories dossier. Examinons le contenu de ce fichier en utilisant cat commande :

$ cat /etc/apk/repositories

Exemple de résultat :

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

Chaque ligne du fichier ci-dessus indique un référentiel. Comme vous pouvez le voir dans la sortie ci-dessus, j'ai activé [edge] référentiel, il s'agit donc d'une version mobile.

Si vous utilisez une version stable, vous devriez avoir vu le numéro de version, par exemple v3.12 , comme ci-dessous :

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

Exemples de commandes Apk pour installer et gérer des packages dans Alpine Linux

La gestion des packages à l'aide d'apk dans Alpine Linux est assez simple et directe. Apk n'inclut pas beaucoup d'options et la syntaxe est plus facile à retenir.

L'utilisation typique du gestionnaire de packages apk est :

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

Laissez-moi vous montrer quelques commandes importantes pour les opérations quotidiennes.

1. Afficher l'aide de la commande apk

Si vous êtes nouveau sur apk, vous pouvez afficher la section d'aide de la commande apk à tout moment en exécutant cette commande :

$ apk --help

apk a de nombreuses sous-commandes pour effectuer une opération spécifique. Pour afficher la section d'aide d'une sous-commande, exécutez :

$ apk add --help

2. Mettre à jour la liste des packages dans Alpine Linux

Pour obtenir la liste des packages disponibles dans les référentiels Alpine Linux, exécutez simplement :

$ sudo apk upgrade

Exemple de résultat :

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

Comme vous pouvez le voir dans la sortie ci-dessus, il y a actuellement 13780 packages disponibles dans les référentiels Alpine. Veuillez noter qu'il ne s'agit pas du nombre total de packages installés localement, mais du nombre total de packages disponibles.

3. Installer des packages dans Alpine Linux

Pour ajouter ou installer un package, par exemple vim , sous Alpine Linux, lancez simplement :

$ sudo apk add vim

La commande ci-dessus installera vim et ses dépendances.

(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

De même, vous pouvez ajouter plusieurs packages en les mentionnant avec un espace comme ci-dessous :

$ sudo apk PackageName1 PackageName2

3.1. Installer les packages locaux

Si vous avez déjà téléchargé un package, vous pouvez ensuite l'installer comme ci-dessous.

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

Vous pouvez également installer plusieurs packages :

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

4. Supprimer des packages dans Alpine Linux

Pour désinstaller ou supprimer un package installé de votre système Alpine Linux, exécutez :

$ sudo apk del vim

Cette commande supprimera vim et ses dépendances.

(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 vous souhaitez supprimer plusieurs packages, mentionnez-les en les séparant par un espace.

5. Rechercher des packages dans Alpine Linux

Les référentiels Alpine Linux contiennent plus de 13 000 packages. Vous pouvez répertorier tous les packages disponibles, ainsi que leur description, à l'aide de la commande :

$ apk search -v

Exemple de résultat :

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
[...]

Pour afficher uniquement le nombre total de packages, dirigez la sortie vers wc commande comme ci-dessous :

$ apk search -v | wc -l

Vous pouvez également obtenir la liste de tous les packages correspondant à un modèle. Par exemple, la commande suivante affichera tous les packages correspondant au terme de recherche "vim".

$ apk search -v 'vim*'

Si vous souhaitez afficher uniquement les packages qui contiennent un terme spécifique dans leur description , exécutez :

$ apk search -v --description 'disk'

Ou, utilisez brièvement -d commutateur :

$ apk search -v -d 'disk'

6. Afficher les détails du package dans Alpine Linux

Pour afficher les détails d'un package spécifique, nous pouvons utiliser info commande comme ci-dessous :

$ apk info vim

Vous verrez la petite description du paquet donné et son site Web où il est hébergé.

Exemple de résultat :

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

Comme vous pouvez le constater, cette commande répertorie non seulement les détails du package vim, mais également les détails des autres packages contenant le modèle "vim" dans leur nom.

Si vous voulez des informations détaillées sur le paquet donné et ses dépendances, utilisez -a drapeau.

$ apk info -a vim

La commande ci-dessus affichera les détails suivants :

  • description du paquet.
  • site Web du package.
  • taille installée (c'est-à-dire la taille requise par le package après son installation).
  • le contenu du package (c'est-à-dire la liste des fichiers que le package installe).
  • dépendances de packages, c'est-à-dire quels packages sont nécessaires pour utiliser celui-ci.
  • quels packages nécessitent l'installation de celui-ci.
  • et plus.

7. Répertorier les packages installés dans Alpine Linux

Pour afficher la liste de tous les packages installés dans votre système Alpine Linux, exécutez :

$ apk info

Exemple de résultat :

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

Vous pouvez également lister les packages installés avec leur numéro de version et leur description :

$ apk info -vv

Exemple de résultat :

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
[...]

Indiquez uniquement le nombre total de packages installés :

$ apk info | wc -l
87

8. Packages de mise à niveau dans Alpine Linux

Pour mettre à niveau un package spécifique, exécutez :

$ sudo apk upgrade
$ sudo apk add -u vim

Ou,

$ sudo apk add --upgrade vim

Pour mettre à niveau tous les packages installés, exécutez :

$ sudo apk upgrade
$ sudo apk upgrade

Vous pouvez également combiner la commande ci-dessus en une comme ci-dessous :

$ sudo apk -U upgrade

9. Mettre à jour Alpine Linux

La mise à niveau d'un Alpine Linux en cours d'exécution vers la prochaine version disponible est facile ! Alpine Linux est disponible en deux éditions :

  • stable
  • libération progressive (bord)

Vous pouvez soit mettre à niveau la version stable actuelle vers une version plus récente, soit convertir une version stable en une version évolutive.

Des instructions plus détaillées sont disponibles dans le guide suivant :

  • Comment mettre à niveau Alpine Linux vers la dernière version

10. Conserver un package de mise à niveau

Parfois, vous souhaitez empêcher ou bloquer la mise à niveau automatique d'un package pour une raison quelconque lors de la mise à niveau de votre système Alpine Linux. Il peut y avoir de nombreuses raisons de retenir un colis. Par exemple, une version particulière est requise par une application pour fonctionner correctement. Ou le nouveau paquet peut casser votre système. Vous souhaitez donc ignorer la mise à niveau des packages lorsque vous mettez à niveau le système.

Pour conserver un package spécifique à partir de la mise à niveau, utilisez l'une des commandes suivantes :

$ sudo apk add vim=8.2.0-r0

Ou,

$ sudo apk add 'vim<8.2.1'

Et ensuite, effectuez la mise à niveau du système à l'aide de la commande :

 $ sudo apk upgrade

Cette commande mettra à niveau tous les packages mais conservera le package vim à la version 8.2.0 ou inférieure.

Vous pouvez ensuite mettre à niveau le package vim vers la version actuellement disponible comme ci-dessous :

$ sudo apk add 'vim>8.2.1'

Vous pouvez également utiliser la correspondance de version "floue" pour épingler la version à une version majeure/mineure. Par exemple, la commande suivante correspondra à n'importe quelle version de vim qui commence par 8.2.

$ sudo apk add 'vim=~8.2'

Lire connexe :

  • Comment ignorer la mise à niveau d'un package dans Arch Linux
  • Comment empêcher la mise à niveau d'un paquet dans Debian, Ubuntu

11. Télécharger des packages dans Alpine Linux

Parfois, vous souhaitez télécharger un package spécifique mais ne souhaitez pas l'installer. Par exemple, téléchargeons le package vim en utilisant la commande :

$ apk fetch vim

La commande ci-dessus affichera le package vim à partir des référentiels Alpine et l'enregistrera dans le répertoire courant.

$ ls
vim-8.2.2137-r0.apk

Si vous souhaitez enregistrer le package dans un chemin différent, utilisez -o commutateur.

$ apk fetch vim -o ~/Downloads

Veuillez noter que cette commande ne téléchargera pas toutes les dépendances requises, mais uniquement le package réel.

Pour télécharger le package donné avec toutes les dépendances requises, utilisez -R (--recursive ) drapeau :

$ apk fetch -R vim

Exemple de résultat :

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

Vous pouvez installer les packages téléchargés localement comme indiqué dans 3.1. Installer les packages locaux rubrique.

12. Afficher les détails du dépôt d'un paquet

Vous voudrez peut-être trouver de quel référentiel provient un package. Apk a également une sous-commande pour cela.

Pour afficher le dépôt d'un paquet (par exemple vim ) a été installé à partir de et sera mis à jour à partir de, utilisez la apk policy commande :

$ apk policy vim

Exemple de résultat :

vim policy:
  8.2.2137-r0:
    lib/apk/db/installed
    etc/apk/cache
    https://sjc.edge.kernel.org/alpine/edge/main

Comme vous pouvez le voir, le paquet vim a été installé à partir du [main] référentiel.

13. Afficher les statistiques des packages et des référentiels

Nous pouvons imprimer les statistiques sur les packages installés et les référentiels de packages à l'aide de la commande :

$ apk stats

Exemple de résultat :

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

14. Nettoyer le cache du paquet

Par défaut, tous les packages installés sont mis en cache dans /etc/apk/cache/ annuaire. Lorsque de nouveaux packages sont ajoutés au cache, les anciennes versions des packages restent par défaut.

Si vous ne voulez pas les anciennes versions des packages, vous pouvez simplement vider le cache du package à l'aide de la commande :

$ sudo apk cache clean

Si vous voulez voir quelles versions sont supprimées, utilisez le commutateur -v (verbeux) :

$ sudo apk -v cache clean

Si vous avez accidentellement supprimé des packages du cache, vous pouvez les télécharger à l'aide de la commande :

$ sudo apk cache download

Vous pouvez également supprimer le cache et télécharger le package manquant en une seule commande :

$ sudo apk cache -v sync

J'espère que cela vous aidera.


Linux
  1. 7 Exemples de commandes Linux df

  2. Exemples de commande rm sous Linux

  3. Exemples de commandes ps sous Linux

  4. Exemples de commandes sa sous Linux

  5. w Exemples de commandes sous Linux

9 exemples de commande diff sous Linux

Commande Linux ip avec exemples

15 Commande Linux ps avec exemples

Premiers pas avec les exemples de commandes Alpine Linux Apk

Exemples de commandes id sous Linux

Commande apt Linux avec exemples