Table des matières

apk, le package manager d'Alpine Linux

apk est le package manager d'Alpine Linux. 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

# 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>

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 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 ici.