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:17]
ingo_wichmann [apt, yum und zypper]
admin_grundlagen:paketverwaltung [2024/01/19 09:52] (aktuell)
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 59: Zeile 66:
  
 ==== Abhängigkeiten (rpm) ==== ==== Abhängigkeiten (rpm) ====
-Von welchen Eigenschaften hängt das Paket //cups-libs// ab?+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. Bei //dpkg// sind Pakete direkt von anderen Paketen abhängig.
  
 ====== 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 updateapt-file search+
 +|Überflüssige Pakete entfernen| 
 +  apt autoremove 
 +  apt --purge autoremove 
 +
 +  dnf autoremove 
 +
 +  :?: 
 +
 +|Paket ​für Datei ''​samba.schema''​ im Repository ​suchen| 
 +  apt-file update 
 +  ​apt-file search ​samba.schema
  
-  ​yum provides ​filename+  ​dnf provides ​*/​samba.schema 
 +
 +  zypper search -d pstree
 | |
 ==== Abhängigkeiten (dpkg und apt) ==== ==== Abhängigkeiten (dpkg und apt) ====
Zeile 137: Zeile 166:
   apt-cache rdepends cups   apt-cache rdepends cups
  
-==== yast, y2pmsh, rug und zypper ==== +==== SLES 15 Moduloperationen ==== 
-YaSTy2pmshrug und zypper sind nur für SuSE verfügbar.+Welche Module sind aktiviert?​ 
 +  SUSEConnect -s 
 +Suche in allen Modulen 
 +  ​zypper ​search-packets <​name>​ 
 +====== harte / weiche Abhängigkeiten ====== 
 +Debian: dependsrecommendssuggests
  
-|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) | +<file txt /etc/apt/apt.conf> 
-| Repositories einbinden |  +TODO 
-  y2pmsh source --add http://​suse/​i386/​update/​10.1 +</file>
-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 +
-oder +
-  zypper service-add http://​suse/​i386/​update/​10.3 +
-+
-|Repository-Daten aktualisieren| +
-   +
-+
-  rug refresh +
-+
-  zypper refresh +
-+
-|Updates einspielen | +
-  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 Moduseinfach starten, und die oben angegebenen Befehle funktionieren incl. Tab-Completion+CentOSweak
  
-y2pmsh/YaST/rug/zypper bietet die Möglichkeit verschiedene Repositories einzubindenEine Liste verfügbarer Repositories findet sich hier: http://​www.opensuse.org/​Additional_YaST_Package_Repositories +<file txt /etc/dnf/dns.conf> 
- +install_weak_deps=False 
-Hier ist beschrieben,​ wie man ein lokales Repository für YaST erstellt: http://​en.opensuse.org/​Network_Installation_Source +</file>
- +
-===== 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 +Adresse des Repositories zu ''​/etc/apt/sources.list.d''​ hinzufügen.
-  * http://​debian-multimedia.org/​ - Software und Codecs für Multimedia +
-  * http://​www.dotdeb.org- aktueller LAMP Stack ( PHP, Mysql, ​... )+
  
-===== Ubuntu ===== +Aus diesem Repository das Paket ''​repositoryname-keyring''​ installieren,​ darin sind die Schlüssel enthalten.
-  * http://​getdeb.net +
-  * http://​www.medibuntu.org/​+
  
-===== RedHat / Centos / Scientific Linux ===== +Oder''​apt-key add dateiname'',​ fügt die Schlüssel aus ''​dateiname''​ zum Schlüsselbund hinzu.
-  * http://wiki.centos.org/​Repositories +
-  * http://​packages.atrpms.net/​name/​atrpms-repo+
  
-===== openSuSE ===== +Mit ''​apt-key export keyId''​ wird ein Schlüssel aus einem bestehenden Schlüsselbund von APT auf stdout exportiert.
-  * [[http://​dewiki.opensuse.org/​Paket_Repositories]]+
  
-====== Debian / Ubuntu ====== +Mit ''​gnupg --export --armor keyId''​ wird ein Schlüssel aus einem privaten Schlüsselbund auf stdout exportiert. 
-===== debconf ​=====+===== Dokumentation ​===== 
 +[[ http://​docs.redhat.com/​docs/​en-US/​Red_Hat_Enterprise_Linux/​6/​html/​Deployment_Guide/​ch-yum.html | RedHat ]] 
 +[[ http://​www.debian.org/​doc/​manuals/​apt-howto/​index.de.html | Debian ]] 
 +[[ http://​de.opensuse.org/​Paketverwaltung | openSuSE ]] 
 +  * [[http://​dnf.readthedocs.org/​en/​latest/​cli_vs_yum.html|dnf]]
  
-Anzeigen, welche Einstellungen bei der Installation des Paketes ''​exim4-config''​ vorgenommen wurden: +[[http://​yum.baseurl.org/​wiki/​Guides| yum]]
-  debconf-show exim4-config+
  
-Nur die mit gekennzeichneten Einträge sind vom Benutzer erfragt worden+===== Debian ===== 
 +  ​http://​backports.org - neuere Versionen vieler Pakete für Debian stable 
 +  * http://​deb-multimedia.org/​ - Software und Codecs für Multimedia
  
-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"; }
-==== 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''​ : +
-<file+
-DPkg::Post-Invoke ​{ "apt-get clean"; };+
 </​file>​ </​file>​
  
-===== Paket-Signatur ===== +proxy durch IP oder host ersetzen.
-=== 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+:?: Wo werden die Pakete auf dem Proxy abgelegt :?:\\ 
-  ​aptitude update+:!: Achtung. Funktioniert nur mit den __echten__ URIs, nicht mit http://​debian :!: 
 +===== Ubuntu ===== 
 +  ​* http://​getdeb.net 
 +  * http://​www.medibuntu.org/​
  
-Schlüssel für das Debian-Archiv finden sich auch unter http://ftp-master.debian.org/+===== RedHat / Centos / Scientific Linux ===== 
 +  * http://wiki.centos.org/Repositories
  
-=== Schlüssel über Datei beziehen ​=== +===== openSuSE ​===== 
-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:​ +  * [[https://de.opensuse.org/Paket_Repositories]]
-  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 ======
Zeile 334: Zeile 247:
   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 aktualisiert.  ​+  ​
  
-mehrere //yum// Befehle nacheinander,​ aber nur ein mal Cache aktualisieren:​ +===== Paketbeschreibungen ​=====
-  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''​ +
-<​file>​ +
-[main] +
-download.use_deltarpm = false +
-</​file>​ +
- +
-===== 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 ===== +Die Beschreibungen von Paketen bei Debian sind im Original auf Englisch. 
-Als root: +Deutsche (und anderssprachige) Übersetzungen werden mit Hilfe des Debian 
-  ​apt-get install fakeroot  +Description Translation Project [[http://​ddtp.debian.net/​]] organisiert 
-  apt-get build-dep tar +und bei nächtlichen Durchläufen mit beachtet.
-Als Nutzer+
-  ​apt-get source tar +
-  cd tar-1.14 +
-  dpkg-buildpackage -rfakeroot -uc -b+
  
admin_grundlagen/paketverwaltung.1341332242.txt.gz · Zuletzt geändert: 2012/07/03 16:17 von ingo_wichmann