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. Durch das Debian Long Term Support Projekt wurde gewährleistet, dass Debian 6 (Squeeze) weitere zwei Jahre mit Sicherheits Updates versorgt wurde.

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.




Ab Debian 9.2 (Stretch) wurde apt mit Update Optionen erweitert.


Syntax:

  • apt [optionen]




Optionen:

  • update ⇒ Die in der /etc/apt/sources.list eingetragenen Quellen werden nach neueren Dateien überprüft.
  • list –upgradable ⇒ Wenn Update verfügbar sind, können so die Dateien angezeigt werden, die upgedated werden können.
  • upgrade ⇒ Führt das Update aus.
  • dist-upgrade ⇒ Führt ein Distributions Upgrade durch.
  • autoremove ⇒ Entfernt nicht mehr benötigte Dateien.
  • clean ⇒ Räumt den apt cache auf.




root@home:~# apt update
Ign:1 http://ftp.de.debian.org/debian stretch InRelease
Holen:2 http://ftp.de.debian.org/debian stretch-updates InRelease [91,0 kB]
Holen:3 http://ftp.de.debian.org/debian stretch-backports InRelease [91,8 kB]             
Holen:4 http://ftp.de.debian.org/debian stretch Release [118 kB]                                   
Holen:5 http://ftp.de.debian.org/debian stretch-updates/main Sources [3.564 B]                     
Holen:6 http://ftp.de.debian.org/debian stretch-updates/main amd64 Packages [5.976 B]    
Holen:7 http://ftp.de.debian.org/debian stretch-updates/main Translation-en [3.583 B]
....
Holen:42 http://security.debian.org/debian-security stretch/updates/contrib Translation-en [1.023 B]
Holen:43 http://security.debian.org/debian-security stretch/updates/non-free amd64 Packages [1.276 B]
Holen:44 http://security.debian.org/debian-security stretch/updates/non-free Translation-en [481 B]
Es wurden 32,6 MB in 2 min 1 s geholt (268 kB/s).
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
Aktualisierung für 2 Pakete verfügbar. Führen Sie »apt list --upgradable« aus, um sie anzuzeigen.




root@home:~# apt list --upgradeable
Auflistung... Fertig
libssl1.0.2/stable 1.0.2l-2+deb9u2 amd64 [aktualisierbar von: 1.0.2l-2+deb9u1]
rsync/stable 3.1.2-1+deb9u1 amd64 [aktualisierbar von: 3.1.2-1]




root@home:~# apt upgrade
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
Paketaktualisierung (Upgrade) wird berechnet... Fertig
Die folgenden Pakete werden aktualisiert (Upgrade):
  libssl1.0.2 rsync
