« Reprepro » : différence entre les versions
mAucun résumé des modifications |
|||
Ligne 219 : | Ligne 219 : | ||
[[SKS_OpenPGP_Keyserver|Rendez-vous ici]] | [[SKS_OpenPGP_Keyserver|Rendez-vous ici]] | ||
=== Ajout de la clef | === Ajout de la clef GPG à votre serveur SKS === | ||
# sks merge /root/mygpg.pub | # sks merge /root/mygpg.pub |
Version du 1 octobre 2010 à 14:40
/!\ Ce document n'a pas été validé par la communauté. Soyez prudent vis-à-vis de son contenu! /!\
Attention: Si au cours de vos manipulations un problème survenait, vous ne pouvez en aucun cas incriminer ce site. Posez vos questions sur le forum.
Installation d'un référentiel (Dépôt) Debian avec "pool" et sécurisation pgp.
REPREPRO
Ce Tuto est réalisé sur une squeeze à jour
Installation
# apt-get install reprepro
Nous présumons que vous avez Apache2 (ou un autre serveur Web) installé et opérationnel.
Préparation des répertoires de base
# mkdir /var/www/debian # mkdir /var/www/debian/conf # mkdir /var/www/debian/incoming
Configuration
Nous créons les quatres branches dont nous aurons besoin. Vous pouvez tout aussi bien n'en créer qu'une pour commencer
# nano /var/www/debian/conf/distributions Origin: lol Label: lol's apt Suite: stable Codename: lenny Version: 5.03 Architectures: i386 amd64 source Components: main non-free contrib Description: Your description Origin: lol Label: lol's apt Suite: testing Codename: squeeze Architectures: i386 amd64 source Components: main non-free contrib Description: Your description Origin: lol Label: lol's apt Suite: unstable Codename: sid Architectures: i386 amd64 source Components: main non-free contrib Description: Your description Origin: lol Label: lol's apt Suite: experimental Codename: experimental Architectures: i386 amd64 source Components: main non-free contrib Description: Your description
# chown -R www-data:www-data /var/www/debian/
Construction du référentiel
# reprepro -b . export
La commande à créé deux répertoires: db et dists
# ls conf db dists incoming
Vous pouvez déjà naviguer dans votre dépôt...
Ajouter un paquet au référentiel
# reprepro -vb . includedeb squeeze /var/cache/apt/archives/reprepro_4.2.0-1_amd64.deb /var/cache/apt/archives/reprepro_4.2.0-1_amd64.deb: component guessed as 'main' Exporting indices...
Enlever un paquet du dépôt
# reprepro -b . remove sid reprepro Exporting indices... Deleting files no longer referenced...
Génération de votre clef GPG
La génération de la clef peut prendre du temps... Il est préférable de la faire directement sur la machine et non pas par ssh.
# gpg --gen-key gpg (GnuPG) 1.4.10; Copyright (C) 2008 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Sélectionnez le type de clé désiré: (1) RSA and RSA (default) (2) DSA and Elgamal (3) DSA (signature seule) (4) RSA (signature seule) Votre choix ? 1 les clés RSA peuvent faire entre 1024 et 4096 bits de longueur. Quelle taille de clé désirez-vous ? (2048) 1024 La taille demandée est 1024 bits Spécifiez combien de temps cette clé devrait être valide. 0 = la clé n'expire pas <n> = la clé expire dans n jours <n>w = la clé expire dans n semaines <n>m = la clé expire dans n mois <n>y = la clé expire dans n années La clé est valide pour ? (0) 1y La clé expire le ven. 30 sept. 2011 21:29:05 EAT Est-ce correct ? (o/N) o Vous avez besoin d'un nom d'utilisateur pour identifier votre clé; le programme le construit à partir du nom réel, d'un commentaire et d'une adresse e-mail de cette manière: « Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de> » Nom réel: George Thejungle Adresse e-mail: <george@thejungle.org> Commentaire: GJ Vous avez sélectionné ce nom d'utilisateur: "George Thejungle (GJ) <george@thejungle.org>" Changer le (N)om, le (C)ommentaire, l'(E)-mail ou (O)K/(Q)uitter ? o Vous avez besoin d'une phrase de passe pour protéger votre clé secrète. Un grand nombre d'octets aléatoires doit être généré. Vous devriez faire autre-chose (taper au clavier, déplacer la souris, utiliser les disques) pendant la génération de nombres premiers; cela donne au générateur de nombres aléatoires une meilleure chance d'avoir assez d'entropie. Il n'y a pas assez d'octets aléatoires disponibles. Faites autre chose pour que l'OS puisse amasser plus d'entropie ! (il faut 277 octets de plus) +++++ ......+++++ Un grand nombre d'octets aléatoires doit être généré. Vous devriez faire autre-chose (taper au clavier, déplacer la souris, utiliser les disques) pendant la génération de nombres premiers; cela donne au générateur de nombres aléatoires une meilleure chance d'avoir assez d'entropie. ....+++++ +++++ gpg: clé 94821D6C marquée comme ayant une confiance ultime. les clés publique et secrète ont été créées et signées. gpg: vérifier la base de confiance gpg: 3 marginale(s) nécessaires, 1 complète(s) nécessaires, modèle de confiance PGP gpg: profondeur: 0 valide: 3 signé: 0 confiance: 0-. 0g. 0n. 0m. 0f. 3u gpg: la prochaine vérification de la base de confiance aura lieu le 2011-09-30 pub 1024R/94821D6C 2010-09-30 [expire: 2011-09-30] Empreinte de la clé = 6853 34C1 4A74 0A2D 71C7 87BC E494 7233 9482 1D6C uid George Thejungle (GJ) <george@thejungle.org> sub 1024R/F1D4BE56 2010-09-30 [expire: 2011-09-30]
Ajoutons la signature PGP à notre fichier de configuration :
Origin: lol Label: lol's apt Suite: stable Codename: lenny Version: 5.03 Architectures: i386 amd64 source Components: main non-free contrib Description: Your description SignWith: yes
Il faut passer cette commande pour chacun de vos dépôts
Nous ajoutons la clef à nos dépôts :
# reprepro --ask-passphrase -b . export 258FA3EA17101C09 George Thejungle (GJ) <george@thejungle.org> needs a passphrase Please enter passphrase: 258FA3EA17101C09 George Thejungle (GJ) <george@thejungle.org> needs a passphrase Please enter passphrase: 258FA3EA17101C09 George Thejungle (GJ) <george@thejungle.org> needs a passphrase Please enter passphrase: 258FA3EA17101C09 George Thejungle (GJ) <george@thejungle.org> needs a passphrase Please enter passphrase: 258FA3EA17101C09 George Thejungle (GJ) <george@thejungle.org> needs a passphrase Please enter passphrase: 258FA3EA17101C09 George Thejungle (GJ) <george@thejungle.org> needs a passphrase Please enter passphrase: 258FA3EA17101C09 George Thejungle (GJ) <george@thejungle.org> needs a passphrase Please enter passphrase: 258FA3EA17101C09 George Thejungle (GJ) <george@thejungle.org> needs a passphrase Please enter passphrase:
Premier test
# apt-get update (chez un "client") ... 28,3ko réceptionnés en 27s (1 015o/s) Lecture des listes de paquets... Fait W: Erreur de GPG : http://nas.isalo.org lenny Release : Les signatures suivantes n'ont pas pu être vérifiées car la clé publique n'est pas disponible : NO_PUBKEY 258FA3EA17101C09 W: Erreur de GPG : http://nas.isalo.org squeeze Release : Les signatures suivantes n'ont pas pu être vérifiées car la clé publique n'est pas disponible : NO_PUBKEY 258FA3EA17101C09 W: Erreur de GPG : http://nas.isalo.org sid Release : Les signatures suivantes n'ont pas pu être vérifiées car la clé publique n'est pas disponible : NO_PUBKEY 258FA3EA17101C09 W: Erreur de GPG : http://nas.isalo.org experimental Release : Les signatures suivantes n'ont pas pu être vérifiées car la clé publique n'est pas disponible : NO_PUBKEY 258FA3EA17101C09
Nous avons évidemment une erreur de clef GPG...
Pour résoudre cela, nous allons installer un serveur de clef.
Ce serveur aura d'autres fonctions si vous le souhaitez... Échange de clef publiques pour vos mails par exemple...
Installation de OpenSKS
Ajout de la clef GPG à votre serveur SKS
# sks merge /root/mygpg.pub Loading keys... 6 keys loaded, 0 files left DB time: 0.00 min. Total time: 0.00 min.
# sks cleandb # service sks restart Stopping sks daemons: sksrecon.. sksdb.. done. Starting sks daemons: sksdb.. sksrecon.. done.
Test chez un client
Client :
# gpg --keyserver hkp://nas.isalo.org --recv-keys 258FA3EA17101C09 gpg: requête de la clé 17101C09 du serveur hkp nas.isalo.org gpg: clé 17101C09: clé publique « George Thejungle (GJ) <george@thejungle.org> » importée gpg: Quantité totale traitée: 1 gpg: importée: 1 (RSA: 1) # gpg -a --export 17101C09 | sudo apt-key add - OK
De la lecture =
https://www.memolinux.info/doku.php?id=unix:systeme:reprepro
http://guilhem.toile-libre.org/tutoriels/depot_debian.html
http://mirrorer.alioth.debian.org/reprepro.1.html
http://www.debian-administration.org/articles/286
http://www.jejik.com/articles/2006/09/setting_up_and_managing_an_apt_repository_with_reprepro/
Lol 1 octobre 2010 à 10:38 (EAT)