Paketverwaltung


Packagemanagement Programme sind zuständig für die Aktualisierung, Installation und Deinstallation von Paketen und Programmen.

Ein Paket beinhaltet u.a. Programmdateien, Manpages, Konfigurationsdateien, aber auch Metadaten über Abhängigkeiten zu anderen Paketen sowie Paketname und Version. Die Pakete werden in den Repoistories zu Verzeichnisse zusammengefasst auf die dass Paketverwaltungstool zugreift.


Linux Distributoren haben die Kernpakete und ihre Softwarezusammenstellung in verschiedene Repoistories (Quellen) zusammengefasst.


Bei BSD/Unix Systemen kann bei der Installation von Software die Ports Sammlung oder Pakete (pkg) verwendet werden.




Debian Systeme nutzen als Paket Management System „apt“ (Advanced Pagaging Tool) und „dpkg“ (Debianpackage). Bei Debian werden die Kernpaket Quellen in folgende Zweige unterteilt.


  • Stable ⇒ Kern und Softwarepakete aus den Quellen sind von den Paketbetreuern als zuverlässig und sicher deklariert worden.
  • Backports ⇒ Neuere Softwarepakete, die aus Unstable portiert wurden.
  • Unstable ⇒ Kern und Softwarepakete sind aktueller und enthalten ggf. mehr Bugs.
  • Testing ⇒ Neue Kern und Softwarepakete, die noch nicht ausreichend getestet wurden.




Bei Debian wird ausschließlich freie Software unter GPL Lizenz in den Paketquellen aufgenommen. Für unfreie Softwarepakete kann die Debian Quelle …


  • Nonfree ⇒ Beinhaltet unfreie Softwarepakete, die von Debian nicht unterstützt werden.



aktiviert werden.


Debian pflegt eine Packages Seite, in der alle verfügbaren Pakete und deren Abhängigkeiten eingesehen und heruntergeladen werden können.



dpkg


Das Paketverwaltungs Programm „dpkg“ ist in der Lage Pakete zu installieren, upgraden, entfernen, auf abhängige Pakete testen und Debian Pakete zu bauen. Es ist jedoch nicht möglich Abhängigkeiten aufzulösen oder Paketquellen selbstständig zu laden.


Syntax:

  • dpkg [opt] [paket]




Optionen:

  • -i [pfad/paketname] ⇒ --install, installiert Paket.
  • -l [paket] ⇒ --list, listet alle installierten Pakete zu Paket.
  • -L [paket] ⇒ --listfiles, listet alle installierten Pakete zu [paket] und deren Inhalt.
  • -C ⇒ Sucht nach Paketen, die nur teilweise installiert wurden.
  • -s [paket] ⇒ --status, zeigt Informationen, Abhängigkeiten, Konflikte über Installiertes Paket.
  • --unpack [paketdatei] ⇒ Entpackt das Paket, ohne es zu konfigurieren.
  • --configure [paket] ⇒ Konfiguriert ein entpacktes, nicht konfiguriertes Paket. Mit der Option „-a“ oder --pending anstelle von [paket], werden alle entpackten, nicht konfigurierten Pakete konfiguriert (dies gilt auch für --remove).
  • dpkg-reconfigure ⇒ konfiguriert ein bereits konfiguriertes Paket neu.
  • -r [paket] ⇒ --remove, entfernt installiertes Paket. --remove mit der zusätzlichen Option --purge entfernt auch die konfigurationsdateien des Pakets.
  • --get-selections [paket[-muster]] ⇒ Zeigt liste von Paketauswahlen (installiert, deinsalliert). Ohne Muster werden vollständig gelöschte Pakete nicht angezeigt.
  • --set-selections [paket] [zustand] ⇒ Setzt den Zustand der Paketauswahl auf install, hold, deinstall oder purge.
  • --clear-selections ⇒ Setzt den Zustand von jedem nicht essentiellen Paket auf deinstall. (vor --set-selections eingesetzt werden alle Pakete deinstalliert, die nicht in der Liste von --set-selections vorkommen.)
  • --yet-to-unpack ⇒ sucht nach Pakete, die zur Installation ausgewählt, jedoch nicht installiert wurden.
  • --print-architecture ⇒ gibt die Architektur der Pakete aus, z.B (i386).
  • --help ⇒ kurze Hilfe.
  • --version ⇒ Zeigt dpkg Versionsinformationen.





Beispiele


dpkg -i apache2-68.deb

Installiert das Paket apache2-68.


hans@home:~$ dpkg -s nautilus
Package: nautilus
Status: install ok installed
Priority: optional
Section: gnome
Installed-Size: 3112
Maintainer: Josselin Mouette <joss@debian.org>
Architecture: i386
Version: 2.30.1-2squeeze1
Replaces: libnautilus2-2
Provides: nautilus-extensions-2.0
Depends: libatk1.0-0 (>= 1.29.3), libc6 (>= 2.7), libcairo2 (>= 1.2.4), libdbus-glib-1-2 (>= 0.78), libexempi3 (>= 2.1.0), libexif12, libgail18 (>= 1.18.0), libgconf2-4 (>= 2.27.0), libglib2.0-0 (>= 2.24.0), libgnome-desktop-2-17, libgtk2.0-0 (>= 2.20.0), libice6 (>= 1:1.0.0), libnautilus-extension1 (>= 2.30), libpango1.0-0 (>= 1.20.0), libselinux1 (>= 1.32), libsm6, libunique-1.0-0 (>= 1.0.0), libx11-6, libxml2 (>= 2.7.4), libxrender1, nautilus-data (>= 2.30), nautilus-data (<< 2.31), shared-mime-info (>= 0.50), desktop-file-utils (>= 0.7), gvfs (>= 1.3.2), libglib2.0-data
Recommends: desktop-base (>= 0.2), eject, brasero (>= 2.26), librsvg2-common, synaptic, app-install-data, gvfs-backends, consolekit
Suggests: eog, evince | pdf-viewer, totem | mp3-decoder, xdg-user-dirs, tracker
Breaks: gnome-session (<< 2.28), gnome-volume-manager (<< 2.24), rhythmbox (<< 0.12)
Conflicts: libnautilus2-2, libnautilus2-dev
Description: file manager and graphical shell for GNOME
 Nautilus is the official file manager for the GNOME desktop. It allows
 to browse directories, preview files and launch applications associated
 with them. It is also responsible for handling the icons on the GNOME
 desktop. It works on local and remote filesystems.
 .
 Several icon themes and components for viewing different kinds of files
 are available in separate packages.
Homepage: http://www.gnome.org/projects/nautilus/

Zeigt Informationen und Abhängigkeiten von Paket.


user@home:~$ dpkg -l | grep apache2
ii  apache2-utils                             2.2.14-5ubuntu8.4                               utility programs for webservers

Zeigt alle Installierten Pakete zu „apache2“.


apt-get source [paket]

Paketquellen herunterladen.


apt-get build-dep [paket]

Alle Pakete installieren, die für übersetzung paket notwendig sind.


dpkg -i /pfad zu/[paket]

Paket installieren.



apt


Das Advanced Pagaging Tool „apt“ ist ein von Debian stammendes Paketverwaltungsprogramm für „*.deb“ und „rpm“ Pakete. Die Paketquellen werden in der Datei „/etc/apt/sources.list“ verwaltet.


user@home:~$ cat /etc/apt/sources.list
# 

# deb cdrom:[Debian GNU/Linux 9.0.0 _Stretch_ - Official amd64 DVD Binary-1 20170617-13:08]/ stretch main

#deb cdrom:[Debian GNU/Linux 9.0.0 _Stretch_ - Official amd64 DVD Binary-1 20170617-13:08]/ stretch main

deb http://ftp.de.debian.org/debian/ stretch main non-free contrib
deb-src http://ftp.de.debian.org/debian/ stretch main non-free contrib

