tech:depot_debian_apt_repository
Ceci est une ancienne révision du document !
Table des matières
Dépôt Debian APT repository
Voir :
Voir aussi :
- aptly
wget -c http://www.gostcrypt.org/download/1.0/linux/Gostcrypt_1.0.deb mv Gostcrypt_1.0.deb gostcrypt.deb wget -c http://ftp.fr.debian.org/debian/pool/main/w/wxwidgets2.8/libwxgtk2.8-dev_2.8.12.1-12_amd64.deb wget -c https://github.com/adobe/brackets/releases/download/release-1.5/Brackets.Release.1.5.64-bit.deb wget -c ftp://ftp.mondorescue.org/debian/8/mondo_3.2.1-1_amd64.deb wget -c http://ftp.fr.debian.org/debian/pool/non-free/a/afio/afio_2.5.1.20130626+gite266635-1_amd64.deb wget -c http://ftp.fr.debian.org/debian/pool/non-free/f/firmware-nonfree/firmware-linux-nonfree_0.44~bpo8+1_all.deb wget -c http://ftp.fr.debian.org/debian/pool/main/p/pdfedit/pdfedit_0.4.5-1_amd64.deb
Modification d'un paquet .deb
wget -c http://www.gostcrypt.org/download/1.0/linux/Gostcrypt_1.0.deb rm tmp* -rf mkdir tmp cd tmp/ ar x ../Gostcrypt_1.0.deb ls -l mkdir DEBIAN cd DEBIAN/ tar xzvf ../control.tar.gz ls rm ../control.tar.gz vim control cd .. ls cd .. mv Gostcrypt_1.0.deb .. dpkg-deb --build tmp/
Comment créer un dépôt de paquets
Réf :
apt-get install reprepro
mkdir apt cd apt mkdir conf mkdir incoming
- conf/distributions
Origin: Acme Label: Acme Suite: stable Codename: jessie Version: 8.2 Architectures: amd64 Components: main Description: Global Private Acme Repository
Placer les fichiers .deb dans le dossier incoming
reprepro -Vb . includedeb (distribution) incoming/(nom_du_paquet)
Exemple :
reprepro -Vb . includedeb jessie incoming/atop
- /etc/nginx/sites-available/repo
server { listen 80 ; server_name apt.acme.fr ; root /var/www/apt ; autoindex on; charset utf-8; }
Faire un Dépôt partiel (partial Debian mirror) qui contiendra l'ensemble des paquets nécessaires
Add Packages in local Debian repository
Exemple
Pour que GPG ne nous demande pas mille fois la paraphrase
eval $(gpg-agent --daemon)
Et
apt-get install paquet cd /var/www/apt/incoming/ for paq in $(dpkg -l | grep ^ii | awk '{print $2}') ; do apt-get download $paq ; done cd .. for deb in incoming/*.deb ; do reprepro -Vb . includedeb jessie $deb ; done
- add_packages.sh
#! /bin/bash set -o nounset WD=$(dirname $(realpath $0)) pushd . > /dev/null cd /var/www/apt/incoming/ for paq in $(cat $WD/packages_list.txt) $(dpkg -l | grep ^ii |awk '{print $2}'|egrep -v "$(cat $WD/packages_list_ignored.txt |tr "\n" "|" | sed -e 's/|$//')" ) do apt-get download $paq # > /dev/null done cd /var/www/apt/ for deb in incoming/*.deb do reprepro -Vb . includedeb jessie $deb # >/dev/null done popd > /dev/nul
Créer un paquet Debian
Signer les paquets
Sur le serveur repo
1) Générer une clef
Export de la clef publique
gpg --list-key gpg --export -a 0x3E4DC2000A8903CF > /var/www/apt/conf/0x3E4DC2000A8903CF.asc
- conf/distributions
SignWith: 0x3E4DC2000A8903CF
reprepro --ask-passphrase export
Sur un client
wget http://repo.local/conf/0x3E4DC2000A8903CF.asc apt-key add 0x3E4DC2000A8903CF.asc #curl -sL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3E4DC2000A8903CF" | sudo apt-key add
tech/depot_debian_apt_repository.1742825205.txt.gz · Dernière modification : de 127.0.0.1
