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:10]
ingo_wichmann
admin_grundlagen:paketverwaltung [2021/07/07 07:07]
stefan_miethke [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
Zeile 83: Zeile 94:
   zypper refresh   zypper refresh
 | |
-|nach Updates ​suchen ​+|Updates ​einspielen ​
-  apt-get -s update+  apt upgrade
 | |
-  yum check-update+  yum update
 | |
-  zypper ​list-updates+  zypper ​update
 | |
-|Updates einspielen ​+|Distributions upgrade ​
-  ​aptitude safe-upgrade+  ​apt dist-upgrade 
 +Ubuntu: 
 +  do-release-upgrade
 | |
-  yum update+  yum upgrade
 | |
-  zypper ​update+  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 ​
 +  apt 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 168:
   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 +CentOSweak 
-  + 
-  rug service-add -t zypp http://suse/i386/update/10. +<file txt /etc/dnf/dns.conf> 
-oder +install_weak_deps=False 
-  rug sa -t zypp http://​suse/​i386/​update/​10.1 ​ +</file> 
-| + 
-  ​zypper service-add http://​suse/​i386/​update/​10.3 +====== Zusätzliche Repositories ====== 
-oder +===== Debian ===== 
-  ​zypper service-add http://suse/i386/​update/​10.+Adresse des Repositories zu ''​/etc/apt/sources.list.d''​ hinzufügen.
-+
-|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'' ​aufdaß man hier auch an Stelle von yast benutzen kann. ''​y2pmsh''​ hat auch einen interaktiven Modus: einfach starten, und die oben angegebenen Befehle funktionieren inclTab-Completion+Aus diesem Repository das Paket ''​repositoryname-keyring'' ​installierendarin sind die Schlüssel enthalten.
  
-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+Oder: ''​apt-key add dateiname'',​ fügt die Schlüssel aus ''​dateiname''​ zum Schlüsselbund hinzu.
  
-Hier ist beschrieben,​ wie man ein lokales Repository für YaST erstellt: http://en.opensuse.org/​Network_Installation_Source+Mit ''​apt-key export keyId''​ wird ein Schlüssel aus einem bestehenden Schlüsselbund von APT auf stdout exportiert.
  
-===== Dokumentation ​der Distributoren ​=====+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 =====
Zeile 230: Zeile 215:
 ===== 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]]
- +
-====== 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:​ +
-<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.//​ +
- +
-===== Repositories mischen ===== +
-http://​jaqque.sbih.org/​kplug/​apt-pinning.html +
- +
-==== 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>​ +
- +
-===== 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 - +
- +
-=== 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 333: Zeile 233:
   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 ====== +  ​
-===== 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 ​===== +===== Paketbeschreibungen ​=====
-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.txt · Zuletzt geändert: 2021/07/07 07:07 von stefan_miethke