deb http://security.debian.org/debian-security stretch/updates main contrib non-free
deb-src http://security.debian.org/debian-security stretch/updates main contrib non-free

# stretch-updates, previously known as 'volatile'
deb http://ftp.de.debian.org/debian/ stretch-updates main contrib non-free
deb-src http://ftp.de.debian.org/debian/ stretch-updates main contrib non-free

# stretch-backports, previously on backports.debian.org
deb http://ftp.de.debian.org/debian/ stretch-backports main contrib non-free
deb-src http://ftp.de.debian.org/debian/ stretch-backports main contrib non-free

# Oracle Virtual Box
#deb http://download.virtualbox.org/virtualbox/debian stretch contrib

# Debian Multimedia Pageges
#deb ftp://ftp.deb-multimedia.org stretch main non-free
#deb ftp://ftp.deb-multimedia.org stretch-backports main



  • deb cdrom → Quellen aus Installations CD.
  • deb http → Quellen über http Server.
  • deb ftp → Quellen über ftp Server.
  • deb-src → Debian Quellcode Pakete.




Fremde Paketquellen, wie z.B. Debian Multimedia oder Oracle Virtual Box.


Möchte man Quellen von verschiedenen Mirrors beziehen, kann das über die URL definiert werden. „http://ftp.de.debian.org“, steht für deutsche Quell Server. Eine Liste der Offiziellen Debian Mirrors.


sources.list Beispiele


Debian 6 Squeeze

Anzeigen

Ausblenden

# 

# deb cdrom:[Debian GNU/Linux 6.0.0 _Squeeze_ - Official i386 CD Binary-1 20110205-17:27]/ squeeze main

# deb cdrom:[Debian GNU/Linux 6.0.0 _Squeeze_ - Official i386 CD Binary-1 20110205-17:27]/ squeeze main

deb http://ftp.de.debian.org/debian/ squeeze main
deb-src http://ftp.de.debian.org/debian/ squeeze main

deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main

deb http://ftp.de.debian.org/debian/ squeeze-updates main
deb-src http://ftp.de.debian.org/debian/ squeeze-updates main

Standard „sources.list“ Datei bei Debian Squeeze (Offizielle Freie Debian Paketquellen).


deb http://ftp.de.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.de.debian.org/debian/ squeeze main contrib non-free

deb http://security.debian.org/ squeeze/updates contrib non-free main
deb-src http://security.debian.org/ squeeze/updates contrib non-free main

„sources.list“ Datei bei Debian Squeeze mit unfreien Paketquellen.


deb http://ftp.de.debian.org/debian/ squeeze-proposed-updates contrib non-free main
deb-src http://ftp.de.debian.org/debian/ squeeze-proposed-updates contrib non-free main

Hier werden vorgeschlagene Pakete zu den ausgewählten mit installiert.


deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free
deb http://backports.debian.org/debian-backports squeeze-backports-sloppy main contrib non-free

deb-src http://backports.debian.org/debian-backports squeeze-backports main contrib non-free
deb-src http://backports.debian.org/debian-backports squeeze-backports-sloppy main contrib non-free

Debian Backports beinhalten zurückportierte Paketquellen aus Unstable.


deb http://download.skype.com/linux/repos/debian/ stable non-free

Paketquellen für Skype.





Debian LTS

Seit 2014 gibt es für Debian Squeeze eine Long Term Support Unterstützung.

deb http://http.debian.net/debian/ squeeze-lts main contrib non-free
deb-src http://http.debian.net/debian/ squeeze-lts main contrib non-free

Diese „sources.list“ Einträge aktivieren die Langzeitunterstützung für Debian Squeeze.


Seit Debian 7 (Wheezy) ist die Aktivierung der LTS Unterstützung nicht mehr notwendig. Die LTS Unterstützung ist ab Debian 7 in den Standardpaket Quellen enthalten.





apt-get


Ein Kommandozeilenwerkzeug zur Verwaltung von Paketen. Mit „apt-get“ können Quelldateien aktualisiert, Pakete installiert, aktualisiert und entfernt werden. Hierfür werden root Rechte benötigt. Apt kann Paketabhängigkeiten selbstständig auflösen und gibt sie auf der Konsole aus.


Syntax:

  • apt-get [opt] [paketname]




Optionen:

  • update ⇒ Lädt die aktuellen Paketdaten der in der sources.list eingetragenen Reposistories. Diese Option sollte vor jedem Upgrade durchgeführt werden.
  • upgrade ⇒ Aktualisiert ausschließlich installierte Pakete, keine Pakete werden gelöscht oder neue hinzugefügt.
  • dselect-upgrade ⇒ Entfernen von alten und Installieren von neuen Paketen.
  • safe-upgrade ⇒ Führt ein sicheres upgrade durch.
  • dist-upgrade ⇒ Löst Paketabhängigkeiten von neueren Paketversionen auf und aktualisiert die Pakete, hier werden nicht mehr benötigte Pakete gelöscht, ggf. auch hinzugefügt.
  • install [paket(e)] ⇒ Installiert Paket(e), Abhängigkeiten zu anderen Paketen werden automatisch aufgelöst.
  • -t [release] [install] [paket(e)] ⇒ Installiert Pakete mit Durchsetzung von Richtlinien z.B. unstable oder backports.
  • remove [paket(e)] ⇒ Löscht Paket(e).
  • autoremove ⇒ Entfernt Pakete, die automatisch installiert wurden um Abhängigkeiten aufzulösen, die jedoch nicht mehr benötigt werden.
  • remove --purge [paket(e)] ⇒ Löscht Paket(e) und die Konfigurationsdateien.
  • source [paket(e)] ⇒ Lädt Quellpaket von deb-src gelisteten Repositories als tar.gz Archiv ins aktuellen Verzeichnis. Das Quellpaket kann dann mit „dpkg-buildpackage“ übersetzt werden, um z.B. Installationsoptionen zu verändern und mit 2dpkg -i [paket]„ installiert werden.
  • build-dep [paket(e)] ⇒ Hier werden alle fürs übersetzen des Sourcepaketes benötigten Pakete installiert.
  • check ⇒ Aktualisiert den Paketzwischenspeicher und prüft ob beschädigte Abhängigkeiten vorliegen.
  • clean ⇒ Löscht den Paketcache in “/var/cache/apt/archives/„. (Hier werden heruntergeladene Pakete gespeichert)
  • autoclean ⇒ Wie clean, entfernt aber nur Pakete, die nicht mehr heruntergeladen werden können und größtenteils nutzlos sind.
  • --no-install-recommends ⇒ Empfohlene Pakete bei der Installation nicht als Abhängigkeit betrachten.
  • -d [paket] ⇒ --download-only, Paketdateien nur herunterladen.
  • -f ⇒ --fix-broken, versucht ein System von beschädigten Abhängigkeiten zu befreien.
  • -m ⇒ --ignore-missing, --fix-missing, hält fehlerhafte Paketdateien zurück oder wenn die Integritätsprüfung nach dem herunterladen fehlschlägt.
  • -s ⇒ --simulate, führt eine Simulation von Ereignissen durch, die eintreten könnten.
  • -u ⇒ --show-upgraded, zeigt Pakete die upgraded werden sollten und listet Pakete von denen ein Upgrade gemacht wurde.
  • -V ⇒ --verbose-versions, zeigt Versionen für Pakete, die Aktualisiert oder Installiert wurden.
  • -b ⇒ --compile, --build, kompilert Quellpakete.
  • --ignore-hold ⇒ Ignoriert das zurückhalten von Pakete.
  • --reinstall [paket] ⇒ Installiertes Paket erneut installieren.
  • -h ⇒ kurze Hilfe.
  • -v ⇒ Version des Programms.




Beispiele


