Freitag, 24. Juni 2016

102.4 Debian-Paketverwaltung verwenden

Wichtung: 3


  • Paketverwaltung bei Debian-basierten Distributionen (Ubuntu, Mint, Knoppix, etc.)
  • Selbstkompilierte Programme können nicht sauber deinstalliert werden
  • Dies kann durch paketbasierte Installation vermieden werden
  • Aufbau eines Debian-Paket-Dateiname:
    • fortune-mod_1.99.1-3_i386.deb
      fortune-mod:   Name des Pakets
      1.99.1:              Versionsnummer
      -3:                     Releasenummer
      i386:                 unterstützte Architektur

Konfigurationsdateien und Verzeichnisse

  • dpkg -> debian package
  • /etc/dpkg/dpkg.cfg   Konfigurationsdatei, in der die Voreinstellungen bei Verwendung von dpkg definiert sind. Die Datei wird zeilenorientiert ausgelesen, jede Zeile nur eine Option. Standardausführung mit nur einem Eintrag, der die Logdatei definiert log /var/log/dpkg.log
  • /var/lib/dpkg/info          Zusammenstellung von Skripten und Dateien die für die korrekte Installation und Deinstallation benötigt werden. Sollte eine manuelle Deinstallation notwendig werden, findet man in der entsprechenden .list Datei alle zum Programm gehörende Dateien und Verzeichnisse

  • /var/lib/dpgk/status          Informationen über installierte Pakete und bereits deinstallierte Pakete. Dabei wird angegeben, ob das Paket vollständig installiert oder das Paket vollständig deinstalliert wurde. Des Weiteren werden hier die abhängigen Pakete, Versionen und viele andere Informationen ebenfalls angegeben
  • /var/lib/dpkg/available         Liste der verfügbaren (System?) Pakete mit Informationen über Größe, Autor, Abhängigkeiten, etc. Hier werden ALLE Pakete aufgeführt, auch die bereits installierten, was jedoch in der Liste selbst nicht zu erkennen ist. 
  • /etc/apt/apt.conf                Konfigurationsdatei der apt-Tools. Normalerweise ist nur der verwendete Proxy eingetragen, damit die Pakete aus dem Internet heruntergeladen werden können (Unter Ubuntu habe ich nicht eine Datei apt.conf, sondern ein Verzeichnis mit einigen Konfigurations(?)-Dateien
  • /etc/apt/sources.list             Quellen für apt-get. Liste mit FTP- oder HTTP-Servern, von denen aus die Software installiert werden kann. Zusätzlich werden auch lokale Quellen aufgeführt.

DPKG-Programme

  • Verwaltung von Programmen auf Debianbasierten Systemen mit dpkg
  • Alternativ wird heutzutage apt-get verwendet (Frontend von dpkg), dselect oder aptitude sind auch möglich, aber veraltet bzw. nicht so gebräuchlich 
  • dpkg ist Prüfungsrelevant, auch die nicht so bekannteren Optionen, auf Groß- und Kleinschreibung achten
  • Optionen können oft sowohl als einzelner Buchstabe (mit -), wie auch als Wort (mit --) verwendet werden
    dpkg -i Paket
    <=> dpkg --install Paket
  • häufig verwendete Optionen von dpkg:
    • -i <paketname> bzw. --install <paketname> installiert das Paket
    • -r <paketname> bzw. --remove <paketname> deinstalliert das Paket, Konfigurationsdateien bleiben erhalten
    • -P <paketname> bzw. --purge <paketname> deinstalliert das Paket inkl. Konfigurationsdateien
    • -s <paketname> bzw. --status <paketname> Ausgabe Informationen über Paket
    • -C bzw. --audit zeigt Pakete an, die nur teilweise installiert sind
    • -L bzw. --listfiles Anzeige, welche Dateien ein Paket installiert hat (dpkg-query Funktion)
    • -l <pattern> bzw. --list <pattern>  listet Statusinformationen für alle installierten Pakete, die auf <pattern> passen
    • es gibt auch noch optionale Parameter, mit denen man das Verhalten steuern kann:
      • -E      verhindert, dass das ein bereits installiertes Paket mit der gleichen Version überschrieben wird
      • -G     verhindert, dass eine ältere Version über ein bereits installiertes Paket installiert wird
      • -R     geht ein Verzeichnis rekursiv durch und installiert alle dort enthaltenen Pakete
  • Ubuntu Manpage http://manpages.ubuntu.com/manpages/lucid/en/man1/dpkg.1.html#contenttoc11
  • Ubuntuusers https://wiki.ubuntuusers.de/dpkg/
  • dpkg scheint nur Informationen über Systemprogramme zu enthalten

dselect

dpkg-reconfigure

  • dpkg-reconfigure Neukonfiguration des Paketes
  • dpkg-reconfigure -a Neukonfiguration aller Pakete (kann einige Zeit in Anspruch nehmen)

apt-get

  • aktuelles Frontend für dpkg
  • Programme können installiert, deinstalliert, konfiguriert und diagnostiziert werden. Pakete und Paketquellen können aktualisiert werden
  • /etc/apt/sources.list      Information über die Indexlisten; woher bezieht apt-get seine Informationen. Bearbeitung ist manchmal notwendig, wenn Programme installiert (und aktualisiert) werden sollen, die nicht in den Reposorities enthalten sind
  • update                         Aktualisierung der Paketquelle
  • upgrade                       Aktualisierung der Pakete
  • dist-upgrade           Aktualisierung der Pakete, wobei auch Pakete installiert und deinstalliert werden können
  • install                       Installiert Pakete
  • remove                         Deinstalliert Pakete, aber nicht die Konfigurationsdateien
  • purge                           Deinstalliert Pakete inkl. Konfigurationsdateien
  • markauto                    Paket als automatisch installiert markieren
  • unmarkauto                Pakete als manuell installiert markieren
  • Ubuntuusers https://wiki.ubuntuusers.de/apt/apt-get/?redirect=no
  • Debian manpage http://manpages.debian.org/cgi-bin/man.cgi?query=apt-get

apt-cache

  • Verwaltung des Caches des apt-Systems, Informationsdatenbank aller verfügbaren Pakete
  • Führt keine Manipulation an den Dateien/ Programmen aus
  • Bei Installation von Programmen werden die Quellen im Cache zwischengespeichert
  • /var/cache/apt               Verzeichnis, wo der Cache zu finden ist
  • apt-cache stats      Übersicht des Caches anzeigen
  • aptitude clean         Reinigung des Chaches
  • depends                        Abhängigkeiten eines Programmes darstellen (Informationen aus den Metadaten der Pakete)
  • show                               Ausgabe eines vollständigen Datensatz (u.a. Versionsnummer, Abhängigkeiten, etc.) zu einem bestimmten Paket, welches nicht zwingend installiert sein muss (aber in den Archiven verfügbar)
  • search                             suchen nach Paketen in den Archiven
  • Ubuntuusers https://wiki.ubuntuusers.de/apt/apt-cache/
  • Debian Manpage http://manpages.debian.org/cgi-bin/man.cgi?query=apt-cache

aptitude

  • Benutzerschnittstelle, auch mit grafischer Oberfläche im Terminal. Stellt eine Erweiterung zu APT da. Die Benutzung beider Pakete parallel ist nicht zu empfehlen. 
  • Suche nach Paketen möglich, deren Namen nicht genau bekannt sind
    aptitude search Suchbegriff
    Interessante Ausgabe, Pakete werden mit Markern v, i, p versehen
    i = installiert
    p = Paket
    v = version?
  • weitere Optionen: update, upgrade, clean und autoclean; Diese Optionen arbeiten mit apt-get zuverlässiger
  • ähnlicher Funktionsumfang wie apt-get, wobei apt-get wohl zuverlässiger arbeitet. Allerdings scheinen die Suchfunktionalitäten, auch in Abhängigkeiten komfortabler zu sein, als in apt-get
  • unter Ubuntu nicht standardmäßig installiert
  • Ubuntuusers https://wiki.ubuntuusers.de/aptitude/
  • Debian Manpage http://manpages.debian.org/cgi-bin/man.cgi?query=aptitude

alien

  • Konvertierung von nicht dpkg-Pakete zur Installation
  • Unterstützt verschieden Ein- wie auch Ausgabedateiformate
  • unterstützte Pakettypen:
    • rpm (Red Hat)
    • deb (Debian)
    • tgz (Slackware) veraltet
    • pkg (Solaris)
    • slp (Stampede) veraltet
  • Konvertierung und Installation mit einem Befehl möglich
  • alien fortune.rpm --to-deb Konvertierung eines rpm-Paketes in ein .deb Pakets
    • Minor-Versionsnummer wird dabei hochgezählt
    • -k bzw. --keep-version kann das verhindern
    • ursprüngliches Paket bleibt erhalten

Für die Prüfung sollte der Umgang mit Debian-Paketen vorhanden sein, Akzent liegt allerdings auf apt-get und aptitude

Keine Kommentare:

Kommentar veröffentlichen