(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]