root@home:# apt-get update
....
OK   http://ftp.de.debian.org squeeze/main i386 Packages
OK   http://ftp.de.debian.org squeeze/contrib i386 Packages
OK   http://ftp.de.debian.org squeeze-updates/main i386 Packages
....
Paketlisten werden gelesen... Fertig

Aktuelle Paketdaten aus der Datei “/etc/apt/sources.list„ neu laden.


root@home:# apt-get upgrade
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut       
Statusinformationen werden eingelesen... Fertig
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.

Vorhandene Aktualisierung von Installierten Paketen durchführen. Hier ist das System auf dem aktuellen Stand.


root@home:# apt-get -t squeeze-backports install nvidia-installer-cleanup libgl1-nvidia-glx nvidia-alternative 
nvidia-support xorg-video-abi-10 xserver-xorg-core nvidia-kernel-295.59 nvidia-vdpau-driver 
nvidia-kernel-dkms nvidia-kernel-source nvidia-settings glx-alternative-nvidia 
libgl1-nvidia-alternatives libglx-nvidia-alternatives nvidia-kernel-common nvidia-glx  quilt

Installiert auf einem Debian Squeeze System Nvidia-GLX Treiber aus squeeze-backports.


Ein Kommando um die auf dem Rechner installierten Pakete zu ermitteln und in einer Datei speichern, diese können dann nach Bedarf aus der Datei installiert werden.



dpkg -l|awk '/^ii/{ print $2 }'|grep -v -e ^lib -e -dev -e $(uname -r) > paketliste



apt-get install $(<paketliste)





apt-cache


Stellt Ausgaben der Paket-Metadaten bereit und führt Operationen auf dem Paketzwischenspeicher von „apt“ durch.


Syntax:

  • apt-cache [opt] [paket(e)]




Optionen:

  • search ⇒ Sucht nach Paketen zu [paket].
  • show ⇒ Zeigt infos zu [paket] aus der Packages Datei des Repoistories.
  • add ⇒ Fügt Paket Index Dateien zum Zwischenspeicher hinzu. Dies dient nur der Fehlersuche.
  • gencaches ⇒ Bildet Quellen und Paketzwischenspeicher aus den Quellen von „sources.list“ und “/var/lib/dpkg/status. (Gleiche Operationen wie apt-get check).
  • showpkg ⇒ Zeigt Informationen über Pakete.
  • stats ⇒ Zeigt Statistiken über den Zwischenspeicher.
  • showsrc ⇒ Zeigt alle Quelldatensätze des Pakets.
  • dump ⇒ Zeigt Programmausdruck von Paketen im Zwischenspeicher.
  • dumpavail ⇒ Gibt eine verfügbare Liste auf „stout“ aus.
  • unmet ⇒ Zeigt unerfüllte Abhängigkeiten im Zwischenspeicher.
  • depends ⇒ Zeigt Liste von jeder Abhängigkeit, die ein Paket hat und die Pakete, die Abhängigkeiten erfüllen können.
  • policy ⇒ Gibt Prioritäten der Quellen aus, ohne Angabe von Paketen die Prioritäten aller Quellen.
  • madison ⇒ Zeigt Informationen über Pakete in Tabellenform.




Beispiele


hans@home:~$ apt-cache search geany
geany-plugin-addons - miscellanous plugins for Geany
geany-plugin-doc - a documentation plugin for Geany
geany-plugin-gdb - GDB plugin for Geany
....



hans@home:~$ apt-cache show geany
Package: geany
Priority: optional
Section: devel
Installed-Size: 7216
Maintainer: Damián Viano <des@debian.org>
Architecture: i386
Version: 0.19.1-1
....





apt-cdrom


Fügt eine CD-Rom zu den Quellen der Datei „/etc/apt/sources.list“ hinzu.


Syntax:

  • apt-cdrom [opt]




Optionen:

  • add ⇒ Fügt ein neues Medium zur Quellenliste hinzu.
  • -d ⇒ Einhängpunkt der CD-Rom. (Muss in der Datei „/etc/fstab“ eingetragen sein.)
  • -r ⇒ Medium umbenennen.
  • -m ⇒ Hängt die CD-Rom nicht ein.
  • -f ⇒ Schnelle Kopie. Prüft nicht jedes Paket.
  • -a ⇒ Gründliche Paketdurchsuchung. Nimmt alle Pakete auf.
  • -n ⇒ Ändert die „sources.list“ Datei nicht und schreibt keine Indexdateien.
  • -c [file] ⇒ Liest zuerst die Standardkonfigurationsdatei, danach [file].
  • -h ⇒ Kurze Hilfe.
  • -v ⇒ Programmversion.




Beispiel


hans@home:~$ apt-cdrom -v
apt 0.8.10.3 für i386, kompiliert am Apr 15 2011 21:02:29






aptitude


Paketmanagement Tool zum installieren, aktualisieren und löschen von Paketen. „aptitude“ kann auf der Konsole oder im grafischen Modus gestartet werden. Das erste Argument das nicht mit [-] beginnt, wird als Befehl für das Programm interpretiert. Ohne Befehl startet „aptitude“ im visuellen Modus.


Syntax:

  • aptitude [opt] [paket]




Optionen:

  • update ⇒ Liste der APT Quellen erneuern.
  • upgrade ⇒ Installierte Pakete upgraden.
  • safe-upgrade ⇒ führt ein sicheres Upgrade durch. Es werden keine Pakete gelöscht.
  • full-upgrade ⇒ führt Upgrade aller Installierten Pakete durch, nicht mehr benötigte Pakete werden gelöscht oder neue heruntergeladen.
  • keep-all ⇒ löscht alle vorgemerkten änderungen.
  • search [paket(e)] ⇒ Sucht nach Paketen.
  • show ⇒ zeigt Informationen über Pakete.
  • forbid-version [paket(e)=version] ⇒ verbietet einem Paket auf eine bestimmte Version zu aktualisieren, lässt jedoch Upgrades auf spätere Versionen zu.
  • install [paket(e)] ⇒ installiert Paket(e).
  • remove [paket(e)] ⇒ löscht installierte Pakete.
  • reinstall [paket(e)] ⇒ installiert ein Paket neu.
  • purge [paket(e)] ⇒ löscht auch die Konfigurationsdatei des Pakets.
  • clean ⇒ löscht alle zwischengespeicherten Dateien aus dem Cache.
  • autoclean ⇒ löscht alle zwischengespeicherten Paketdateien aus dem Cache, die nicht mehr heruntergeladen werden können.







Paketzustand:

  • i ⇒ Paket installiert.
  • p ⇒ nicht installierte Pakete.
  • c ⇒ früher installierte Pakete.
  • d ⇒ listet zu deinstallierende Pakete.
  • p ⇒ listet zu deinstallierende Pakete purge.
  • A ⇒ listet automatisch installiertes Paket (optional).
  • M ⇒ als automatisch installiert listen.
  • m ⇒ als automatisch installiert demarkieren.
  • = ⇒ Paket nicht upgraden.
  • h ⇒ hold. Paket nicht upgraden.
  • / ⇒ Suchmaske öffnen.
    • ^ ⇒ anfang von Paket.
    • $ ⇒ ende Paketname.
    • [paket..] ⇒ Pakete mit vorkommen [paket..].




Optionen(visueller Modus):

  • u ⇒ Herunderladen der aktuellen Reposistories Pakete.
  • q ⇒ in der Liste hochnavigieren. Verlassen des Programms.
  • + ⇒ Installieren/Updaten des Paketes.
  • - ⇒ Deinstallieren von Paketen.
  • _ ⇒ Deinstallation mit Konfigurationsdateien.
  • U ⇒ ausgewälte Pakete Upgraden.
  • G ⇒ listet ausgewählte Aktionen. Nochmal G führt sie dann aus.






Redhat Systeme verwenden als Paketmanager rpm und yum.



rpm


