| FAQ/HOWTO |
|---|
| 04/01/2006 : Comment utiliser urpmi --parallel |
| 09/03/2005 : Comment installer plusieurs distributions |
| 07/07/2004 : Introduction à Linux |
| 07/07/2004 : Gestion des logiciels ( tar.gz, rpm et urpmi ) |
| 07/07/2004 : Comment installer le pilote NForce ? |
Ce HOWTO aura pour but de vous montrer comment utiliser la fonction d'installation parallèle d'urpmi.
Nous allons configurer urpmi afin qu?il mette à jour des postes clients depuis un serveur. Les postes clients ont pour nom DNS client1 et client2. Nous allons utiliser SSH pour faire la mise à jour
Sur les clients il convient juste de s?assurer qu?un serveur SSH est installé et qu?il autorise les connexions ( notamment de l?utilisateur root ).
urpmi openssh-server
On édite le fichier de configuration du serveur SSH /etc/ssh/sshd_config et on le configure afin qu?il autorise les connexion de l?utilisateur root ( PermitRootLogin yes ) car par défaut ceci est désactivé :
# $OpenBSD: sshd_config,v 1.70 2004/12/23 23:11:00 djm Exp $
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
# This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options change a
# default value.
#Port 22
#Protocol 2,1
Protocol 2
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
# HostKey for protocol version 1
HostKey /etc/ssh/ssh_host_key
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
PermitRootLogin yes
#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#RhostsRSAAuthentication no
# similar for protocol version 2
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# RhostsRSAAuthentication and HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts file
s
#IgnoreRhosts yes
# Change to no to disable s/key passwords
#ChallengeResponseAuthentication yes
X11Forwarding yes
UsePrivilegeSeparation yes
#Compression yes
# override default of no subsystems
Subsystem sftp /usr/lib/ssh/sftp-server
On relance le service sshd afin que les modifications soient prises en compte :
service sshd restart
ssh root@assistante2
Pour ajouter les média sur les postes clients, on peut s?aider du site http://easyurpmi.zarb.org pour configurer les médias. Le Gestionnaire de média de rpmdrake peut aussi le faire de manière automatique. Par exemple pour ajouter de manière automatique les média main, contrib pour une Mandriva 2006 ( le nom des média sera préfixé par 2006_ ) :
urpmi.addmedia --distrib 2006_ ftp://ftp.proxad.net/pub/Distributions_Linux/MandrivaLinux/official/2006.0/i586
urpmi.addmedia --update 2006_update_secu ftp://ftp.proxad.net/pub/Distributions_Linux/MandrivaLinux/official/updates/2006.0/RPMS/ with media_info/hdlist.cz
Le serveur sera celui qui aura les média pour urpmi configuré et qui enverra les commandes aux postes clients.
urpmi urpmi-parallel-ssh
clients_grp:ssh:client1:client2
urpmi.addmedia --distrib 2006_ ftp://ftp.proxad.net/pub/Distributions_Linux/MandrivaLinux/official/2006.0/i586
urpmi.addmedia --update 2006_update_secu ftp://ftp.proxad.net/pub/Distributions_Linux/MandrivaLinux/official/updates/2006.0/RPMS/ with media_info/hdlist.cz
On installe le client SSH :
urpmi openssh-client
ssh-keygen -t dsa
ssh-copy-id -i ~/.ssh/id_dsa.pub root@client1 ssh-copy-id -i ~/.ssh/id_dsa.pub root@client2
ssh root@assistante2
Note : On peut envisager de désactiver l?utilisation des mots de passes pour la connexion via SSH, pour cela il suffit de mettre PasswordAuthentication no dans le fichier /etc/ssh/sshd_config des postes clients ( client1 et client2 ).
Bien que la commande urpmi soit parallélisée, la commande « urpmi.update » qui permet de mettre à jour les média ne l?est pas. Cela pourrait poser problème car les médias des clients et du serveur ne seraient plus synchrones. C?est pourquoi on va faire appel à un programme tierce qui permettra de lancer la mise à jour des média sur les différents postes en même temps. Se programme se basera aussi sur SSH pour fonctionner. Ce programme se nomme fanout et se trouve dans les média contrib. Pour l?installer il suffit de procéder comme suit :
urpmi fanout
fanout "localhost client1 client2" "urpmi.update -a"
urpmi --parallel clients_grp openoffice.org
urpmi --parallel clients_grp ?auto-select --auto --keep