Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Paketverwaltung
Bei der Paketverwaltung kann man zwei Sorten von Programmen unterscheiden: die Tools zur lokalen Paketverwaltung und die Repository-Tools.
lokale Paketverwaltung
dpkg und rpm
| Funktion | Debian und Ubuntu | RedHat, Fedora und SuSE 1) |
|---|---|---|
| Anzeigen welche Pakete installiert sind: | ||
Anzeigen zu welchem Paket die Datei /usr/bin/top gehoert: | ||
| Beschreibung zum Paket procps anzeigen: | ||
| Anzeigen welche Dateien zum Paket procps gehoeren: | ||
| Paket installieren 2): | ||
| Paket loeschen: 3) | ||
| Pakete nach Größe sortiert ausgeben: | ||
| Geaenderte Dateien suchen | ||
| Geänderte Konfigurationsdateien suchen | ||
| Zuletzt installierte Pakete anzeigen: | ||
| Datenverzeichnis für Dienst apache finden: | ||
Abhängigkeiten
Welche Eigenschaften benötigt das Paket cups-libs
rpm -q --requires cups
Welche Eigenschaften stellt das Paket cups-libs anderen Paketen zur Verfügung
rpm -q --provides paket
Welches Paket benötigt die Eigenschaft libcups.so.2
rpm -q --whatrequires libcups.so.2
Welches Paket stellt die Eigenschaft libcups.so.2 zur Verfügung
rpm -q --whatprovides libcups.so.2
Repository basierte Paketverwaltung
apt, yum und zypper
| Funktion | Debian | RedHat | SuSE |
|---|---|---|---|
| Repositories einbinden |
/etc/apt/sources.list | /etc/yum.repos.d/*.repo
/etc/zypp/repos.d/*.repo |
| Repository-Daten aktualisieren |
| nach Updates suchen |
| Updates einspielen |
| Nach Paketen suchen |
| Beschreibung zu einem Paket anzeigen: |
| Paket installieren |
| Paket entfernen |
| Datei aus noch nicht installiertem Paket suchen |
Dokumentation der Distributoren
yast, y2pmsh, rug und zypper
YaST, y2pmsh, rug und zypper sind nur für SuSE verfügbar.
| Funktion | y2pmsh ( SuSE 9.2 bis 10.1 / SLES 9 & 10 ) 4) | rug ( SuSE 10.1 bis 10.2 / SLES 10 ) | zypper ( ab SuSE 10.2) |
| Repositories einbinden |
oder
y2pmsh source -a http://suse/i386/update/10.1
|
rug service-add -t zypp http://suse/i386/update/10.1
oder
rug sa -t zypp http://suse/i386/update/10.1
oder
zypper service-add http://suse/i386/update/10.3
| Repository-Daten aktualisieren |
| Updates einspielen |
| Nach Paketen suchen |
| Paketbeschreibung anzeigen: |
| Paket installieren |
oder
y2pmsh install paketname y2pmsh solve y2pmsh commit
| Paket entfernen |
| Datei aus noch nicht installiertem Paket suchen (ungetestet)5) |
Die Paketverwaltung von YaST baut bis SuSE 10.0 / SLES 9 auf dem Programm y2pmsh auf, daß man hier auch an Stelle von yast benutzen kann. y2pmsh hat auch einen interaktiven Modus: einfach starten, und die oben angegebenen Befehle funktionieren incl. Tab-Completion
y2pmsh/YaST/rug/zypper bietet die Möglichkeit verschiedene Repositories einzubinden. Eine Liste verfügbarer Repositories findet sich hier: http://www.opensuse.org/Additional_YaST_Package_Repositories
Hier ist beschrieben, wie man ein lokales Repository für YaST erstellt: http://en.opensuse.org/Network_Installation_Source
Zusätzliche Repositories
Debian
- http://backports.org - neuere Versionen vieler Pakete für Debian stable
- http://debian-multimedia.org/ - Software und Codecs für Multimedia
- http://www.dotdeb.org/ - aktueller LAMP Stack ( PHP, Mysql, … )
Ubuntu
RedHat / Centos / Scientific Linux
openSuSE
Vermischtes
debconf
debconf ist nur für debian und ubuntu verfügbar
Anzeigen, welche Einstellungen bei der Installation des Paketes exim4-config vorgenommen wurden:
debconf-show exim4-config
Nur die mit * gekennzeichneten Einträge sind vom Benutzer erfragt worden.
Man kann die von debconf gestellten Fragen vorab mit dem dem Befehl debconf-set-selections beantworten:
debconf-set-selections <<DEBCONF
# Other destinations for which mail is accepted:
exim4-config exim4/dc_other_hostnames string notebook01.linuxhotel.de
# General type of mail configuration:
exim4-config exim4/dc_eximconfig_configtype select local delivery only; not on a network
# Root and postmaster mail recipient:
exim4-config exim4/dc_postmaster string
# System mail name:
exim4-config exim4/mailname string notebook01.linuxhotel.de
# Split configuration into small files?
exim4-config exim4/use_split_config boolean false
# IP-addresses to listen on for incoming SMTP connections:
exim4-config exim4/dc_local_interfaces string 127.0.0.1
DEBCONF
Der Befehl debconf-get-selections aus dem Paket debconf-utils erzeugt eine Ausgabe, die man leicht als Eingabe für den Befehlt debconf-set-selections verwenden kann:
debconf-get-selections | grep -B 1 ^exim4-config
Achtung: die Ausgabe von debconf-get-selections enthält ein Tabulatorzeichen zwischen den 4 Feldern, daß in Terminals uU. als mehrere Leerzeichen dargestellt wird. Die Eingabe von debconf-set-selections darf aber immer nur genau 1 Whitespace-Zeichen enthalten.
Debian Versionen mischen
Secure Apt
Schlüssel über Paket beziehen
Für Debian gültige Schlüssel finden sich im Paket debian-archive-keyring und können nachträglich mit folgenden Befehlen geladen werden:
aptitude install debian-archive-keyring apt-key update
Paketliste aktualisieren - sollte jetzt ohne Fehlermeldung klappen:
aptitude update
Schlüssel für das Debian-Archiv finden sich auch unter http://ftp-master.debian.org/
Schlüssel über Datei beziehen
Im Fall von debian-volatile ( http://www.debian.org/volatile ) gibt es kein Paket, sondern man muß den Schlüssel von Hand runterladen und dann importieren:
wget http://www.debian.org/volatile/etch-volatile.asc apt-key add etch-volatile.asc apt-key update
Nachschauen obs geklappt hat:
apt-key list
Paketliste aktualisieren - sollte jetzt ohne Fehlermeldung klappen:
aptitude update
Schlüssel über Key-Server beziehen
Im Fall von anderen Quellen die nur die PGP Signatur veröffentlichen gilt folgendes Verfahren:
gpg --keyserver hkp://wwwkeys.eu.pgp.net --recv-keys DB90D8FC306B6783 gpg --armor --export DB90D8FC306B6783 | apt-key add -
Links
aptitude
Unter debian steht neben apt-get auch den Befehl aptitude.
Was ich persönlich nicht mag: aptitude installiert automatisch empfohlene Pakete mit. Das kann man aber mit der Option -R oder folgender Konfiguration ändern:
/etc/apt/apt.conf:
aptitude::Recommends-Important "false";
oder im Menu Aptitude/Options/Dependency Handling/ [X] Install Recommended Packages automatically ⇒ abwählen
beschleunigen
yum
ruft man yum mit der Option -C auf, werden die Paket-Caches diesmal nicht aktuallisiert.
rpm
Defragmentieren der RPM-Datenbank:
rpm --rebuilddb
zypper
SQLite-Datenbanken lassen sich mit dem VACUUM-Kommando aufräumen:
sqlite3 /var/cache/zypp/zypp.db vacuum
Links
bash_completion
Pakete:
bash_completion ( SuSE )
bash ( Debian )
Hilfreich beim Eingeben der Befehle, Optionen und Paketnamen
Aktivieren über den Befehl:
. /etc/bash_completion
Einzelne Dateien aus einem .rpm-Paket rausfischen
Anzeigen welche Dateien drin sind: 6)
rpm2cpio nxclient-1.5.0-113.i386.rpm | cpio -i -t
Datei extrahieren:
rpm2cpio nxclient-1.5.0-113.i386.rpm | cpio -id ./usr/NX/share/keys/server.id_dsa.key
Dateien aus einem .deb-Paket rausfischen
Alle Dateien aus einem Paket ins aktuelle Verzeichnis kopieren
dpkg-deb --vextract /var/cache/apt/archives/xen-utils-common_3.0.3-0-2_all.deb .
Quellpakete
Quellpakete installieren
wget http://www1.mplayerhq.hu/MPlayer/releases/MPlayer-1.0pre7try2.tar.bz2 tar xjf MPlayer-1.0pre7try2.tar.bz2 cd MPlayer-1.0pre7try2 ./configure
Fehlermeldungen beachten und fehlende Pakete ( enthalten meist „lib“ und „devel“ im Namen ) nachinstallieren.
make
Wenn make erfolgreich durchgelaufen ist, dann als Benutzer root
make install
oder
checkinstall
ausführen.
rpm Pakete aus Source-RPMs bauen
getestet unter CentOS 5.2
Als root:
yum install rpm-build autoconf automake libselinux-devel libacl-devel
Als Nutzer:
mkdir -p $HOME/rpm/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
echo "%_topdir $HOME/rpm" >> $HOME/.rpmmacros
rpm -ihv http://wftp.tu-chemnitz.de/pub/linux/centos/5.2/os/SRPMS/tar-1.15.1-23.0.1.el5.src.rpm
cd rpm/SPECS
rpmbuild -ba tar.spec
Links
deb Pakete aus Source-DEBs bauen
Als root:
apt-get install fakeroot apt-get build-dep tar
Als Nutzer:
apt-get source tar cd tar-1.14 dpkg-buildpackage -rfakeroot -uc -b