2 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen 1.687 kB an Archiven heruntergeladen werden.
Nach dieser Operation werden 0 B Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren? [J/n] J
Holen:1 http://security.debian.org/debian-security stretch/updates/main amd64 libssl1.0.2 amd64 1.0.2l-2+deb9u2 [1.294 kB]
Holen:2 http://security.debian.org/debian-security stretch/updates/main amd64 rsync amd64 3.1.2-1+deb9u1 [393 kB]
Es wurden 1.687 kB in 2 min 2 s geholt (13,8 kB/s).
Lese Changelogs... Fertig
Vorkonfiguration der Pakete ...
(Lese Datenbank ... 433902 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von .../libssl1.0.2_1.0.2l-2+deb9u2_amd64.deb ...
Entpacken von libssl1.0.2:amd64 (1.0.2l-2+deb9u2) über (1.0.2l-2+deb9u1) ...
Vorbereitung zum Entpacken von .../rsync_3.1.2-1+deb9u1_amd64.deb ...
Entpacken von rsync (3.1.2-1+deb9u1) über (3.1.2-1) ...
rsync (3.1.2-1+deb9u1) wird eingerichtet ...
libssl1.0.2:amd64 (1.0.2l-2+deb9u2) wird eingerichtet ...
Trigger für libc-bin (2.24-11+deb9u1) werden verarbeitet ...
Trigger für systemd (232-25+deb9u1) werden verarbeitet ...
Trigger für man-db (2.7.6.1-2) werden verarbeitet ...





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.
  • yum list recent ⇒ Listet Pakete auf, die kürzlich den Repositories hinzugefügt wurden.
  • 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: fastestmirror, langpacks, protectbase
Loading mirror speeds from cached hostfile
 * elrepo: nl.mirror.babylon.network
 * elrepo-extras: nl.mirror.babylon.network
 * elrepo-kernel: nl.mirror.babylon.network
 * epel: nl.mirror.babylon.network
 * epel-debuginfo: nl.mirror.babylon.network
 * epel-source: nl.mirror.babylon.network
 * remi: nl.mirror.babylon.network
 * remi-safe: nl.mirror.babylon.network
 * repos: ftp2.scientificlinux.org
 * repos-source: ftp2.scientificlinux.org
 * sl: ftp2.scientificlinux.org
 * sl-debuginfo: ftp2.scientificlinux.org
 * sl-extras: ftp2.scientificlinux.org
 * sl-extras-debuginfo: ftp2.scientificlinux.org
 * sl-extras-source: ftp2.scientificlinux.org
 * sl-fastbugs: ftp2.scientificlinux.org
 * sl-security: ftp2.scientificlinux.org
 * sl-source: ftp2.scientificlinux.org
317 packages excluded due to repository protections
Abhängigkeiten werden aufgelöst
--> Transaktionsprüfung wird ausgeführt
---> Paket gnucash.x86_64 0:2.6.17-1.el7 markiert, um aktualisiert zu werden
---> Paket gnucash.x86_64 0:2.6.18-1.el7 markiert, um eine Aktualisierung zu werden
---> Paket gnucash-docs.noarch 0:2.6.17-1.el7 markiert, um aktualisiert zu werden
---> Paket gnucash-docs.noarch 0:2.6.18-1.el7 markiert, um eine Aktualisierung zu werden
--> Abhängigkeitsauflösung beendet

Abhängigkeiten aufgelöst

====================================================================================================================
 Package                       Arch                    Version                          Paketquelle           Größe
====================================================================================================================
Aktualisieren:
 gnucash                       x86_64                  2.6.18-1.el7                     epel                  9.1 M
 gnucash-docs                  noarch                  2.6.18-1.el7                     epel                   80 M

Transaktionsübersicht
====================================================================================================================
Aktualisieren  2 Pakete

Gesamte Downloadgröße: 89 M
Is this ok [y/d/N]: 




Is this ok [y/d/N]: y
Downloading packages:
No Presto metadata available for epel
(1/2): gnucash-2.6.18-1.el7.x86_64.rpm                                                       | 9.1 MB  00:00:27     
(2/2): gnucash-docs-2.6.18-1.el7.noarch.rpm                                                  |  80 MB  00:02:08     
--------------------------------------------------------------------------------------------------------------------
Gesamt                                                                              711 kB/s |  89 MB  00:02:08     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Aktualisieren    : gnucash-docs-2.6.18-1.el7.noarch                                                           1/4 
  Aktualisieren    : gnucash-2.6.18-1.el7.x86_64                                                                2/4 
  Aufräumen        : gnucash-2.6.17-1.el7.x86_64                                                                3/4 
  Aufräumen        : gnucash-docs-2.6.17-1.el7.noarch                                                           4/4 
  Überprüfung läuft: gnucash-docs-2.6.18-1.el7.noarch                                                           1/4 
  Überprüfung läuft: gnucash-2.6.18-1.el7.x86_64                                                                2/4 
  Überprüfung läuft: gnucash-docs-2.6.17-1.el7.noarch                                                           3/4 
  Überprüfung läuft: gnucash-2.6.17-1.el7.x86_64                                                                4/4 

Aktualisiert:
  gnucash.x86_64 0:2.6.18-1.el7                          gnucash-docs.noarch 0:2.6.18-1.el7                         

Komplett!

Yum prüft, ob Updates verfügbar sind, wenn ja, wird ein Dialogfeld angezeigt, ob die Updates installiert werden sollen.


[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.


[root@enterprise ~]# yum list recent
Geladene Plugins: langpacks, protectbase
317 packages excluded due to repository protections
Kürzlich hinzugefügte Pakete       
kernel-lt.x86_64                             4.4.93-1.el7.elrepo                       elrepo-kernel
kernel-lt-devel.x86_64                       4.4.93-1.el7.elrepo                       elrepo-kernel
kernel-lt-doc.noarch                         4.4.93-1.el7.elrepo                       elrepo-kernel
kernel-lt-headers.x86_64                     4.4.93-1.el7.elrepo                       elrepo-kernel
kernel-lt-tools.x86_64                       4.4.93-1.el7.elrepo                       elrepo-kernel
kernel-lt-tools-libs.x86_64                  4.4.93-1.el7.elrepo                       elrepo-kernel
kernel-lt-tools-libs-devel.x86_64            4.4.93-1.el7.elrepo                       elrepo-kernel
kernel-ml.x86_64                             4.13.8-1.el7.elrepo                       elrepo-kernel
kernel-ml-devel.x86_64                       4.13.8-1.el7.elrepo                       elrepo-kernel
kernel-ml-doc.noarch                         4.13.8-1.el7.elrepo                       elrepo-kernel
kernel-ml-headers.x86_64                     4.13.8-1.el7.elrepo                       elrepo-kernel
kernel-ml-tools.x86_64                       4.13.8-1.el7.elrepo                       elrepo-kern                                 
php-horde-kronolith.noarch                   4.2.23-2.el7.remi                         remi         
php-pear-PHP-CodeSniffer.noarch              3.1.1-1.el7.remi                          remi                                        
php72-php-pecl-mongodb.x86_64                1.3.1-1.el7.remi                          remi         
php72-php-pecl-redis.x86_64                  3.1.4-2.el7.remi                          remi         
php72-php-pecl-xdebug.x86_64                 2.6.0-0.7.20171017.33ed33d.el7.remi       remi         
php72-php-phalcon3.x86_64                    3.2.3-1.el7.remi                          remi         
php72-php-zephir-parser.x86_64               1.1.0-1.el7.remi                          remi         
php72-zephir.noarch                          0.10.3-1.el7.remi                         remi          

Neu hinzugefügte Pakete in den Repoitorys anzeigen.


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 vor anderen aktivierten Repositorys.


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.repos.d]# yum update
Geladene Plugins: langpacks, protectbase
nux-dextop                                                                                   | 2.9 kB  00:00:00     
nux-dextop/x86_64/primary_db                                                                 | 1.6 MB  00:00:02     
344 packages excluded due to repository protections
No packages marked for update




Yum Autoupdate


Bei einigen Distributionen wie CentOS, Scientific Linux ist ein automatischer Cron Job, der yum update in festen Perioden ausführt aktiviert. In der Datei „/etc/cron.dayly/0yum-daily.cron“ wird das automatische Update gestartet.


#!/bin/bash

# Only run if this flag is set. The flag is created by the yum-cron init
# script when the service is started -- this allows one to use chkconfig and
# the standard "service stop|start" commands to enable or disable yum-cron.
if [[ ! -f /var/lock/subsys/yum-cron ]]; then
  exit 0
fi

# Action!
exec /usr/sbin/yum-cron




Folgende Konfiguration verhindert das automatische Update.


# exec /usr/sbin/yum-cron


Ausführung von yum-cron auskommentieren.


[root@home cron.daily]# service yum-cron stop
Redirecting to /bin/systemctl stop yum-cron.service


Dienst anhalten.


[root@home cron.daily]# systemctl disable yum-cron
Removed symlink /etc/systemd/system/multi-user.target.wants/yum-cron.service.


Symlink zum starten des Dienstes beim Systemstart entfernen.



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.




Wenn eine crontab existiert, welche die Eigenschaften von freebsd-update verwendet, muss diese deaktiviert werden, bevor das Betriebssystem aktualisiert wird.




Wenn beim System Update etwas schief geht, kann freebsd-update rollback das letzte Update rückgängig machen.

# freebsd-update rollback
Uninstalling updates... done.




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.


Sollte ein System Upgrade nicht möglich sein, die Einstellungen in der Datei „/etc/freebsd-update.conf“ prüfen.




# 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


Mit pkg können BSD Pakete als Binärdateien installiert, deinstalliert oder aktualisiert werden.

Beim ersten Aufruf von pkg (z.B. pkg info vim), wird nachgefragt, ob pkg installiert werden soll. Danach kann pkg durch pkg2ng ersetzt werden.

# pkg2ng




Möchte man für die Installation aller Ports pkg verwenden, wird die Datei „/etc/make.conf“ angepasst.

WITH_PKGNG=yes




Dies ist auch mit folgendem Befehl möglich:

# echo "WITH_PKGNG=yes" >> /etc/make.conf




Mit pkg info kann angezeigt werden, welche Ports oder Pakete installiert sind.

# pkg info




Erweiterte Informationen zu einem installierten Programm anzeigen:

# pkg info -f vim




Nach Paketen suchen.

# pkg search vim


Hier werden Pakete gesucht, die sich auf vim beziehen.


# pkg search .


Gibt man als Suchmuster „.“ an, wird das Gesamte Repository angezeigt.


Pakete mit pkg installieren.

# pkg install vim


Es wird eine Liste mit allen zu installierenden Paketen und Abhängigkeiten angezeigt, die mit „Y“ installiert werden kann.


Um Software Pakete zu deinstallieren wird delete verwendet.

# pkg delete vim




Alle installierten Pakete updaten.

# pkg upgrade




Das Kommando pkg upgrade aktualisiert nur installierte Drittsoftware. Das Basissystem muß getrennt aktualisiert werden.




Mit dem Kommando pkg-static upgrade -f kann eine Aktualisierung aller installierten Pakete vorgenommen werden.

# pkg-static upgrade -f





ports


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


Bevor ein Port installiert wird, sollte sichergestellt sein, dass die Ports-Sammlung aktuell ist.




Ports können mit whereis [Paket] gesucht werden.

# whereis gnome2




Programme über die Ports Sammlung installieren.

# whereis vim
/usr/src/editors/vim



# cd /usr/src/editors/vim



# make install clean vim


In diesem Beispiel wird Vim aus den Ports (heruntergeladen), kompiliert und installiert. Danach wird mit clean der Ports-Tree wieder aufgeräumt.


Kommt es vor, dass ein Port Abhängigkeiten zu anderen Ports hat, die nicht aktuell sind, kann make fetch-recursive verwendet werden.

# make fetch-recursive



Führt man den Befehl config-recursive aus, wird eine Liste von Ports, die konfiguriert werden sollen, im Target all-depends-list erstellt.


Der Befehl make config-recursive sollte so lange ausgeführt werden, bis alle Optionen der abhängigen Ports definiert sind.





portmaster


Mit portmaster können installierte Ports aktualisiert werden. Portmaster erleichtert auch das Updaten von installierten Ports, in dem er zu Beginn der Installation die Benutzereingaben anfordert und man so nicht während der gesamten Installation auf weitere Eingabeaufforderungen warten muß.

Portmaster teilt Ports in vier Kategorien ein:

  • Root Port ⇒ hat keine Abhängigkeiten und andere Ports sind nicht von diesem Port abhängig.
  • Trunk Port ⇒ hat keine Abhängigkeiten, aber andere Ports sind von diesem Port abhängig.
  • Branch Port ⇒ hat Abhängigkeiten und andere Ports sind von diesem Port abhängig.
  • Leaf Port ⇒ hat Abhängigkeiten, aber andere Ports sind nicht von diesem Port abhängig.




Installation von Portmaster:

# cd /usr/ports/ports-mgmt/portmaster
# make install clean


Installation via Ports.


# pkg install portmaster



# rehash


Portmaster als Binärdatei via pkg installieren. Mit rehash wird gewährleistet, dass die PATH Variable den Befehl in der Shell auch kennt.


Mit folgendem Kommando kann eine Liste der installierten Ports angezeigt und nach neueren Versionen gesucht werden.

# portmaster -L
===>>> Root ports (No dependencies, not depended on)
===>>> ispell-3.2.06_18
===>>> screen-4.0.3
        ===>>> New version available: screen-4.0.3_1
===>>> tcpflow-0.21_1
===>>> 7 root ports
...
===>>> Branch ports (Have dependencies, are depended on)
===>>> apache22-2.2.3
        ===>>> New version available: apache22-2.2.8
...
===>>> Leaf ports (Have dependencies, not depended on)
===>>> automake-1.9.6_2
===>>> bash-3.1.17
        ===>>> New version available: bash-3.2.33
...
===>>> 32 leaf ports

===>>> 137 total installed ports
        ===>>> 83 have new versions available




Aktualisieren installierter Ports.

# portmaster -a


Aktualisieren aller installierten Ports.


Treten während der Aktualisierung Fehler auf, können die installierten Ports mit folgendem Kommando neu aufgebaut werden.

# portmaster -af




Mit portmaster können auch Ports installiert werden. Hierzu muß der Pfad des Ports angegeben werden.

# portmaster shells/bash





portupgrade


Mit portupgrade wird die Aktualisierung von Ports vereinfacht.


# cd /usr/ports/ports-mgmt/portupgrade/
# make install clean


Portupgrade via Ports installieren.


Syntax:

  • portupgrade [optionen]




Optionen:

  • -ai ⇒ Mit der Option -a, beginnt portupgrade automatisch mit der Aktualisierung aller veralteter Ports des Systems. In Verbindung mit -ai, kann man interaktiv entscheiden, ob ein Port aktualisiert werden soll.
  • -PP gnome2 ⇒ Mit -P werden bei der Installation Pakete anstelle von Ports verwendet. Portupgrade durchsucht die in der Umgebungsvariablen PKG_PATH aufgeführten Verzeichnisse nach Paketen. Sind lokal keine Pakete vorhanden, versucht portupgrade die Pakete herunterzuladen. Werden die Pakete weder lokal noch entfernt gefunden, werden Ports verwendet. Dies kann die Option -PP verhindern.




Mit pkgdb -F wird eine Liste mit allen installierten Ports und gefundene Probleme erzeugt. Dieses Kommando sollte vor jeder Aktualisierung mit portupgrade ausgeführt und die gefundenen Probleme behoben werden.




Beispiel:

# portupgrade -PP firefox





portsclean


Die Ports-Sammlung kann sehr viel Speicherplatz verschlingen, deshalb sollte nach der Installation eines Ports make clean ausgeführt werden, um die Arbeitsverzeichnisse zu löschen. Dieser Befehl entfernt das Verzeichnis work des gebauten Ports. Die gesamte Ports-Sammlung kann mit folgenden Befehl aufgeräumt werden:

# portsclean -C




Nach einiger Zeit sammeln sich zahlreiche Distfiles im Verzeichnis distfiles an. Diese können mit portsclean -D gelöscht werden. Möchte man nur Distfiles löschen, die von keinem derzeit installierten Port referenziert werden, kann die Option -DD verwendet werden. Portsclean wird mit portupgrade automatisch mit installiert.

# portsclean -D



# portsclean -DD




Nicht mehr benötigte, installierte Ports sollten wieder entfernt werden. Um dies zu erleichtern, kann der Port ports-mgmt/pkg_cutleaves installiert werden.





portsnap


Ein alternatives Werkzeug zur Aktualisierung der Ports-Sammlung. Hier wird ein komprimierter Snapshot der Ports-Sammlung in das Verzeichnis /var/db/portsnap heruntergeladen. Danach kann die Internetverbindung getrennt werden.


# portsnap fetch


Herunterladen des Ports Snapshots.


# portsnap extract


Den Snapshot nach /usr/ports extrahieren.


# portsnap update


Installierte Ports Sammlung aktualisieren.



Beispiele


VIM installieren



# cd /usr/ports/editors/vim
# make install clean


Vim via Ports installieren.


# portmaster -d editors/vim


Vim mit Portmaster installieren.


# pkg install editors/vim


Vim mit dem Pkg System installieren.


# rehash


Mit rehash wird sichergestellt, dass vim in der Shell aufgerufen werden kann.


Die Umgebungsvariable $EDITOR definiert den Standardeditor, der in der jeweiligen Konfigurationsdatei gesetzt werden kann.


csh:

Datei: ~/.cshrc

setenv EDITOR vim




bash:

Datei: ~/.bashrc und ~/.profile

export EDITOR vim




Um Vim auf die jeweiligen Bedürfnisse anzupassen, sollte die Konfigurationsdatei ~/.vimrc angelegt werden.

#Schaltet die volle VIM-Funktionalität frei
set nocp
# Aktiviert Syntax-Highlighting. 
syntax on





Bash installieren


Die Bash kann z.B. via Ports oder Portmaster installiert werden.

# cd /usr/ports/shells/bash
# make install clean



# portmaster -d shells/bash




Um die Bash als Standard-Shell zuweisen, sind folgende Optionen möglich:

# chsh

#Changing user information for user.
Shell: /usr/local/bin/bash
Full Name: 
Office Location:
Office Phone:
Home Phone:
Other information:



Mit chsh kann die Bash als Standard-Shell eingetragen oder mit folgendem Kommando festgelegt werden.

# chsh -s /usr/local/bin/bash




Nach dem wechsel zur Bash als Standard-Shell stehen die Eigenschaften und Konfigurationsdateien der csh nicht mehr zur Verfügung. Für die Bash ist ~/.bashrc, die Konfigurationsdatei.
Die Variable $EDITOR für den Standard-Editor sollte hier gesetzt werden.

export EDITOR=vim

~/.bashrc




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