Der Redhat Package Manager wurde von Redhat entwickelt, mittlerweile ist es ein eigenständiges Open Source Projekt. rpm ist vergleichbar mit dpkg von Debian. Bei der Installation von rpm - Paketen werden erforderliche Informationen als Dateien im Verzeichnis „/var/lib/rpm“ dargestellt, die Konfigurationsdateien zu „rpm“ befinden sich in der Datei „/etc/rpmrc“ oder „~/.rpmrc“.


In „rpm“ Paketen werden Paketabhängigkeiten gespeichert, „rpm“ kann sie aber nicht automatisch auflösen.




Die Suchmaschiene rpmfind kann genutzt werden, um Pakete zu finden.


Syntax:

  • rpm [opt] [paket]




Optionen:

  • -i, --install ⇒ Pakete installieren.
  • -U, --upgrade ⇒ Aktualisiert Paket(e).
  • -F ⇒ Aktualisiert Paket nur, wenn eine Frühere Version installiert ist.
  • -e, --erase ⇒ erase - Pakete deinstallieren.
  • -h ⇒ Prozess veranschaulichen (Fortschritt) mit ###…
  • --import [key] ⇒ Installiert eine Schlüsseldatei.
  • -V, --verify ⇒ Prüft den Zustand eines Pakets. Die Dateien des Pakets, die seit der Installation verändert wurden.
  • -qa [--last] ⇒ Query all. Zeigt eine Liste aller installierten Pakete, mit der Option --last werdendie Pakete nach Installationsdatum sortiert.
  • -qi [paket] ⇒ Liefert Informationen zu einem Installierten Paket.
  • -qip [paket] ⇒ Liefert Informationen zu einem nicht Installierten Paket.
  • -ql [paket] ⇒ Zeigt alle zugehörigen Dateien des Pakets.
  • -qpl [paket] ⇒ Zeigt alle Dateien des heruntergeladenen oder nicht installierten Pakets.
  • -qd [paket] ⇒ Zeigt alle Dokumentationsdateien von Paket.
  • -qc [paket] ⇒ Listet alle Konfigurationsdateien von Paket.
  • -qf [pfad/datei] ⇒ Zeigt von welchen Paket eine Datei gehört.
  • -qp --requires [paket] ⇒ Zeigt alle Abhängigkeiten eines heruntergeladenen Pakets. Ohne die Opt. p für installierte Pakete.
  • -q --requires [paket] ⇒ Zeigt von welchen Paketen installiertes paket abhängt.
  • -q --provides [paketname] ⇒ Zeigt, welche Attribute(capabilities) paket zur Verfügung stellt.
  • -q --whatprovides [attr] ⇒ Zeigt, welches Paket das Attribut(Ergebnis von requires) bereits zur Verfügung stellt.
  • -q --whatrequires [attr] ⇒ Zeigt, welche Pakete auf das Attribut(Ergebnis von requires) angewiesen sind.
  • -? ⇒ Hilfe anzeigen.
  • -v ⇒ Verbose Mode, gibt mehr Informationen aus.
  • -vv ⇒ Wie -v, gibt noch mehr Informationen aus.




Beispiele


[root@home ~]# rpm -i vim-5.0.99.i386.rpm

Installiert vim-5.0.99.i386.


[root@home ~]# rpm -qf /usr/lib/libssl3.so
nss-3.13.5-4.el5_8

Datei libssl3.so gehört zu Paket nss-3.13.5-4.el5_8.


[root@home ~]# rpm -qc cups
...
/etc/cups/client.conf
/etc/cups/cupsd.conf
...

Zeigt alle Konfigurationsdateien von Cups.


[root@home ~]# rpm -q --provides cups
...
/usr/bin/cancel
/usr/bin/lpd
...

Zeigt Attribute, die cups zur Verfügung stellt.



Werden bei der Installation Pakete von unterschiedlichen Distributionen oder Tarballs zum selbst kompilieren verwendet, kann die Paketverwaltung durcheinander kommen. Der Grund dafür ist, dass Informationen, die Pakete auf dem System installieren, fehlen oder die Angaben nicht zusammen passen. Die verschiedenen Distributionen haben eigene Richtlinien von Paketabhängigkeiten.





yum


Yum (Yellow Dog Updater Modified) ist ein Paketverwaltungswerkzeug für Redhat Pakete. Yum löst alle Paketabhängigkeiten auf und installiert sie, dabei werden alle bekannten Paketquellen aus dem Verzeichnis „/etc/yum.repos.d/“ berücksichtigt. Die Heruntergeladenen Dateien werden in „/var/cache/yum/“ zwischengespeichert. Yum kann duch Plugins erweitert werden, um noch mehr Funktionen bereitzustellen.


  • /etc/yum.conf ⇒ Yum Konfigurationsdatei.
  • /etc/yum.repos.d/ ⇒ Verzeichnis für Paketquellen.
  • /etc/yum/pluginconf.d/ ⇒ Yum Plugins.
  • man yum.conf ⇒ manpage für yum.conf.




[root@home etc]# tree yum
yum
├── fssnap.d
├── pluginconf.d
│   └── langpacks.conf
├── protected.d
│   └── systemd.conf
├── vars
│   ├── releasever
│   └── slreleasever
├── version-groups.conf
├── yum-cron.conf
├── yum-cron.conf.augsave
└── yum-cron-hourly.conf

4 directories, 8 files




Syntax:

  • yum [opt] [paketname]




Optionen:

  • provides [paketname] ⇒ Sucht das zu [paketname] gehörige Paket.
  • install [paketname] ⇒ Durchsucht aktive Repositories nach Paketname und installiert es wenn vorhanden.
  • remove|erase [paketname] ⇒ Entfernt Paket und alle Abhängigkeiten.
  • reinstall [paketname] ⇒ Installiert Paket neu.
  • search [paketname] ⇒ Durchsucht Paketnamen und Paketinformationen nach [paketname].
  • list *paket* ⇒ Sucht nach Paketen in dem 'paket' vorkommt.
  • info [paketname] ⇒ Listet eine Beschreibung und Infos über [paketname].
  • update [paketname] ⇒ Wenn im Repositorie vorhanden, wird [paketname] installiert.
  • update ⇒ Aktualisiert alle installierten Pakete.
  • check-update ⇒ Aktualisierungen anzeigen lassen.
  • clean ⇒ Löscht den Paketzwischenspeicher in „/var/cache/yum/“.
  • clean all ⇒ Löscht den kompletten Paketzwischenspeicher.
  • localinstall [/pfad zur/datei.rpm] ⇒ locales Paket installieren.
  • repolist ⇒ Listet die Repositories auf dem System.
  • --enablerepo=repo1 repo2 ⇒ Aktiviert repo's.
  • --disablerepo=repo1 repo2 ⇒ Deaktiviert repo's.




Beispiele


[root@home ~]# yum update
Geladene Plugins: langpacks
No packages marked for update

Systemupdate durchführen. (Hier sind keine Updates vorhanden)


[root@home ~]# yum search firefox
Geladene Plugins: langpacks, protectbase
317 packages excluded due to repository protections
======================================= N/S matched: firefox =======================================
firefox.i686 : Mozilla Firefox Web browser
firefox.x86_64 : Mozilla Firefox Web browser
firefox-debuginfo.i686 : Debug information for package firefox
firefox-debuginfo.x86_64 : Debug information for package firefox
mozilla-adblockplus.noarch : Adblocking extension for Mozilla Firefox, Thunderbird, and SeaMonkey
mozilla-https-everywhere.noarch : HTTPS/HSTS enforcement extension for Mozilla Firefox and SeaMonkey
mozilla-noscript.noarch : JavaScript white list extension for Mozilla Firefox
mozilla-requestpolicy.noarch : Firefox and Seamonkey extension that gives you control over
                             : cross-site requests

  only-Übereinstimmungen in Name und Zusammenfassung, «Alles suchen» für vollständige Suche.

