Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:paketverwaltung

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
admin_grundlagen:paketverwaltung [2012/07/03 16:05]
ingo_wichmann
admin_grundlagen:paketverwaltung [2025/09/18 09:03] (aktuell)
ingo_wichmann
Zeile 23: Zeile 23:
   rpm -ql procps   rpm -ql procps
 | |
-|Paket installieren (( das macht man normalerweise mit //apt-get//, //yum//, //zypper// oder //yast// )): |+|Paket installieren (( das macht man normalerweise mit //[[#​repository_basierte_paketverwaltung|apt]]//, //[[#​repository_basierte_paketverwaltung|dnf]]//, //[[#​repository_basierte_paketverwaltung|zypper]]// oder //[[#​repository_basierte_paketverwaltung|yast]]// )): |
   dpkg -i xskat_4.0-1_i386.deb   dpkg -i xskat_4.0-1_i386.deb
 | |
   rpm -i datei.rpm   rpm -i datei.rpm
 | |
-|Paket ​loeschen: (( auch das geht mit //apt-get//, //yum//, //zypper// oder //yast// )) | +|Paket ​löschen: (( auch das geht mit //[[#​repository_basierte_paketverwaltung|apt]]//, //[[#​repository_basierte_paketverwaltung|dnf]]//, //[[#​repository_basierte_paketverwaltung|zypper]]// oder //[[#​repository_basierte_paketverwaltung|yast]]// )) | 
-  dpkg --remove paket +  dpkg --remove ​<paket> 
-  dpkg --purge paket+  dpkg --purge ​<paket>
 | |
   rpm -e <​paket>​   rpm -e <​paket>​
 | |
 +
 +^Funktion ^Debian und Ubuntu ^RedHat, Fedora und SuSE (( OK, rpm ist auch für debian verfügbar, aber sollte da nur in besonderen Fällen eingesetzt werden )) |
 |Pakete nach Größe sortiert ausgeben: | |Pakete nach Größe sortiert ausgeben: |
-  dpkg-query -W --showformat='​${Installed-Size} ${Package}\n'​ | sort -n+  dpkg-query -W --showformat='​${Installed-Size} ​
 +  ​${Package}\n'​ | sort -n
 | |
   rpm -qa --queryformat '​%{SIZE} %{NAME}\n'​ | sort -n   rpm -qa --queryformat '​%{SIZE} %{NAME}\n'​ | sort -n
 | |
-|Geaenderte ​Dateien suchen |+|Geänderte ​Dateien suchen |
   debsums -e procps   debsums -e procps
 | |
Zeile 48: Zeile 51:
 | |
   rpm -qac --dump | perl -naF'​\s+'​ -e 'print $F[0], $/ if -f $F[0] and not -l $F[0] and (split /\s+/, `md5sum $F[0]`)[0] ne $F[3]' ​   rpm -qac --dump | perl -naF'​\s+'​ -e 'print $F[0], $/ if -f $F[0] and not -l $F[0] and (split /\s+/, `md5sum $F[0]`)[0] ne $F[3]' ​
 +|
 +| Konfigurationsdatei wiederherstellen |
 +  cd /​var/​cache/​apt/​archives/​
 +  dpkg -i --force-confmiss dokuwiki_0.0.20120125b-2_all.deb
 | |
 | Zuletzt installierte Pakete anzeigen: | | Zuletzt installierte Pakete anzeigen: |
Zeile 58: Zeile 65:
 | |
  
-==== Abhängigkeiten ​(rpm) ==== +==== Abhängigkeiten ==== 
-Von welchen Eigenschaften hängt das Paket //cups-libs// ab?+=== rpm === 
 +Von welchen Eigenschaften hängt das Paket //cups// ab?
   rpm -q --requires cups   rpm -q --requires cups
-Welche Eigenschaften stellt das Paket //cups-libs// anderen Paketen zur Verfügung?​ +Welche Eigenschaften stellt das Paket //systemd// anderen Paketen zur Verfügung?​ 
-  rpm -q --provides ​paket +  rpm -q --provides ​systemd 
-Welche Pakete hängen von der Eigenschaft ​//libcups.so.2// ab? +Welche Pakete hängen von //cups// ab? 
-  rpm -q --whatrequires ​libcups.so.2 +  rpm -q --whatrequires ​cups 
-Welches Paket stellt die Eigenschaft //libcups.so.2// zur Verfügung?​ +Welches Paket stellt die Eigenschaft //syslog// zur Verfügung?​ 
-  rpm -q --whatprovides ​libcups.so.2+  rpm -q --whatprovides ​syslog
  
-Bei //dpkg// sind Pakete ​direkt von anderen Paketen ​abhängig.+=== 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
  
 ====== Repository basierte Paketverwaltung ====== ====== Repository basierte Paketverwaltung ======
-===== apt, yum und zypper =====+===== apt, dnf und zypper =====
 ^Funktion^Debian ^RedHat ^SuSE ^ ^Funktion^Debian ^RedHat ^SuSE ^
-| Repositories einbinden |  +|Repositories einbinden | ''/​etc/​apt/​sources.list''​ \\ ''/​etc/​apt/​sources.list.d/*.list''​ |  
-  ​apt-setup +  yum-config-manager 
-''/​etc/​apt/​sources.list''​ | ''/​etc/​yum.repos.d/​*.repo''​\\ ''/​etc/​zypp/​repos.d/​*.repo''​ |+oder ''/​etc/​yum.repos.d/​*.repo'' ​''/​etc/​zypp/​repos.d/​*.repo''​ \\ ''​zypper addrepo https:/...''​ |
 |Repository-Daten aktualisieren| |Repository-Daten aktualisieren|
-  ​aptitude ​update+  ​apt update
 | |
-  ​yum check-update+  ​dnf check-update
 | |
   zypper refresh   zypper refresh
 | |
-|nach Updates ​suchen ​+|Updates ​einspielen ​
-  apt-get -s update+  apt upgrade
 | |
-  ​yum check-update+  ​dnf upgrade
 | |
-  zypper ​list-updates+  zypper ​update
 | |
-|Updates einspielen ​+|Distributions upgrade ​
-  ​aptitude safe-upgrade+  ​apt dist-upgrade 
 +Ubuntu: 
 +  do-release-upgrade
 | |
-  ​yum update+  ​_
 | |
-  zypper ​update+  zypper ​dup
 | |
 |Nach Paketen suchen| |Nach Paketen suchen|
-  ​aptitude search suchwort +  apt search suchwort
-  ​apt-cache ​search suchwort+
 | |
-  ​yum search suchwort +  ​dnf search suchwort 
-  ​yum list | grep paketname+  ​dnf list | grep paketname
 | |
   zypper search suchwort   zypper search suchwort
 | |
 |Beschreibung zu einem Paket anzeigen:| |Beschreibung zu einem Paket anzeigen:|
-  ​aptitude ​show paketname+  ​apt show paketname
 | |
-  ​yum info paketname+  ​dnf info paketname
 | |
   zypper info paketname   zypper info paketname
 | |
 |Paket installieren| |Paket installieren|
-  ​aptitude ​install paketname+  ​apt install paketname
 | |
-  ​yum install paketname+  ​dnf install paketname
 | |
   zypper install paketname   zypper install paketname
 | |
 +|Paket erneut installieren| ​
 +  apt-get install --reinstall paketname ​
 +  apt reinstall paketname
 +|
 +  dnf reinstall paketname
 +| TODO |
 |Paket entfernen| |Paket entfernen|
-  ​aptitude ​remove paketname +  ​apt remove paketname 
-  ​aptitude ​purge paketname+  ​apt purge paketname
 | |
-  ​yum remove paketname+  ​dnf remove paketname
 | |
-|Datei aus noch nicht installiertem Paket suchen| +  ​zypper ​remove paketname
-  apt-file update; apt-file search +
-|  +
- +
-==== 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 ) (( nicht offiziell unterstützt - aber brauchbar )) | rug ( SuSE 10.1 bis 10.2 / SLES 10 ) | zypper ( ab SuSE 10.2) | +
-| Repositories einbinden |  +
-  y2pmsh source --add http://​suse/​i386/​update/​10.1 +
-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 ​+
 | |
-  zypper service-add http://​suse/​i386/​update/​10.3 +|Überflüssige Pakete entfernen| 
-oder +  apt autoremove 
-  ​zypper service-add http://​suse/​i386/​update/​10.3+  ​apt --purge autoremove
 | |
-|Repository-Daten aktualisieren| +  dnf autoremove
-  ​+
 | |
-  ​rug refresh+  ​:?:
 | |
-  zypper refresh+|Paket für Datei ''​samba.schema''​ im Repository suchen| 
 +  apt-file update 
 +  apt-file search samba.schema 
 +|  
 +  dnf provides */​samba.schema
 | |
-|Updates einspielen | +  zypper search -d pstree
-  y2pmsh upgrade +
-  y2pmsh commit+
 | |
-  rug update 
-| 
-  zypper update 
-| 
-|Nach Paketen suchen| 
-  y2pmsh search suchwort 
-| 
-  rug search suchwort 
-| 
-  zypper search suchwort 
-| 
-|Paketbeschreibung anzeigen:| 
-  y2pmsh show paketname 
-| 
-  rug info paketname 
-| 
-  zypper info paketname 
-| 
-|Paket installieren| 
-  y2pmsh isc paketname 
-oder 
-  y2pmsh install paketname 
-  y2pmsh solve 
-  y2pmsh commit 
-| 
-  rug install paketname 
-| 
-  zypper install paketname 
-| 
-|Paket entfernen| 
-  y2pmsh remove paketname 
-  y2pmsh solve 
-  y2pmsh commit 
-| 
-  rug remove paketname 
-| 
-  zypper remove paketname 
-| 
-|Datei aus noch nicht installiertem Paket suchen (ungetestet)((alternativ , http://​packages.opensuse-community.org/​))| 
-   ​webpin 
- 
-| 
- 
-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 der Distributoren ===== 
-[[ http://​docs.fedoraproject.org/​yum/​en/​ | Fedora ]] 
-[[ http://​www.debian.org/​doc/​manuals/​apt-howto/​index.de.html | Debian ]] 
-[[ http://​de.opensuse.org/​Paketverwaltung | openSuSE ]] 
- 
 ====== Zusätzliche Repositories ====== ====== Zusätzliche Repositories ======
 ===== Debian ===== ===== Debian =====
-  * http://​backports.org ​neuere Versionen vieler Pakete für Debian stable +==== extrepo ==== 
-  ​* http://​debian-multimedia.org/ ​Software und Codecs für Multimedia +Docker CE über Extrepo installieren: 
-  ​* http://​www.dotdeb.org/ ​aktueller LAMP Stack ( PHP, Mysql, ... )+  apt install extrepo 
 +  extrepo search docker 
 +  extrepo enable docker-ce 
 +  ​apt update 
 +  apt policy docker-ce 
 +  ​apt install docker-ce
  
-===== Ubuntu ​===== +==== andere Drittanbieter ​====
-  * http://​getdeb.net +
-  * http://​www.medibuntu.org/​+
  
-===== RedHat ​Centos ​Scientific Linux ===== +Adresse des Repositories zu ''​/etc/apt/sources.list.d''​ hinzufügen.
-  * http://wiki.centos.org/​Repositories +
-  * http://​packages.atrpms.net/​name/​atrpms-repo+
  
-===== openSuSE ===== +Aus diesem Repository das Paket ''​repositoryname-keyring''​ installieren,​ darin sind die Schlüssel enthalten.
-  * [[http://​dewiki.opensuse.org/​Paket_Repositories]]+
  
-====== Debian / Ubuntu ====== +Oder: ''​apt-key add dateiname'',​ fügt die Schlüssel aus ''​dateiname''​ zum Schlüsselbund hinzu.
-===== debconf =====+
  
-Anzeigen, welche Einstellungen bei der Installation des Paketes ​''​exim4-config'' ​vorgenommen wurden: +Mit ''​apt-key export keyId'' ​wird ein Schlüssel aus einem bestehenden Schlüsselbund von APT auf stdout exportiert.
-  debconf-show exim4-config+
  
-Nur die mit * gekennzeichneten Einträge sind vom Benutzer erfragt worden+Mit ''​gnupg --export --armor keyId''​ wird ein Schlüssel aus einem privaten Schlüsselbund auf stdout exportiert. 
 +====== SLES 15 Moduloperationen ====== 
 +Welche Module sind aktiviert?​ 
 +  SUSEConnect -s 
 +Suche in allen Modulen 
 +  zypper search-packets <​name>​
  
-Man kann die von debconf gestellten Fragen vorab mit dem dem Befehl ''​debconf-set-selections''​ beantworten:​ +====== apt-cacher-ng ====== 
-<code bash> +Debian-Wikihttps://wiki.debian.org/AptCacherNg
-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 +
-</code>+
  
-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: +== Server Config == 
-  ​debconf-get-selections | grep -B 1 ^exim4-config +  ​apt install apt-cacher-ng 
-//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.//​+  dpkg-reconfigure apt-cacher-ng -p low
  
-===== Repositories mischen ===== +== Client Config ​== 
-http://jaqque.sbih.org/kplug/apt-pinning.html+<file txt /etc/apt/apt.conf.d/proxy> 
 +Acquire::​http { Proxy "http://​proxy:​3142";​ } 
 +</​file>​
  
-==== Dateien aus einem .deb-Paket rausfischen ==== +proxy durch IP oder host ersetzen.
-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 ​.+
  
-===== Paket-Signatur ===== +:?: Wo werden ​die Pakete auf dem Proxy abgelegt ​:?:\\ 
-=== Schlüssel über Paket beziehen === +:!AchtungFunktioniert nur mit den __echten__ URIsnicht mit http://​debian :!:
-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 Paketsondern 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 === +
-  * http://​wiki.debian.org/​SecureApt +
- +
-===== 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'':​ +
-<​file>​ +
-aptitude::​Recommends-Important "​false";​ +
-</​file>​ +
- +
-oder im Menu Aptitude/​Options/​Dependency Handling/ [X]  Install Recommended Packages automatically => abwählen+
  
 ====== rpm ====== ====== rpm ======
-===== Defragmentieren der RPM-Datenbank ===== 
-  rpm --rebuilddb 
  
-=== Links === 
-  * [[ http://​de.opensuse.org/​SDB:​Paketverwaltungsstapelspeicher_beschleunigen#​Extern_defragmentieren | Tips zu rpm und zypper ]] 
  
 ===== Einzelne Dateien aus einem .rpm-Paket rausfischen ===== ===== Einzelne Dateien aus einem .rpm-Paket rausfischen =====
Zeile 326: Zeile 218:
   rpm2cpio nxclient-1.5.0-113.i386.rpm | cpio -id ./​usr/​NX/​share/​keys/​server.id_dsa.key   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 aktuallisiert.  ​ 
- 
-====== zypper beschleunigen ====== 
-SQLite-Datenbanken lassen sich mit dem VACUUM-Kommando aufräumen: 
-  sqlite3 /​var/​cache/​zypp/​zypp.db vacuum 
- 
-===== 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 === 
-   * [[ http://​www.rpm.org/​max-rpm/​ | rpm Buch online]] 
-   * [[ http://​www.rpm.org | rpm Homepage ]] 
- 
-===== 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 
  
admin_grundlagen/paketverwaltung.1341331535.txt.gz · Zuletzt geändert: 2012/07/03 16:05 von ingo_wichmann