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.
root@host:~# apk add --upgrade apk-tools && apk upgrade --available
root@host:~# apk add vim
root@host:~# apk add python3
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
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.
root@host:~# mkdir /etc/periodic/5min
*/5 * * * * run-parts /etc/periodic/5min
#!/bin/sh
/root/script.py
root@host:~# chmod +x /etc/periodic/5min/pscript
root@host:~# run-parts --test /etc/periodic/5min/
root@host:~# rc-service crond start && rc-update add crond
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.
#/media/cdrom/apks
http://dl-cdn.alpinelinux.org/alpine/v3.19/main
http://dl-cdn.alpinelinux.org/alpine/v3.19/community
root@host:~# apk add open-vm-tools open-vm-tools-guestinfo open-vm-tools-deploypkg
root@host:~# rc-service open-vm-tools start
root@host:~# rc-update add open-vm-tools boot
Supposons ici que nous souhaitons mettre à jour d'Alpine Linux de la version 3.19 à la version 3.20.
root@host:~# apk add --upgrade apk-tools && apk upgrade --available
#/media/cdrom/apks
http://dl-cdn.alpinelinux.org/alpine/v3.20/main
http://dl-cdn.alpinelinux.org/alpine/v3.20/community
root@host:~# apk update && apk upgrade --available
root@host:~# reboot
root@host:~# apk add nftables
root@host:~# reboot
#!/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;
}
}
root@host:~# rc-update add nftables boot
Contact :