Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:paketverwaltung

Dies ist eine alte Version des Dokuments!


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 (rpm)

Von welchen Eigenschaften hängt das Paket cups-libs ab?

rpm -q --requires cups

Welche Eigenschaften stellt das Paket cups-libs anderen Paketen zur Verfügung?

rpm -q --provides paket

Welche Pakete hängen von der Eigenschaft libcups.so.2 ab?

rpm -q --whatrequires libcups.so.2

Welches Paket stellt die Eigenschaft libcups.so.2 zur Verfügung?

rpm -q --whatprovides libcups.so.2

Bei dpkg sind Pakete direkt von anderen Paketen abhängig.

Repository basierte Paketverwaltung

apt, yum und zypper

FunktionDebian 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
Paket für Datei samba.schema im Repository suchen

Abhängigkeiten (dpkg und apt)

Von welchen Paketen ist das Paket cups abhängig?

apt-cache depends cups

Welche Pakete sind vom Paket cups abhängig?

apt-cache rdepends cups

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

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

Dokumentation

Zusätzliche Repositories

Debian

Ubuntu

RedHat / Centos / Scientific Linux

openSuSE

Debian / Ubuntu

debconf

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.

Repositories mischen

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 .

Lokalen Paketcache ausschalten

In Netzen, in denen ein lokaler Spiegel des Repositories vorhanden ist, ist es nicht notwendig installierte Pakete noch mal auf dem Client zu archivieren:

/etc/apt/apt.conf.d/no-cache :

DPkg::Post-Invoke { "apt-get clean"; };

Paket-Signatur

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 -

Empfohlene Pakete automatisch installieren

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

rpm

Defragmentieren der RPM-Datenbank

rpm --rebuilddb

Links

Einzelne Dateien aus einem .rpm-Paket rausfischen

Anzeigen welche Dateien drin sind: 5)

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

yum beschleunigen

ruft man yum mit der Option -C auf, werden die Paket-Caches diesmal nicht aktualisiert.

mehrere yum Befehle nacheinander, aber nur ein mal Cache aktualisieren:

yum shell

zypper

zypper beschleunigen

SQLite-Datenbanken lassen sich mit dem VACUUM-Kommando aufräumen:

sqlite3 /var/cache/zypp/zypp.db vacuum

Delta-rpm ausschalten

Delta-RPMs sind nur bei schmaler Netzanbindung sinnvoll, im Intranet bremsen sie die Installation ( und Updates ) aus.

openSuSE 11.3

/etc/zypp/zypp.conf

[main]
download.use_deltarpm = false

bash_completion

Pakete:

bash_completion ( SuSE )

bash ( Debian )

Hilfreich beim Eingeben der Befehle, Optionen und Paketnamen

Aktivieren über den Befehl:

. /etc/bash_completion

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
1)
OK, rpm ist auch für debian verfügbar, aber sollte da nur in besonderen Fällen eingesetzt werden
2)
das macht man normalerweise mit apt-get, yum, zypper oder yast
3)
auch das geht mit apt-get, yum, zypper oder yast
4)
nicht offiziell unterstützt - aber brauchbar
5)
mehr zu cpio
admin_grundlagen/paketverwaltung.1341333463.txt.gz · Zuletzt geändert: (Externe Bearbeitung)