orm@doc-tcpip.org

Erstellt: Januar 2012 - Letzte Modifikation: Januar 2012

[ Main | Local ]


Tools zum Managment von Software Paketen


Mit dem LVM kommen eine ganze Reihe Kommandos, die sich teilweise überlappen. Interessant sind hierbei die Kommandos, mit denen man Informationen abfragt. Da gibt es einen zweiten Satz an Kommandos, die alle Informationen in Zeilen ausgeben: pvs, vgs, lvs.

RPM - RedHat Paket Manager

Hier handelt es sich sowohl um ein Format von installierbaren Software-Paketen als auch um einen Satz von Kommandos, die mit diesen Paketen umgehen. Das Format erlaubt Versionierung und die Definition von Abhängigkeiten. Mit den Kommandos kann man alle Arten von Abfragen machen, Pakete Verifizieren, Installieren, Updaten und entfernen.

YUM - Yellowdog Updater Modified

Diese Tool setzt auf RPM auf und bietet ein kompletes Paket Management mit automatischen Updates, dem Management von Abhängigkeiten und einer Infrastruktur aus Software Repositories im Netz (oder Lokal). Es wird eine Software-Datenbank auf dem lokalen System erzeugt und gepflegt - es ist also empfehlenswert, nichts mehr an YUM vorbei zu installieren.

APT - Advanced Packaging Tool

APT ist ein Tool spezifisch für Debian und seine Abkömmlinge. Es macht das gleiche wie RPM und YUM zusammen. Auf APT wird im Folgenden nicht weiter eingegangen.

RPM und YUM in der Praxis

Ein gegebenes RPM Paket läßt sich per rpm-Kommando nur unter gleichzeitiger Angabe alle abhängigen Pakete installieren oder entfernen. Der Administrator ist also aufgefordert, die Dependencies aufzulösen und alle Pakete bereitzustellen. Um das zu vereinfachen, benutzt man YUM (im Fall von Debian stellt sich das Problem nicht, da APT die Funktionalität mitbringt).

YUM wird in der Datei /etc/yum.conf parametrisiert. Zur Funktion braucht es Software Repositories, die im Verzeichnis /etc/yum.repos.d definiert sind. Dort gibt es für jedes gewünschte Repository ein blabla.repo File.

Installieren mit yum und rpm

rpm -i xyz.rpm    ==> Dependencies muß man selber lösen und die Pakete mitgeben
yum install xyz   ==> YUM macht alles (wenn die Sachen im Repository zu finden sind)

Entfernen mit yum und rpm

rpm -e xyz.rpm    ==> Dependencies muß man selber lösen und die Pakete nacheinander beseitigen
    --test        ==> zeigt, was so an dem Paket hängt
    --nodeps      ==> wenn man nur das eine Paket löschen möchte, aber alle Abhängigen nicht
yum remove xyz   ==> YUM macht alles 

Updaten mit yum und rpm

yum update   ==> das ganze System wird mit den neuesten Version aus den definierten Repos installiert
yum update 'yxz*'  ==> nur diese Gruppe an Paketen wird installiert

rpm -U ==> es wird entweder das bestehende Paket geupdated, oder das Paket wird installiert
rpm -F ==> es wird nur ein schin vorhandes Paket geupdatet (Freshen)
    -v ==> erweiterte Informationen
    -h ==> es werden Hash-Marks gesetzt, man sieht, wie es vorangeht

Man kann die Pakete aus verschiedenen Quellen beziehen:
rpm -Uvh *.rpm http://blabla/bloblo/xyz.rpm

Hier wird alles geupdate oder installiert, was im loaklen Verzeichnis .rpm heisst.
Zusätzlich wird das Paket xyz.rpm geholt und verarbeitet.

Information zur Software abfragen

RPM und YUM haben eine Datenbank, die man abfragen kann - als normaler User.

yum list xy    ==> Ist es installiert? 
yum info xy    ==> Detailierte Info zum Paket 
yum search xy  ==> Findet zusammenhängende Pakete und umliegende Ortschaften

In der Regel ist rpm das Mittel der Wahl für gezielte Informationen:

rpm -qa          ==> Was ist alles installiert?
rpm -q   xy      ==> Ist dieses Paket installiert?
rpm -qi  xy      ==> Detailierte Info zum Paket
rpm -ql  xy      ==> Alle Files im installierten Paket
rpm -qp  xy.rpm  ==> Alle Files im Paket
    -c           ==> Zeigt nur Konfigurations-Files
    -d           ==> Zeigt nur Dokumentations-Files

rpm -qf /../abc         ==> Zu welchem Paket gehört ein File?
rpm -qf 'which cmd_abc' ==> Zu welchem Paket gehört ein Kommando?
rpm -qf $(cmd_abc)      ==> Alternative ...

Die Abhängigkeiten (Dependencies) eines Pakets

rpm -qR xy       ==> Für ein installiertes Paket
rpm -qpR xy.rpm  ==> Für ein Paket
Allerdings werden hier nicht die Packages gezeigt, sondern nur die nötigen Files
oder Libraries. Die Packages, die das mitbringen, findet man im YUM:
yum deplist $(rpm -q xy) - schlauerweise grept man nach "provider":
yum deplist $(rpm -q xy) |grep provider|awk '{ print $2 }'

Checksummen, Dependencies und Signatures prüfen

rpm -Vp xy.rpm
rpm -V xy
rpm -K xy.rpm

[ Main | Local ]

[ Allgemein | UNIX | AIX | TCP-IP | TCP | ROUTING | DNS | NTP | NFS | FreeBSD | Linux | SMTP | Tracing | GPS ]

Copyright 2001-2014 by Orm Hager - Es gilt die GPL
Feedback bitte an: Orm Hager (orm@doc-tcpip.org )