{"id":4771,"date":"2011-11-23T21:17:19","date_gmt":"2011-11-23T20:17:19","guid":{"rendered":"https:\/\/www.gambaru.de\/blog\/?p=4771"},"modified":"2019-10-16T14:43:19","modified_gmt":"2019-10-16T12:43:19","slug":"apt-pinning-fur-die-mutigen","status":"publish","type":"post","link":"https:\/\/gambaru.de\/blog\/2011\/11\/23\/apt-pinning-fur-die-mutigen\/","title":{"rendered":"Apt-Pinning f\u00fcr die Mutigen"},"content":{"rendered":"<p>Apt-Pinning. Ein oft genanntes Stichwort bei Debian und Co. Manchmal m\u00f6chte man eine neuere Softwareversion installieren als diejenige, die in einer bestimmten Ver\u00f6ffentlichung von Debian- oder Ubuntu vorhanden ist. Die Gr\u00fcnde sind vielf\u00e4ltig. Vielleicht ist man lediglich an einem neuen Feature interessiert, andererseits kann man aber genauso gut auch auf ein neues Paket angewiesen sein oder es ausschlie\u00dflich aus Neugier installieren.<br \/>\nF\u00fcr Debian Stable gibt es genau aus diesem Grund das offizielle <a href=\"https:\/\/www.gambaru.de\/blog\/2011\/08\/28\/debian-stable-mit-backports-fit-machen\/\">Backport-Projekt<\/a>, mit dem sichergestellt ist, dass ausgew\u00e4hlte Pakete zwar aktueller sind als die bestehenden, aber immer noch stabil mit dem Gesamtsystem harmonieren.<br \/>\nMit Apt-Pinning gibt es eine weitere M\u00f6glichkeit f\u00fcr erfahrene und fortgeschrittene Anwender aktuellere Software zu installieren. Insbesondere ist diese Methode f\u00fcr Debian Testing und Unstable interessant, wenn man z.B. Pakete aus dem Experimental Zweig zus\u00e4tzlich installieren m\u00f6chte und es kann unter Umst\u00e4nden auch f\u00fcr Debian Stable eine Option sein, wenn keine Backports vorhanden sind.<br \/>\nMeine Motivation f\u00fcr diesen Beitrag waren zwei Pakete in Debian Testing, die nicht aktualisiert wurden, obwohl in Unstable eine Version vorhanden war, die Bugs beseitigte.<br \/>\nIm Regelfall bin ich der typische, langweilige Debianbenutzer. Bei meinen Stable-Installationen l\u00e4uft nur Stable, bei Testing nur Testing und bei Unstable...nur Unstable. Das ist zwar wenig aufregend, hat mich bisher aber immer vor instabilem Paket-Mischmasch bewahrt.<br \/>\nManche \u00e4tzen, dass das Mischen von Paketen sp\u00e4ter nur mit der Suche nach Hilfe in irgendwelchen Foren oder IRC-Channels enden kann, wo die Methusalems dich erst einmal zu Abbitte und Bu\u00dfe auffordern. Du m\u00f6chtest nicht wissen, was mit Leuten passiert, die eingestehen Ubuntu-PPAs mit Debianpaketen gemischt zu haben. Ihr seid also gewarnt! \ud83d\ude08<br \/>\nApt-Pinning wird ausf\u00fchrlich und gut mit <strong>man apt_preferences<\/strong> erkl\u00e4rt. Hilfreich finde ich au\u00dferdem<\/p>\n<ul>\n<li><a href=\"http:\/\/wiki.ubuntuusers.de\/apt-pinning\">http:\/\/wiki.ubuntuusers.de\/apt-pinning<\/a><\/li>\n<li><a href=\"http:\/\/wiki.debianforum.de\/AptPinning\">http:\/\/wiki.debianforum.de\/AptPinning<\/a><\/li>\n<\/ul>\n<h2>Apt-Pinning anhand eines Beispiels<\/h2>\n<p>Bei meinem konkreten Problem ging es um Vim und Iceweasel. Vor einem Monat wurde ich durch Zufall auf #debian im IRC auf <a href=\"http:\/\/bugs.debian.org\/cgi-bin\/bugreport.cgi?bug=644668\">einen Bug in Vim<\/a> aufmerksam gemacht, den ich zwei Stunden sp\u00e4ter dann per Reportbug gemeldet habe. Die Bearbeitung und L\u00f6sung des Problems war musterg\u00fcltig. Der Paketverwalter best\u00e4tigte den Fehler und knapp zwei Wochen sp\u00e4ter war der Bug durch Upstream gefixt worden und das neue Paket in Debian Unstable. Doch auch Wochen danach kam davon nichts in Testing an. Mittlerweile hat es das Paket zwar nach Testing geschafft, doch gerade in so einem Fall kann Apt-Pinning weiterhelfen.<br \/>\nMein anderer Favorit ist Iceweasel. In der Regel folge ich den Anweisungen auf <a href=\"http:\/\/mozilla.debian.net\">mozilla.debian.net<\/a> und habe <a href=\"https:\/\/www.gambaru.de\/blog\/2011\/06\/22\/iceweasel-5-0-freigegeben\/\">zum gleichen Thema<\/a> auch schon einen Beitrag geschrieben. Im Moment dauert es aber mal wieder mit dem Versionswechsel von 7 auf 8 und 9 ist nicht mehr weit entfernt.<\/p>\n<h2>Apt-Pinning Pin-Priorit\u00e4t<\/h2>\n<p>In einem solchen Fall ist Apt-Pinning sehr einfach global einzurichten. Standardm\u00e4\u00dfig wird jedem Paket, jeder Installation und Aktualisierung eine Priorit\u00e4t zugewiesen, von der man in der Regel gar nichts mitbekommt. Alle installierten Pakete haben Priori\u00e4t 100, alle anderen Pakete innerhalb einer Version wie z.B. Squeeze 500. \u00dcberpr\u00fcfen l\u00e4sst sich das mit<\/p>\n<p><code>apt-cache policy<\/code><\/p>\n<p>Die Zahlenwerte haben laut <strong>man apt_preferences<\/strong> eine unterschiedliche Gewichtung. Im Allgemeinen gilt umso h\u00f6her der Zahlenwert, desto h\u00f6her die Priorit\u00e4t ein Paket aus einer anderen Version zu installieren. F\u00fcr mich funktioniert das Folgende ziemlich gut:<br \/>\nErstellt euch in <em>\/etc\/apt\/apt.conf.d\/<\/em> eine Datei mit beliebigem Namen. Ich habe hier <em>10default-release<\/em> gew\u00e4hlt und editiert sie mit folgendem Inhalt. Z.B.:<\/p>\n<blockquote><p>APT::Default-Release \"testing\";<\/p><\/blockquote>\n<p>Das gilt nat\u00fcrlich nur f\u00fcr Debian Testing und sollte auf die entsprechende Debian Version ge\u00e4ndert werden, die man gerade benutzt. F\u00fchrt man danach ein <code>aptitude update<\/code> aus und anschlie\u00dfend <code>apt-cache policy<\/code> stellt man fest, dass sich die Priorit\u00e4t f\u00fcr die Pakete in Debian Testing auf 990 erh\u00f6ht hat.<br \/>\nZwar w\u00e4re das Folgende auch ohne diese Festlegung machbar gewesen, mir hilft es aber sicherzustellen, dass bei zuk\u00fcnftigen Updates <strong>immer<\/strong> Testing Pakete vor allen anderen bevorzugt werden.<br \/>\nUm nun Vim oder Iceweasel aus Debian Unstable zu installieren, muss man zuerst die Paketquellen in \/etc\/apt\/sources.list aktualisieren und z.B. folgenden Eintrag f\u00fcr Unstable hinzuf\u00fcgen.<\/p>\n<blockquote><p>deb http:\/\/ftp.de.debian.org\/debian unstable main<\/p><\/blockquote>\n<p>Danach l\u00e4sst sich Iceweasel oder Vim aus Unstable mit<\/p>\n<p><code>aptitude -t unstable install iceweasel vim<\/code><\/p>\n<p>installieren. Bei zuk\u00fcnftigen Updates pr\u00fcft Apt, ob die Version aus Unstable oder Testing neuer sein sollte. Da Testing bei mir eine h\u00f6here Priorit\u00e4t bekommen hat, wird im Zweifelsfall immer aus Testing installiert.<br \/>\nDas ist nat\u00fcrlich noch nicht alles. Apt kann mehr, viel mehr. Wenn ihr Ubuntu benutzt l\u00e4sst sich z.B. explizit festlegen, ob ihr nur Pakete aus 10.04 bevorzugt oder doch besser 11.04. Wie w\u00e4re es, wenn man festlegen k\u00f6nnte, ob man nur bis Version X aus Debian Testing installiert und danach nur noch Pakete aus Experimental installiert? Wie schr\u00e4nke ich meine Priorit\u00e4ten nur auf KDE-Pakete ein?<br \/>\nApt ist ein wirklich sehr m\u00e4chtiges und smartes Programm. Doch in der Regel kommt man wie oben beschrieben schon mit sehr wenig Aufwand aus und sollte beim Mischen von Paketen verschiedener Versionen immer skeptisch bleiben. F\u00fcr alle, die sich eine ma\u00dfgeschneiderte Preferences-Datei anlegen m\u00f6chten, empfehle ich wie schon gesagt einen Blick in <strong>man apt_preferences<\/strong> zu werfen oder sich das folgende fortgeschrittene Beispiel anzuschauen.<br \/>\nRaphael Hertzog bezeichnete vor sieben Monaten die Installation von Gnome 3 aus Debian Experimental in Testing als \"<a href=\"http:\/\/raphaelhertzog.com\/2011\/04\/18\/status-update-of-gnome-3-in-debian-experimental\/\">apt-pinning for the brave<\/a>\". Das zu bewerten, liegt wie immer bei euch. \ud83d\ude09<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Apt-Pinning. Ein oft genanntes Stichwort bei Debian und Co. Manchmal m\u00f6chte man eine neuere Softwareversion installieren als diejenige, die in einer bestimmten Ver\u00f6ffentlichung von Debian- oder Ubuntu vorhanden ist. Die Gr\u00fcnde sind vielf\u00e4ltig. Vielleicht ist man lediglich an einem neuen Feature interessiert, andererseits kann man aber genauso gut auch auf ein neues Paket angewiesen sein &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/gambaru.de\/blog\/2011\/11\/23\/apt-pinning-fur-die-mutigen\/\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eApt-Pinning f\u00fcr die Mutigen\u201c<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[5],"tags":[18,53,94,202,211],"_links":{"self":[{"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/posts\/4771"}],"collection":[{"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/comments?post=4771"}],"version-history":[{"count":1,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/posts\/4771\/revisions"}],"predecessor-version":[{"id":10942,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/posts\/4771\/revisions\/10942"}],"wp:attachment":[{"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/media?parent=4771"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/categories?post=4771"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/tags?post=4771"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}