Snaps, pour jouer avec les snapshots -current d'OpenBSD

J’utilise le système d’exploitation OpenBSD. Je ne mets pas à jour tous les six mois lors des sorties des releases. Mais, j’utilise la branche de développement, aussi appelée -current.

Il est possible de suivre -current sans avoir à compiler ni les sources de la base du système ni les ports. Ceci est réalisé très régulièrement par l’équipe de développement et mis à disposition de tous. Cet instantané pré-compilé du système de base et des ports est appelé snapshot.

Il est alors recommandé de mettre à jour aussi régulièrement que possible. Étant un brin fainéant mais, juste un brin, hein ;). J’ai donc écrit un petit script Ksh qui automatise le tout. Je m’amusais avec dans mon coin quand j’ai réalisé ICI que d’autres s’en servaient.

Je le mets à jour afin d’éclaircir son utilité et son fonctionnement.

Utilité

Snaps est fait pour les utilisateurs qui utilise la branche -current et sautent de snapshot en snapshot (la répétition fixe la notion ;)).

Utilisation

Snaps utilise votre fichier /etc/pkg.conf pour deviner le mirroir de téléchargement que vous utilisez et définir automatiquement la variable $MIRROR.

Cette variable peut aussi être définie par l’utilisateur :

$ doas MIRROR=http://another/openbsd/snapshot/mirror/YOUR_ARCH snaps -G

-g

Télécharge et vérifie (SHA256 and signify) bsd.rd à partir de $MIRROR (nul besoin de droits root pour celui-là).

$ snaps -g

-G

Télécharge, vérifie bsd.rd à partir de $MIRROR puis, le déplace à la bonne place, fait une sauvegarde de votre ancien bsd.rd, imprime quelques rappels et redémarre votre système. Plutôt simple ;)

$ doas snaps -G

-l

Liste date et $MIRROR des 3 dernières mises à jours (-G) depuis le fichier /var/log/snaps.log

$ snaps -l
2016-04-30 22:16 FROM http://ftp.fr.openbsd.org/pub/OpenBSD/snapshots/amd64/
2016-05-10 11:03 FROM http://mirrors.ircam.fr/pub/OpenBSD/snapshots/amd64/
2016-05-14 11:11 FROM http://ftp.fr.openbsd.org/pub/OpenBSD/snapshots/amd64/

-h

Imprime version du script et aide. Pour une vérification rapide, le contenu de votre variable $MIRROR sera imprimé.

$ snaps -h

Téléchargement

Git

$ git clone git@framagit.org:fredg/snaps.git
$ cd snaps

La dernière archive

$ ftp https://framagit.org/fredg/snaps/raw/master/snaps-0.6.tar.gz
$ tar xzvf snaps-0.6.tar.gz
$ cd snaps-0.6

Installation/Désinstallation

L’installation par défaut se fait dans /usr/local/bin

$ doas make install

Vous pouvez changer ceci en précisant la variable DESTDIR.

$ doas make DESTDIR=plop install

Pour la désinstallation, changer install par uninstall ;)

Quelques liens