Yum

De SME Server Wiki
Révision de 5 novembre 2008 à 15:33 par Drambeau (discussion | contributions) (diverse corrections orthographiques)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)

Yum est un gestionnaire d'installation des paquets rpm, avec leur dependances disponible sur SME7.

Il permet soit d'aller chercher directement sur un espace appelé 'repository' le paquet necessaire, ainsi que toutes ses dépendances, soit d'installer un paquet rpm déjà téléchargé sur votre sme mais non encore installé en se substituant aux commande rpm -i ou rpm -U en resolvant en plus les dependances : c'est à dire que l'installation ne fera pas un echec si une dépendance requise n'est pas installée, mais ira la télécharger si elle est disponible.


Commandes de yum

usage: yum [options] < update | install | info | remove | list |
   clean | provides | search | check-update | groupinstall |
   groupupdate | grouplist | groupinfo | groupremove |
   makecache | localinstall | erase | upgrade | whatprovides |
   localupdate | resolvedep | shell | deplist >

options:

 -h, --help            show this help message and exit
 -t, --tolerant        be tolerant of errors
 -C                    run entirely from cache, don't update cache
 -c [config file]      config file location
 -R [minutes]          maximum command wait time
 -d [debug level]      debugging output level
 -e [error level]      error output level
 -y                    answer yes for all questions
 --version             show Yum version and exit
 --installroot=[path]  set install root
 --enablerepo=[repo]   enable one or more repositories (wildcards allowed)
 --disablerepo=[repo]  disable one or more repositories (wildcards allowed)
 --exclude=[package]   exclude package(s) by name or glob
 --obsoletes           enable obsoletes processing during updates
 --noplugins           disable Yum plugins


pour connaitre les repository dans la base ?

db yum_repositories show |grep repository

Verifier si un rpm est dans un repository ?

yum search --enablerepo=<reponame>

desinstaller

yum remove

Installation / mise à jour d'un paquet téléchargé

Habituellement vous faisiez:

wget http://www.monsite.com/monpaquet.rpm
rpm -U monpaquet.rpm

ou encore par exemple

rpm -i http://www.monsite.com/monpaquet.rpm

Et apres soit le paquet est installé avec succés soit vous avez une erreure vous disant qu'un fichier necessaire au rpm n'est pas installé sur votre systeme. Avec Yum plus ce genre de problèmes.

Pour installer un nouveau rpm:

wget http://www.monsite.com/monpaquet.rpm
yum install monpaquet.rpm

ou

yum localinstall ./*.rpm

pour mettre à jour:

wget http://www.monsite.com/monpaquet.rpm
yum update monpaquet.rpm


Et tout s'installe correctement à condition que tous les repository necessaire soient disponibles, activés, et que les dependances requises soient disponibles dessus.

Mettre à jour votre SME7

1- methode console Tout simplement :

yum update

ou

yum upgrade

suivit, si necessaire de

signal-event post-upgrade; signal-event reboot

2- methode server-manager

aller dans mise à jour du logiciel faites mettre à jour selectionnez les mise à jour à installer si vous avez activé la gestion individuelle des paquets (ce que je conseille) evitez de selectionner plus d'une vingtaine de paquets en meme temps sous peine d'obtenir un time-out du navigateur, faite la mise a jour en plusieur fois Une fois tout terminé, aller dans redemarre le serveur, faites une reconfiguration, puis un reboot

Bien configurer Yum pour une utilisation courante sous SME7.3

NB les repo Dungog et chapaai ont fermé. Le premier a transféré ses rpm sur le repo smecontribs

1- activer les bon repository, cacher les autres et les desactiver

db yum_repositories setprop smeos Visible yes
db yum_repositories setprop smeos status enabled
db yum_repositories setprop smeupdates Visible yes
db yum_repositories setprop smeupdates status enabled
db yum_repositories setprop smeaddons Visible yes
db yum_repositories setprop smeaddons status enabled
db yum_repositories setprop smecontribs Visible yes
db yum_repositories setprop smecontribs status enabled
db yum_repositories setprop base Visible yes
db yum_repositories setprop base status enabled
db yum_repositories setprop updates Visible yes
db yum_repositories setprop updates status enabled
db yum_repositories setprop centosplus Visible no
db yum_repositories setprop centosplus status disabled
db yum_repositories setprop addons Visible no
db yum_repositories setprop addons status disabled
db yum_repositories setprop extras Visible no
db yum_repositories setprop extras status disabled
db yum_repositories setprop contrib Visible no
db yum_repositories setprop contrib status disabled
expand-template /etc/yum.conf

2- vous pouvez maintenant utiliser l'interface de mise à jour du server-manager pour installer ou mettre à jour en toute securité, ou utiliser yum pour le faire

Utiliser ponctuellement un repository non activé habituellement

Le repository centosplus (par exemple) contient beaucoup de rpm fort intéressant, mais son utilisation pour une mise à jour automatique risque de mettre hors d'usage votre sme en mettant un paquet plus récent que celui qui est disponible sur votre sme sans qu'il soit adapté: je pense par exemple au webmail horde. En effet certaines installations son spécifiques à l'architecture de votre SME.

Toutefois vous pouvez avoir besoin d'installer, ou metter à jour, ponctuellement un paquet sur ce repository ou sur un autre, la solution pour le faire sans l'activer de facon permanente, oublier de l'enlever après installation et se trouver face à des problèmes avec la mise à jour suivante est simple:

yum -enablerepo=centosplus install monpaquet 

ou

yum -enablerepo=centosplus update monpaquet

Exclure un RPM de la mise à jour par un repository spécifique

Si vous utilisez une application modifiée par vos soins qui risque d'être modifiée par une mise à jour SME ou CENTOS, ou pour un paquet spécifique SME qui risque d'être remplacé par un paquet CENTOS non adapté aux templates SME et à son architecture:

db yum_repositories setprop base Exclude monpaquet*
db yum_repositories setprop updates Exclude monpaquet*
db yum_repositories setprop smeos Exclude monpaquet*
expand-template /etc/yum.conf

Roles des différent repositories de mise à jour

NE PAS activer (sinon à vos risques et périls pour la mise à jour)

addons : spécifique à centos rajoute des fonctionnalités base : spécifique à centos , le pack de base.

centosplus : spécifique à centos rajoute des fonctionnalités. centos déconseille son utilisation !

contrib : spécifique à centos (son nom est un faux amis) rajoute des fonctionnalités.

extras : spécifique à centos rajoute des fonctionnalités.

testing : spécifique à centos rajoute des fonctionnalités.

Vous pouvez activer sans risque

base : paquets de base de centos + mise a jour upstream

updates : spécifique à centos rajoute des fonctionnalités.

smeaddons : spécifique à SME rajoute des fonctionnalités.

smecontribs : spécifique à SME rajoute des contribs.

smeos : spécifique à SME, installation de base.

smeupdates : spécifique à SME permet de garder à jour SME.

De préférence NE PAS activer sur un serveur en production

smedev : spécifique à SME , développement.

smetest : spécifique à SME , installation de base en test bêta avant mise à disposition en release .

smeupdates-testing :spécifique à SME , mises à jour beta avant mise à disposition en release .