(rpm, yum, dnf).
Transcription
(rpm, yum, dnf).
Linux - Paketverwaltung. - 1 / 20 - 1. Paketverwaltung. Unter Unix werden Softwarepakete in verschiedenen Paketformaten gehandhabt. In diesen Paketen kann einerseits nur Sourcecode vorhanden sein - dann müssen Sie die Software selbst kompilieren - oder aber ausführbare Binaries (vorkompiliert). • In den Anfängen von Linux waren, wie auch zu damaliger Zeit unter Unix, sogenannte Tarballs üblich. Ein Tarball ist eine Datei, die zum Entpacken aus Ordnern mit Dateien und den zugehörigen Rechten besteht. ◦ .tar Pakete: Hier sind die Dateien einfach unkomprimiert in einer Datei zusammengefasst, der sogenannten Archivdatei. Aber die Pfade der einzelnen Dateien sind mit gespeichert. Entpacken mit tar Kommando. A Priori ist kein Installations- bzw. Deinstallationsprogramm vorhanden, der Systemverwalter ist dafür selbst verantwort lich (mit der -t Option des tar Kommandos lassen sich die Namen der Ordner und Dateien für eine spätere Deinstallation loggen). ◦ .tz oder .tar.Z Pakete: Die Dateien sind unkomprimiert in der Archivdatei zusammengefasst worden und dann mit dem Unix Kommando compress komprimiert worden. Zum Entpacken wird diese Datei mit dem Unix Kommando uncompress dekomprimiert und dann mit tar entpackt. Tip: Linux GNU tar kann über eine Option für den Kompressor in einem Arbeitsgang bearbeiten. A Priori ist kein Installations- bzw. Deinstallationsprogramm vorhanden, der Systemverwalter ist selbst verantwortlich (mit der -t Option des tar Kommandos lassen sich die Namen der Ordner und Dateien für eine spätere Deinstallation loggen). ◦ .tgz oder .tar.gz Pakete (Linux): Die Dateien sind unkomprimiert in der Archivdatei zusammengefasst. Diese ist dann mit dem Unix Kommando gzip komprimiert worden. Zum Entpacken wird diese Datei mit dem Unix Kommando gunzip dekomprimiert und dann mit tar entpackt. Tip: Linux GNU tar kann über eine Option für den Kompressor in einem Arbeitsgang bearbeiten. A Priori ist kein Installations- bzw. Deinstallationsprogramm vorhanden, der Systemverwalter ist selbst verantwortlich (mit der -t Option des tar Kommandos lassen sich die Namen der Ordner und Dateien für eine spätere Deinstallation loggen). ◦ tbz2 oder .tar.bz2 Pakete (Linux): Die Dateien sind unkomprimiert in der Archivdatei zusammengefasst. Diese ist dann mit dem Unix Kommando bzip2 komprimiert worden. Zum Entpacken wird diese Datei mit dem Unix Kommando bunzip2 dekomprimiert und dann mit tar entpackt. Tip: Linux GNU tar kann über eine Option für den Kompressor in einem Arbeitsgang bearbeiten. A Priori ist kein Installations- bzw. Deinstallationsprogramm vorhanden, der Systemverwalter ist selbst verantwortlich (mit der -t Option des tar Kommandos lassen sich die Namen der Ordner und Dateien für eine spätere Deinstallation loggen). Tarballs werden heute nur noch für Drittsoftware benutzt, also Softwarepakete, die nicht für eine bestimmte Distribution bestimmt sind. • Da Installation und Deinstallation mit Tarballs händisch und zum Teil umständlich ist, abhängige Softwarepakete selbst einzeln herausgefunden und installiert werden müssen, wurde von RedHat das sogenannte Redhat Package Management (RPM) entwickelt. Die zu installierende Software inklusive Installations-, Update- und Deinstallationsprogrammen sowie Abhängigkeitsinformationen befindet sich in Paketdateien mit der Endung .rpm. Mit dem RedHat Packet Manager können neue Softwarepakete installiert, alte entfernt oder durch neuere aktualisiert (alte Konfigurationsdateien werden gesichert) werden. Bei einer Installation / Deinstallation eines Paketes wird die Integrität durch Prüfung der Abhängigkeiten von anderen Paketen sichergestellt. Vor der Dateiendung .rpm findet sich eine weitere Kennzeichnung: i386, i486, i586, i686 für 32-Bit und x86_64 für 64-Bit bei Intel CPU's (die Pakete sind aufwärts, aber nicht abwärts kompatibel), src für Quellcode Pakete zum selber kompilie ren, noarch für von CPU Architekturen unabhängige Pakete und weitere Bezeichnungen für andere Rechnerarchitekturen. Das Redhat Package Management hat sich heutzutage bei vielen Linux Distributionen, und auch Unix durchgesetzt. Parallel zu der RPM Entwicklung wurde für die Debian Distribution von deren Entwicklern ein ähnliches Management entwickelt: Softwarepakete mit der Dateiendung .deb, mit dem Programm apt (Advanced Packaging Tool) bzw. aptitude (bei neueren Debian Versionen) zu verwalten. Außer bei Debian und davon abgeleiteten Distributionen auch bei Mac OS X verwendet. Die .rpm Paketdateien werden mit folgenden Programmen verwaltet: ◦ rpm Programm seit Beginn des Redhat Package Management bis heute. ◦ yum (Yellowdog Updater Modified) Bei vielen auftretenden Abhängigkeiten kann die Paketverwaltung mit dem rpm Kommando recht aufwendig werden, obwohl das Kommando dazu alle notwendigen Fähigkeiten besitzt. Deshalb haben die Distributoren der Yellow Dog Distribution (Linux für Apple) das Programm yum geschrieben. YUM (Yellowdog Updater Modified) benutzt die Vielfalt des rpm Kommandos, um für den Benutzer eine möglichst einfache Verwaltung seiner Distribution Fedora. 31. August 2016 Dr. J. Kubiak - [email protected] Linux - Paketverwaltung. - 2 / 20 - RPM Pakete zu ermöglichen. Bei Fedora wird bis FC 21 YUM benutzt. ◦ dnf (Dandified Yum) Bei Fedora wird ab FC 22 nicht mehr yum benutzt, stattdessen dnf und ist in vieler Hinsicht zu yum kompatibel. Vorteile von dnf zu yum sind: Verbesserte Paketauflösung, auch mit höheren Python Versionen als 2 lauffähig, dokumentierte API. 1.1 RPM Paketverwaltung. Zur RPM Paketverwaltung benutzt man das Kommando rpm. Sie können bei nicht installierten Paketen auch eine http:// bzw. ftp:// URL eingeben, zum Beispiel: ftp://[BENUTZER[:PASSWORT]@]RECHNER.DOMAIN[:PORT]/Ordner/Paketname.rpm Die wichtigsten RPM Kommandos sind (beachte Option --test, mit der vor einer Installation, einem Upgrade oder einer Deinstallation auf Abhängigkeiten getestet werden kann, bevor die Aktion tatsächlich durchgeführt wird): • Prüfung, ob ein Paket schon installiert ist (wenn ja, welche Version), Option -q (query). # rpm -q bash bash-2.05b-20 # rpm -q gibt_es_nicht Paket gibt_es_nicht ist nicht installiert • Information über ein installiertes Paket, Optionen -qi (Information). # rpm -qi bash Name : bash Relocations: /usr Version: 2.05b Vendor: Red Hat, Inc. Release: 20 Build Date: Die 11 Feb 2003 14:34:46 CET Install Date: Don 17 Jul 2003 14:57:33 CEST Build Host: daffy.perf.redhat.com Group : System Environment/Shells Source RPM: bash-2.05b-20.src.rpm Size : 1619186 License: GPL Signature : DSA/SHA1, Mon 24 Feb 2003 06:54:21 CET, Key ID 219180cddb42a60e Packager : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla> Summary : The GNU Bourne Again shell (bash) version 2.05b. Description : The GNU Bourne Again shell (Bash) is a shell or command language interpreter that is compatible with the Bourne shell (sh). Bash incorporates useful features from the Korn shell (ksh) and the C shell (csh). Most sh scripts can be run by bash without modification. This package (bash) contains bash version 2.05b, which improves POSIX compliance over previous versions. However, many old shell scripts will depend upon the behavior of bash 1.14, which is included in the bash1 package. Bash is the default shell for Red Hat Linux. It is popular and powerful, and you'll probably end up using it. Documentation for bash version 2.05b is contained in the bash-doc package. • Information über ein nicht installiertes Paket (Webmin wird später zur Administration benötigt, die aktuelle Version können Sie unter http://www.webmin.com downloaden. Sie können aber zum Üben des Kommandos auch jedes andere nicht installierte Paket von der Distributions-CD verwenden), Option -p (Package). # ls webmin* webmin-1.100-1.noarch.rpm # rpm -qip webmin-1.100-1.noarch.rpm Warnung: webmin-1.100-1.noarch.rpm: V3 DSA signature: NOKEY, key ID 11f63c51 Name : webmin Relocations: (not relocateable) Version : 1.100 Vendor: Jamie Cameron Release: 1 Build Date: Mon 07 Jul 2003 02:27:01 CEST Install Date: (not installed) Build Host: fudu.home Group : System/Tools Source RPM: webmin-1.100-1.src.rpm Size : 21315976 License: Freeware Signature: DSA/SHA1, Mon 07 Jul 2003 02:28:00 CEST, Key ID d97a3ae911f63c51 Summary : A web-based administration interface for Unix systems. Distribution Fedora. 31. August 2016 Dr. J. Kubiak - [email protected] Linux - Paketverwaltung. - 3 / 20 - Description : A web-based administration interface for Unix systems. Using Webmin you can configure DNS, Samba, NFS, local/remote filesystems and more using your web browser. After installation, enter the URL http://localhost:10000/ into your browser and login as root with your root password. • Information über Abhängigkeiten eines installierten Paketes, dh. Pakete mit den im Listing aufgeführten Dateien sollten nicht deinstalliert werden, Option --requires. # rpm -q --requires bash /bin/sh /bin/sh config(bash) = 4.2.10-4.fc15 libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.1.1) libc.so.6(GLIBC_2.11) libc.so.6(GLIBC_2.2) libc.so.6(GLIBC_2.3) libc.so.6(GLIBC_2.3.4) libc.so.6(GLIBC_2.4) libc.so.6(GLIBC_2.8) libdl.so.2 libdl.so.2(GLIBC_2.0) libdl.so.2(GLIBC_2.1) libgcc_s.so.1 libgcc_s.so.1(GCC_3.0) libgcc_s.so.1(GCC_3.3.1) libtinfo.so.5 rpmlib(BuiltinLuaScripts) <= 4.2.2-1 rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rtld(GNU_HASH) rpmlib(PayloadIsXz) <= 5.2-1 • Information darüber, ob andere Pakete ein installiertes Pakete benötigen, Option --whatrequires. Beispiel, Paket grep wird u.a. vom Paket man-db benötigt und andererseits benötigt Paket man-db u.a. das Paket grep: # rpm -q --whatrequires grep dracut-009-11.fc15.noarch nfs-utils-1.2.3-11.fc15.i686 irda-utils-0.9.18-11.fc15.i686 prelink-0.4.5-1.fc15.i686 zsh-4.3.11-2.fc15.i686 mysql-5.5.13-1.fc15.i686 bluefish-2.0.3-3.fc15.i686 logwatch-7.3.6-70.20110203svn25.fc15.noarch man-db-2.5.9-5.fc15.i686 rkhunter-1.3.8-6.fc15.noarch # rpm -q --requires man-db /bin/bash config(man-db) = 2.5.9-5.fc15 coreutils crontabs grep groff gzip less libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.1.1) Distribution Fedora. 31. August 2016 Dr. J. Kubiak - [email protected] Linux - Paketverwaltung. - 4 / 20 - libc.so.6(GLIBC_2.1.2) libc.so.6(GLIBC_2.1.3) libc.so.6(GLIBC_2.2) libc.so.6(GLIBC_2.2.3) libc.so.6(GLIBC_2.3) libc.so.6(GLIBC_2.3.4) libc.so.6(GLIBC_2.4) libc.so.6(GLIBC_2.8) libgdbm.so.3 libman-2.5.9.so libmandb-2.5.9.so rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rtld(GNU_HASH) rpmlib(PayloadIsXz) <= 5.2-1 • Information über Abhängigkeiten eines nicht installierten Paketes, dh. solange nicht die aufgelisteten Dateien installiert sind, kann Webmin nicht installiert werden (entsprechend auch --whatrequires) # rpm -qp --requires webmin-1.100-1.noarch.rpm Warnung: webmin-1.100-1.noarch.rpm: V3 DSA signature: NOKEY, ID 11f63c51 /bin/sh /usr/bin/perl /bin/sh /usr/bin/perl • Information über die Dateien eines installierten Paketes. Option -l (Listing) für alle, -c nur für die Konfigurationsdateien und -d nur für die Dokumentationsdateien. # rpm -ql bash [... lange Liste der Dateien des Paketes …] # rpm -qc bash /etc/skel/.bash_logout /etc/skel/.bash_profile /etc/skel/.bashrc # rpm -qd tree /usr/share/doc/tree/LICENSE /usr/share/doc/tree/README /usr/share/man/man1/tree.1.gz • Information über die Dateien eines nicht installierten Paketes. # rpm -qlp webmin-1.100-1.noarch.rpm [... lange Liste der Dateien des Paketes …] • Information über alle installierten Pakete, Option -a (all). # rpm -qa [... lange Liste der installierten Pakete ...] Mit der zusätzlichen Option -a werden alle installierten Pakete behandelt und sie kann mit weiteren Optionen kombiniert werden: rpm -qa Listet alle installierten Pakete rpm -qia Listet Informationen aller installierten Pakete. rpm -qla Listet alle installierten Dateien. • Informationen über das Installationsdatum aller installierten Pakete, Option --last. Ausgabe ist abwärts nach Datum installiert (wünschen Sie Sortierung aufwärts, benutzen Sie Pipe zu Kommando tac): # rpm -qa --last [... lange Liste der installierten Pakete, mit Installationsdatum ...] In Kombination mit Kommando grep sehr praktisch (Beispiel: welche Pakete wurden im Juni 2002 installiert bzw. durch neuere Versionen ersetzt, Ausgabe nach Datum aufsteigend sortiert): Distribution Fedora. 31. August 2016 Dr. J. Kubiak - [email protected] Linux - Paketverwaltung. # rpm -qa --last | grep 'Jun 2002' | tac gftp-2.0.12-1 rpm2html-1.7-3.7x rpmfind-1.7-4.7x ethereal-base-0.9.4-1 ethereal-gtk+-0.9.4-1 Son Mon Mon Mit Mit 09 24 24 26 26 Jun Jun Jun Jun Jun - 5 / 20 - 2002 2002 2002 2002 2002 17:33:49 18:35:11 18:35:11 22:00:50 22:00:59 CEST CEST CEST CEST CEST Sie wissen nicht, wie das Paket richtig geschrieben wird, das Sie suchen: # rpm -qa | grep -i Filesys filesystem-2.2.1-3 • Paket deinstallieren, Option -e (erase). Mit der zusätzlichen Option --test wird die Deinstallation nicht ausgeführt. Es kann mehr als ein installiertes Paket zur Deinstallation angegeben werden. # rpm -q tree tree-1.2-22 # rpm -e --test tree # rpm -q tree tree-1.2-22 # rpm -e tree # rpm -q tree Paket tree ist nicht installiert Mögliche Konflikte bei einer Deinstallation werden angezeigt, eine Deinstallation ist dann ohne weitere Optionen nicht möglich. # rpm -e --test filesystem Fehler: Failed dependencies: filesystem is needed by (installed) basesystem-8.0-2 filesystem >= 2.1.0 is needed by (installed) mkinitrd-3.4.42-1 filesystem >= 2.1.4-1 is needed by (installed) lockdev-1.0.0-23 filesystem >= 2.0.1 is needed by (installed) xinetd-2.3.11-1.9.0 # rpm -e filesystem Fehler: Failed dependencies: filesystem is needed by (installed) basesystem-8.0-2 filesystem >= 2.1.0 is needed by (installed) mkinitrd-3.4.42-1 filesystem >= 2.1.4-1 is needed by (installed) lockdev-1.0.0-23 filesystem >= 2.0.1 is needed by (installed) xinetd-2.3.11-1.9.0 • Installation eines Paketes (besser Update, s. dort), Option -i (Installation). Die Optionen -vh dienen der informativen Anzeige und der Anzeige des Fortschrittsbalkens. Es kann mehr als ein Paket zur Installation angegeben werden. Mit der zusätzlichen Option --test wird die Installation nicht ausgeführt, jedoch werden mögliche Konflikte bei einer Installation angezeigt. Pakete mit ungelösten Abhängigkeiten werden nicht installiert. # rpm -q tree Paket tree ist nicht installiert # rpm -ivh --test tree-1.2-22.i386.rpm Warnung: tree-1.2-22.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e Preparing... ########################################### [100%] # rpm -q tree Paket tree ist nicht installiert # rpm -ivh tree-1.2-22.i386.rpm Warnung: tree-1.2-22.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e Preparing... ########################################### [100%] 1:tree ########################################### [100%] # rpm -q tree tree-1.2-22 • Update eines Paketes, Option -U (Update). Die Optionen -vh dienen der informativen Anzeige und der Anzeige des Fortschrittsbalkens. Es kann mehr als ein Paket zum Update angegeben werden. Mit der zusätzlichen Option --test wird das Update nicht ausgeführt, jedoch werden mögliche Konflikte angezeigt. Falls altes Paket vorhan den, wird es zuerst deinstalliert und die neue Version installiert. Wenn das Paket noch nicht vorhanden, wird es installiert. Pakete mit ungelösten Abhängigkeiten werden nicht deinstalliert und/oder installiert. Es können ebenfalls die Installationspfade geändert werden oder die ungelösten Abhängigkeiten ignoriert werden, siehe Installation zuvor. # rpm -e tree # rpm -q tree Distribution Fedora. 31. August 2016 Dr. J. Kubiak - [email protected] Linux - Paketverwaltung. - 6 / 20 - Paket tree ist nicht installiert # rpm -Uvh --test tree-1.2-22.i386.rpm Warnung: tree-1.2-22.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e Preparing... ########################################### [100%] # rpm -q tree Paket tree ist nicht installiert # rpm -Uvh tree-1.2-22.i386.rpm Warnung: tree-1.2-22.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e Preparing... ########################################### [100%] 1:tree ########################################### [100%] # rpm -q tree tree-1.2-22 # rpm -Uvh tree-1.2-22.i386.rpm Warnung: tree-1.2-22.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e Preparing... ########################################### [100%] package tree-1.2-22 is already installed • Installation eines älteren Paketes für den Fall, daß ein neueres Paket schon installiert ist, ist ebenfalls möglich. Dazu wird die Option --oldpackage verwendet. Dies ist zum Beispiel anzuwenden, wenn Sie ein Update (altes Paket wird dann entfernt) auf ein neues Paket vorgenommen haben und feststellen, daß es fehlerhaft gegenüber der alten Version arbeitet. # rpm -q mc mc-4.6.0-15 # rpm --oldpackage -Uvh mc-4.6.0-12.i586.rpm Preparing... ########################################### [100%] 1:mc ########################################### [100%] # rpm -q mc mc-4.6.0-12 • Suche nach Paket, das eine bestimmte Datei bereit stellt, Option -f (File). Praktisch: mit Kommando whereis (wo ist) kann der absolute Pfad der Datei bestimmt werden. # whereis DIR_COLORS DIR_COLORS: /etc/DIR_COLORS /etc/DIR_COLORS.xterm # rpm -qf /etc/DIR_COLORS coreutils-4.5.3-19 • Überprüfung von Dateien der installierten Pakete, Option -V (Verify), Die Datei DIR_COLORS ist für individuelle Farbeinstellungen des ls Kommandos in der Konsole geändert worden: # rpm -V coreutils S.5....T c /etc/DIR_COLORS Bedeutung der Unterschiede: S Size, Dateigröße unterschiedlich. M Mode, Dateirechte unterschiedlich. 5 MD5 Summe unterschiedlich. D Device, Geräte major/minor Nummer unterschiedlich. L Link, Ziel des Links unterschiedlich. U Eigentümer unterschiedlich. G Gruppe unterschiedlich. T Time, Modifikationszeit unterschiedlich. Bedeutung des Datei Markers: c configuration, Konfigurationsdatei. d documentation, Dokumentationsdatei. g ghost file (i.e. the file contents are not included in the package payload). l license, Lizens Datei. r readme, Liesmich Datei. Siehe zu diesem Kapitel auch die Manpages: compress, gzip, gunzip, rpm, tar, cpio Distribution Fedora. 31. August 2016 Dr. J. Kubiak - [email protected] Linux - Paketverwaltung. - 7 / 20 - 1.2 Paketverwaltung mit DNF (mit YUM bis FC 21 und bei CentOS 7). 1.2.1 DNF Konfiguration. Zuerst muss DNF für den Einsatz konfiguriert werden. Dazu existiert die Datei /etc/dnf/dnf.conf (bei yum: /etc/yum.conf) zur globalen Konfiguration und im Verzeichnis /etc/yum.repos.d/ weitere Dateien mit der Dateiendung .repo zur Festlegung der Quellen mit den .rpm Paketdateien, den sogenannten Repositorien. Beispiel für Konfigurationsdatei /etc/dnf/dnf.conf: [main] keepcache=0 gpgcheck=1 installonly_limit=3 clean_requirements_on_remove=false Die Optionen haben folgende Bedeutung (weitere siehe Manpage von dnf.conf bzw. yum.conf): cachedir Verzeichnis zum Daten-Cache. Nur bei yum keepcache 1 (ja = Standard) oder 0 (nein). Festlegung, ob die heruntergeladenen Header und RPM Pakete nach erfolgreicher Installation/Update gespeichert werden. Falls ja, Speicherort ist das Verzeichnis /var/cache/dnf bzw. /var/cache/yum debuglevel Stufe für Debug Meldungen (0-10). Standard ist 2. clean_requirements_on_remove 1 (ja = Standard) oder 0 (nein). Bei Deinstallation werden nicht mehr benötigte Abhängigkeiten ebenfalls deinstalliert. Nur bei dnf groupremove_leaf_only Nur bei yum 1 (ja) oder 0 (nein = Standard). Bei Deinstallation einer Paketgruppe werden deren Pakete standardmäßig auch entfernt, wenn sie in Abhängigkeit von anderen Paketen außerhalb der Gruppe benötigt werden. Um dieses Standardverhalten zu ändern muss die Option auf 1 gesetzt werden (empfehlenswert!). distroverpkg Nur bei yum Zur Bestimmung der Distribution. logfile Nur bei yum Pfad zur Logbuchdatei von yum. exactarch Nur bei yum 1 (ja = Standard) oder 0 (nein) zur Festlegung, ob bei Updates die Architektur beibehalten soll (zum Beispiel i386 Pakete durch i686 ersetzen). obsoletes Nur bei yum 1 (ja) oder 0 (nein) zur Festlegung bei Updates, ob Pakete bei Änderung der Versionsnummer der Distribution berücksichtigt werden könnten. gpgcheck 1 (ja) oder 0 (nein = Standard) zur Festlegung, ob eine digitale Prüfung der Signatur der RPM Datei durchgeführt wird (s. auch Option gpgkey). tolerant Nur bei yum 1 (ja) oder 0 (nein = Standard) zur Festlegung der Toleranz gegenüber Fehlern in der Kommandozeile (bei Installation der Pakete x und y Fehler oder nicht, wenn ein Paket x oder y schon installiert ist). metadata_expire Zeit in Sekunden, in denen yum nicht den Inhalt der Repositorien neu abfragt. -1 für niemals. Standard: 48 Stunden bei DNF, 6 Stunden bei YUM. exclude Mit Leerzeichen getrennte Liste von Paketnamen, die von Update oder Installation ausgenommen werden. Platzhalter * und ? sind erlaubt. installonlypkgs Liste mit Paketnamen, die immer installiert werden, auch bei einem Update. Standard: kernel, kernel-smp, kernel-bigmem, kernel-enterprise, kernel-debug, kernel-unsupported skip_if_unavailable 1 (ja = Standard) oder 0 (nein). Legt fest, ob Vorgang weitergeht, wenn ein Repositorium nicht erreichbar ist. Distribution Fedora. 31. August 2016 Dr. J. Kubiak - [email protected] Linux - Paketverwaltung. - 8 / 20 - installonly_limit Anzahl der unter installonlypkgs aufgelisteten Pakete, die beim Update nicht ersetzt sondern installiert werden. Standard ist 3 (damit behält man immer die zwei letzten schon installierten Kernelversion beim Update), Wert 0 inaktiviert. Hinweis: Wenn ein Update des Kernels durchgeführt wird, werden ältere Versionen nicht deinstalliert, damit im Falle eines fehlerhaften neuen Kernels das System mit den älteren noch bootfähig ist. Deshalb finden Sie im Laufe der Zeit mehrere Kerneleinträge im Bootmenü. Standardmäßig ohne Auswahl wird der neueste gebootet. showdupesfromrepos Nur bei yum 1 (ja) oder 0 (nein = Standard) zur Festlegung, ob nur die neuesten Pakete glei chen Namens angezeigt werden oder alle. Nützlich wenn ein Downgrade durchgeführt werden muss. proxy URL des Proxy Servers inkl. Port. proxy_username Benutzername für Proxy. proxy_password Passwort für Proxy. Beispiel für eine .repo Dateien im Verzeichnis /etc/yum.repos.d/ bei der sich das Repositorium mit den RPM Dateien auf dem eigenen Rechner bzw. im Intranet befindet: [FC22_updates] name=Fedora Core 22 – Updates gpgcheck=0 baseurl=file:///mnt/hdb1/pub/linux/Fedora22Update enabled=1 [itw] name=Websrv02 Server gpgcheck=0 baseurl=ftp://172.17.0.230/pub/kubiak/linux/Fedora22 skip_if_unavailable=True [fedora] name=Fedora $releasever - $basearch failovermethod=priority metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch enabled=1 proxy=http://172.17.0.220:80 metadata_expire=7d gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch skip_if_unavailable=False ... Eine .repo Datei kann mehrere Quellen von Repositorien enthalten. Für jede Quelle ist zu Beginn in eckigen Klammern eine eindeutige Identifikation anzugeben - es dürfen keine Leerzeichen, Sonderzeichen oder Umlaute verwen det werden. Danach werden Optionen mit der folgenden Bedeutung angegeben (weitere siehe Manpage yum.conf): name Beschreibung des Repositoriums. Angabe obligatorisch. baseurl URL Pfad der Quelle. Möglich sind http://, ftp:// oder file:// Angaben. Da ein absoluter Pfad mit / beginnt, ergeben sich in obiger Beispieldatei drei Schrägstriche. Angabe obligatorisch. enabled 1 (ja = Standard) oder 0 (nein), ob diese Quelle aktiv oder inaktiv sein soll. gpgkey URL (http://, ftp:// oder file://) zur GPG Datei mit dem öffentlichen Schlüssel. Bei Fedora be finden sich die Datei im Verzeichnis /etc/pki/rpm-gpg/ • Die folgenden globalen Optionen können auch in den .repo Dateien verwendet werden: exclude, gpgcheck, metadata_expire, skip_if_unavailable, proxy, proxy_username, proxy_password Nach Editieren von .repo Dateien ist das Löschen sämtlicher Caches nötig (veraltet: yum clean all)! # dnf clean all Distribution Fedora. 31. August 2016 Dr. J. Kubiak - [email protected] Linux - Paketverwaltung. - 9 / 20 - Nach der Fedora Installation befinden sich die .repo Dateien von Fedora im Verzeichnis /etc/yum.repos.d/: # ls /etc/yum.repos.d/ fedora.repo fedora-updates.repo fedora-updates-testing.repo Folgende zusätzliche Repositorien sind nützlich. Unter den angegebenen URL's kann man sich zur lokalen Installation Release .rpm Dateien herunterladen, mit denen für dnf bzw. yum die .repo Dateien unter /etc/yum.repos.d/ in stalliert werden. Fedora CentOS (s.a. https://wiki.centos.org/AdditionalResources/Repositories) • RPM Fusion http://rpmfusion.org/ Die Repositorien Free und Nonfree enthalten zusätzliche Opensource und Nicht-Opensource, aber freie Software für Fedora (zB. Nvidia Treiber, MP3 Treiber der Fraunhofer-Gesellschaft, VLC Media Player, usw.). • EPEL http://fedoraproject.org/wiki/EPEL EPEL steht für Extra Packages for Enterprise Linux. • NUX Desktop http://li.nux.ro/repos.html Desktop und Multimedia Pakete sowie Grafikprogramme. • ELRepo http://elrepo.org/ Support für Hardware (Kernel, Treiber, ...). • Adobe Flash Player: http://www.adobe.com/de/products/flashplayer.html Eine Übersicht über alle RPM Pakete in den Fedora / RHEL / CentOS / EPEL Repositorien findet sich unter: • http://rpms.famillecollet.com/rpmphp/all.php RPM Suchmaschinen für einzelne Dateien: • http://rpm.pbone.net/ • http://www.rpmseek.com/ • http://rpmfind.net/ 1.2.2 Benutzung von dnf und yum. Die Benutzung des Kommandos dnf bzw. yum erfolgt nach folgender Syntax (s.a. Manpage von yum bzw. dnf zu weiteren Kommandos und Optionen): dnf [Optionen] [Kommando] [ Paketname ... | RPM Datei ... | i18N Sprachsupport ] bzw. veraltet seit FC 22: yum [Optionen] [Kommando] [ Paketname ... | RPM Datei ... | i18N Sprachsupport ] Die wichtigsten Optionen sind: --installroot=Pfad Alternatives Installationsverzeichnis (wie rpm ... --relocate) --nogpgcheck Setzt gpgcheck Option in .repo Datei außer Kraft. -x 'Liste' Ausschlussliste von Paketen. --exclude='Liste' wie -x 1.2.3 Löschen der Caches (Zwischenspeicher). • dnf clean expire-cache • yum clean expire-cache Entfernt die Zeitstempel zur Gültigkeit der heruntergeladenen Metadaten und Dateilisten für die Repositorien. Da mit werden sie beim nächsten Mal wieder überprüft (s.a. Option metadata_expire) und erneut herunter geladen, falls sie neuer sind. • dnf clean metadata • yum clean metadata Es werden die Metadaten und Dateilisten entfernt, sie müssen beim nächsten Mal erneut herunter geladen werden. • dnf clean packages • yum clean packages Entfernt alle heruntergeladenen und zwischengespeicherten Paketdateien (s.a. Option keepcache) • dnf clean all Distribution Fedora. 31. August 2016 Dr. J. Kubiak - [email protected] Linux - Paketverwaltung. - 10 / 20 - • yum clean all Entfernt bzw. leert alle Zwischenspeicher. 1.2.4 Anzeige von Paketen. Als Parameter sind die folgenden Kommandos bei dnf bzw. yum zu verwenden, um Paketnamen zu finden und anzuzeigen (für installierte Pakete bei Debian: dpkg -l / bei Suse: zypper search -is): • dnf list [installed | available | upgrades] [Paketname …] • yum list [installed | available | updates] [Paketname …] Auflistung von installierten, noch nicht installierten und zu erneuernden Paketen. ◦ Ohne Zusatz und ohne Paketname(n) werden alle Pakete gelistet. ◦ Mit Zusatz installed, available oder upgrades (bei yum: updates. Es gibt bei yum zwar auch upgrades, dies hätte jedoch eine andere Bedeutung, s. Manpage von yum): Ohne Paketname(n) werden nur alle installierten, nur alle noch nicht installierten oder nur alle zu erneuernden Pakete gelistet. Dagegen mit Paketname(n) werden nur diese genannten installierten, noch nicht installierten oder zu erneuernden Pakete mit diesem Namen gelistet. Bei Paketname(n) können die Platzhalter * und ? verwendet werden. Beispiele: # dnf list 'u*x' Last metadata expiration check performed 1:42:50 ago on Fri Sep 11 12:36:46 2015. Installierte Pakete util-linux.x86_64 2.26.2-3.fc22 @System Verfügbare Pakete undbx.x86_64 0.21-4.fc22 updates unzix.x86_64 0.3.0-7.fc22 fedora upx.x86_64 3.91-4.fc22 fedora util-linux.i686 2.26.2-3.fc22 updates uwsgi-stats-pusher-zabbix.x86_64 2.0.11.1-1.fc22 updates # dnf list installed 'u*x' Last metadata expiration check performed 1:45:15 ago on Fri Sep 11 12:36:46 2015. Installierte Pakete util-linux.x86_64 2.26.2-3.fc22 @System # dnf list available 'u*x' Last metadata expiration check performed 1:46:35 ago on Fri Sep 11 12:36:46 2015. Verfügbare Pakete undbx.x86_64 0.21-4.fc22 updates unzix.x86_64 0.3.0-7.fc22 fedora upx.x86_64 3.91-4.fc22 fedora util-linux.i686 2.26.2-3.fc22 updates uwsgi-stats-pusher-zabbix.x86_64 2.0.11.1-1.fc22 updates # dnf list -x '*stats*','u??' 'u*x' Last metadata expiration check performed 2:42:07 ago on Fri Sep 11 12:36:46 2015. Installierte Pakete util-linux.x86_64 2.26.2-3.fc22 @System Verfügbare Pakete undbx.x86_64 0.21-4.fc22 updates unzix.x86_64 0.3.0-7.fc22 fedora util-linux.i686 2.26.2-3.fc22 updates Sind Paketnamen vollkommen unbekannt, lässt sich in den Kurzbeschreibungen nach Paketnamen suchen (Debian: apt search / Suse: zypper search): • dnf search [all] Stichwort • yum search [all] Stichwort Sucht nach einem Stichwort in den Kurzbeschreibungen der Pakete, mit all erstreckt sich die Suche auch auf die ausführlichen Angaben zu einem Paket. Beispiel: # dnf search pixel Last metadata expiration check performed 3:08:44 ago on Fri Sep 11 12:36:46 2015. ================================== N/S Treffer: pixel =================================== Distribution Fedora. 31. August 2016 Dr. J. Kubiak - [email protected] Linux - Paketverwaltung. - 11 / 20 - ghc-JuicyPixels-devel.x86_64 : Haskell JuicyPixels library development files ghc-JuicyPixels.x86_64 : Picture loading and serialization pixman.x86_64 : Pixel manipulation library pixman.i686 : Pixel manipulation library Hermes.i686 : Pixel format conversion library Hermes.x86_64 : Pixel format conversion library perl-Image-Dot.noarch : Create 1x1 pixel image files in pure perl pixman-devel.i686 : Pixel manipulation library development package pixman-devel.x86_64 : Pixel manipulation library development package babl.x86_64 : A dynamic, any to any, pixel format conversion library babl.i686 : A dynamic, any to any, pixel format conversion library mtpaint.x86_64 : Painting program for creating icons and pixel-based artwork healpix.x86_64 : Hierarchical Equal Area isoLatitude Pixelization of a sphere 1.2.5 Paketinformationen anzeigen. Debian: apt show / Suse: zypper info • dnf info [Paketname …] • yum info [Paketname …] Ohne Paketname(n) Anzeige der Informationen aller Pakete. Bei Paketname(n) können die Platzhalter * und ? verwendet werden. # dnf info mtpaint Last metadata expiration check performed 3:19:43 ago on Fri Sep 11 12:36:46 2015. Verfügbare Pakete Name : mtpaint Arch : x86_64 Epoch : 0 Version : 3.40 Release : 16.fc22 Größe : 581 k Paketquelle : fedora Zusammenfas : Painting program for creating icons and pixel-based artwork URL : http://mtpaint.sourceforge.net/ Lizenz : GPLv3+ Beschreibun : mtPaint is a simple painting program designed for creating icons and : pixel-based artwork. It can edit indexed palette or 24 bit RGB images : and offers basic painting and palette manipulation tools. Its main : file format is PNG, although it can also handle JPEG, GIF, TIFF, BMP, : XPM, and XBM files. 1.2.6 Installation von Paketen. Debian: apt install / Suse: zypper install bei Paketen. Debian: dpkg -i / Suse: zypper install bei Paketdateien. • dnf install [Paketname …] | [Dateiname.rpm …] • yum install [Paketname …] | [Dateiname.rpm …] Installation von Paketen bzw. lokalen Paketdateien. • dnf reinstall [Paketname …] | [Dateiname.rpm …] • yum reinstall [Paketname …] | [Dateiname.rpm …] Deinstallation und anschließende erneute Installation von Paketen bzw. lokalen Paketdateien. Ohne Paketname(n) oder Name(n) lokaler Paketdatei(en) Installation aller(!) verfügbaren Pakete. Bei Paketname(n) können die Platzhalter * und ? verwendet werden. # dnf install mtpaint Last metadata expiration check performed 2:42:21 ago on Tue Sep 15 14:23:09 2015. Abhängigkeiten sind aufgelöst. ========================================================================================= Paket Arch Version Paketquelle Größe ========================================================================================= Installieren: ImageMagick x86_64 6.8.8.10-9.fc22 fedora 161 k ImageMagick-libs x86_64 6.8.8.10-9.fc22 fedora 2.1 M mtpaint x86_64 3.40-16.fc22 fedora 581 k yad x86_64 0.28.1-1.fc22 fedora 195 k Distribution Fedora. 31. August 2016 Dr. J. Kubiak - [email protected] Linux - Paketverwaltung. - 12 / 20 - Transaktionsübersicht ========================================================================================= Installieren 4 Packages Gesamte Downloadgröße: 3.0 M Installationsgröße: 10 M Ist dies in Ordnung? [j/N] :j Pakete werden heruntergeladen: (1/4): ImageMagick-6.8.8.10-9.fc22.x86_64.rpm 136 kB/s | 161 kB 00:01 (2/4): yad-0.28.1-1.fc22.x86_64.rpm 129 kB/s | 195 kB 00:01 (3/4): mtpaint-3.40-16.fc22.x86_64.rpm 253 kB/s | 581 kB 00:02 (4/4): ImageMagick-libs-6.8.8.10-9.fc22.x86_64.rpm 438 kB/s | 2.1 MB 00:04 -----------------------------------------------------------------------------------------Gesamt 366 kB/s | 3.0 MB 00:08 Transaktionsüberprüfung wird ausgeführt Transaktionsprüfung war erfolgreich. Transaktion wird getestet Transaktionstest war erfolgreich. Transaktion wird ausgeführt Installieren : ImageMagick-libs-6.8.8.10-9.fc22.x86_64 1/4 Installieren : ImageMagick-6.8.8.10-9.fc22.x86_64 2/4 Installieren : yad-0.28.1-1.fc22.x86_64 3/4 Installieren : mtpaint-3.40-16.fc22.x86_64 4/4 Überprüfung läuft: mtpaint-3.40-16.fc22.x86_64 1/4 Überprüfung läuft: yad-0.28.1-1.fc22.x86_64 2/4 Überprüfung läuft: ImageMagick-6.8.8.10-9.fc22.x86_64 3/4 Überprüfung läuft: ImageMagick-libs-6.8.8.10-9.fc22.x86_64 4/4 Installiert: ImageMagick.x86_64 6.8.8.10-9.fc22 mtpaint.x86_64 3.40-16.fc22 ImageMagick-libs.x86_64 6.8.8.10-9.fc22 yad.x86_64 0.28.1-1.fc22 Komplett! Lokale RPM Dateien, die keinen Repositorien angehören, werden unter Angabe des Namens der RPM Datei(en) in stalliert. Beispiel: Installation des zuvor von Oracle herunter geladenen Java JDK (wird zum Entwickeln von Java Programmen mit der Netbeans IDE benötigt – es ist nicht nötig das Java JDK aus anderen Gründen zu installieren! Um Java im Webbrowser verwenden zu können, installiere man das Paket icedtea-web, um Java Programme ausführen zu können, installiere man als Runtime Environment das Paket java-?.?.?-openjdk). # ls jdk* jdk-8u60-linux-x64.rpm # dnf install jdk-8u60-linux-x64.rpm Last metadata expiration check performed 2:11:52 ago on Fri Sep 18 12:05:02 2015. Abhängigkeiten sind aufgelöst. ================================================================================== Paket Arch Version Paketquelle Größe ================================================================================== Installieren: jdk1.8.0_60 x86_64 2000:1.8.0_60-fcs @commandline 153 M Transaktionsübersicht ================================================================================== Installieren 1 Package Gesamtgröße: 153 M Installationsgröße: 255 M Ist dies in Ordnung? [j/N] :j Pakete werden heruntergeladen: Transaktionsüberprüfung wird ausgeführt Transaktionsprüfung war erfolgreich. Transaktion wird getestet Transaktionstest war erfolgreich. Transaktion wird ausgeführt Installieren : jdk1.8.0_60-2000:1.8.0_60-fcs.x86_64 Unpacking JAR files... Distribution Fedora. 31. August 2016 1/1 Dr. J. Kubiak - [email protected] Linux - Paketverwaltung. tools.jar... plugin.jar... javaws.jar... deploy.jar... rt.jar... jsse.jar... charsets.jar... localedata.jar... jfxrt.jar... Überprüfung läuft: jdk1.8.0_60-2000:1.8.0_60-fcs.x86_64 - 13 / 20 - 1/1 Installiert: jdk1.8.0_60.x86_64 2000:1.8.0_60-fcs Komplett! 1.2.7 Entfernen von Paketen. Debian: apt purge / Suse: zypper remove • dnf erase | remove [Paketname …] • yum erase | remove [Paketname …] Ohne Paketname(n) Deinstallation aller(!) verfügbaren Pakete. Alle Abhängigkeiten werden bei dnf nur entfernt, wenn in der Konfiguration clean_requirements_on_remove auf true gesetzt ist. Bei yum werden die Abhängigkeiten generell nicht deinstalliert (clean_requirements_on_remove ist in Konfiguration auch nicht vorgesehen). Bei Paketname(n) können die Platzhalter * und ? verwendet werden. # dnf erase mtpaint Abhängigkeiten sind aufgelöst. ======================================================================================= Paket Arch Version Paketquelle Größe ======================================================================================= Entfernen: ImageMagick x86_64 6.8.8.10-9.fc22 @System 432 k ImageMagick-libs x86_64 6.8.8.10-9.fc22 @System 7.5 M mtpaint x86_64 3.40-16.fc22 @System 1.7 M yad x86_64 0.28.1-1.fc22 @System 548 k Transaktionsübersicht ======================================================================================= Entfernen 4 Packages Installationsgröße: 10 M Ist dies in Ordnung? [j/N] :j Transaktionsüberprüfung wird ausgeführt Transaktionsprüfung war erfolgreich. Transaktion wird getestet Transaktionstest war erfolgreich. Transaktion wird ausgeführt Löschen : mtpaint-3.40-16.fc22.x86_64 Löschen : ImageMagick-6.8.8.10-9.fc22.x86_64 Löschen : ImageMagick-libs-6.8.8.10-9.fc22.x86_64 Löschen : yad-0.28.1-1.fc22.x86_64 Überprüfung läuft: yad-0.28.1-1.fc22.x86_64 Überprüfung läuft: mtpaint-3.40-16.fc22.x86_64 Überprüfung läuft: ImageMagick-6.8.8.10-9.fc22.x86_64 Überprüfung läuft: ImageMagick-libs-6.8.8.10-9.fc22.x86_64 Entfernt: ImageMagick.x86_64 6.8.8.10-9.fc22 mtpaint.x86_64 3.40-16.fc22 1/4 2/4 3/4 4/4 1/4 2/4 3/4 4/4 ImageMagick-libs.x86_64 6.8.8.10-9.fc22 yad.x86_64 0.28.1-1.fc22 Komplett! Bei yum empfiehlt sich: Pakete einzeln installieren, nicht diverse Software auf einmal – und sich die Abhängigkei ten zu merken. So kann dann später gezielt die Software mit ihren Abhängigkeiten deinstalliert werden. # yum install mtpaint Distribution Fedora. 31. August 2016 Dr. J. Kubiak - [email protected] Linux - Paketverwaltung. - 14 / 20 - Geladene Plugins: langpacks Abhängigkeiten werden aufgelöst --> Transaktionsprüfung wird ausgeführt ---> Paket mtpaint.x86_64 0:3.40-16.fc21 markiert, um installiert zu werden --> Abhängigkeit /usr/bin/yad wird für Paket mtpaint-3.40-16.fc21.x86_64 verarbeitet --> Transaktionsprüfung wird ausgeführt ---> Paket yad.x86_64 0:0.28.1-1.fc21 markiert, um installiert zu werden --> Abhängigkeitsauflösung beendet Abhängigkeiten aufgelöst =========================================================================== Package Arch Version Paketquelle Größe =========================================================================== Installieren: mtpaint x86_64 3.40-16.fc21 fedora 581 k Als Abhängigkeiten installiert: yad x86_64 0.28.1-1.fc21 updates 195 k Transaktionsübersicht =========================================================================== Installieren 1 Paket (+1 Abhängiges Paket) Gesamte Downloadgröße: 776 k Installationsgröße: 2.2 M Is this ok [y/d/N]: j Downloading packages: (1/2): yad-0.28.1-1.fc21.x86_64.rpm | 195 kB 00:00:02 (2/2): mtpaint-3.40-16.fc21.x86_64.rpm | 581 kB 00:00:03 ----------------------------------------------------------------------------Gesamt 228 kB/s | 776 kB 00:00:03 Running transaction check Running transaction test Transaction test succeeded Running transaction (shutdown inhibited) Installieren : yad-0.28.1-1.fc21.x86_64 1/2 Installieren : mtpaint-3.40-16.fc21.x86_64 2/2 Überprüfung läuft: mtpaint-3.40-16.fc21.x86_64 1/2 Überprüfung läuft: yad-0.28.1-1.fc21.x86_64 2/2 Installiert: mtpaint.x86_64 0:3.40-16.fc21 Abhängigkeit installiert: yad.x86_64 0:0.28.1-1.fc21 Komplett! # yum erase mtpaint Geladene Plugins: langpacks Abhängigkeiten werden aufgelöst --> Transaktionsprüfung wird ausgeführt ---> Paket mtpaint.x86_64 0:3.40-16.fc21 markiert, um gelöscht zu werden --> Abhängigkeitsauflösung beendet Abhängigkeiten aufgelöst ================================================================================= Package Arch Version Paketquelle Größe ================================================================================= Entfernen: mtpaint x86_64 3.40-16.fc21 @fedora 1.7 M Transaktionsübersicht ================================================================================= Entfernen 1 Paket Installationsgröße: 1.7 M Distribution Fedora. 31. August 2016 Dr. J. Kubiak - [email protected] Linux - Paketverwaltung. Ist dies in Ordnung? [j/N] :j Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction (shutdown inhibited) Löschen : mtpaint-3.40-16.fc21.x86_64 Überprüfung läuft: mtpaint-3.40-16.fc21.x86_64 - 15 / 20 - 1/1 1/1 Entfernt: mtpaint.x86_64 0:3.40-16.fc21 Komplett! # yum erase yad Geladene Plugins: langpacks Abhängigkeiten werden aufgelöst --> Transaktionsprüfung wird ausgeführt ---> Paket yad.x86_64 0:0.28.1-1.fc21 markiert, um gelöscht zu werden --> Abhängigkeitsauflösung beendet Abhängigkeiten aufgelöst ================================================================================ Package Arch Version Paketquelle Größe ================================================================================ Entfernen: yad x86_64 0.28.1-1.fc21 @updates 552 k Transaktionsübersicht ================================================================================ Entfernen 1 Paket Installationsgröße: 552 k Ist dies in Ordnung? [j/N] :j Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction (shutdown inhibited) Löschen : yad-0.28.1-1.fc21.x86_64 Überprüfung läuft: yad-0.28.1-1.fc21.x86_64 1/1 1/1 Entfernt: yad.x86_64 0:0.28.1-1.fc21 Komplett! Man achte darauf, dass nicht bei späterer Deinstallation andere Softwarepakete mit deinstalliert werden, weil diese später installierten die gleichen Abhängigkeiten aufweisen könnten. 1.2.8 Updates von Paketen. Debian: apt upgrade / Suse: zypper update • dnf upgrade [Paketname …] | [Dateiname.rpm …] • yum update [Paketname …] | [Dateiname.rpm …] Ohne Angabe eines Paketes oder einer Datei werden alle installierten Paketen, falls dafür Updates vorliegen, durch neuere Pakete ersetzt. Bei Paketname(n) können die Platzhalter * und ? verwendet werden. # dnf upgrade Adobe Systems Incorporated 6.7 kB/s RPM Fusion for Fedora 22 - Nonfree - Updates 94 kB/s RPM Fusion for Fedora 22 - Free - Updates 116 kB/s Fedora 22 - x86_64 - Updates 492 kB/s Last metadata expiration check performed 0:00:13 ago on Tue Sep Abhängigkeiten sind aufgelöst. Distribution Fedora. 31. August 2016 | 1.8 kB 00:00 | 28 kB 00:00 | 73 kB 00:00 | 14 MB 00:29 22 15:18:52 2015. Dr. J. Kubiak - [email protected] Linux - Paketverwaltung. - 16 / 20 - ======================================================================================== Paket Arch Version Paketquelle Größe ======================================================================================== Aktualisieren: flash-plugin x86_64 11.2.202.521-release adobe-linux-x86_64 6.9 M icedtea-web x86_64 1.6.1-1.fc22 updates 1.5 M Transaktionsübersicht ======================================================================================== Aktualisieren 2 Packages Gesamte Downloadgröße: 8.5 M Ist dies in Ordnung? [j/N] :j Pakete werden heruntergeladen: (1/2): icedtea-web-1.6-3.fc22_1.6.1-1.fc22.x86_64.drpm 285 kB/s | 530 kB 00:01 (2/2): flash-plugin-11.2.202.521-release.x86_64.rpm 476 kB/s | 6.9 MB 00:14 [DRPM] icedtea-web-1.6-3.fc22_1.6.1-1.fc22.x86_64.drpm: done ----------------------------------------------------------------------------------------Gesamt 466 kB/s | 7.4 MB 00:16 Delta RPMs reduziert 8.5 MB Aktualisierungen auf 7.4 MB (12.1% gespart) Transaktionsüberprüfung wird ausgeführt Transaktionsprüfung war erfolgreich. Transaktion wird getestet Transaktionstest war erfolgreich. Transaktion wird ausgeführt Aktualisieren : icedtea-web-1.6.1-1.fc22.x86_64 1/4 Aktualisieren : flash-plugin-11.2.202.521-release.x86_64 2/4 Aufräumen : icedtea-web-1.6-3.fc22.x86_64 3/4 Aufräumen : flash-plugin-11.2.202.508-release.x86_64 4/4 Überprüfung läuft: flash-plugin-11.2.202.521-release.x86_64 1/4 Überprüfung läuft: icedtea-web-1.6.1-1.fc22.x86_64 2/4 Überprüfung läuft: flash-plugin-11.2.202.508-release.x86_64 3/4 Überprüfung läuft: icedtea-web-1.6-3.fc22.x86_64 4/4 Aktualisiert: flash-plugin.x86_64 11.2.202.521-release icedtea-web.x86_64 1.6.1-1.fc22 Komplett! 1.2.9 Paketgruppen verwalten. • dnf group list [hidden] • yum group list [hidden] Anzeige von Paketgruppen, bzw, mit Untergruppen (hidden). Die Gruppe „Fedora Workstation“ steht für den GNOME Desktop! # dnf grouplist Last metadata expiration check performed 1:44:31 ago on Tue Sep 22 15:18:52 2015. Verfügbare Arbeitsumgebungs-Gruppen: Minimalinstallation Fedora Server Fedora Workstation Fedora Cloud Server LXDE-Benutzeroberfläche LXQt Desktop Cinnamon-Benutzeroberfläche MATE-Benutzeroberfläche Sugar-Arbeitsumgebung Entwicklung und kreativer Arbeitsplatz Web Server Infrastruktur-Server Grundsystem Installierte Arbeitsumgebungs-Gruppen: KDE Plasma-Arbeitsumgebung Xfce Desktop Installierte Gruppen: Verwaltungswerkzeuge Distribution Fedora. 31. August 2016 Dr. J. Kubiak - [email protected] Linux - Paketverwaltung. - 17 / 20 - LibreOffice Verfügbare Gruppen: Container Management Domain Membership Editoren FreeIPA Server Headless Management Netzwerk-Server Systemwerkzeuge Textbasierte Internetprogramme 3D-Druck Audio Production Schreiben und Publizieren Bücher und Anleitungen C-Entwicklungswerkzeuge und -Bibliotheken Cloud-Infrastruktur Cloud Management Tools D Development Tools and Libraries Design-Suite Entwicklungswerkzeuge Fedora Eclipse Bildungssoftware Electronic Lab Ingenieurwesen und Wissenschaft Spiele und Zeitvertreib MATE Applications MATE Compiz Medizinische Anwendungen Milkymist Büro/ Produktivität Robotik RPM-Entwicklungswerkzeuge Sicherheitslabor Audio und Video Fenstermanager • dnf group info Gruppenname ... • yum group info Gruppenname ... Informationen über die Paketgruppe(n) anzeigen, inkl. Auflistung der einzelnen Pakete der Gruppe. # dnf group info Fenstermanager Last metadata expiration check performed 2:02:21 ago on Tue Sep 22 15:18:52 2015. Gruppe: Fenstermanager Beschreibung: Einfache Fenstermanager, die nicht Teil einer größeren Desktop-Umgebung sind. Optionale Pakete: WindowMaker bbkeys blackbox bluetile dwm dwm-user fluxbox fvwm hackedbox i3 i3-doc i3lock i3status icewm matchbox-window-manager obconf obmenu openbox ratpoison wmx xcompmgr xmonad Distribution Fedora. 31. August 2016 Dr. J. Kubiak - [email protected] Linux - Paketverwaltung. - 18 / 20 - xmonad-mate • dnf group install Gruppenname • yum group install Gruppenname Installiert eine Gruppe mit allen zugehörigen Paketen. • dnf group remove Gruppenname • yum group remove Gruppenname Entfernt eine Gruppe mit allen zugehörigen Paketen. ◦ Bei dnf: Es werden keine Pakete entfernt, die in Abhängigkeit von anderen Paketen außerhalb der Gruppe benötigt werden. ◦ Bei yum: Es werden die Pakete der Gruppe deinstalliert – auch wenn solche in Abhängigkeit von anderen Paketen außerhalb der Gruppe benötigt werden (letztere werden ebenfalls deinstalliert). Um dieses Standardverhalten zu ändern, ist in der globalen Konfiguration /etc/yum.conf die Option groupremove_leaf_only auf 1 zu setzen – dann entspricht es dem Standardverhalten von dnf. 1.2.10 Sprachen verwalten. Um Sprachgruppen zu verwalten benutzt man als Parameter die folgenden DNF-Kommandos. Als Code für eine Sprache kann diese im Klartext oder als Kürzel für Land und Sprache, getrennt durch den Unterstrich, angegebenen werden, wie es das DNF Kommando langavailable anzeigt. • dnf langavailable • yum langavailable Gibt alle möglichen Sprachen aus. Beispiel, alle englischen Sprachen anzeigen (ohne Ausgabeweiterleitung an grep sämtliche Sprachen), mit Länderbezeichnung und Kürzel: # dnf langavailable | grep -i english English [en] English (Australia) [en_AU] English (Canada) [en_CA] English (United Kingdom) [en_GB] • dnf langlist • yum langlist Zeigt die installierten Sprachen an. # dnf langlist Installed languages: German • dnf langinstall Land | Kürzel • yum langinstall Land | Kürzel Installiert Pakete für eine Sprache (Autokorrektur, Manpages, Wörterbücher usw. für das System, Desktops, LibreOffice, ...). Beispiel, Sprache Englisch – England installieren: # dnf langinstall en_GB Last metadata expiration check performed 0:00:07 ago on Thu Sep 3 14:28:59 2015. Install - gimp-help-en_GB-2.8.2-1.fc22.noarch Install - mythes-en-3.0-14.fc21.noarch Install - libreoffice-langpack-en-1:4.4.5.2-1.fc22.x86_64 Install - kde-l10n-en_GB-14.12.3-7.fc22.noarch Install - hunspell-en-0.20140811.1-1.fc22.noarch Install - hunspell-en-GB-0.20140811.1-1.fc22.noarch ========================================================================================== Paket Arch Version Paketquelle Größe ========================================================================================== Installieren: gimp-help-en_GB noarch 2.8.2-1.fc22 fedora 27 M hunspell-en noarch 0.20140811.1-1.fc22 fedora 199 k hunspell-en-GB noarch 0.20140811.1-1.fc22 fedora 244 k kde-l10n-en_GB noarch 14.12.3-7.fc22 updates 2.7 M libreoffice-langpack-en x86_64 1:4.4.5.2-1.fc22 updates 66 k mythes-en noarch 3.0-14.fc21 fedora 3.9 M ... usw. ... Distribution Fedora. 31. August 2016 Dr. J. Kubiak - [email protected] Linux - Paketverwaltung. - 19 / 20 - Language packs installed for: en_GB # dnf langlist Installed languages: German English (United Kingdom) • dnf langremove Land | Kürzel • yum langremove Land | Kürzel Entfernt angegebenes Sprachpaket. 1.2.11 Verlauf der Paketverwaltung anzeigen. • dnf history list [Paketname | ID] Ohne Paket- oder ID-Nr. Angabe wird der gesamte Verlauf der Paketverwaltungsaktionen angezeigt. • yum history list [ all | Paketname | ID ] Ohne Paket- oder ID-Nr. Angabe werden die letzten 10 Paketverwaltungsaktionen angezeigt, mit all alle. # dnf history list mtpaint Last metadata expiration check performed 1:18:04 ago on Wed Sep 23 11:20:38 2015. ID | Befehlszeile | Datum | Aktion | Veränd ------------------------------------------------------------------------------43 | erase mtpaint | 2015-09-15 17:44 | Erase | 4 42 | install mtpaint | 2015-09-15 17:05 | Install | 4 • dnf history info [Paketname | ID] • yum history info [Paketname | ID] Ohne Paket- oder ID-Nr. Angabe wird die genaue Information der letzten Verwaltungsoperation angezeigt. # dnf history info mtpaint Last metadata expiration check performed 1:22:40 ago on Wed Sep 23 11:20:38 2015. Transaktions-ID : 43 Anfangszeit : Tue Sep 15 17:44:06 2015 Anfang rpmdb : 1991:ee46c11b48b1fb450c66e52272a42a0ae2f31aaf Endzeit : 17:44:07 2015 (1 Sekunden) Ende rpmdb : 1987:5dd441266e96674fe6af47d434ddafd7efac93b1 Benutzer : kubi <kubi> Rückgabe-Code : Erfolg Befehlszeile : erase mtpaint Transaktion ausgeführt mit: Installiert dnf-1.1.1-2.fc22.noarch @updates Installiert rpm-4.12.0.1-12.fc22.x86_64 @FC22up Veränderte Pakete: Löschen ImageMagick-6.8.8.10-9.fc22.x86_64 @fedora Löschen ImageMagick-libs-6.8.8.10-9.fc22.x86_64 @fedora Löschen mtpaint-3.40-16.fc22.x86_64 @fedora Löschen yad-0.28.1-1.fc22.x86_64 @fedora ------------------------------------------------------------------------------Transaktions-ID : 42 Anfangszeit : Tue Sep 15 17:05:56 2015 Anfang rpmdb : 1987:5dd441266e96674fe6af47d434ddafd7efac93b1 Endzeit : 17:06:00 2015 (4 Sekunden) Ende rpmdb : 1991:ee46c11b48b1fb450c66e52272a42a0ae2f31aaf Benutzer : kubi <kubi> Rückgabe-Code : Erfolg Befehlszeile : install mtpaint Transaktion ausgeführt mit: Installiert dnf-1.1.1-2.fc22.noarch @updates Installiert rpm-4.12.0.1-12.fc22.x86_64 @FC22up Veränderte Pakete: Installieren ImageMagick-6.8.8.10-9.fc22.x86_64 @fedora Installieren ImageMagick-libs-6.8.8.10-9.fc22.x86_64 @fedora Installieren mtpaint-3.40-16.fc22.x86_64 @fedora Installieren yad-0.28.1-1.fc22.x86_64 @fedora Distribution Fedora. 31. August 2016 Dr. J. Kubiak - [email protected] Linux - Paketverwaltung. - 20 / 20 - 1.2.12 Grafisches Frontend Yum Extender. Yum Extender für DNF: Paket yumex-dnf. Yum Extender für YUM: Paket yumex. 1.2.13 Anlegen eigener Repositorien. Um ein eigenes Repositorium mit .rpm Dateien aufzubauen, ist ein Verzeichnis nötig, in dem sich die RPM Dateien befinden (oder diese auch in weiteren Unterordnern) – weiteres sollte sich nicht darin befinden. In diesem ist dann mit dem Kommando createrepo (32-Bit Fedora Version) oder createrepo_c (64-Bit Fedora Version) die RPM Metadata Datenbasis anzulegen. Dazu wechsle man in das Verzeichnis mit den RPM Dateien (oder in das Verzeichnis, in dem sich die Unterordner mit den RPM Dateien befinden) und führe das createrepo bzw. createrepo_c Kommando aus (evtl. muss zuerst das RPM Paket createrepo bzw. createrepo_c installiert werden). Es entsteht dadurch ein Verzeichnis repodata, mit der RPM Metadata Datenbasis. createrepo | createrepo_c [--update] . createrepo ist die 32-bit Version, createrepo ist die 64-bit Version. Ohne --update wird die RPM Metadata Datenbasis in ./repodata angelegt. Mit --update wird die vorhandene RPM Metadata Datenbasis in ./repodata aktualisiert. Distribution Fedora. 31. August 2016 Dr. J. Kubiak - [email protected]