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.
Bei Debian wird ausschließlich freie Software unter GPL Lizenz in den Paketquellen aufgenommen. Für unfreie Softwarepakete kann die Debian Quelle …
aktiviert werden.
Debian pflegt eine Packages Seite, in der alle verfügbaren Pakete und deren Abhängigkeiten eingesehen und heruntergeladen werden können.
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:
Optionen:
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.
Defekte Pakete auflisten.
root@home:~# dpkg --list | grep ^rc rc drascula 1.0+ds2-2 all classic 2D point and click adventure game -- English version rc game-data-packager 49.1 all Installer for game data files rc game-data-packager-runtime 49.1 all Launcher for proprietary games rc kdepim-runtime 4:16.04.2-2+b2 amd64 runtime components for Akonadi KDE rc kf5-kdepimlibs-kio-plugins 4:16.04.2-2 amd64 kio slaves used by KDE PIM applications rc libkf5gapi-data 5.1.0-2 all Google API library for KDE -- data files rc libvlccore8:amd64 2.2.7-1~deb9u1 amd64 base library for VLC and its modules rc linux-image-4.9.0-4-amd64 4.9.65-3+deb9u1 amd64 Linux 4.9 for 64-bit PCs rc linux-image-4.9.0-5-amd64 4.9.65-3+deb9u2 amd64 Linux 4.9 for 64-bit PCs rc linux-image-4.9.0-6-amd64 4.9.88-1+deb9u1 amd64 Linux 4.9 for 64-bit PCs
Defekte Pakete löschen.
root@home:~# dpkg --purge `dpkg --get-selections | awk '/deinstall/ {print $1}'` (Lese Datenbank ... 461252 Dateien und Verzeichnisse sind derzeit installiert.) Löschen der Konfigurationsdateien von drascula (1.0+ds2-2) ... Löschen der Konfigurationsdateien von game-data-packager (49.1) ... Löschen der Konfigurationsdateien von game-data-packager-runtime (49.1) ... Löschen der Konfigurationsdateien von kdepim-runtime (4:16.04.2-2+b2) ... Löschen der Konfigurationsdateien von kf5-kdepimlibs-kio-plugins (4:16.04.2-2) ... Löschen der Konfigurationsdateien von libkf5gapi-data (5.1.0-2) ... Löschen der Konfigurationsdateien von libvlccore8:amd64 (2.2.7-1~deb9u1) ... Löschen der Konfigurationsdateien von linux-image-4.9.0-4-amd64 (4.9.65-3+deb9u1) ... rmdir: konnte '/lib/modules/4.9.0-4-amd64' nicht entfernen: Das Verzeichnis ist nicht leer dpkg: Warnung: Während Entfernens von linux-image-4.9.0-4-amd64 ist Verzeichnis »/lib/modules/4.9.0-4-amd64« nicht leer, wird daher nicht gelöscht Löschen der Konfigurationsdateien von linux-image-4.9.0-5-amd64 (4.9.65-3+deb9u2) ... rmdir: konnte '/lib/modules/4.9.0-5-amd64' nicht entfernen: Das Verzeichnis ist nicht leer dpkg: Warnung: Während Entfernens von linux-image-4.9.0-5-amd64 ist Verzeichnis »/lib/modules/4.9.0-5-amd64« nicht leer, wird daher nicht gelöscht Löschen der Konfigurationsdateien von linux-image-4.9.0-6-amd64 (4.9.88-1+deb9u1) ... rmdir: konnte '/lib/modules/4.9.0-6-amd64' nicht entfernen: Das Verzeichnis ist nicht leer dpkg: Warnung: Während Entfernens von linux-image-4.9.0-6-amd64 ist Verzeichnis »/lib/modules/4.9.0-6-amd64« nicht leer, wird daher nicht gelöscht Trigger für menu (2.1.47+b1) werden verarbeitet ...
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
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.
Debian 6 Squeeze
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.
Ab Debian 9.2 (Stretch) wurde apt mit Update Optionen erweitert.
Syntax:
Optionen:
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 ...
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:
Optionen:
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.
dpkg -l|awk '/^ii/{ print $2 }'|grep -v -e ^lib -e -dev -e $(uname -r) > paketliste
apt-get install $(<paketliste)
Stellt Ausgaben der Paket-Metadaten bereit und führt Operationen auf dem Paketzwischenspeicher von „apt“ durch.
Syntax:
Optionen:
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 ....
Fügt eine CD-Rom zu den Quellen der Datei „/etc/apt/sources.list“ hinzu.
Syntax:
Optionen:
hans@home:~$ apt-cdrom -v apt 0.8.10.3 für i386, kompiliert am Apr 15 2011 21:02:29
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:
Optionen:
Optionen(visueller Modus):
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“.
Die Suchmaschiene rpmfind kann genutzt werden, um Pakete zu finden.
Syntax:
Optionen:
[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.
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.
[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:
Optionen:
[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.
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)
[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
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
protectbase
Plugin zum schützen von Repos vor anderen aktivierten Repositorys.
Installation
Als nächstes sollten die Einstellungen der Datei „/etc/yum/pluginconf.d/protectbase.conf“, wie folgt aussehen.
[main] enabled = 1
[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
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.
[root@home ~]# package-cleanup --oldkernels --count=2 Geladene Plugins: langpacks, protectbase --> Transaktionsprüfung wird ausgeführt ---> Paket kernel.x86_64 0:3.10.0-693.21.1.el7 markiert, um gelöscht zu werden ---> Paket kernel-debug.x86_64 0:3.10.0-693.21.1.el7 markiert, um gelöscht zu werden ---> Paket kernel-devel.x86_64 0:3.10.0-693.21.1.el7 markiert, um gelöscht zu werden --> Abhängigkeitsauflösung beendet Abhängigkeiten aufgelöst ==================================================================================================================== Package Arch Version Paketquelle Größe ==================================================================================================================== Entfernen: kernel x86_64 3.10.0-693.21.1.el7 @sl-security 60 M kernel-debug x86_64 3.10.0-693.21.1.el7 @sl-security 62 M kernel-devel x86_64 3.10.0-693.21.1.el7 @sl-security 36 M Transaktionsübersicht ==================================================================================================================== Entfernen 3 Pakete Installationsgröße: 157 M Ist dies in Ordnung? [j/N] :
Es werden alle älteren Kernel, bis auf die letzten zwei gelöscht.
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.
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.
Package Installation auf der Kommandozeile. Die Option -warn listet die vorzunehmenden Veränderungen.
Syntax:
Optionen:
installpkg qcad-1.4.0.1.i486-2.tgz
Deinstallieren von Paketen mit reomvepkg.
Syntax:
Optionen:
removepkg qcad-1.4.0.1.i486-2
Update von Slackware Packeten.
Syntax:
upgradepkg qcad-1.4.2.0.i486-2.tgz
Entpackt Paket ins aktuelle Verzeichnis.
Syntax:
explodepkg qcad-1.4.2.0.i486-2.tgz
oder auch..
tar -xvzf qcad-1.4.2.0.i486-2.tgz
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:
Optionen:
$ 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.
Syntax:
Optionen:
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.
System Update mit freebsd-update durchführen.
Syntax:
Release Upgrade durchführen.
Oder ab FreeBSD 10.3-RELEASE.
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.
# 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.
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
Mit dem Kommando pkg-static upgrade -f kann eine Aktualisierung aller installierten Pakete vorgenommen werden.
# pkg-static upgrade -f
Mit Ports installierte Software wird mit den Makefiles aus dem Quellcode kompiliert.
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.
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:
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
Mit portupgrade wird die Aktualisierung von Ports vereinfacht.
# cd /usr/ports/ports-mgmt/portupgrade/ # make install clean
Portupgrade via Ports installieren.
Syntax:
Optionen:
Beispiel:
# portupgrade -PP firefox
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
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.
# 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
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.
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.