Yum

De SME Server Wiki

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 rpmdé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épéndance 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 installerun 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

1- ajouter le repo Dungog

db yum_repositories set dungog repository \
 BaseURL http://sme.dungog.net/packages/smeserver/7.0/i386/dungog/ \
 EnableGroups yes \
 GPGCheck no \
 Name 'SME Server 7 - dungog' \
 Visible yes \
 status enabled

2- 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 base Visible yes
db yum_repositories setprop base status disabled
db yum_repositories setprop updates Visible yes
db yum_repositories setprop updates status disabled
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

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

4- accessoirement vous pouvez utiliser une adresse d'un mirroire alternatif a celui proposé par defaut pour les repository SME: http://mirror.contribs.org/pub/smeserver/releases/7/ qui envoie par defaut sur http://distro.ibiblio.org/pub/linux/distributions/smeserver/releases/7/ par :

  1. http://public.planetmirror.com/pub/smeserver/releases/7/ si vous êtes proche de l'australie
  2. http://ftp.nluug.nl/os/Linux/distr/smeserver/releases/7/ pour les européens
  3. http://ftp.surfnet.nl/ftp/pub/os/Linux/distr/smeserver/releases/7/ toujours pour les européens

Faites ceci uniquement si vous êtes sûr de vous. Les mirroirs sont logiquement tous à jours, et ceux plus proches de chez vous seront plus rapide, et surrement moins surchargé que le mirroir inscrit par défaut.

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

addons : spécifique à centos rajoute des fonctionalités. NE PAS activer (sinon à vos risques et périls pour la mise à jour)

base : spécifique à centos , le pack de base. NE PAS activer (sinon à vos risques et périls pour la mise à jour)

centosplus : spécifique à centos rajoute des fonctionalitées. NE PAS activer (sinon à vos risques et perils pour la mise à jour), déjà que centos déconseille son utilisation !

contrib : spécifique à centos (son nom est un faux amis) rajoute des fonctionalitées. NE PAS activer (sinon à vos risques et perils pour la mise à jour)

dungog : contribs pour SME vous pouvez activer sans risque

extras : spécifique à centos rajoute des fonctionalitées. NE PAS activer (sinon à vos risques et périls pour la mise à jour)

smeaddons : spécifique à SME rajoute des fonctionalitées. vous pouvez activer sans risque

smedev : spécifique à SME , dévellopement. de préference NE PAS activer sur un serveur en production

smeos : spécifique à SME, installation de base. vous pouvez activer sans risque

smetest : : spécifique à SME , installation de base en test beta avant mise à disposition en release . de preference NE PAS activer sur un serveur en production

smeupdates : spécifique à SME permet de garder à jour SME. vous pouvez activer sans risque

smeupdates-testing :spécifique à SME , mises à jour beta avant mise à disposition en release . de preference NE PAS activer sur un serveur en production

testing : spécifique à centos rajoute des fonctionalitées. NE PAS activer (sinon à vos risques et perils pour la mise à jour)

updates : spécifique à centos rajoute des fonctionalitées. NE PAS activer (sinon à vos risques et perils pour la mise à jour)