Personal tools
You are here: Home Members zopeuse adminsys Apt4rpm
Document Actions

Apt4rpm

by zopeuse last modified 2006-03-23 04:22

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 ...


Powered by Plone, the Open Source Content Management System

This site conforms to the following standards: