Outils pour utilisateurs

Outils du site


apk

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
apk [2024/07/07 14:38] lucapk [2024/08/17 19:38] (Version actuelle) – [Installation dans la RAM à chaque démarrage] luc
Ligne 1: Ligne 1:
 +====== apk, le package manager d'Alpine Linux ======
 +
 +''apk'' est le package manager d'Alpine Linux. [[https://docs.alpinelinux.org/user-handbook/0.1a/Working/apk.html|doc officielle]]
 +
 +Il permet l'installation d'un paquet et de ses dépendances nécessaires.\\
 +A la désinstallation, il enlève les paquets non nécessaires (testé et approuvé par moi même).
 +
 +''apk'' gère l'emploi de plusieurs repositories, main community & testing, chacun dans un état stable ou edge.
 +
 +===== Commandes cheat sheet =====
 +
 +<code bash>
 +# CHERCHER
 +#    un paquet
 +#    un binaire (fourni par un paquet)
 +#    une lib (paquet fournissant cette lib, utiliser suffixe so: )
 +apk search <name_or_partial_name>
 +apk search so:libsqlite3.so
 +
 +# INSTALLER
 +#   un paquet
 +#   un binaire (ou plutôt le paquet fournissant ce binaire)
 +apk add <exact_package_or_binary_name>
 +apk add cmd:<binary_exact_name>
 +apk add <multiples> <package> <at> <once>
 +# -i = interaction : demander confirmation avant d'executer l'action
 +apk add -i <package_name> 
 +
 +# UPGRADE
 +#   de tout le système
 +apk update   # mise à jour de l'index du repo
 +apk ugprade
 +
 +# INFO
 +# affiche les infos sur un paquet
 +apk info <package_name> 
 +# affiche tous les paquets installés
 +apk info
 +apk info -vv
 +apk info | grep <package_name>
 +
 +
 +# DESINSTALLER
 +#   gère la suppression des dépendances inutiles
 +apk del <package_name>
 +
 +# voir les DEPENDANCES d'un paquet
 +apk -R info <package_name>
 +
 +</code>
 +
 +===== Cleanup =====
 +
 +''apk'' fait le nettoyage à chaque suppression de paquet, pas besoin d'une commande spécifique (comme ''apt autoremove'')
 +
 +
 +===== World =====
 +
 +A l'instar d'un ''requirements.txt'' pour pip, les paquets listés dans le fichier ''/etc/apk/world'' sont ceux installés explicitement, et peuvent être installés automatiquement avec ''apt add'' sans autre argument.\\
 +On peut éditer ce fichier à la main.
 +
 +===== repo community =====
 +
 +On peut ajouter d'autres repo, notamment le //community// avec ''setup-apkrepos'' 
 +
 +===== Installation dans la RAM à chaque démarrage =====
 +
 +Par défaut ''apk'' ne semble pas conserver le cache des paquets téléchargés pour les réinstaller. On peut néanmoins forcer un cache pour les rendre disponibles au boot, et même avant qu'un réseau soit disponible.
 +
 +Dans le cas où le cache est activé, on peut ainsi automatiquement (ré)installer les paquets en RAM lors du boot. La procédure est donnée dans le [[https://wiki.alpinelinux.org/wiki/Alpine_Package_Keeper#Local_Cache|wiki]], basée sur l'utilitaire ''setup-apkcache''.
 +
 +Si on active le cache, il faut également y faire le ménage de temps à autres, afin d'enlever les paquets dont une version plus récente est installée. Détails [[https://wiki.alpinelinux.org/wiki/Alpine_Package_Keeper#Cache_maintenance|ici]].