Paketmanagement unter Linux Grundlagen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Paketverwaltung unter Linux

Paketmanager vereinfachen die Installation, Aktualisierung und Entfernung von Software. Sie sorgen dafür, dass Software aus vertrauenswürdigen Quellen installiert, aktuell gehalten und bei Bedarf wieder entfernt werden kann. Dabei kümmern sie sich automatisch um Abhängigkeiten, Versionsprüfungen und Integrität der Pakete.

Debian / Ubuntu – apt und dpkg

Das Debian-Ökosystem (inkl. Ubuntu, Proxmox, Linux Mint usw.) nutzt das Paketformat .deb und verwaltet Pakete mit dpkg. Das darüberliegende Frontend apt (Advanced Package Tool) erleichtert die Verwaltung über Repositories und sorgt für automatische Abhängigkeitsauflösung.

System aktualisieren

  • apt update
  • apt upgrade -y

Paketinstallation aus Repository

  • apt install nginx -y
  • apt install mariadb-server php php-fpm -y

Paketinformationen anzeigen

  • apt show nginx
  • dpkg -l | grep nginx

Paket entfernen

  • apt remove nginx -y
  • apt purge nginx -y # inklusive Konfigurationsdateien
  • apt autoremove -y # ungenutzte Abhängigkeiten entfernen

Repository hinzufügen

Repositorien werden in der Datei **/etc/apt/sources.list** oder unter **/etc/apt/sources.list.d/** verwaltet.

  • vi /etc/apt/sources.list
deb http://deb.debian.org/debian bookworm main contrib non-free
deb http://security.debian.org/debian-security bookworm-security main
  • apt update

Manuelle Installation eines .deb-Pakets

Falls ein Paket manuell heruntergeladen wurde, kann es direkt mit dpkg installiert werden.

  • dpkg -i paketname.deb
  • apt -f install # fehlende Abhängigkeiten automatisch nachinstallieren

Beispiel: Git manuell installieren und kompilieren

  • apt install build-essential git -y
  • git clone https://github.com/vim/vim.git
  • apt install libncurses5-dev libncursesw5-dev -y
  • cd vim
  • ./configure
  • make
  • make install


= Red Hat / Rocky / Alma / Fedora – dnf und rpm

Red-Hat-basierte Distributionen verwenden das Paketformat .rpm. Die eigentliche Installation erfolgt über rpm, während dnf (Dandified Yum) als komfortabler Paketmanager die Verwaltung übernimmt.

System aktualisieren

  • dnf update -y

Paketinstallation aus Repository

  • dnf install nginx -y
  • dnf install php php-fpm mariadb-server firewalld -y

Paketinformationen anzeigen

  • dnf info nginx
  • rpm -qi nginx

Paket entfernen

  • dnf remove nginx -y
  • dnf autoremove -y

Repository hinzufügen

Repositorien befinden sich im Verzeichnis /etc/yum.repos.d/. Hier kann eine eigene Datei angelegt werden:

  • vi /etc/yum.repos.d/custom.repo
[custom]
name=Custom Repository
baseurl=http://mirror.local/repo/
enabled=1
gpgcheck=0
  • dnf clean all
  • dnf makecache

Manuelle Installation eines .rpm-Pakets

  • rpm -ivh paketname.rpm
  1. oder über dnf, das Abhängigkeiten automatisch löst:
  • dnf install ./paketname.rpm -y

Software manuell aus Quellcode kompilieren

  • dnf groupinstall "Development Tools" -y
  • dnf install ncurses-devel git -y
  • git clone https://github.com/vim/vim.git
  • cd vim
  • ./configure --with-features=huge --enable-multibyte --enable-python3interp=yes --with-tlib=ncurses
  • make
  • make install

Beispielpaket

Erstelle und installiere ein kleines Beispielprogramm aus Quellcode:

  • dnf install gcc make -y
  • vi hello.c
#include <stdio.h>
int main() {
  printf("Hello, RPM World!\n");
  return 0;
}
  • gcc hello.c -o hello
  • checkinstall --pkgname=hello --pkgversion=1.0 --provides=hello --requires=glibc --install=yes
  • rpm -qi hello

Tar

  • dnf update -y

Paketinstallation aus Repository

  • dnf install nginx -y
  • dnf install php php-fpm mariadb-server firewalld -y

Paketinformationen anzeigen

  • dnf info nginx
  • rpm -qi nginx

Paket entfernen

  • dnf remove nginx -y
  • dnf autoremove -y

Repository hinzufügen

Repositorien befinden sich im Verzeichnis /etc/yum.repos.d/. Hier kann eine eigene Datei angelegt werden:

  • vi /etc/yum.repos.d/custom.repo
[custom]
name=Custom Repository
baseurl=http://mirror.local/repo/
enabled=1
gpgcheck=0
  • dnf clean all
  • dnf makecache

Manuelle Installation eines .rpm-Pakets

  • rpm -ivh paketname.rpm
# oder über dnf, das Abhängigkeiten automatisch löst:
  • dnf install ./paketname.rpm -y

Software manuell aus Quellcode kompilieren

  • dnf groupinstall "Development Tools" -y
  • dnf install ncurses-devel git -y
  • git clone https://github.com/vim/vim.git
  • cd vim
  • ./configure --with-features=huge --enable-multibyte --enable-python3interp=yes --with-tlib=ncurses
  • make
  • make install

Tar