rss logo

Mes commandes et astuces pour Alpine Linux

Le logo officiel de la dristribution Alpine Linux

Dans cet article, je partagerai quelques éléments sur l'utilisation d'Alpine Linux, une distribution GNU/Linux réputée pour sa petite taille, sa simplicité et sa sécurité (ça fait envie n'est ce pas?). Contrairement à la plupart des autres distributions, elle n'utilise pas systemd, ce qui est plutôt rare de nos jours. J'ai commencé à l'utiliser pour plusieurs applications et services différents, et je dois dire que j'ai été plutôt impressionné par ses qualités. J'utiliserai donc cette page comme pense bête, dans l'espoir qu'elle sera utile à d'autres.

Commandes Utiles

  • Mettre à jour Alpine Linux :
root@host:~# apk add --upgrade apk-tools && apk upgrade --available
  • Installer un package :
root@host:~# apk add vim

Python

  • Installer python3 :
root@host:~# apk add python3
  • Ajouter le module pip:

Créer et activer un environnement virtuel:

host:~$ python -m venv .web3 host:~$ source .web3/bin/activate

Installer le module pip dans l'environnement virtuel et vérifier la version:

(.web3) host:~$ python -m ensurepip (.web3) host:~$ python -m pip --version

Cron

L'utilisation de Cron dans Alpine Linux est assez particulière, surtout si comme moi on a l'habitude d'utiliser Debian. Voyons comment cela fonctionne. Pour cet exemple, supposons que nous voulons configurer crond pour exécuter un script python (/root/script.py dans ce cas) toutes les 5 minutes.

  • Créer le dossier /etc/periodic/5min :
root@host:~# mkdir /etc/periodic/5min
  • Ajouter l'entrée suivante dans le fichier /etc/crontabs/root pour la prise en compte du dossier /etc/periodic/5min :
*/5 * * * * run-parts /etc/periodic/5min
  • Créer un script sh /etc/periodic/5min/pscript (ne pas utiliser l'extension .sh) :
#!/bin/sh /root/script.py
  • Le rendre executable :
root@host:~# chmod +x /etc/periodic/5min/pscript
  • Faire un test :
root@host:~# run-parts --test /etc/periodic/5min/
  • Prendre en compte les modifications :
root@host:~# rc-service crond start && rc-update add crond

Installer les VMware Tools

Si on installe Alpine Linux dans une machine virtuelle dans un environnement VMware ESXi, il est recommandé d'installer les VMware Tools pour des performances et une fonctionnalité optimales.

  • Éditer le fichier /etc/apk/repositories et décommenter la ligne community :
#/media/cdrom/apks http://dl-cdn.alpinelinux.org/alpine/v3.19/main http://dl-cdn.alpinelinux.org/alpine/v3.19/community
  • Installer les paquets open-vmtools :
root@host:~# apk add open-vm-tools open-vm-tools-guestinfo open-vm-tools-deploypkg
  • Démarrer le service open-vmtools :
root@host:~# rc-service open-vm-tools start
  • Activer le service open-vmtools au démarrage :
root@host:~# rc-update add open-vm-tools boot

Comment mettre à niveau Alpine Linux

Supposons ici que nous souhaitons mettre à jour d'Alpine Linux de la version 3.19 à la version 3.20.

  • Tout d'abord, mettre à jour la version d'Alpine Linux:
root@host:~# apk add --upgrade apk-tools && apk upgrade --available
  • Éditer le fichier /etc/apk/repositories et remplacer 3.19 par 3.20:
#/media/cdrom/apks http://dl-cdn.alpinelinux.org/alpine/v3.20/main http://dl-cdn.alpinelinux.org/alpine/v3.20/community
  • Lancer la mise à niveau:
root@host:~# apk update && apk upgrade --available
  • Redémarrer le système:
root@host:~# reboot

nftables

  • Installer nftables :
root@host:~# apk add nftables
  • Redémarrer :
root@host:~# reboot
  • Éditer le fichier /etc/nftables.nft et ajouter ses règles :
#!/usr/sbin/nft -f # vim: set ts=4 sw=4: # You can find examples in /usr/share/nftables/. # Clear all prior state flush ruleset #IPv4 table ip filter { chain input { type filter hook input priority 0; policy accept; } chain forward { type filter hook forward priority 0; policy accept; } chain output { type filter hook output priority 0; policy accept; } } #IPv6 table ip6 filter { chain input { type filter hook input priority 0; policy accept; } chain forward { type filter hook forward priority 0; policy accept; } chain output { type filter hook output priority 0; policy accept; } }
  • Configurer le service nftables afin qu'il démarre automatiquement au boot :
root@host:~# rc-update add nftables boot
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Contact :

contact mail address