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 16:05]
ingo_wichmann
admin_grundlagen:paketverwaltung [2021/10/14 07:52]
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
Zeile 83: Zeile 94:
   zypper refresh   zypper refresh
 | |
-|nach Updates ​suchen ​+|Updates ​einspielen ​
-  apt-get -s update+  apt upgrade
 | |
-  yum check-update+  yum 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   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 . +
- +
-===== 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 326: 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 beschleunigen ====== +  ​
-SQLite-Datenbanken lassen sich mit dem VACUUM-Kommando aufräumen:​ +
-  sqlite3 /​var/​cache/​zypp/​zypp.db vacuum+
  
-===== 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: 2024/01/19 09:52 (Externe Bearbeitung)