{"id":8274,"date":"2012-07-02T23:43:54","date_gmt":"2012-07-02T21:43:54","guid":{"rendered":"https:\/\/www.gambaru.de\/blog\/?p=8274"},"modified":"2019-09-27T21:36:16","modified_gmt":"2019-09-27T19:36:16","slug":"einfuhrung-in-aptitude-apt-get-apt-cache-und-dpkg","status":"publish","type":"post","link":"https:\/\/gambaru.de\/blog\/2012\/07\/02\/einfuhrung-in-aptitude-apt-get-apt-cache-und-dpkg\/","title":{"rendered":"Einf\u00fchrung in aptitude, apt-get, apt-cache und dpkg"},"content":{"rendered":"<p>F\u00fcr erfahrene Debianbenutzer sicher kein Thema was brandneue Informationen verspricht, als Fu\u00dfnote ist es mir dennoch wichtig. Mich hat es fr\u00fcher immer ge\u00e4rgert, dass man das scheinbar Selbstverst\u00e4ndliche erst einmal m\u00fchsam im Internet nachforschen musste. Nun kann ich nicht versprechen, dass ich nicht an anderer Stelle in diesem Blog es genauso gemacht habe, aber zumindest bei meiner <a href=\"https:\/\/www.gambaru.de\/blog\/debian\/\">Anleitung zur Debian-Netzinstallation<\/a> m\u00f6chte ich eine \"triviale\" Sache nicht \u00fcbergehen - das Paketmanagement.<br \/>\nBekanntlich ist es die gro\u00dfe St\u00e4rke von Linux, die gesamte Software aus einer Hand, sprich einem Repositorium, herunterladen und installieren zu k\u00f6nnen. Debian nennt das Werkzeug dazu \"Advanced Packaging Tool\" oder kurz APT. F\u00fcr APT gibt es verschiedene Paketmanager, Frontends und Werkzeuge, die diese wiederkehrenden Prozesse vereinfachen sollen. Nat\u00fcrlich gibt es auch grafische wie <a href=\"http:\/\/packages.debian.org\/stable\/synaptic\">Synaptic<\/a>. Mein Favorit ist jedoch <a href=\"http:\/\/packages.debian.org\/stable\/aptitude\">Aptitude<\/a>. Aptitude kombiniert einige Merkmale von apt-get und apt-cache, was es, denke ich, einfacher macht sich die Befehle zu merken. Auf der anderen Seite gibt es einige Alleinstellungsmerkmale von apt-get und apt-cache. Um die Verwirrung komplett zu machen, existiert noch dpkg, welches zur eigentlichen Paketverwaltung auf dem lokalen System von den Frontends genutzt wird.<\/p>\n<h2>Paketquellen anpassen<\/h2>\n<p>Bevor man neue Software installieren m\u00f6chte, muss man die Quellen in <em>\/etc\/apt\/sources.list<\/em> an seine Anforderungen anpassen. Entscheidend dabei ist, f\u00fcr <a href=\"https:\/\/www.gambaru.de\/blog\/2011\/12\/19\/zuruck-zu-den-wurzeln-welches-debian-ist-das-richtige\/\">welches Debian<\/a> man sich entschieden hat.<\/p>\n<pre class=\"brush:plain\">deb http:\/\/ftp.de.debian.org\/debian stable main contrib non-free\ndeb-src http:\/\/ftp.de.debian.org\/debian stable main\ndeb http:\/\/security.debian.org\/ squeeze\/updates main contrib non-free\ndeb http:\/\/ftp.de.debian.org\/debian unstable main<\/pre>\n<p>Die Quelle f\u00fcr Bin\u00e4rpakete wird mit <strong>deb<\/strong> eingeleitet. Danach folgt die URL des Spiegelservers. Schlie\u00dflich definiert man mit <strong>stable<\/strong>, <strong>testing<\/strong> oder <strong>unstable<\/strong>, welchen Debianzweig man verwenden m\u00f6chte. Als Alternative lassen sich auch die Codenamen<br \/>\n<strong>squeeze<\/strong>, <strong>wheezy<\/strong> und <strong>sid <\/strong>an dieser Stelle eintragen, die sich nat\u00fcrlich in der Zukunft \u00e4ndern werden. Die Verwendung des Codenamens bedeutet nur, dass man dieser Version durch die verschiedenen Stadien des Ver\u00f6ffentlichungszyklus folgen m\u00f6chte. Wheezy wandert z.B. jetzt von Testing in ein paar Monaten nach Stable und ist in ca. 2,5 Jahren dann nur noch Oldstable bis es ein weiteres Jahr sp\u00e4ter \u00fcberhaupt keinen Support mehr geben wird.<\/p>\n<p>Nach der Definition der Debianversion bestimmt man noch aus welchen der drei Repos man Pakete beziehen m\u00f6chte. Das sind <strong>main<\/strong>, <strong>contrib<\/strong> und <strong>non-free<\/strong>. In main befindet sich ausschlie\u00dflich freie Software nach den <a href=\"http:\/\/www.debian.org\/social_contract.de.html\">Debian Free Software Guidelines<\/a> (DFSG). In contrib existiert ebenfalls nur freie Software, die aber zum Funktionieren noch eine unfreie Komponente ben\u00f6tigt, z.B. ist der Server von Cube 2:Sauerbraten frei, die Medieninhalte hingegen stehen teilweise unter unfreien Lizenzen. In non-free befinden sich konsequenterweise Daten und Software, die nicht mit den DFSG vereinbar sind.<\/p>\n<h2>Grundlagen<\/h2>\n<h3>Paketcache updaten<\/h3>\n<p><code>aptitude update<\/code> oder <code>apt-get update<\/code><\/p>\n<h3>Pakete suchen<\/h3>\n<p><code>aptitude search<\/code> <em>Ausdruck<\/em> oder <code>apt-cache search<\/code> <em>Ausdruck<\/em><\/p>\n<h3>Paketinformationen anzeigen<\/h3>\n<p><code>aptitude show<\/code> <em>Paketname<\/em> oder <code>apt-cache show<\/code> <em>Paketname<\/em><\/p>\n<h3>Pakete installieren<\/h3>\n<p><code>aptitude install<\/code> <em>Paketname<\/em> oder <code>apt-get install<\/code> <em>Paketname<\/em><\/p>\n<h3>Pakete entfernen<\/h3>\n<p><code>aptitude remove<\/code> <em>Paketname<\/em> oder <code>apt-get remove<\/code> <em>Paketname<\/em><\/p>\n<h3>Pakete inkl. Konfigurationsdateien entfernen<\/h3>\n<p><code>aptitude purge<\/code> <em>Paketname<\/em> oder <code>apt-get purge<\/code> <em>Paketname<\/em><\/p>\n<h3>System auf den neusten Stand bringen<\/h3>\n<p><code>aptitude safe-upgrade<\/code> oder <code>apt-get upgrade<\/code><\/p>\n<h3>System auf eine andere Version upgraden (z.B. Squeeze-&gt;Wheezy)<\/h3>\n<p><code>aptitude full-upgrade<\/code> oder <code>apt-get dist-upgrade<\/code><\/p>\n<h3>Den Quellcode herunterladen<\/h3>\n<p><code>apt-get source mutt<\/code><\/p>\n<p><code><\/code><br \/>\nWenn man in der <em>\/etc\/apt\/sources.list<\/em> mit der Zeile <strong>deb-src<\/strong> den Zugang zu den Quelldateien freigeschaltet hat, ist es m\u00f6glich mit apt-get den Quellcode herunterzuladen. Das Alleinstellungsmerkmal, das apt-get bisher von aptitude unterscheidet.<\/p>\n<h2>dpkg<\/h2>\n<p>Dpkg wird nur bei der Installation oder Deinstallation lokaler Dateien direkt aufgerufen, wenn man also z.B. ein Paket selbst erstellt hat<\/p>\n<p><code>dpkg -i<\/code> <em>Paketname<\/em><br \/>\n<code>dpkg -P<\/code> <em>Paketname<\/em><\/p>\n<p>Oft viel interessanter sind Optionen wie<br \/>\n\/\/ listet alle installierten Pakete auf<br \/>\n<code>dpkg -l<\/code><br \/>\n\/\/ listet Paket mutt mit ein paar Informationen auf<br \/>\n<code>dpkg -l mutt<\/code><br \/>\n\/\/ Gibt die Orte der Dateien aus, die sich im Paket mutt befinden<br \/>\n<code>dpkg -L mutt<\/code><br \/>\n\/\/ Sucht nach dem Muster\/Ausdruck mutt im gesamten Paketcache<br \/>\n<code>dpkg -S mutt<\/code><br \/>\nGerade auf \u00e4lteren Rechner ist der direkte Aufruf von dpkg, um mehr Informationen \u00fcber den Paketzustand herauszufinden, gef\u00fchlt schneller als mit aptitude.<\/p>\n<h2>Was ich 99% meiner Zeit mit aptitude mache<\/h2>\n<p>\/\/ T\u00e4glich<br \/>\n<code>aptitude update<\/code><br \/>\n<code>aptitude safe-upgrade<\/code><br \/>\n\/\/ Wenn ich Testing oder Unstable benutze, die Konsequenzen kenne und einen Konflikt aufl\u00f6sen m\u00f6chte<br \/>\n<code>aptitude update<\/code><br \/>\n<code>aptitude full-upgrade<\/code><br \/>\n\/\/ Programme installieren, z.B. htop, ncdu und cmus<br \/>\n<code>aptitude update<\/code><br \/>\n<code>aptitude install htop ncdu cmus<\/code><br \/>\n\/\/ Die Programme htop, ncdu und cmus mit Konfigurationsdateien entfernen<br \/>\n<code>aptitude purge htop ncdu cmus<\/code><br \/>\n\/\/ Alle Pakete der Sektion web und games auflisten<br \/>\n<code>aptitude search '~sweb'<\/code><br \/>\n<code>aptitude search '~sgames'<\/code><\/p>\n<h2>Das wars?<\/h2>\n<p>Jep. Nicht vergessen immer mal die TAB-Taste zu dr\u00fccken ;), aber ansonsten ist es das. Solltet ihr keine Root-Rechte haben, k\u00f6nnt ihr auch mit der angeh\u00e4ngten Option <strong>-s<\/strong> die einzelnen Optionen nur simulieren.<br \/>\n<code>aptitude install htop -s<\/code><br \/>\nAnsonsten hilft ab und an ein<br \/>\n<code>aptitude autoclean<\/code>,<br \/>\ndamit der Paketcache nicht zu viel Platz auf der Festplatte belegt. Diese Befehle sollten vollkommen ausreichend sein, um das eigene Linuxsystem erweitern und gestalten zu k\u00f6nnen. Alle weiteren Ideen mit Aptitude habe ich unter dem Stichwort <a href=\"https:\/\/www.gambaru.de\/blog\/tag\/aptitude\/\">Aptitude<\/a> verschlagwortet. F\u00fcr mehr Informationen zu den einzelnen Paketmanagern hilft wie immer <strong>man<\/strong> weiter.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>F\u00fcr erfahrene Debianbenutzer sicher kein Thema was brandneue Informationen verspricht, als Fu\u00dfnote ist es mir dennoch wichtig. Mich hat es fr\u00fcher immer ge\u00e4rgert, dass man das scheinbar Selbstverst\u00e4ndliche erst einmal m\u00fchsam im Internet nachforschen musste. Nun kann ich nicht versprechen, dass ich nicht an anderer Stelle in diesem Blog es genauso gemacht habe, aber zumindest &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/gambaru.de\/blog\/2012\/07\/02\/einfuhrung-in-aptitude-apt-get-apt-cache-und-dpkg\/\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eEinf\u00fchrung in aptitude, apt-get, apt-cache und dpkg\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":[6],"tags":[18,53],"_links":{"self":[{"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/posts\/8274"}],"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=8274"}],"version-history":[{"count":1,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/posts\/8274\/revisions"}],"predecessor-version":[{"id":10659,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/posts\/8274\/revisions\/10659"}],"wp:attachment":[{"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/media?parent=8274"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/categories?post=8274"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gambaru.de\/blog\/wp-json\/wp\/v2\/tags?post=8274"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}