Yum
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.
Sommaire
- 1 Commandes de yum
- 2 pour connaitre les repository dans la base ?
- 3 Verifier si un rpm est dans un repository ?
- 4 desinstaller
- 5 Installation / mise à jour d'un paquet téléchargé
- 6 Mettre à jour votre SME7
- 7 Bien configurer Yum pour une utilisation courante sous SME7
- 8 Utiliser ponctuellement un repository non activé habituellement
- 9 Exclure un RPM de la mise à jour par un repository spécifique
- 10 Roles des différent repositories de mise à jour
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
1- ajouter le repo Dungog
db yum_repositories set dungog repository \ BaseURL http://sme.dungog.net/packages/smeserver/7.0/i386/dungogMembers/ \ 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 :
- http://public.planetmirror.com/pub/smeserver/releases/7/ si vous êtes proche de l'australie
- http://ftp.nluug.nl/os/Linux/distr/smeserver/releases/7/ pour les européens
- 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
NE PAS activer (sinon à vos risques et périls pour la mise à jour)
addons : spécifique à centos rajoute des fonctionalités base : spécifique à centos , le pack de base.
centosplus : spécifique à centos rajoute des fonctionalitées. centos déconseille son utilisation !
contrib : spécifique à centos (son nom est un faux amis) rajoute des fonctionalitées.
extras : spécifique à centos rajoute des fonctionalitées.
testing : spécifique à centos rajoute des fonctionalitées.
Vous pouvez activer sans risque
updates : spécifique à centos rajoute des fonctionalitées.
smeaddons : spécifique à SME rajoute des fonctionalitées.
dungog : contribs pour SME
smeos : spécifique à SME, installation de base.
smeupdates : spécifique à SME permet de garder à jour SME.
De préference NE PAS activer sur un serveur en production
smedev : spécifique à SME , dévellopement.
smetest : spécifique à SME , installation de base en test beta avant mise à disposition en release .
smeupdates-testing :spécifique à SME , mises à jour beta avant mise à disposition en release .