Nach dem Paket Firefox suchen.


Repos


Unter „/etc/yum.repos.d“ befinden sich Konfigurationsdateien, die yum für die Quellen auswählt.


[root@home yum.repos.d]# ll
insgesamt 76
-rw-r--r--. 1 root root 2150  1. Mär 03:01 elrepo.repo
-rw-r--r--. 1 root root  957 12. Feb 22:03 epel.repo
-rw-r--r--. 1 root root 1056 27. Dez 18:37 epel-testing.repo
-rw-r--r--. 1 root root  477 31. Jul 2014  nux-dextop.repo
-rw-r--r--. 1 root root  358 26. Feb 18:52 redhat.repo
-rw-r--r--. 1 root root  457 10. Feb 14:27 remi-php54.repo
-rw-r--r--. 1 root root 1316 10. Feb 14:27 remi-php70.repo
-rw-r--r--. 1 root root 1316 10. Feb 14:27 remi-php71.repo
-rw-r--r--. 1 root root 2609  1. Mär 02:55 remi.repo
-rw-r--r--. 1 root root  751 10. Feb 14:27 remi-safe.repo
-rw-r--r--. 1 root root  766  4. Mai 2015  repos.repo
-rw-r--r--. 1 root root  692 16. Jan 19:12 sl7-fastbugs.repo
-rw-r--r--. 1 root root 1170 12. Feb 21:52 sl7-other.repo
-rw-r--r--. 1 root root  606 16. Jan 19:12 sl7.repo
-rw-r--r--. 1 root root 1786 16. Jan 19:12 sl7-rolling.repo
-rw-r--r--. 1 root root  694 16. Jan 19:12 sl7-security.repo
-rw-r--r--. 1 root root 1073 16. Jan 19:12 sl7-testing.repo
-rw-r--r--. 1 root root 1379 12. Feb 21:51 sl-extras.repo
-rw-r--r--. 1 root root  259 22. Dez 16:26 virtualbox.repo

Scientific Linux 7 mit hinzugefügten Repos. (VirtualBox, Nux, Epel, Elrepo)


Beispiel


[sl]
name=Scientific Linux $slreleasever - $basearch
baseurl=http://ftp.scientificlinux.org/linux/scientific/$slreleasever/$basearch/os/
                http://ftp1.scientificlinux.org/linux/scientific/$slreleasever/$basearch/os/
                http://ftp2.scientificlinux.org/linux/scientific/$slreleasever/$basearch/os/
                ftp://ftp.scientificlinux.org/linux/scientific/$slreleasever/$basearch/os/
#mirrorlist=http://ftp.scientificlinux.org/linux/scientific/mirrorlist/sl-base-7.txt
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl7

sl7.repo. Enabled=1 aktiviert und enabled=0 deaktiviert das Repo. Mit protect aus dem Plugin protectbase können Repos geschützt werden. Das macht dann Sinn, wenn Repos verschiedener Distributionen auf dem System aktiviert sind.


Repoliste

Anzeigen

Ausblenden


elrepo.repo

### Name: ELRepo.org Community Enterprise Linux Repository for el7
### URL: http://elrepo.org/

[elrepo]
name=ELRepo.org Community Enterprise Linux Repository - el7
baseurl=http://elrepo.org/linux/elrepo/el7/$basearch/
        http://mirrors.coreix.net/elrepo/elrepo/el7/$basearch/
        http://jur-linux.org/download/elrepo/elrepo/el7/$basearch/
        http://repos.lax-noc.com/elrepo/elrepo/el7/$basearch/
        http://mirror.ventraip.net.au/elrepo/elrepo/el7/$basearch/
mirrorlist=http://mirrors.elrepo.org/mirrors-elrepo.el7
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
protect=0

[elrepo-testing]
name=ELRepo.org Community Enterprise Linux Testing Repository - el7
baseurl=http://elrepo.org/linux/testing/el7/$basearch/
        http://mirrors.coreix.net/elrepo/testing/el7/$basearch/
        http://jur-linux.org/download/elrepo/testing/el7/$basearch/
        http://repos.lax-noc.com/elrepo/testing/el7/$basearch/
        http://mirror.ventraip.net.au/elrepo/testing/el7/$basearch/
mirrorlist=http://mirrors.elrepo.org/mirrors-elrepo-testing.el7
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
protect=0

[elrepo-kernel]
name=ELRepo.org Community Enterprise Linux Kernel Repository - el7
baseurl=http://elrepo.org/linux/kernel/el7/$basearch/
        http://mirrors.coreix.net/elrepo/kernel/el7/$basearch/
        http://jur-linux.org/download/elrepo/kernel/el7/$basearch/
        http://repos.lax-noc.com/elrepo/kernel/el7/$basearch/
        http://mirror.ventraip.net.au/elrepo/kernel/el7/$basearch/
mirrorlist=http://mirrors.elrepo.org/mirrors-elrepo-kernel.el7
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
protect=0

[elrepo-extras]
name=ELRepo.org Community Enterprise Linux Extras Repository - el7
baseurl=http://elrepo.org/linux/extras/el7/$basearch/
        http://mirrors.coreix.net/elrepo/extras/el7/$basearch/
        http://jur-linux.org/download/elrepo/extras/el7/$basearch/
        http://repos.lax-noc.com/elrepo/extras/el7/$basearch/
        http://mirror.ventraip.net.au/elrepo/extras/el7/$basearch/
mirrorlist=http://mirrors.elrepo.org/mirrors-elrepo-extras.el7
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
protect=0




epel.repo

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch/debug
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch
failovermethod=priority
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
#baseurl=http://download.fedoraproject.org/pub/epel/7/SRPMS
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch
failovermethod=priority
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1




epel-testing.repo

[epel-testing]
name=Extra Packages for Enterprise Linux 7 - Testing - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/testing/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=testing-epel7&arch=$basearch
failovermethod=priority
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

[epel-testing-debuginfo]
name=Extra Packages for Enterprise Linux 7 - Testing - $basearch - Debug
#baseurl=http://download.fedoraproject.org/pub/epel/testing/7/$basearch/debug
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=testing-debug-epel7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

[epel-testing-source]
name=Extra Packages for Enterprise Linux 7 - Testing - $basearch - Source
#baseurl=http://download.fedoraproject.org/pub/epel/testing/7/SRPMS
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=testing-source-epel7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1




nux-dextop.repo

[nux-dextop]
name=Nux.Ro RPMs for general desktop use
baseurl=http://li.nux.ro/download/nux/dextop/el7/$basearch/ http://mirror.li.nux.ro/li.nux.ro/nux/dextop/el7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-nux.ro
protect=0

[nux-dextop-testing]
name=Nux.Ro RPMs for general desktop use - testing
baseurl=http://li.nux.ro/download/nux/dextop-testing/el7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-nux.ro
protect=0




remi-php54.repo

# This repository only provides PHP 5.4 and its extensions
# NOTICE: common dependencies are in "remi-safe"

[remi-php54]
name=Remi's PHP 5.4 RPM repository for Enterprise Linux 7 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/7/php54/$basearch/
#mirrorlist=https://rpms.remirepo.net/enterprise/7/php54/httpsmirror
mirrorlist=http://rpms.remirepo.net/enterprise/7/php54/mirror
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi




remi-php70.repo

# This repository only provides PHP 7.0 and its extensions
# NOTICE: common dependencies are in "remi-safe"

[remi-php70]
name=Remi's PHP 7.0 RPM repository for Enterprise Linux 7 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/7/php70/$basearch/
#mirrorlist=https://rpms.remirepo.net/enterprise/7/php70/httpsmirror
mirrorlist=http://rpms.remirepo.net/enterprise/7/php70/mirror
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

[remi-php70-debuginfo]
name=Remi's PHP 7.0 RPM repository for Enterprise Linux 7 - $basearch - debuginfo
baseurl=http://rpms.remirepo.net/enterprise/7/debug-php70/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

