{"id":1241,"date":"2012-01-17T22:18:43","date_gmt":"2012-01-17T20:18:43","guid":{"rendered":"http:\/\/linux.leunen.com\/?p=1241"},"modified":"2012-01-17T22:18:43","modified_gmt":"2012-01-17T20:18:43","slug":"mise-a-jour-de-pacman","status":"publish","type":"post","link":"https:\/\/www.leunen.com\/linux\/2012\/01\/mise-a-jour-de-pacman\/","title":{"rendered":"Mise \u00e0 jour de pacman"},"content":{"rendered":"<p>Depuis ce jour, une nouvelle version de <em>pacman<\/em>, la 4.0, est disponible dans les d\u00e9p\u00f4ts d&rsquo;Archlinux. Si vous faites la mise \u00e0 jour de votre syst\u00e8me, vous risquez d&rsquo;avoir une erreur.<br \/>\nL&rsquo;erreur ressemble \u00e0 ceci:<\/p>\n<pre class=\"codesource\">\r\n:: Les paquets suivants devraient \u00eatre mis \u00e0 jour en premier :\r\n    pacman\r\n:: Voulez-vous annuler l'op\u00e9ration courante et\r\n:: mettre \u00e0 jour ces paquets maintenant ? [O\/n] \r\n\r\nr\u00e9solution des d\u00e9pendances...\r\nrecherche des conflits entre paquets...\r\nErreur: la pr\u00e9paration de la transaction a \u00e9chou\u00e9 (la satisfaction des d\u00e9pendances a \u00e9chou\u00e9)\r\n:: package-query: requiert pacman<3.6\r\n<\/pre>\n<p>Pour comprendre, il faut savoir que le gestionnaire de paquet est configur\u00e9, via le fichier <em>pacman.conf<\/em>, pour effectuer la mise \u00e0 jour de <em>pacman<\/em>, si elle existe, avant toute autre mise \u00e0 jour. Or pour que cette mise \u00e0 jour de <em>pacman<\/em> se fasse, il faut aussi que le paquet <em>package-query<\/em> soit mis \u00e0 jour.<br \/>\nLa solution est simple et passe par l'\u00e9dition du fichier <em>\/etc\/pacman.conf<\/em>. Il faut dans ce fichier modifi\u00e9 la ligne contenant <em>SyncFirst<\/em> pour y ajouter <em>package-query<\/em>. On en profitera aussi pour y mettre <em>yaourt<\/em> par la m\u00eame occasion:<\/p>\n<pre class=\"codesource\">\r\n# If upgrades are available for these packages they will be asked for first\r\nSyncFirst   = pacman package-query yaourt\r\n<\/pre>\n<p>Il suffit ensuite de relancer la mise \u00e0 jour du syst\u00e8me qui mettra \u00e0 jour <em>pacman<\/em>:<\/p>\n<pre class=\"codesource\">\r\n$ sudo pacman -Syu\r\n<\/pre>\n<p>La mise \u00e0 jour a cr\u00e9\u00e9 un nouveau fichier <em>pacman.conf<\/em> appel\u00e9 <em>pacman.conf.pacnew<\/em> et un nouveau fichier <em>mirrorlist<\/em> appel\u00e9 <em>mirrorlist.pacnew<\/em>. Il va falloir modifier ces deux fichiers pour y ajouter les modifications que nous y avions faites manuellement. L'ajout du d\u00e9p\u00f4t archlinux.fr par exemple.<br \/>\nUne fois ces modifications faites, on va renommer l'ancien fichier en <em>*.old<\/em> et on va enlever l'extension .pacnew de la nouvelle version. Celle-ci va prendre la place du fichier de configuration:<\/p>\n<pre class=\"codesource\">\r\n$ sudo mv \/etc\/pacman.conf \/etc\/pacman.conf.old\r\n$ sudo mv \/etc\/pacman.conf.pacnew \/etc\/pacman.conf\r\n\r\n$ sudo mv \/etc\/pacman.d\/mirrorlist \/etc\/pacman.d\/mirrorlist.old\r\n$ sudo mv \/etc\/pacman.d\/mirrorlist.pacnew \/etc\/pacman.d\/mirrorlist\r\n<\/pre>\n<p>A ce moment, le gestionnaire de paquets <em>pacman<\/em> est \u00e0 nouveau op\u00e9rationnel. Relancez la mise \u00e0 jour de votre syst\u00e8me pour qu'il prenne en compte les mises \u00e0 jour autres que <em>pacman<\/em>:<\/p>\n<pre class=\"codesource\">\r\n$ sudo pacman -Syu\r\n<\/pre>\n<p>Vous aurez remarqu\u00e9 que j'utilise <em>sudo<\/em> comme si j'\u00e9tais sous Ubuntu. Rien ne vous emp\u00eache, bien s\u00fbr, de passer en <em>root<\/em> avec <em>su<\/em>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Depuis ce jour, une nouvelle version de pacman, la 4.0, est disponible dans les d\u00e9p\u00f4ts d&rsquo;Archlinux. Si vous faites la mise \u00e0 jour de votre syst\u00e8me, vous risquez d&rsquo;avoir une erreur. L&rsquo;erreur ressemble \u00e0 ceci: :: Les paquets suivants devraient \u00eatre mis \u00e0 jour en premier : pacman :: Voulez-vous annuler l&rsquo;op\u00e9ration courante et :: [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[23],"tags":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/posts\/1241"}],"collection":[{"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/comments?post=1241"}],"version-history":[{"count":3,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/posts\/1241\/revisions"}],"predecessor-version":[{"id":1244,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/posts\/1241\/revisions\/1244"}],"wp:attachment":[{"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/media?parent=1241"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/categories?post=1241"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/tags?post=1241"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}