Apt4rpm
OBJECTIF : mise à jour facile des redhat via l'outil apt, en mettant en place un repository de rpm.
ENVIRONNEMENT, REFLEXIONS ET PRE-REQUIS
Il n'y a pas de apt-proxy porté sous redhat
Actuellement les red-hat sont mises à jour via apt (qui se connecte à des repository externes : http://ayo.freshrpms.net/ par exemple )
Apt4rpm : http://apt4rpm.sourceforge.net/ semble être pertinent.
TESTS
installation d'une fedora core 3 sur une machine de test
installation de apt sur la fc3 :
wget http://ftp.freshrpms.net/pub/freshrpms/fedora/linux/3/apt/apt-0.5.15cnc6-1.1.fc3.fr.i386.rpm
mise à jour de la FC3 via apt-get update && apt-get upgrade
INSTALLATION
(facultatif : pour plus de simplicité pour la suite, installer apt pour redhat sur la machine qui sera serveur de paquets)
télécharger apt4rpm http://apt4rpm.sourceforge.net/
décompresser l'archive, lancer ./configure
installer (via apt) les paquets non trouvés mais tout n'est pas obligatoire (cela fonctionne avec ce qui suit)
(
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for perl... /usr/bin/perl
checking for xmlto... /usr/bin/xmlto
checking for db2ps... no
checking for bash... /bin/sh
checking for dtd2html... no
checking for dtd2html.pl... no
checking for xmllint... /usr/bin/xmllint
configure: creating ./config.status
config.status: creating Makefile
config.status: creating apt4rpm.spec)
lancer make
puis lancer sudo make install. Voilà apt4rpm est installé.
CONFIGURATION DU SERVEUR DE PAQUETS
**Le dépôt de paquets :
créer un répertoire /repository par exemple et décliner les distributions, (exemple: /repository/fedora et /repository/redhat) ..., décliner ensuite les releases (exemple: /repository/fedora/2 et /repository/fedora/3), puis décliner les architectures (exemple:/repository/fedora/3/i386 ).
** Attention il est important d'avoir une architecture du type (pour que la liste des paquets créée dans .../i386/base soit générée correctement) :
.../fedora/3/i386
|__ RPMS.os
|__ SRPMS.os
|__ RPMS.updates
Il faut donc soit créer les répertoires de rpm et des sources (exemple: /repository/fedora/3/i386/RPMS.os et SRPMS.os ) soit faire des liens symboliques avec RPMS.os qui pointe vers le répertoire de rpm ( exemple : sudo ln -sf /repository/fedora/3/i386/os/Fedora/RPMS/ /repository/fedora/3/i386/RPMS.os )
il faut alors récupérer les paquets de la fedora 3 (via les cd, via le net, via des scripts (rdiffbackup...))
il faut ensuite créer la liste des paquets (cela créera un répertoire /repository/fedora/3/i386/base) via la commande : $ sudo genbasedir --progress --flat /repository/fedora/3/i386/ os (la valeur os n'est pas obligatoire)
Cela donne :
Components: stable
Processing pkglists... os 0388/0388 [done]
Processing srclists... os [done]
Creating component releases... [done]
Updating global release file... [done]
Appending MD5Sum... os [done]
All your base are belong to us!!!
Le serveur apache :
installer apache (apt-get install httpd)
le configurer (rapidement dans un premier temps), il convient donc de donner un ServerName au serveur apache (exemple : monsrvapache.domaine.net ) et de configurer le DocumentRoot (ici : /repository) (le mieux est de faire des VirtualHost)
le lancer : sudo /etc/init.d/httpd start
Configuration du client :
Installer apt
Remplir /etc/apt/sources.list en ajoutant la liste servie par le apache:
# Test
rpm http://monsrvapache.domaine.net fedora/3/i386 os
TESTS DE FONCTIONNEMENT
sur le client apt-get update, apt-get upgrade ...
Source (s) de l'article sur la gestion de parc avec Zope (tar.gz)
Source de la documentation (en GFDL) sur Plone (docplone0999.pdf)