Beaucoup de travail invisible sur la plateforme ces derniĂšres semaines, concernant les principaux services.
Gitea
Le serveur git de la plateforme a été migré vers une machine ayant plus de mémoire.
Ce changement est tout simplement liĂ© Ă git lui-mĂȘme, pas uniquement Ă gitea. En effet, les algorithmes de git sont trĂšs gourmand en ressources, en particulier quelque chose comme :
git gc --prune --aggressive
git repack -a -d -f --depth=250 --window=250
qui permettent de réduire la taille du dépÎt sur le disque.
La plupart des commandes git sont extrĂȘmement gourmandes (mĂȘme si câest furtif) en mĂ©moire et en CPU. Les commandes les plus gourmandes de git sont capable de sâexĂ©cuter en parallĂšle sur les diffĂ©rents CPU de la machine.
Sur les gros dĂ©pĂŽts avec beaucoup de fichiers et un gros historique cela peut ĂȘtre vraiment lent. Jâai dâailleurs abandonnĂ© la mise en place dâun projet de cross-compilation de LibreOffice Ă cause de cela, mĂȘme sur une machine avec 16 Go de RAM la manipulation du dĂ©pĂŽt est lente.
Avec 1 Go de RAM et 1 Go de swap, presque tous les dĂ©pĂŽts Ă©taient correctement supportĂ©s sans autre activitĂ© sur la machine. Mais certain dĂ©pĂŽts externe ne pouvait pas ĂȘtre traitĂ©, et lorsque gitea tournait cela gĂ©nĂ©rait des dĂ©passements de dĂ©lais dâexpiration (« timeout »).
Donc une nouvelle machine architecture ARM64 avec 4Â Go de RAM.
Au passage cela rĂ©sous les problĂšmes de « timeout » gĂȘnant sur les « pull-requests ».
Le blog
Concernant le blog lui-mĂȘme il y a eu beaucoup de changement derniĂšrement.
- La mise en place dâune notion de sommaire sur les articles ce qui permet dâavoir une nouvelle page dâaccueil avec un extrait des articles et non pas lâensemble du contenu.
- La mise en place de nouveau type de tags, dont un type de tag cachĂ©, par exemple le tag ^mes-logiciels qui nâest pas visible depuis lâinterface.
- En termes dâoutillage, il y a aussi eu beaucoup dâĂ©volutions visant Ă limiter les incohĂ©rences sur les tags, les liens cassĂ©s (un problĂšme rĂ©curant, il me fallait une solution efficace pour dĂ©tecter les liens qui ne sont plus valides).
Ce qui nâa pas changĂ© (et qui aurait du)
Nextcloud
Il faut que je reprenne la migration de Nextcloud stoppĂ©e par la perte du serveur gitlab lâannĂ©e passĂ©e, qui a Ă©tĂ© particuliĂšrement chronophage.
- Passage de PHP3 Ă une nouvelle version de PHP (probablement PHP8),
- Migration vers un os 64 bits (la machine actuelle est un PI4, mais qui tourne en mode 32 bits),
- Ajout du support de lâĂ©dition des documents LibreOffice en ligne,
- Ajout de mémoire (mouais, il en faudra avec tout cela)
Initialisation de raspi-os
Depuis son lancement, le systĂšme dâexploitation Raspberry Pi est livrĂ© avec un compte utilisateur « pi » par dĂ©faut, ce qui simplifie le dĂ©marrage des Pi qui peuvent fonctionner sans avoir Ă connecter lâappareil Ă un moniteur ou passer par un processus de configuration en plusieurs Ă©tapes.
Mais depuis avril 2022, cela a changĂ© â les nouvelles installations du systĂšme dâexploitation Raspberry Pi suppriment ce compte dâutilisateur par dĂ©faut pour des raisons de sĂ©curitĂ© et de rĂ©glementation.
Il est maintenant indispensable de passer par lâinterface de configuration, ou de prĂ©configurer votre image avec Raspberry Pi Imager.
Heureusement, il reste un mĂ©canisme pour prĂ©configurer une image sans utiliser Raspberry Pi Imager que jâavais plutĂŽt bien anticipĂ© dans ma solution de dĂ©ploiement, puisque ma solution est restĂ©e 100 % fonctionnelle sans besoin dâĂ©volution, malgrĂ© ce changement majeur. Par ailleurs, prepare-raspbian-sd prĂ©vois une Ă©tape de configuration qui permet de poursuivre lâinstallation uniquement en se basant sur des clĂ©s ssh.
Cependant, je mâattends Ă ce que lâutilisateur pi soit bloquĂ© Ă terme, et cela reste lâutilisateur utilisĂ© dans ma sĂ©quence de dĂ©marrage.
Pour configurer un utilisateur au premier dĂ©marrage et contourner complĂštement lâassistant, crĂ©ez un fichier appelĂ© userconf
ou userconf.txt
dans la partition de dĂ©marrage de la carte SD ; câest la partie de la carte SD qui peut ĂȘtre vue lorsquâelle est montĂ©e sur un ordinateur Windows ou MacOS. Sous Linux cette partition a le label boot
ou sur les derniĂšres versions bootfs
.
Je vous donne la solution proposĂ©e par Raspberry si vous souhaitez lâimplĂ©menter :
Ce fichier doit contenir une seule ligne de texte, composée de :
username:encrypted-password
En clair, il sâagit du nom dâutilisateur souhaitĂ©, suivi immĂ©diatement de deux-points, suivi immĂ©diatement dâune reprĂ©sentation cryptĂ©e du mot de passe que vous souhaitez utiliser.
Pour générer le mot de passe crypté, depuis un terminal (sous Linux) :
echo 'monmot de passe' | openssl passwd -6 -stdin
Voici un début de piste pour une automatisation :
function create_userconf {
local -r username="$1"
local -r password="$2"
local encrypted_password=
encrypted_password="$( openssl passwd -6 -stdin <<<"${password}" )"
echo "${username}:${encrypted_password}"
}
create_userconf 'pi' 'raspbian' >userconf # exemple à ne pas utiliser !
Liens
- git gc --aggressive vs git repack,
- La documentation de git sur le site officiel.
- An update to Raspberry Pi OS Bullseye à propos de la disparition du compte « pi » par défaut.
኿