[remi-php70-test]
name=Remi's PHP 7.0 test RPM repository for Enterprise Linux 7 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/7/test70/$basearch/
#mirrorlist=https://rpms.remirepo.net/enterprise/7/test70/httpsmirror
mirrorlist=http://rpms.remirepo.net/enterprise/7/test70/mirror
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

[remi-php70-test-debuginfo]
name=Remi's PHP 7.0 test RPM repository for Enterprise Linux 7 - $basearch - debuginfo
baseurl=http://rpms.remirepo.net/enterprise/7/debug-test70/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi




remi-php71.repo

# This repository only provides PHP 7.1 and its extensions
# NOTICE: common dependencies are in "remi-safe"

[remi-php71]
name=Remi's PHP 7.1 RPM repository for Enterprise Linux 7 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/7/php71/$basearch/
#mirrorlist=https://rpms.remirepo.net/enterprise/7/php71/httpsmirror
mirrorlist=http://rpms.remirepo.net/enterprise/7/php71/mirror
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

[remi-php71-debuginfo]
name=Remi's PHP 7.1 RPM repository for Enterprise Linux 7 - $basearch - debuginfo
baseurl=http://rpms.remirepo.net/enterprise/7/debug-php71/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

[remi-php71-test]
name=Remi's PHP 7.1 test RPM repository for Enterprise Linux 7 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/7/test71/$basearch/
#mirrorlist=https://rpms.remirepo.net/enterprise/7/test71/httpsmirror
mirrorlist=http://rpms.remirepo.net/enterprise/7/test71/mirror
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

[remi-php71-test-debuginfo]
name=Remi's PHP 7.1 test RPM repository for Enterprise Linux 7 - $basearch - debuginfo
baseurl=http://rpms.remirepo.net/enterprise/7/debug-test71/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi




remi.repo

# Repository: http://rpms.remirepo.net/
# Blog:       http://blog.remirepo.net/
# Forum:      http://forum.remirepo.net/

[remi]
name=Remi's RPM repository for Enterprise Linux 7 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/7/remi/$basearch/
#mirrorlist=https://rpms.remirepo.net/enterprise/7/remi/httpsmirror
mirrorlist=http://rpms.remirepo.net/enterprise/7/remi/mirror
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

[remi-php55]
name=Remi's PHP 5.5 RPM repository for Enterprise Linux 7 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/7/php55/$basearch/
#mirrorlist=https://rpms.remirepo.net/enterprise/7/php55/httpsmirror
mirrorlist=http://rpms.remirepo.net/enterprise/7/php55/mirror
# NOTICE: common dependencies are in "remi-safe"
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

[remi-php56]
name=Remi's PHP 5.6 RPM repository for Enterprise Linux 7 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/7/php56/$basearch/
#mirrorlist=https://rpms.remirepo.net/enterprise/7/php56/httpsmirror
mirrorlist=http://rpms.remirepo.net/enterprise/7/php56/mirror
# NOTICE: common dependencies are in "remi-safe"
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

[remi-test]
name=Remi's test RPM repository for Enterprise Linux 7 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/7/test/$basearch/
#mirrorlist=https://rpms.remirepo.net/enterprise/7/test/mirror
mirrorlist=http://rpms.remirepo.net/enterprise/7/test/mirror
# WARNING: If you enable this repository, you must also enable "remi"
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

[remi-debuginfo]
name=Remi's RPM repository for Enterprise Linux 7 - $basearch - debuginfo
baseurl=http://rpms.remirepo.net/enterprise/7/debug-remi/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

[remi-php55-debuginfo]
name=Remi's PHP 5.5 RPM repository for Enterprise Linux 7 - $basearch - debuginfo
baseurl=http://rpms.remirepo.net/enterprise/7/debug-php55/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

[remi-php56-debuginfo]
name=Remi's PHP 5.6 RPM repository for Enterprise Linux 7 - $basearch - debuginfo
baseurl=http://rpms.remirepo.net/enterprise/7/debug-php56/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

[remi-test-debuginfo]
name=Remi's test RPM repository for Enterprise Linux 7 - $basearch - debuginfo
baseurl=http://rpms.remirepo.net/enterprise/7/debug-test/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi




remi-safe.repo

# This repository is safe to use with RHEL/CentOS base repository
# it only provides additional packages for the PHP stack
# all dependencies are in base repository or in EPEL

[remi-safe]
name=Safe Remi's RPM repository for Enterprise Linux 7 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/7/safe/$basearch/
#mirrorlist=https://rpms.remirepo.net/enterprise/7/safe/httpsmirror
mirrorlist=http://rpms.remirepo.net/enterprise/7/safe/mirror
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

[remi-safe-debuginfo]
name=Remi's RPM repository for Enterprise Linux 7 - $basearch - debuginfo
baseurl=http://rpms.remirepo.net/enterprise/7/debug-remi/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi




repos.repo

[repos]
Name=Scientific Linux repos - $basearch
baseurl=http://ftp.scientificlinux.org/linux/scientific/7x/repos/$basearch/
        http://ftp1.scientificlinux.org/linux/scientific/7x/repos/$basearch/
        http://ftp2.scientificlinux.org/linux/scientific/7x/repos/$basearch/

enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl7

[repos-source]
Name=Scientific Linux repos - source
baseurl=http://ftp.scientificlinux.org/linux/scientific/7x/repos/SRPMS/
        http://ftp1.scientificlinux.org/linux/scientific/7x/repos/SRPMS/
        http://ftp2.scientificlinux.org/linux/scientific/7x/repos/SRPMS/

enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl7




sl7-fastbugs.repo

[sl-fastbugs]
name=Scientific Linux $slreleasever - $basearch - bugfix updates
baseurl=http://ftp.scientificlinux.org/linux/scientific/$slreleasever/$basearch/updates/fastbugs/
                http://ftp1.scientificlinux.org/linux/scientific/$slreleasever/$basearch/updates/fastbugs/
                http://ftp2.scientificlinux.org/linux/scientific/$slreleasever/$basearch/updates/fastbugs/
                ftp://ftp.scientificlinux.org/linux/scientific/$slreleasever/$basearch/updates/fastbugs/
#mirrorlist=http://ftp.scientificlinux.org/linux/scientific/mirrorlist/sl-fastbugs-7.txt
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl7




sl7-other.repo

[sl-source]
name=Scientific Linux $slreleasever - Source
baseurl=http://ftp.scientificlinux.org/linux/scientific/$slreleasever/SRPMS/
                http://ftp1.scientificlinux.org/linux/scientific/$slreleasever/SRPMS/
                http://ftp2.scientificlinux.org/linux/scientific/$slreleasever/SRPMS/
                ftp://ftp.scientificlinux.org/linux/scientific/$slreleasever/SRPMS/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta file:///etc/pki/rpm-gpg/release file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-legacy-other file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl7


[sl-debuginfo]
name=Scientific Linux Debuginfo
baseurl=http://ftp.scientificlinux.org/linux/scientific/$slreleasever/archive/debuginfo/
                http://ftp1.scientificlinux.org/linux/scientific/$slreleasever/archive/debuginfo/
                http://ftp2.scientificlinux.org/linux/scientific/$slreleasever/archive/debuginfo/
                ftp://ftp.scientificlinux.org/linux/scientific/$slreleasever/archive/debuginfo/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl7




sl7.repo

[sl]
name=Scientific Linux $slreleasever - $basearch
baseurl=http://ftp.scientificlinux.org/linux/scientific/$slreleasever/$basearch/os/
                http://ftp1.scientificlinux.org/linux/scientific/$slreleasever/$basearch/os/
                http://ftp2.scientificlinux.org/linux/scientific/$slreleasever/$basearch/os/
                ftp://ftp.scientificlinux.org/linux/scientific/$slreleasever/$basearch/os/
