création repo
This commit is contained in:
94
Creation_repo/Creation_arbo_repo.sh
Normal file
94
Creation_repo/Creation_arbo_repo.sh
Normal file
@@ -0,0 +1,94 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#=======================================================================
|
||||||
|
# FILE: ~Creation_arbo_repo.sh
|
||||||
|
# USAGE: ./Creation_arbo_repo.sh ""
|
||||||
|
# DESCRIPTION: Création de l'arborescence de dossier nécessaire à la
|
||||||
|
# création et l'utilisation d'un dépôt interne pour les postes/serveurs
|
||||||
|
# tournant sous Debian.
|
||||||
|
# Si le premier argument est fourni, il est assigné à la variable DIST,
|
||||||
|
# qui représente le dépôt (par exemple, « buster », « bullseye »).
|
||||||
|
# Si le second argument est fourni, il est assigné à la variable SECTION,
|
||||||
|
# qui représente la section (par exemple, « main », « contrib »).
|
||||||
|
#
|
||||||
|
# OPTIONS: ---
|
||||||
|
# REQUIREMENTS: ---
|
||||||
|
# BUGS: ---
|
||||||
|
# sources: http://wiki.drouet.eu/sysadmin/debian_repository
|
||||||
|
# NOTES: ---
|
||||||
|
# AUTHOR: Maxime Tertrais
|
||||||
|
# COMPANY: Operis
|
||||||
|
# CREATED: 09/10/2024
|
||||||
|
# REVISION: ---
|
||||||
|
#=======================================================================
|
||||||
|
##Définition des variables
|
||||||
|
ARCHS="i386 amd64" #Spécifie les architectures prises en charge (32 bits i386 et 64 bits amd64)
|
||||||
|
REPO_ROOT="/var/www/depots_deb" #Racine du dépôt interne.
|
||||||
|
MIRROR_ROOT="$REPO_ROOT/mirror/dists" #Racine du miroir des distributions dans le dépô
|
||||||
|
FILELISTS_DIR="$REPO_ROOT/filelists" #Répertoire pour les listes de fichiers.
|
||||||
|
|
||||||
|
#=======================================================================
|
||||||
|
##Définition des fonctions
|
||||||
|
|
||||||
|
#=======================================================================
|
||||||
|
##Script
|
||||||
|
|
||||||
|
if [ $# -lt 1 ] ; then
|
||||||
|
echo "" >&2
|
||||||
|
echo "Usage: $0 depot section" >&2
|
||||||
|
echo "" >&2
|
||||||
|
echo "Cree l'arborescence nécessaire pour créer un depot avec la section souhaitée" >&2
|
||||||
|
echo "Genere le fichier de configuration associé pour apt-ftparchive" >&2
|
||||||
|
echo "" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# le premier argument specifie le depot
|
||||||
|
if [ -n "$1" ]; then
|
||||||
|
DIST=$1
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
|
||||||
|
# le deuxieme argument specifie la section
|
||||||
|
if [ -n "$1" ]; then
|
||||||
|
SECTION=$1
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
|
||||||
|
FTP_ARCHIVE_CONF_FILE="/etc/apt/apt-perso-${DIST}.conf"
|
||||||
|
|
||||||
|
#creation de l'arborescence
|
||||||
|
DIR=""
|
||||||
|
for archi in $ARCHS; do
|
||||||
|
DIR="$DIR ${FILELISTS_DIR}/dists/${DIST} $REPO_ROOT/mirror/pool-${DIST}/$SECTION/binary-${archi} $MIRROR_ROOT/$DIST/$SECTION/binary-${archi}"
|
||||||
|
done
|
||||||
|
|
||||||
|
DIR="$DIR $REPO_ROOT/mirror/pool-${DIST}/$SECTION/binary-all $MIRROR_ROOT/$DIST/$SECTION/binary-all"
|
||||||
|
|
||||||
|
mkdir -p $DIR
|
||||||
|
chown root:sudo $DIR
|
||||||
|
chmod u=rwx,g=rwxs,o=rx,g+s $DIR
|
||||||
|
chmod g+ws $DIR
|
||||||
|
|
||||||
|
# generation du fichier de configuration du depot
|
||||||
|
if [ -f $FTP_ARCHIVE_CONF_FILE ]; then
|
||||||
|
echo "Le fichier de conf $FTP_ARCHIVE_CONF_FILE existe deja : Abandon" >&2
|
||||||
|
echo "Veuillez le compléter a la main (si vous voulez créer une nouvelle section dans un depot existant)" >&2
|
||||||
|
echo "ou le supprimer avant de relancer ce script" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "APT::FTPArchive::Release::Origin \"Internal Repository\";" > $FTP_ARCHIVE_CONF_FILE
|
||||||
|
echo "APT::FTPArchive::Release::Label \"Internal tools\";" >> $FTP_ARCHIVE_CONF_FILE
|
||||||
|
echo "APT::FTPArchive::Release::Suite \"$DIST\";" >> $FTP_ARCHIVE_CONF_FILE
|
||||||
|
echo "APT::FTPArchive::Release::Codename \"$DIST\";" >> $FTP_ARCHIVE_CONF_FILE
|
||||||
|
echo "APT::FTPArchive::Release::Architecture \"$ARCHS\";" >> $FTP_ARCHIVE_CONF_FILE
|
||||||
|
echo "APT::FTPArchive::Release::components \"$SECTION\";" >> $FTP_ARCHIVE_CONF_FILE
|
||||||
|
echo "APT::FTPArchive::Release::Description \"Internal Repository\";" >> $FTP_ARCHIVE_CONF_FILE
|
||||||
|
echo "" >> $FTP_ARCHIVE_CONF_FILE
|
||||||
|
echo "Tree \"dists/$DIST\" {" >> $FTP_ARCHIVE_CONF_FILE
|
||||||
|
echo " Sections \"$SECTION\";" >> $FTP_ARCHIVE_CONF_FILE
|
||||||
|
echo " Architectures \"$ARCHS\";" >> $FTP_ARCHIVE_CONF_FILE
|
||||||
|
echo " Directory \"pool-$DIST/\$(SECTION)/binary-\$(ARCH)\";" >> $FTP_ARCHIVE_CONF_FILE
|
||||||
|
echo " SrcDirectory \"pool-$DIST/\$(SECTION)/source\";" >> $FTP_ARCHIVE_CONF_FILE
|
||||||
|
echo "}" >> $FTP_ARCHIVE_CONF_FILE
|
||||||
|
|
||||||
27
Creation_repo/Prerequis_repo.sh
Normal file
27
Creation_repo/Prerequis_repo.sh
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#=======================================================================
|
||||||
|
# FILE: ~maj_repo.sh
|
||||||
|
# USAGE: ./maj_repo.sh ""
|
||||||
|
# DESCRIPTION: met a jour le depot debian cible passé en argument
|
||||||
|
#
|
||||||
|
# OPTIONS: ---
|
||||||
|
# REQUIREMENTS: ---
|
||||||
|
# BUGS: ---
|
||||||
|
# sources: http://wiki.drouet.eu/sysadmin/debian_repository
|
||||||
|
# NOTES: ---
|
||||||
|
# AUTHOR: Maxime Tertrais
|
||||||
|
# COMPANY: Operis
|
||||||
|
# CREATED: 09/10/2024
|
||||||
|
# REVISION: ---
|
||||||
|
#=======================================================================
|
||||||
|
##Définition des variables
|
||||||
|
|
||||||
|
#=======================================================================
|
||||||
|
##Définition des fonctions
|
||||||
|
|
||||||
|
#=======================================================================
|
||||||
|
##Script
|
||||||
|
|
||||||
|
# Installation GPG
|
||||||
|
apt-get install gnupg
|
||||||
|
gpg --gen-key
|
||||||
115
Creation_repo/maj_repo.sh
Normal file
115
Creation_repo/maj_repo.sh
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#=======================================================================
|
||||||
|
# FILE: ~maj_repo.sh
|
||||||
|
# USAGE: ./maj_repo.sh ""
|
||||||
|
# DESCRIPTION: met a jour le depot debian cible passé en argument
|
||||||
|
#
|
||||||
|
# OPTIONS: ---
|
||||||
|
# REQUIREMENTS: ---
|
||||||
|
# BUGS: ---
|
||||||
|
# sources: http://wiki.drouet.eu/sysadmin/debian_repository
|
||||||
|
# NOTES: ---
|
||||||
|
# AUTHOR: Maxime Tertrais
|
||||||
|
# COMPANY: Operis
|
||||||
|
# CREATED: 09/10/2024
|
||||||
|
# REVISION: ---
|
||||||
|
#=======================================================================
|
||||||
|
##Définition des variables
|
||||||
|
DISTS=" bookworm " # adapter ala liste des depots que vous possédez
|
||||||
|
REPO_ROOT="/var/www/depots_deb"
|
||||||
|
MIRROR_ROOT="$REPO_ROOT/mirror/dists"
|
||||||
|
GPG_HOME="/root/.gnupg"
|
||||||
|
FILELISTS_DIR="$REPO_ROOT/filelists"
|
||||||
|
ARCH_LIST="i386 amd64 all"
|
||||||
|
|
||||||
|
#=======================================================================
|
||||||
|
##Définition des fonctions
|
||||||
|
|
||||||
|
#=======================================================================
|
||||||
|
##Script
|
||||||
|
# vérification si le nombre d'arguments passés est suffisant
|
||||||
|
if [ $# -lt 1 ] ; then
|
||||||
|
echo "" >&2
|
||||||
|
echo "Usage: $0 [ all|etch|unstable|... ] [ test ]" >&2
|
||||||
|
echo "" >&2
|
||||||
|
echo "Mise à jour du ou des dépots (all) spécifié en premier argument." >&2
|
||||||
|
echo "Un seul dépot peut-être spécifié à la fois." >&2
|
||||||
|
echo "" >&2
|
||||||
|
echo "Si le deuxième argument est 'test', " >&2
|
||||||
|
echo "la mise à jour se fait sur les dépots de test" >&2
|
||||||
|
echo "" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Traitement du premier argument - depot à mettre à jour
|
||||||
|
if [ -n "$1" ]; then
|
||||||
|
ONLY_DIST=""
|
||||||
|
tmp_sec=$1
|
||||||
|
shift
|
||||||
|
|
||||||
|
for i in ${DISTS}
|
||||||
|
do
|
||||||
|
if [ "X$i" = "X$tmp_sec" ]; then
|
||||||
|
ONLY_DIST=$i
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ "X$tmp_sec" = "Xall" ]; then
|
||||||
|
ONLY_DIST=${DISTS}
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "${ONLY_DIST}" ]; then
|
||||||
|
echo "ERREUR: depot invalide $tmp_sec" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
DISTS=${ONLY_DIST}
|
||||||
|
fi
|
||||||
|
# Traitement du deuxième argument - depots de prod ou de test
|
||||||
|
DIST_SUFFIX=""
|
||||||
|
if [ "X$1" == "Xtest" ]; then
|
||||||
|
DIST_SUFFIX="-test"
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Boucle principale pour chaque distribution
|
||||||
|
for DIST in $DISTS
|
||||||
|
do
|
||||||
|
DIST="${DIST}${DIST_SUFFIX}"
|
||||||
|
FTP_ARCHIVE_CONF_FILE="/etc/apt/apt-perso-${DIST}.conf"
|
||||||
|
|
||||||
|
rm -f $REPO_ROOT/cache/*db
|
||||||
|
|
||||||
|
# generation des filelist des depots
|
||||||
|
cd $REPO_ROOT/mirror
|
||||||
|
for section in `ls pool-${DIST}`
|
||||||
|
do
|
||||||
|
for archi in $ARCH_LIST;
|
||||||
|
do
|
||||||
|
if [ "x${archi}" = "xall" ]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
mkdir -p ${FILELISTS_DIR}/dists/${DIST}
|
||||||
|
echo "Section : ${section}"
|
||||||
|
echo "Arch : ${archi}"
|
||||||
|
FILELIST="${FILELISTS_DIR}/dists/${DIST}/${section}-${archi}.filelist"
|
||||||
|
echo "filelist : $FILELIST"
|
||||||
|
find pool-${DIST}/$section/binary-${archi} pool-${DIST}/$section/binary-all -name "*.deb" > \
|
||||||
|
${FILELISTS_DIR}/dists/${DIST}/${section}-${archi}.filelist
|
||||||
|
done
|
||||||
|
|
||||||
|
done
|
||||||
|
echo "generation apt ftp archive :"
|
||||||
|
apt-ftparchive generate ${FTP_ARCHIVE_CONF_FILE}
|
||||||
|
echo "creation du fichier Release :"
|
||||||
|
# creation des fichiers Release
|
||||||
|
RELEASE_FILE="${MIRROR_ROOT}/${DIST}/Release"
|
||||||
|
apt-ftparchive -c $FTP_ARCHIVE_CONF_FILE release \
|
||||||
|
${MIRROR_ROOT}/${DIST}/ > $RELEASE_FILE
|
||||||
|
|
||||||
|
# signature gpg des fichiers Release
|
||||||
|
rm -f $RELEASE_FILE.gpg
|
||||||
|
${DEBUG} gpg --verbose --homedir ${GPG_HOME} -ba \
|
||||||
|
--output $RELEASE_FILE.gpg $RELEASE_FILE
|
||||||
|
done
|
||||||
1
Deploiement_debian
Submodule
1
Deploiement_debian
Submodule
Submodule Deploiement_debian added at 15fcf9c81c
Reference in New Issue
Block a user