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
Nächste Überarbeitung Beide Seiten, nächste Überarbeitung
admin_grundlagen:paketverwaltung [2012/07/03 15:54]
ingo_wichmann
admin_grundlagen:paketverwaltung [2021/06/07 12:05]
ingo_wichmann [apt, yum und zypper]
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|yum]]//, //[[#​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|yum]]//, //[[#​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
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 ======
 +TODO: 
 +  * [[https://​mvogt.wordpress.com/​2014/​04/​|apt]] ist neu in debian 8.0 (jessie). Dieses Kapitel überarbeiten,​ sobald debian 7 nicht mehr supportet wird. 
 +  * [[http://​dnf.readthedocs.org/​en/​latest/​cli_vs_yum.html|dnf]] statt yum, sobald das in CentOS ist. 
 +
 ===== apt, yum und zypper ===== ===== apt, yum 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   yum check-update
 | |
   zypper refresh   zypper refresh
-| 
-|nach Updates suchen | 
-  apt-get -s update 
-| 
-  yum check-update 
-| 
-  zypper list-updates 
 | |
 |Updates einspielen | |Updates einspielen |
-  ​aptitude safe-upgrade+  ​apt upgrade
 | |
   yum update   yum update
 | |
   zypper update   zypper update
 +|
 +|Distributions upgrade |
 +  apt dist-upgrade
 +Ubuntu:
 +  do-release-upgrade
 +|
 +  yum upgrade
 +|
 +  zypper dup
 | |
 |Nach Paketen suchen| |Nach Paketen suchen|
-  ​aptitude search suchwort +  apt search suchwort
-  ​apt-cache ​search suchwort+
 | |
   yum search suchwort   yum search suchwort
Zeile 107: Zeile 119:
 | |
 |Beschreibung zu einem Paket anzeigen:| |Beschreibung zu einem Paket anzeigen:|
-  ​aptitude ​show paketname+  ​apt show paketname
 | |
   yum info paketname   yum info paketname
Zeile 114: Zeile 126:
 | |
 |Paket installieren| |Paket installieren|
-  ​aptitude ​install paketname+  ​apt install paketname
 | |
   yum install paketname   yum install paketname
Zeile 120: Zeile 132:
   zypper install paketname   zypper install paketname
 | |
 +|Paket erneut installieren| ​
 +  apt-get install --reinstall paketname ​
 +|
 +  yum reinstall paketname
 +| TODO |
 |Paket entfernen| |Paket entfernen|
-  ​aptitude ​remove paketname +  ​apt remove paketname 
-  ​aptitude ​purge paketname+  ​apt purge paketname
 | |
   yum remove paketname   yum 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 
 +
 +  yum autoremove 
 +
 +  :?: 
 +
 +|Paket ​für Datei ''​samba.schema''​ im Repository ​suchen| 
 +  apt-file update 
 +  ​apt-file search ​samba.schema
  
 +  yum provides */​samba.schema 
 +
 +  zypper search -d pstree 
 +|
 ==== Abhängigkeiten (dpkg und apt) ==== ==== Abhängigkeiten (dpkg und apt) ====
 Von welchen Paketen ist das Paket //cups// abhängig? Von welchen Paketen ist das Paket //cups// abhängig?
Zeile 136: Zeile 167:
   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 
 +</file>
  
-Hier ist beschrieben,​ wie man ein lokales Repository für YaST erstellt: http://en.opensuse.org/​Network_Installation_Source+====== Zusätzliche Repositories ====== 
 +===== Debian ===== 
 +Adresse des Repositories zu ''​/etc/apt/sources.list.d''​ hinzufügen.
  
-===== Dokumentation ​der Distributoren ​=====+Aus diesem Repository das Paket ''​repositoryname-keyring''​ installieren,​ darin sind die Schlüssel enthalten. 
 + 
 +Oder: ''​apt-key add dateiname'',​ fügt die Schlüssel aus ''​dateiname''​ zum Schlüsselbund hinzu. 
 + 
 +Mit ''​apt-key export keyId''​ wird ein Schlüssel aus einem bestehenden Schlüsselbund von APT auf stdout exportiert. 
 + 
 +Mit ''​gnupg --export --armor keyId''​ wird ein Schlüssel aus einem privaten Schlüsselbund auf stdout exportiert. 
 +===== Dokumentation =====
 [[ http://​docs.fedoraproject.org/​yum/​en/​ | Fedora ]] [[ http://​docs.fedoraproject.org/​yum/​en/​ | Fedora ]]
 +[[ 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://​www.debian.org/​doc/​manuals/​apt-howto/​index.de.html | Debian ]]
 [[ http://​de.opensuse.org/​Paketverwaltung | openSuSE ]] [[ http://​de.opensuse.org/​Paketverwaltung | openSuSE ]]
  
-===== Zusätzliche Repositories ​===== +[[http://​yum.baseurl.org/​wiki/​Guides| yum]] 
-==== Debian ​====+ 
 +===== Debian ​=====
   * http://​backports.org - neuere Versionen vieler Pakete für Debian stable   * http://​backports.org - neuere Versionen vieler Pakete für Debian stable
-  * http://debian-multimedia.org/​ - Software und Codecs für Multimedia +  * http://deb-multimedia.org/​ - Software und Codecs für Multimedia
-  * http://​www.dotdeb.org/​ - aktueller LAMP Stack ( PHP, Mysql, ... )+
  
-==== Ubuntu ====+===== Ubuntu ​=====
   * http://​getdeb.net   * http://​getdeb.net
   * http://​www.medibuntu.org/​   * http://​www.medibuntu.org/​
  
-==== RedHat / Centos / Scientific Linux ====+===== RedHat / Centos / Scientific Linux =====
   * http://​wiki.centos.org/​Repositories   * http://​wiki.centos.org/​Repositories
-  * http://​packages.atrpms.net/​name/​atrpms-repo 
  
-==== openSuSE ==== +===== openSuSE ​===== 
-  * [[http://dewiki.opensuse.org/​Paket_Repositories]]+  * [[https://de.opensuse.org/​Paket_Repositories]]
  
-====== ​Vermischtes ​====== +====== ​rpm ====== 
-===== debconf ===== +===== Defragmentieren ​der RPM-Datenbank ​=====
-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:​ +
-<code bash> +
-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: +
-  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 ===== +
-http://​jaqque.sbih.org/​kplug/​apt-pinning.html +
- +
- +
-===== 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 === +
-  * http://​wiki.debian.org/​SecureApt +
- +
- +
-==== 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'':​ +
-<​file>​ +
-aptitude::​Recommends-Important "​false";​ +
-</​file>​ +
- +
-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   rpm --rebuilddb
- 
-=== zypper === 
-SQLite-Datenbanken lassen sich mit dem VACUUM-Kommando aufräumen: 
-  sqlite3 /​var/​cache/​zypp/​zypp.db vacuum 
  
 === Links === === Links ===
   * [[ http://​de.opensuse.org/​SDB:​Paketverwaltungsstapelspeicher_beschleunigen#​Extern_defragmentieren | Tips zu rpm und zypper ]]   * [[ http://​de.opensuse.org/​SDB:​Paketverwaltungsstapelspeicher_beschleunigen#​Extern_defragmentieren | Tips zu rpm und zypper ]]
  
-==== bash_completion ==== +===== Einzelne Dateien aus einem .rpm-Paket rausfischen ​=====
-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: ((mehr zu [[cpio]])) Anzeigen welche Dateien drin sind: ((mehr zu [[cpio]]))
   rpm2cpio nxclient-1.5.0-113.i386.rpm | cpio -i -t   rpm2cpio nxclient-1.5.0-113.i386.rpm | cpio -i -t
Zeile 349: Zeile 232:
   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
  
-==== 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 . 
  
 +  ​
  
 +===== Paketbeschreibungen =====
  
- +Die Beschreibungen von Paketen bei Debian sind im Original auf Englisch
-===== Quellpakete ===== +Deutsche ​(und anderssprachigeÜbersetzungen werden mit Hilfe des Debian 
-==== Quellpakete installieren ==== +Description Translation Project ​[[http://ddtp.debian.net/]] organisiert 
- +und bei nächtlichen Durchläufen mit beachtet.
-  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.txt · Zuletzt geändert: 2021/10/14 07:52 von ingo_wichmann