#mirrorlist=http://ftp.scientificlinux.org/linux/scientific/mirrorlist/sl-base-7.txt
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl7




sl7-rolling.repo

[sl-rolling]
name=Scientific Linux 7rolling (pre-release) - $basearch
baseurl=http://ftp.scientificlinux.org/linux/scientific/7rolling/$basearch/os/
                http://ftp1.scientificlinux.org/linux/scientific/7rolling/$basearch/os/
                http://ftp2.scientificlinux.org/linux/scientific/7rolling/$basearch/os/
                ftp://ftp.scientificlinux.org/linux/scientific/7rolling/$basearch/os/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl7
metadata_expire=3600

[sl-rolling-security]
name=Scientific Linux 7rolling (pre-release) - $basearch - security updates
baseurl=http://ftp.scientificlinux.org/linux/scientific/7rolling/$basearch/updates/security/
                http://ftp1.scientificlinux.org/linux/scientific/7rolling/$basearch/updates/security/
                http://ftp2.scientificlinux.org/linux/scientific/7rolling/$basearch/updates/security/
                ftp://ftp.scientificlinux.org/linux/scientific/7rolling/$basearch/updates/security/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl7
metadata_expire=3600

[sl-rolling-fastbugs]
name=Scientific Linux 7rolling (pre-release) - $basearch - bugfix updates
baseurl=http://ftp.scientificlinux.org/linux/scientific/7rolling/$basearch/updates/fastbugs/
                http://ftp1.scientificlinux.org/linux/scientific/7rolling/$basearch/updates/fastbugs/
                http://ftp2.scientificlinux.org/linux/scientific/7rolling/$basearch/updates/fastbugs/
                ftp://ftp.scientificlinux.org/linux/scientific/7rolling/$basearch/updates/fastbugs/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl7
metadata_expire=3600




sl7-security.repo

[sl-security]
name=Scientific Linux $slreleasever - $basearch - security updates
baseurl=http://ftp.scientificlinux.org/linux/scientific/$slreleasever/$basearch/updates/security/
                http://ftp1.scientificlinux.org/linux/scientific/$slreleasever/$basearch/updates/security/
                http://ftp2.scientificlinux.org/linux/scientific/$slreleasever/$basearch/updates/security/
                ftp://ftp.scientificlinux.org/linux/scientific/$slreleasever/$basearch/updates/security/
#mirrorlist=http://ftp.scientificlinux.org/linux/scientific/mirrorlist/sl-security-7.txt
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl7




sl7-testing.repo

[sl-testing]
name=Scientific Linux Testing - $basearch
baseurl=http://ftp.scientificlinux.org/linux/scientific/7rolling/testing/$basearch/
                http://ftp1.scientificlinux.org/linux/scientific/7rolling/testing/$basearch/
                http://ftp2.scientificlinux.org/linux/scientific/7rolling/testing/$basearch/
                ftp://ftp.scientificlinux.org/linux/scientific/7rolling/testing/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl7
metadata_expire=60

[sl-testing-source]
name=Scientific Linux Testing - Source
baseurl=http://ftp.scientificlinux.org/linux/scientific/7rolling/testing/SRPMS/
                http://ftp1.scientificlinux.org/linux/scientific/7rolling/testing/SRPMS/
                http://ftp2.scientificlinux.org/linux/scientific/7rolling/testing/SRPMS/
                ftp://ftp.scientificlinux.org/linux/scientific/7rolling/testing/SRPMS/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl7
metadata_expire=60




sl-extras.repo

[sl-extras]
Name=Scientific Linux Extras - $basearch
baseurl=http://ftp.scientificlinux.org/linux/scientific/7x/external_products/extras/$basearch/
        http://ftp1.scientificlinux.org/linux/scientific/7x/external_products/extras/$basearch/
        http://ftp2.scientificlinux.org/linux/scientific/7x/external_products/extras/$basearch/

enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl7

[sl-extras-debuginfo]
Name=Scientific Linux Extras - debuginfo
baseurl=http://ftp.scientificlinux.org/linux/scientific/7x/external_products/extras/$basearch/debuginfo/
        http://ftp1.scientificlinux.org/linux/scientific/7x/external_products/extras/$basearch/debuginfo/
        http://ftp2.scientificlinux.org/linux/scientific/7x/external_products/extras/$basearch/debuginfo/

enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl7

[sl-extras-source]
Name=Scientific Linux Extras - source
baseurl=http://ftp.scientificlinux.org/linux/scientific/7x/external_products/extras/SRPMS/
        http://ftp1.scientificlinux.org/linux/scientific/7x/external_products/extras/SRPMS/
        http://ftp2.scientificlinux.org/linux/scientific/7x/external_products/extras/SRPMS/

enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl7




virtualbox.repo

[virtualbox]
name=Oracle Linux / RHEL / CentOS-$releasever / $basearch - VirtualBox
baseurl=http://download.virtualbox.org/virtualbox/rpm/el/$releasever/$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://www.virtualbox.org/download/oracle_vbox.asc





Plugins


Im Verzeichnis „/etc/yum/pluginconf.d/“ befinden sich die Konfigurationsdateien der installierten Plugins.


yum
└── pluginconf.d
    └── langpacks.conf



Zum aktivieren oder deaktivieren der Plugins, die *.conf Dateien bearbeiten.

[main]
enabled = 1




Wenn mehrere Repos verschiedener Systeme aktiviert sind, kann das Base Repo mit dem Plugin yum-plugin-protectbase geschützt werden.




protectbase

Plugin zum schützen von Repos.


Installation

  • yum install yum-plugin-protectbase
  • oder
  • yum install yum-protectbase




Als nächstes sollten die Einstellungen der Datei „/etc/yum/pluginconf.d/protectbase.conf“, wie folgt aussehen.

[main]
enabled = 1




Nach dem aktivieren von Protectbase müssen alle *.repo Dateien im Verzeichnis „/etc/yum.repos.d/“ mit protect=1 (Repo wird geschützt) oder protect=0 (Repo wird nicht geschützt) gekennzeichnet werden.




[sl]
name=Scientific Linux $slreleasever - $basearch
baseurl=http://ftp.scientificlinux.org/linux/scientific/$slreleasever/$basearch/os/
                http://ftp1.scientificlinux.org/linux/scientific/$slreleasever/$basearch/os/
                http://ftp2.scientificlinux.org/linux/scientific/$slreleasever/$basearch/os/
                ftp://ftp.scientificlinux.org/linux/scientific/$slreleasever/$basearch/os/
#mirrorlist=http://ftp.scientificlinux.org/linux/scientific/mirrorlist/sl-base-7.txt
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl7
protect=1




Beim Aufruf von yum wird dann angezeigt, wieviele Pakete durch Protectbase geschützt werden.

[root@home ~]# yum search firefox
Geladene Plugins: langpacks, protectbase
317 packages excluded due to repository protections
======================================= N/S matched: firefox =======================================
firefox.i686 : Mozilla Firefox Web browser
firefox.x86_64 : Mozilla Firefox Web browser
firefox-debuginfo.i686 : Debug information for package firefox
firefox-debuginfo.x86_64 : Debug information for package firefox
mozilla-adblockplus.noarch : Adblocking extension for Mozilla Firefox, Thunderbird, and SeaMonkey
mozilla-https-everywhere.noarch : HTTPS/HSTS enforcement extension for Mozilla Firefox and SeaMonkey
mozilla-noscript.noarch : JavaScript white list extension for Mozilla Firefox
mozilla-requestpolicy.noarch : Firefox and Seamonkey extension that gives you control over
                             : cross-site requests

  only-Übereinstimmungen in Name und Zusammenfassung, «Alles suchen» für vollständige Suche.

317 packages excluded due to repository protections.



yum-extender


Ein grafisches Yum Frontend für den Gnome 3 Desktop.










