technique:paquet_depot

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Dernière révisionLes deux révisions suivantes
technique:paquet_depot [2020/04/05 21:26] francoisatechnique:paquet_depot [2021/04/20 23:35] francoisa
Ligne 1: Ligne 1:
 ====== Linux : paquets et dépots ====== ====== Linux : paquets et dépots ======
  
-Plutôt que de copier des fichiers avec des scripts, il peut être plus utilie de proposer des paquets deb (pour les Linux basés sur Debian, Ubuntu, Mint…).+Plutôt que de copier des fichiers avec des scripts, il peut être plus utile de proposer des paquets deb (pour les Linux basés sur Debian, Ubuntu, Mint…).
  
 ===== Version simple ===== ===== Version simple =====
Ligne 16: Ligne 16:
   * une arborescence qui reproduit l'arborescence avec les chiers à ajouter dedans.   * une arborescence qui reproduit l'arborescence avec les chiers à ajouter dedans.
  
-Exemple si on veut copier des fichiers dans /usr/share/backgrounds/cemea+Exemple si on veut copier des fichiers dans ''/usr/share/backgrounds/cemea''
  
 On aura un dossier "fondsecran" qui contient : On aura un dossier "fondsecran" qui contient :
  
   * ''DEBIAN/control''  (et d'autres plus ou moins utiles changelog, compat, copyright, rules, dir…)   * ''DEBIAN/control''  (et d'autres plus ou moins utiles changelog, compat, copyright, rules, dir…)
-  * usr/share/backgrounds/cemea/ qui contient les fichiers image +  * ''usr/share/backgrounds/cemea/''  qui contient les fichiers image
 Le fichier control comprend les informations minimales sur ce paquet : nom, mainteneur (vous),catégorie, description, dépendances, version… Le fichier control comprend les informations minimales sur ce paquet : nom, mainteneur (vous),catégorie, description, dépendances, version…
  
Ligne 58: Ligne 57:
 </code> </code>
  
-On peutaussi créer des fichiers spécifiques dans DEBIEN qui s'exécuterent avant, ou après l'installation ou la désinstallation (respectivement preinst, postin, prerm, postrm). Ces fichiers sont des fichiers bash avec des commandes classiques qui seront exécutées en tant que root.+On peut aussi créer des fichiers spécifiques dans DEBIAN qui s'exécuterent avant, ou après l'installation ou la désinstallation (respectivement preinst, postin, prerm, postrm). Ces fichiers sont des fichiers bash avec des commandes classiques qui seront exécutées en tant que root.
  
 ==== Création du paquet ==== ==== Création du paquet ====
  
-dpkg-deb –build nomdudossier # celui qui contient DEBIAN)+<code> 
 +dpkg-deb –build nomdudossier # celui qui contient DEBIAN 
 + 
 +</code>
  
 Cette commande créera le fichier nomdudossier.deb Cette commande créera le fichier nomdudossier.deb
Ligne 70: Ligne 72:
 Pour tester l'installation du paquet : Pour tester l'installation du paquet :
  
 +<code>
 sudo dpkg -i nomdudossier.deb sudo dpkg -i nomdudossier.deb
 +
 +</code>
  
 Et testez, retestez, re-re-testez… Et testez, retestez, re-re-testez…
Ligne 81: Ligne 86:
  
 ==== Installation reprepro ==== ==== Installation reprepro ====
 +<code>
  
 sudo apt install reprepro sudo apt install reprepro
-<code> 
  
 +</code>
 +
 +<code>
 mkdir apt mkdir apt
 mkdir -p ./apt/conf mkdir -p ./apt/conf
Ligne 97: Ligne 105:
 Label: Label de votre société (ou autre) Label: Label de votre société (ou autre)
 Suite: stable Suite: stable
-Codename: trusty +Codename: bionic 
-Version: 14.04+Version: 18.04
 Architectures: i386 amd64 source #(en fonction de vos besoin) Architectures: i386 amd64 source #(en fonction de vos besoin)
 Components: main restricted universe multiverse #(en fonction de vos besoin) Components: main restricted universe multiverse #(en fonction de vos besoin)
Ligne 105: Ligne 113:
 </code> </code>
  
-Mettre vos .deb dans le dossier incoming.+Mettre vos .deb dans le dossier incoming. A relancer en cas de mise à jour du dépot.
  
 <code> <code>
Ligne 156: Ligne 164:
 ==== Envoyer son dépot à distance ==== ==== Envoyer son dépot à distance ====
  
-Copier votre dossier distant dans un site accessible en http comme [[https://depot.cemea.org|https://depot.cemea.org]]+Copier votre dossier distant dans un site accessible en http comme [[http://depot.cemea.org|http://depot.cemea.org]]
  
 Et changer votre fichier local de sources.list : ''/etc/apt/sources.list.d/depotcemea.list'' Et changer votre fichier local de sources.list : ''/etc/apt/sources.list.d/depotcemea.list''
 <code> <code>
  
-deb http://depot.cemea.org/apt bionic main # à affiner pour les options universe multiverse contrib...+deb [allow-insecure=yes] http://depot.cemea.org focal main contrib universe multiverse restricted 
 +# allow-insecure si le dépot n'est pas signé
  
 </code> </code>
 +
 +==== TODO ====
 +
 +- Gérer d'autres dépots
 +
 +- Ajouter des paquets .deb
 +
 +- Affiner le lieu de stockage des paquets selon les options universe multiverse contrib… Identifier les paquets pour amd64, i386.
 +
 +===== Astuces - debug =====
 +
 +Dans le cas particulier où un paquet serait bloqué en cours d'installation :
 +
 +<code>
 +mv /var/lib/dpkg/info/PAQUET.* /tmp/
 +dpkg --remove --force-remove-reinstreq PAQUET
 +
 +</code>
 +
 +===== Clef GPG de dépot expiré =====
 +
 +Cas où un dépot à été ajouté et sa clef a expiré.
 +
 +Exemple :
 +
 +<code>
 +Err :6 https://packages.sury.org/php buster InRelease
 +  Les signatures suivantes ne sont pas valables : EXPKEYSIG B188E2B695BD4743 DEB.SURY.ORG Automatic Signing Key <deb@sury.org>
 +
 +</code>
 +
 +apt-key list sury donne :
 +
 +<code>
 +pub   rsa3072 2019-03-18 [SC] [expirée : 2021-03-17]
 +      1505 8500 A023 5D97 F5D1 0063 B188 E2B6 95BD 4743
 +uid          [ expirée ] DEB.SURY.ORG Automatic Signing Key <deb@sury.org>
 +
 +</code>
 +
 +<code>
 +L'identifiant de la clef est ici B188E2B695BD4743 (4 derniers 4-uplets).
 +
 +</code>
 +
 +Donc on récupère la nouvelle clef à partir des serveurs de clef avec cet identifiant :
 +
 +<code>
 +sudo apt-key adv --keyserver keys.gnupg.net --recv-keys B188E2B695BD4743
 +
 +</code>
 +
 +Et c'est tout bon !
 +
 +apt-key list sury renvoie :
 +
 +<code>
 +pub   rsa3072 2019-03-18 [SC] [expires: 2024-02-16]
 +      1505 8500 A023 5D97 F5D1  0063 B188 E2B6 95BD 4743
 +uid           [ unknown] DEB.SURY.ORG Automatic Signing Key <deb@sury.org>
 +sub   rsa3072 2019-03-18 [E] [expires: 2024-02-16]
 +
 +</code>
 +
  
  • technique/paquet_depot.txt
  • Dernière modification : 2024/04/02 15:08
  • de 127.0.0.1