{"id":101,"date":"2008-11-15T20:26:57","date_gmt":"2008-11-15T19:26:57","guid":{"rendered":"http:\/\/blog.milamberspace.net\/?p=101"},"modified":"2011-01-16T21:13:28","modified_gmt":"2011-01-16T21:13:28","slug":"gestion-des-packages-avec-yum-sans-connexion-internet-et-avec-le-dvd-redhat","status":"publish","type":"post","link":"https:\/\/blog.milamberspace.net\/index.php\/2008\/11\/15\/gestion-des-packages-avec-yum-sans-connexion-internet-et-avec-le-dvd-redhat-101.html","title":{"rendered":"Gestion des packages avec YUM sans connexion Internet et avec le dvd Redhat"},"content":{"rendered":"<p><em><span style=\"text-decoration: underline;\">Mise \u00e0 jour le 19\/08\/2010<\/span><\/em><\/p>\n<p>Pour ceux qui ne connaissent pas <strong>YUM<\/strong>, ce dernier est un utilitaire bien pratique dans les distributions Linux utilisant les packages RPM, tel que RedHat ou CentOS.<\/p>\n<p>YUM permet en effet de faire la gestion des packages sur ces types de distributions, en g\u00e9rant les d\u00e9pendances entre les packages, c&rsquo;est-\u00e0-dire que si vous voulez installer par exemple PHP sur votre serveur Linux RedHat, il suffit de faire <em>\u00ab yum install php \u00bb<\/em> et hop, tous les packages n\u00e9cessaires \u00e0 PHP vont \u00eatre install\u00e9s (entre autres le serveur Apache HTTP :-)).<\/p>\n<p>Mais pour cela, YUM a besoin d&rsquo;une connexion \u00e0 Internet pour 1\/ localiser le package d\u00e9sir\u00e9, 2\/ t\u00e9l\u00e9charger son ent\u00eate pour voir ses d\u00e9pendances, 3\/ t\u00e9l\u00e9charger les ent\u00eates de ses d\u00e9pendances et g\u00e9n\u00e9rer \u00e9galement les d\u00e9pendances de ses d\u00e9pendances, 4\/ puis quand il n&rsquo;y a plus de d\u00e9pendances \u00e0 g\u00e9rer, proc\u00e9der au t\u00e9l\u00e9chargement et \u00e0 l&rsquo;installation.<\/p>\n<p>Le probl\u00e8me est que parfois, la connexion \u00e0 Internet n&rsquo;est pas disponible pour faire des installations ou des mises \u00e0 jour sur des serveurs dans des salles blanches s\u00e9curis\u00e9es. <em>Pas de probl\u00e8me,<\/em> YUM avec un peu de configuration sait aussi travailler en \u00ab local \u00bb, \u00e0 partir du m\u00e9dia d&rsquo;origine ou d&rsquo;une version de mise \u00e0 jour.<!--more--><\/p>\n<p>Donc, pour pouvoir faire des installations ou des mises \u00e0 jour depuis le DVD (ou les Cdroms) de Redhat, il faut bien entendu le media, ou mieux l&rsquo;image ISO du media.<\/p>\n<p>Ici c&rsquo;est l&rsquo;image ISO de la Redhat Linux Entreprise (RHEL) version 5.5 pour processeurs Intel avec les extensions 64 bits : <em>rhel-5.5-server-x86_64-dvd.iso<\/em><\/p>\n<p>Comme pr\u00e9-requis, j&rsquo;ai d\u00e9pos\u00e9 l&rsquo;image ISO dans le r\u00e9pertoire \/root\/dvd_redhat\/<\/p>\n<p><strong><span style=\"text-decoration: underline;\">Etape 1 :<\/span><\/strong> Montage de l&rsquo;image ISO sur le syst\u00e8me de fichiers afin de r\u00e9cup\u00e9rer les packages RPM qui serviront \u00e0 l&rsquo;installation ou \u00e0 la mise \u00e0 jour.<\/p>\n<pre><span style=\"color: #800000;\"><strong>mkdir -p \/root\/dvd_redhat\/disk\/<\/strong><\/span><\/pre>\n<pre><span style=\"color: #800000;\"><strong>mount -o loop \/root\/dvd_redhat\/rhel-5.5-server-x86_64-dvd.iso \/root\/dvd_redhat\/disk\/<\/strong><\/span><\/pre>\n<p>La commande \u00ab\u00a0<em>mount -o loop<\/em>\u00a0\u00bb qui commence \u00e0 \u00eatre de plus en plus connue, permet \u00ab d&rsquo;ouvrir \u00bb une image ISO, et de la monter sur l&rsquo;arborescence de fichiers. Ici, dans le r\u00e9pertoire \/root\/dvd_redhat\/disk\/<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Etape 2 :<\/strong><\/span> R\u00e9cup\u00e9ration des packages RPM dans un nouveau r\u00e9pertoire.<\/p>\n<p>L&rsquo;image ISO mont\u00e9e \u00e9tant en mode lecture seule, il faut copier les fichiers RPM vers un r\u00e9pertoire en lecture\/\u00e9criture (pour faire l&rsquo;\u00e9tape 4).<\/p>\n<pre><span style=\"color: #800000;\"><strong>mkdir \/root\/dvd_redhat\/RPM<\/strong><\/span><\/pre>\n<pre><span style=\"color: #800000;\"><strong>cd \/root\/dvd_redhat\/disk\/Server\/<\/strong><\/span><\/pre>\n<pre><span style=\"color: #800000;\"><strong>cp *.rpm \/root\/dvd_redhat\/RPM\/<\/strong><\/span><\/pre>\n<p><strong><span style=\"text-decoration: underline;\">Etape 3 :<\/span><\/strong> Installation de l&rsquo;utilitaire createrepo<\/p>\n<p>On profite d&rsquo;\u00eatre dans le r\u00e9pertoire qui contient tous les packages RPM, pour installer manuellement l&rsquo;utilitaire createrepo, ce dernier permettant de faire l&rsquo;\u00e9tape suivante.<\/p>\n<pre><span style=\"color: #800000;\"><strong>rpm -i createrepo-0.4.11-3.el5.noarch.rpm\r\n<\/strong><\/span><\/pre>\n<p><span style=\"color: #000000;\">dans le cas d&rsquo;une installation RedHat vide (sans aucun paquetage coch\u00e9 lors de l&rsquo;installation), prendre cette ligne de commande :<\/span><\/p>\n<p><span style=\"color: #800000;\"> <\/span><\/p>\n<pre><span style=\"color: #800000;\"><strong>rpm -i createrepo-0.4.11-3.el5.noarch.rpm libxml2-python-2.6.26-2.1.2.8.i386.rpm rpm-python-4.4.2.3-18.el5.i386.rpm\r\nyum-metadata-parser-1.1.2-3.el5.i386.rpm yum-3.2.22-26.el5.noarch.rpm python-elementtree-1.2.6-5.i386.rpm\r\npython-iniparse-0.2.3-4.el5.noarch.rpm python-sqlite-1.1.7-1.2.1.i386.rpm\r\npython-urlgrabber-3.1.0-5.el5.noarch.rpm m2crypto-0.16-6.el5.6.i386.rpm\r\n<\/strong><\/span><\/pre>\n<p><strong><span style=\"text-decoration: underline;\">Etape 4 :<\/span><\/strong> Cr\u00e9ation du nouveau r\u00e9f\u00e9rentiel (repository) de fichier<\/p>\n<p>On se place sur le nouveau r\u00e9pertoire contenant les RPM copi\u00e9s de l&rsquo;image ISO, et on va cr\u00e9er un nouveau r\u00e9f\u00e9rentiel (index) des fichiers RPM avec la commande createrepo.<\/p>\n<pre><span style=\"color: #800000;\"><strong>cd \/root\/dvd_redhat\/RPM\/<\/strong><\/span><\/pre>\n<pre><span style=\"color: #800000;\"><strong>createrepo .\/<\/strong><\/span><\/pre>\n<p>La commande <em>createrepo<\/em> prend comme argument le r\u00e9pertoire courant, ici \/root\/dvd_redhat\/RPM\/ .<\/p>\n<p>Elle va cr\u00e9er un ensemble de fichiers dans un sous-repertoire <em>.\/repodata\/<\/em><\/p>\n<p>Tiens, on a plus besoin du montage de l&rsquo;image ISO, on en profite pour d\u00e9monter&#8230;<\/p>\n<pre><span style=\"color: #800000;\"><strong>umount \/root\/dvd_redhat\/disk\/<\/strong><\/span><\/pre>\n<p><strong><span style=\"text-decoration: underline;\">Etape 5 :<\/span><\/strong> Cr\u00e9ation du fichier de r\u00e9f\u00e9rence du nouveau r\u00e9f\u00e9rentiel<\/p>\n<p>Pour que YUM puisse utiliser notre nouveau r\u00e9f\u00e9rentiel, il faut lui ajouter sa r\u00e9f\u00e9rence dans sa configuration. Sous RHEL, il faut simplement cr\u00e9er le fichier suivant :<\/p>\n<pre><span style=\"color: #800000;\"><strong>vi \/etc\/yum.repos.d\/RedHat-Media.repo\r\n======================CONTENU=====================================\r\n[redhat-media]\r\nname=RedHat-$releasever - Media\r\nbaseurl=file:\/\/\/root\/dvd_redhat\/RPM\/\r\ngpgcheck=1\r\nenabled=1\r\ngpgkey=file:\/\/\/etc\/pki\/rpm-gpg\/RPM-GPG-KEY-redhat-release\r\n==================================================================<\/strong><\/span><\/pre>\n<p><strong><span style=\"text-decoration: underline;\">Etape 6 :<\/span><\/strong> utilisation de YUM<\/p>\n<p>On va commencer par faire un nettoyage de YUM avec le commande suivante :<\/p>\n<pre><span style=\"color: #800000;\"><strong>yum --disablerepo=\\* --enablerepo=redhat-media --noplugins clean all<\/strong><\/span><\/pre>\n<p>On notera le <em>\u00ab &#8211;disablerepo=\\* \u00bb<\/em> qui permet de d\u00e9sactiver toutes les r\u00e9f\u00e9rences vers d&rsquo;autres r\u00e9f\u00e9rentiels, le <em>\u00ab &#8211;enablerepo=redhat-media \u00bb<\/em> qui indique que l&rsquo;on souhaite travaillait avec notre nouveau r\u00e9f\u00e9rentiel, et pour finir l&rsquo;option <em>\u00ab &#8211;noplugins \u00bb <\/em>qui va d\u00e9sactiver tous les plugins, notamment celui du RHN qui n\u00e9cessite une connexion Internet que nous n&rsquo;avons pas.<\/p>\n<p>Le <em>\u00ab clean all \u00bb <\/em>commandant le nettoyage du cache de YUM.<\/p>\n<p>Voil\u00e0.<\/p>\n<p>Ensuite, on peut utiliser YUM pour g\u00e9rer les installations, les d\u00e9sinstallations, les mises \u00e0 jour de ses packages en g\u00e9rant les d\u00e9pendances.<\/p>\n<p><strong><span style=\"text-decoration: underline;\">Pour une installation :<\/span><\/strong><\/p>\n<pre><span style=\"color: #800000;\"><strong>yum --disablerepo=\\* --enablerepo=redhat-media --noplugins install &lt;nom_package(s)&gt;<\/strong><\/span><\/pre>\n<p><span style=\"text-decoration: underline;\"><strong>Pour une suppression :<\/strong><\/span><\/p>\n<pre><span style=\"color: #800000;\"><strong>yum --disablerepo=\\* --enablerepo=redhat-media --noplugins remove &lt;nom_package(s)&gt;<\/strong><\/span><\/pre>\n<p><span style=\"text-decoration: underline;\"><strong>Pour une mise \u00e0 jour de version sur l&rsquo;ensemble des packages<\/strong><\/span> (par exemple un passage de RHEL 5.1 \u00e0 RHEL 5.2)<\/p>\n<pre><span style=\"color: #800000;\"><strong>yum --disablerepo=\\* --enablerepo=redhat-media --noplugins update<\/strong><\/span><\/pre>\n<p>Bon courage.<\/p>\n<p>.\/<\/p>\n<div id=\"_mcePaste\" style=\"position: absolute; left: -10000px; top: 741px; width: 1px; height: 1px; overflow: hidden;\">rpm -i createrepo-0.4.11-3.el5.noarch.rpm libxml2-python-2.6.26-2.1.2.8.i386.rpm rpm-python-4.4.2.3-18.el5.i386.rpm yum-metadata-parser-1.1.2-3.el5.i386.rpm yum-3.2.22-26.el5.noarch.rpm python-elementtree-1.2.6-5.i386.rpm python-iniparse-0.2.3-4.el5.noarch.rpm python-iniparse-0.2.3-4.el5.noarch.rpm python-sqlite-1.1.7-1.2.1.i386.rpm python-urlgrabber-3.1.0-5.el5.noarch.rpm m2crypto-0.16-6.el5.6.i386.rpm<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Mise \u00e0 jour le 19\/08\/2010 Pour ceux qui ne connaissent pas YUM, ce dernier est un utilitaire bien pratique dans les distributions Linux utilisant les packages RPM, tel que RedHat ou CentOS. YUM permet en effet de faire la gestion des packages sur ces types de distributions, en g\u00e9rant les d\u00e9pendances entre les packages, c&rsquo;est-\u00e0-dire &hellip; <a href=\"https:\/\/blog.milamberspace.net\/index.php\/2008\/11\/15\/gestion-des-packages-avec-yum-sans-connexion-internet-et-avec-le-dvd-redhat-101.html\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Gestion des packages avec YUM sans connexion Internet et avec le dvd Redhat<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,132],"tags":[133,316,353,134],"class_list":["post-101","post","type-post","status-publish","format-standard","hentry","category-linux","category-redhat","tag-centos","tag-linux","tag-redhat","tag-yum"],"_links":{"self":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/posts\/101","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/comments?post=101"}],"version-history":[{"count":7,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/posts\/101\/revisions"}],"predecessor-version":[{"id":810,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/posts\/101\/revisions\/810"}],"wp:attachment":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/media?parent=101"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/categories?post=101"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/tags?post=101"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}