tar.gz Dateien sind zu einem Archiv zusammengefaßt und ggf. komprimiert. Slackware verwendet dieses Archiv für Packages, die dann im „*.tar.gz“ oder „*.tgz“ Format vorliegen. Ab Slackware 13.0 werden auch die Formate „*.tbz“, „*.tlz“, „*.txz“ unterstützt.


Einige Linux Systeme bringen Paketerweiterungen mit.



pkgtool


Grafisches Konsolen Frontend Tool zur Installation / Deinstallation von Paketen aus Verzeichnissen, Disketten oder CD's. Im Verzeichnis „/slackware/xap/“ der Slackware CD befindet sich das pkgtool zur Installation von Paketen von der CD.



installpkg


Package Installation auf der Kommandozeile. Die Option -warn listet die vorzunehmenden Veränderungen.



Syntax:

  • installpkg [opt] [paketname]




Optionen:

  • -warn ⇒ Trockenlauf, gibt Änderungen nach Installation auf stdout aus, Installiert jedoch nichts.
  • -root/otherroot ⇒ Paket an einen anderen Pfad im Dateisystem als / installieren.
  • -infobox ⇒ Zeigt Dialog an wie das Paket installiert ist. Wird z.B. verwendet, wenn installpkg von Skripten aufgerufen wird.
  • -menu ⇒ Zeigt einen Dialog ob das Paket installiert werden soll oder nicht.
  • -ask ⇒ Wird in Verbindung mit menu benutzt. Fragt ob das Paket unabhängig von der Paketpriorität installiert werden soll.




Beispiel


installpkg qcad-1.4.0.1.i486-2.tgz





removepkg


Deinstallieren von Paketen mit reomvepkg.


Syntax:

  • removepkg [opt] [paketname]




Optionen:

  • -warn ⇒ Gibt die Änderungen an stdout aus.




Beispiel


removepkg qcad-1.4.0.1.i486-2





upgradepkg


Update von Slackware Packeten.


Syntax:

  • upgradepkg [paketname]




Beispiel


upgradepkg qcad-1.4.2.0.i486-2.tgz





explodepkg


Entpackt Paket ins aktuelle Verzeichnis.


Syntax:

  • explodepkg [paketname]




Beispiel


explodepkg qcad-1.4.2.0.i486-2.tgz



oder auch..

tar -xvzf qcad-1.4.2.0.i486-2.tgz





makepkg


Slackware Pakete erstellen. makepkg verwendet dazu den Inhalt des aktuellen Arbeitsverzeichnisses. Im Paket sollte sich ein „install/“ Verzeichnis, in dem sich die Datei „slack-desc“ (kurzbeschreibung des Pakets) und/oder noch Shell Skript Dateien befinden.


Syntax:

  • makepkg [opt] [paketname]




Optionen:

  • -l y ⇒ Symbolische Links werden im Paket übernommen.
  • -c n ⇒ Eigentümer und Gruppe nicht automatisch auf root:root setzen.




Beispiel


$ makepkg -l y -c n beispiel_paket-1.0.1.tgz






Im Gentoo Portage System werden die Pakete aus dem Quellcode kompiliert. Nach einem Paketupdate muß erneut kompiliert werden. Dass Paketverwaltungsprogramm emerge löst Abhängigkeiten automatisch auf.



emerge



Syntax:

  • emerge [opt] [paket]




Optionen:

  • -C ⇒ Paket deinstallieren.
  • -uD world ⇒ komplettes Paketsystem updaten.
  • -s (suchbegriff) ⇒ suchbegriff nach Paketnamen.
  • -S (suchbegriff) ⇒ suchbegriff nach Beschreibung.
  • sync ⇒ Liste der verfügbaren Ports aktualisieren.






BSD Systeme verwenden für die Paketverwaltung Ports (ports) oder Packages (pkg). Bei der Installation oder Aktualisierung werden Ports aus den Quellen kompiliert (dies kann sehr lange dauern). Zuvor sollte der Ports Tree aktualisiert werden. Pkg lädt die Paketdateien herunter und installiert sie. Die Systemdaten werden mit freebsd-update aktualisiert.



freebsd-update


System Update mit freebsd-update durchführen.


Syntax:

  • freebsd-update fetch ⇒ Prüft, ob Systemupdates verfügbar sind und lädt Pakete heunter.
  • freebsd-update install ⇒ Installiert heruntergeladene Pakete.



Release Upgrade durchführen.

  • freebsd-update -r 10.1-RELEASE upgrade ⇒ Release Upgrade Pakete herunterladen.


Oder ab FreeBSD 10.3-RELEASE.

  • freebsd-update upgrade -r 11.1-RELEASE ⇒ Release Upgrade Pakete herunterladen.
  • freebsd-update install ⇒ Release Upgrade wird installiert.
  • shutdown -r now ⇒ System neustarten.
  • freebsd-update install ⇒ Installiertes Upgrade wird ins Userland exportiert.




Freebsd-update Kofigurationsdatei „/etc/freebsd-update.conf“.

# Components of the base system which should be kept updated.
Components world kernel

Components legt fest, welche Teile des FreeBSD Systems aktualisiert werden sollen. Es können auch einzelne Komponenten, wie src/base oder src/sys, eingetragen werden. Hier wird das gesamte Basissystem sowie der Kernel aktualisiert.


Bei Änderungen der aktualisierungs Einstellungen sollten Sie wissen, was Sie tun.




# Paths which start with anything matching an entry in an IgnorePaths
# statement will be ignored.
IgnorePaths /boot/kernel/linker.hints

IgnorePaths beschreibt Pfade, die nicht aktualisiert werden sollen. Wurden Lokale Änderungen in Verzeichnissen wie z.B. /bin, /sbin oder /usr vorgenommen, kann verhindert werden, dass sie überschrieben werden.


# Paths which start with anything matching an entry in an UpdateIfUnmodified
# statement will only be updated if the contents of the file have not been
# modified by the user (unless changes are merged; see below).
UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile

Es werden nur unmodifizierte Konfigurationsdateien in den angegebenen Verzeichnissen aktualisiert. Bei jeder Änderung, wird die automatische Aktualisierung dieser Dateien verhindert.


# When upgrading to a new FreeBSD release, files which match MergeChanges
# will have any local changes merged into the version from the new release.
MergeChanges /etc/ /var/named/etc/ /boot/device.hints

In diesen Verzeichnissen soll freebsd-update versuchen, die Konfigurationsdateien zusammenzuführen.


# Directory in which to store downloaded updates and temporary
# files used by FreeBSD Update.
# WorkDir /var/db/freebsd-update

Im angegebenen Verzeichnis werden alle Korrekturen und temporären Dateien gespeichert. Diesem Verzeichnis sollte mindestens ein Gigabyte Festplattenspeicher zur Verfügung stehen.


# When upgrading between releases, should the list of Components be
# read strictly (StrictComponents yes) or merely as a list of components
# which *might* be installed of which FreeBSD Update should figure out
# which actually are installed and upgrade those (StrictComponents no)?
# StrictComponents no

Wenn diese Option auf yes gesetzt ist, geht freebsd-update davon aus, dass die Components-Liste vollständig ist und wird nicht versuchen, Änderungen ausserhalb dieser Liste vorzunehmen.

FIXME



pkg


FIXME



ports


Mit Ports installierte Software wird mit den Makefiles aus dem Quellcode kompiliert.

FIXME




Mit alien kann ein Paket Format in ein anderes umgewandelt werden.


Beispiel


alien --to-rpm gimp-4.0.7.9_x86.deb
gimp-4.0.7.9_x86.rpm generated

Debian Paket wird in Redhat Paket umgewandelt.


Durch unterschiedliche Strukturen der Systeme zwischen den Paketformaten ist bei Systempaketen die Verwendung von alien nicht zu empfehlen.






FIXME



Cloud