Installation d'une machine dédié à la gestion du dépôt

On peut créer une machine (physique ou virtuelle) qui sera affectée à la gestion du dépôt par clonage du master d’installation de même qu'il est possible d'initialiser un master d’installation par clonage de la machine de gestion de dépôt…

La procédure ci-dessous est pour une reprise “from scratch” à partir des outils d'installation Debian et du dépôt lpmmc-debian.

Création d'une machine virtuelle Virtualbox :

  • Configuration minimale :
    • Debian 64 bits (Intel/AMD)
    • 1536 Mo RAM (ça semble être le minimum qui fonctionne)
    • 32 Go Disque
    • VirtualBox : au moins 7.1 Pour que l'installeur fonctionne en EFI sous linux

Cette installation peut évidemment aussi se faire sur un poste physique dédié à partir de l'image iso…

Une machine virtuelle permet aussi de tester pour une nouvelle version de Debian :

  • créer la machine virtuelle et installer le nouveau système de base
  • prendre un snapshot en prévision des ennuis futurs
  • sur le dépôt local lpmmc:
    • modifier lpmmc-system-update (et maj du paquet lpmmc-sysupdate) pour ajouter la nouvelle version.
    • copier le dossier lpmmc-desktop-bookworm en lpmmc-desktop-xxxx et modifier DEBIAN/control nom du paquet
  • faire l'installation de la machine virtuelle et boucler sur les dépendances et erreurs…

Installation de la configuration Standard Debian/LPMMC à partir des dépôts

  • Monter le CD debian-12.X.Y-amd64-netinst.iso et booter.
  • users root et adlpmmc avec mot de passe root
  • disque entier chiffré avec mot de passe root (chiffré car clé privée de signature du dépôt à protéger)
  • tout dans une seule partition
  • installation du système de base
  • à l'execution de tasksel ne garder que utilitaires usuels du système
  • après redémarrage en root
    • récupérer le script lpmmc-system-update
      • cd /tmp
      • wget http://lpmmc-debian.lpmmc.cnrs.fr/lpmmc-system-update
      • chmod +x lpmmc-system-update
      • lancer ./lpmmc-system-update
        • installation de tout l'environnement, c'est assez long…

Pour optimiser l´utilisation sous VirtualBox

  • pour VirtualBox : insérer le CD des additions invités pour avoir les dossiers partagés, l'écran graphique redimensionnable, le copier-couper-coller commun (Menu Périphériques)
    • mount /dev/sr0 /media/cdrom
    • cd /media/cdrom
    • ./VBoxLinuxAdditions.run
    • reboot…
  • en option: création d'un dossier partagé avec l'hôte utilisable par adlpmmc en lecture/écriture
    • exemple :vboxshare
    • mkdir /mnt/vboxshare
    • ajout dans /etc/fstab
      • vboxshare /mnt/vboxshare vboxsf uid=adlpmmc,gid=adlpmmc

Mise en place de la gestion du dépôt lpmmc-debian

  • La gestion se fait dans le dossier /home/LINUX/lpmmc
    • pour les connexions ssh sans mot de passe créer une clé ssh : ssh-keygen avec le mot de passe adlpmmc courant
    • ssh-add pour l'ouvrir
    • ssh-copy-id lpmmc-debian
    • Ensuite pour créer et synchroniser le dossier avec le serveur lpmmc-debian :
      • monter l'espace chiffré sur lpmmc-debian pour accéder à /home/LINUX/lpmmc (script mount-LINUX)
      • ssh xxxxxxx@lpmmc-debian cat /home/LINUX/lpmmc/unison-lpmmc-debian.sh |bash
        • création du dossier : /home/LINUX/lpmmc
        • création du fichier .unison/4-linux-lpmmc-debian.prf
        • lancement de unison-gtk et synchronisation
        • Pour ne pas être stockées en clair sur le serveur lpmmc-debian, les clés de signature du dépot sont exclues de la synchronisation et stockées dans l'archive chiffrée GPG-KEY.7z. Extraction du dossier GPG-KEY avec la commande 7z x GPG-KEY.7z (pass root)
        • ajout du dépôt local dans /etc/apt/sources.list.d/home-LINUX-lpmmc.list pour les tests en local des paquets avant de mettre à jour le dépôt en ligne.

Gestion locale du dépôt

Procédure de base

Depuis le dossier /home/LINUX/lpmmc

  1. synchronisation avec la sauvegarde sur le serveur lpmmc-debian (pour synchroniser le travail fait ailleurs au cas où…)
    1. ./unison-lpmmc-debian.sh
  2. modification/création de paquets deb
  3. mise à jour du dépot de développement
    1. ./rsync-DIST.sh
      1. mise à jour des fichiers Packages.gz
      2. Pas de synchronisation avec lpmmc-debian avant tests Ok locaux.
      3. tests d'installation/mise à jour locale
  4. Synchronisation avec lpmmc-debian
    1. ./rsync-DIST.sh

Outils pour utilisateurs