Verwaltung von Paketen und Diensten in FreeBSD / OpenBSD / NetBSD

Verwaltung von Paketen und Diensten in FreeBSD / OpenBSD / NetBSD

06.03.2024
Autor: HostZealot Team
2 min.
90

FreeBSD, OpenBSD und NetBSD sind Betriebssysteme, die eine Alternative zu Linux im Paradigma der UNIX-ähnlichen Betriebssysteme darstellen. Auch sie werden häufig als Serverbetriebssysteme eingesetzt und haben sowohl ihre Vorteile als auch ihre Besonderheiten. Heute werden wir insbesondere die Paketverwaltung in diesen drei Betriebssystemen untersuchen.

Erforschung von FreeBSD 

Unter den Protagonisten dieses Artikels ist FreeBSD das beliebteste System. Seine wichtigsten Eigenschaften sind:

Portabilität: Es ist auf x86, ARM, AArch64, RISC-V, POWER und PowerPC Architekturen verfügbar.

Stabilität und Zuverlässigkeit: FreeBSD wird oft für seine Stabilität und Zuverlässigkeit gelobt. Außerdem ist das System sehr gut für die Vernetzung mit dem TCP/IP-Stack geeignet.

Virtualisierungs-Jails: Virtualisierungs-Jails sind leichtgewichtige, integrierte Virtualisierungslösungen zur Schaffung isolierter Umgebungen und zur Verbesserung der Sicherheit und des Ressourcenmanagements.

Ports-Sammlung: Die Ports-Sammlung ist ein leistungsfähiges Framework für die Verwaltung und Installation von Drittanbieter-Anwendungen.

ZFS-Dateisystem: FreeBSD unterstützt das ZFS-Dateisystem mit Funktionen wie Datenintegritätsprüfung, Unterstützung für große Speicherkapazitäten, effiziente Datenkompression und robuste Snapshot-Funktionen.

Sicherheit: Unter anderem hat FreeBSD einen Schwerpunkt auf Sicherheit, was sich in einem proaktiven Sicherheitsteam, regelmäßigen Sicherheitsupdates und einer Standardinstallation, die sichere Konfigurationen bevorzugt, ausdrückt.

Überblick über OpenBSD

Ein weiteres 4.4BSD-basiertes UNIX-ähnliches Multiplattform-Betriebssystem mit dem Schwerpunkt auf Portabilität, Standardisierung, Korrektheit, Sicherheit und integrierter Kryptographie. OpenBSD ist frei verfügbar. Es wird von Enthusiasten entwickelt und wurde für eine Reihe erfolgreicher Projekte verwendet.

Hauptmerkmale von NetBSD

NetBSD ist ein freies und quelloffenes UNIX-ähnliches Betriebssystem. Seine Eigenschaften umfassen:

Portabilität: NetBSD ist hochgradig portabel und wird auf x86, ARM, MIPS, SPARC, PowerPC und mehr unterstützt.

Plattformübergreifende Kompatibilität: Das Paketsystem von NetBSD ist hochgradig portabel und plattformübergreifend, so dass Sie Softwarepakete auf verschiedenen Unix-ähnlichen Betriebssystemen erstellen und installieren können.

Unterstützung moderner Speichertechnologien: NetBSD unterstützt ZFS-Dateisysteme, RAIDframe-Software, RAID-Systeme und cgd-Plattenverschlüsselung.

ARM-Hardware-Unterstützung: NetBSD verfügt über eine solide Unterstützung für ARM-Architekturen, wodurch es vielseitig auf einer Vielzahl von ARM-basierten Geräten eingesetzt werden kann, von eingebetteten Systemen bis hin zu Einplatinencomputern und ARM-basierten Servern.

Xen- und NVMM-Virtualisierungsunterstützung: Diese Virtualisierungsunterstützung ermöglicht es Benutzern, mehrere Betriebssysteme gleichzeitig auf derselben Hardware auszuführen, wobei jedes Betriebssystem in seiner eigenen isolierten virtuellen Umgebung läuft.

Unterstützung für moderne x86-Hardware: NetBSD bietet eine starke Unterstützung für moderne x86-Hardware, einschließlich der Kompatibilität mit einer breiten Palette von Prozessoren, Chipsätzen und Peripheriegeräten, die in modernen PC-Systemen üblich sind.

Verwaltung von Paketen und Diensten in FreeBSD, OpenBSD und NetBSD

1. Verwaltung von Paketen und Diensten in FreeBSD

Die Installation von Software von Drittanbietern in FreeBSD erfolgt mit Hilfe von zwei Technologien - FreeBSD Ports Collection und FreeBSD Package Manager.

Die FreeBSD Ports Collection enthält eine Reihe von Dateien, die für die automatische Kompilierung einer Anwendung aus dem Quellcode verwendet werden. Dieser Satz von Dateien enthält die notwendigen Informationen für das automatische Herunterladen, Extrahieren, Patchen, Kompilieren und Installieren einer Anwendung.

Außerdem gibt es eine große Anzahl von Anwendungen, die bereits auf FreeBSD portiert sind und in vorkompilierter Form heruntergeladen werden können.

Die Befehle der FreeBSD-Paketverwaltung werden verwendet, um eine Vielzahl von Aktivitäten mit Paketen durchzuführen. Solche Manipulationen wie Registrieren, Hinzufügen, Entfernen, Aktualisieren und mehr werden mit Hilfe des pkg-Paketmanagers durchgeführt.

Beide Ansätze wissen, wie man mit Abhängigkeiten umgeht.

Falls eine Bibliothek fehlt, während eine App installiert wird, wird diese automatisch hinzugefügt.

Verwendung der Ports Collection

Die Ports Collection besteht aus einer Reihe von makefiles, das sind verschiedene Arten von Dateien, die an der Kompilierung und Installation einer Anwendung unter FreeBSD beteiligt sind. Das ursprüngliche Verzeichnis für die Ports-Sammlung ist /usr/ports/.

In der Ports Collection finden Sie Verzeichnisse für jede Software-Kategorie, die wiederum in Unterverzeichnisse unterteilt sind, mit Dateien, die im Grunde genommen Anweisungen zur Kompilierung und Installation einer Anwendung sind, die gemeinhin als Ports-Skelett bezeichnet werden. Die grundlegenden Dateien und Verzeichnisse für ein Ports-Skelett sind:

makefile: Enthält Anweisungen für die Kompilierung und den Ort der zu installierenden Komponenten.

distinfo: Enthält Namen und Prüfsummen von Dateien, die für die Erstellung des Ports heruntergeladen werden sollen.

files/: Patches, die für die Kompilierung und Installation benötigt werden.

pkg-descr: Eine detaillierte Programmbeschreibung.

pgk-plist: Die Liste der zu installierenden Dateien.

Verfahren zur Installation von Ports und Upgrades

Die FreeBSD-Port-Sammlung ist ein System zur Verwaltung und Installation von Anwendungen von Drittanbietern auf Ihrem FreeBSD-System. Sehen wir uns einige der grundlegenden Befehle an.

  • Aktualisieren des Ports-Baums, ein notwendiger Vorgang, der vor der Installation oder Aktualisierung von irgendetwas durchgeführt werden muss:
sudo portsnap fetch update
  • Zum Ports-Verzeichnis navigieren: Jedes Softwarepaket hat sein eigenes Verzeichnis in der Ports-Sammlung. Für die Installation verschiedener Software müssen Sie möglicherweise zwischen den Verzeichnissen wechseln. Wenn Sie zum Beispiel den Apache-Webserver installieren möchten, müssen Sie in das Apache-Verzeichnis wechseln:
cd /usr/ports/www/apache24
  • Überprüfen und Anpassen der Optionen: In vielen Ports können Sie die Software anpassen, bevor Sie sie installieren. Mit dem Befehl "make config" können Sie ein Menü mit den verfügbaren Optionen öffnen:
  • Nachdem alle Optionen konfiguriert wurden, können Sie die Software mit dem Befehl kompilieren und installieren:
make install clean
  • Im FreeBSD Ports-System werden Abhängigkeiten automatisch verwaltet. Das heißt, wenn die Anwendung, die Sie installieren, auf andere Pakete angewiesen ist, sorgt das Ports-System dafür, dass diese Abhängigkeiten ebenfalls installiert werden.
  • Aktualisieren von installierten Ports: Um einen bereits installierten Port zu aktualisieren, sollten Sie zu seinem Verzeichnis navigieren und den Befehl make upgrade ausführen:
cd /usr/ports/www/apache24
make upgrade

Auf diese Weise holen Sie sich den neuesten Quellcode, kompilieren die Software neu und aktualisieren sie auf die neueste Version.

  • Um einen Port zu entfernen, sollten Sie den make deinstall Befehl verwenden:
make deinstall

Während die Software deinstalliert wird, bleiben die Abhängigkeiten bestehen.

  • Wenn Sie einen bestimmten Port finden müssen, verwenden Sie den make search Befehl:

make search keyword=nginx

  • Zusätzliche Tools: Neben den oben beschriebenen gibt es eine Reihe von zusätzlichen Werkzeugen für die Verwaltung von Ports, wie  portmaster, poudriere, und andere.

Dienstverwaltung in FreeBSD

Schauen wir uns an, wie man Dienste unter FreeBSD verwaltet.

Um den Nginx Web Service unter FreeBSD zu starten, müssen Sie nginx_enable in der Datei /etc/rc.conf auf YES ändern:

nginx_enable="YES"

Führen Sie dann den Befehl aus:

$ sudo /usr/local/etc/rc.d/nginx start

oder:

$ service nginx start

Umgekehrt kann der Webserver-Dienst Nginx gestoppt werden:

$ sudo /usr/local/etc/rc.d/nginx stop

oder:

service nginx stop

So starten Sie den Nginx-Webserverdienst neu:

$ sudo /usr/local/etc/rc.d/nginx restart

oder:

sudo service nginx restart

So überprüfen Sie die Nginx-Konfigurationsdatei auf Fehler:

$ sudo nginx -c /usr/local/etc/nginx/nginx.conf -t

2. Verwaltung von Paketen und Diensten in NetBSD

Um Software von Drittanbietern in NetBSD zu verwalten und zu installieren, wird das pkgsrc Framework verwendet. Das Framework kann entweder verwendet werden, um Paketwerkzeuge zu installieren oder um vorgefertigte Binärpakete zu verwenden, oder um eigene Pakete zu erstellen, indem man sie mit Paketen von Drittanbietern kombiniert.

Installation von Binärpaketen mit pkgin

NetBSD enthält standardmäßig Binärdateien für eine Vielzahl von Softwarepaketen. Ein üblicher Weg, diese zu installieren, ist mit pkgin im Standardverzeichnis /usr/pkg/.

Falls pkgin noch nicht installiert ist, können Sie es auch selbst tun:

sudo pkg_add pkgin

Paket aktualisieren:

sudo pkgin update && pkgin upgrade -y

Suchen Sie nach einem Paket:

pkgin search <pkg_name

Paket-Installation:

pkgin install <pkg_name

Installation und Suche nach dem Webserver Nginx:

$ sudo pkgin install nginx
$ pkgin search nginx

Die Liste der installierten Pakete:

$ pkgin list

Um zu sehen, was für pkgin verfügbar ist:

$ pkgin help

Entfernen eines Pakets:

$ sudo pkgin remove nginx

Verwaltung von Systemdiensten

In NetBSD werden der Systemstart und die Verwaltung der Dienste durch das rc(8)-System durchgeführt, das in /etc/rc.d gespeichert ist.

Schauen wir uns als Beispiel an, wie man Apache installiert und verwaltet:

sudo pkgin install apache

Neu starten:

$ sudo /etc/rc.d/httpd onerestart

Ansonsten kann man /etc/rc.conf bearbeiten und httpd aktivieren:

sudo vim /etc/rc.conf


##httpd aktivieren
httpd=YES

Neu starten:

$ sudo service httpd restart

Anhalten:

$ sudo service httpd stop

Führen Sie httpd beim Start auf Port 8080 aus und fügen Sie die Datei hinzu:

$ sudo vim /etc/rc.conf
##Hinzufügen dieser Parameter##
httpd_flags='-I 8080'

Neustart.

3. Umgang mit Packages und Diensten in OpenBSD

pkg_add ist der Paketmanager von OpenBSD, der besonders für die Installation von Anwendungen von Drittanbietern im Binärformat verwendet wird.

Wenn sudo bereits installiert wurde, editieren Sie die sudo-Datei, so dass die Benutzerdetails enthalten sind:

# pkg_add sudo
#visudo

Aktualisieren Sie zunächst Ihre Systempakete:

sudo pkg_add -u

Installieren eines Pakets:

sudo pkg_add <pkg_name

Entfernt ein Paket:

sudo pkg_delete <pkg_name

Auffinden eines installierten Pakets:

pkg_info -Q <pkg_name

Informationen zu den Paketen anzeigen:

pkg_info <pkg_name

Dienstverwaltung (System-Daemons)

System-Daemons werden durch das rc(8)-Skript über rc.d(8) reguliert. Die meisten Dienste und Daemons werden unter OpenBSD über Variablen aus /etc/rc.conf installiert.

Anstatt die Konfigurationsdatei zu modifizieren, ist es im Allgemeinen bequemer, das rcctl-Werkzeug zu benutzen, um Änderungen in der Datei zu vermeiden, die möglicherweise mit Upgrades interferieren könnten.

Um Apache zu installieren und Dienste zu verwalten:

sudo pkg_add php
sudo pkg_add php-apache
sudo pkg_add php-mysqli

Aktivieren Sie Apache:

sudo rcctl enable apache2

Starten des Apache-Dienstes:

sudo rcctl start apache2
apache2(ok)

Überprüfen des Status von Apache2:

rcctl check apache2
apache2(ok)

Stoppen des Apache2-Dienstes:

$ sudo rcctl stop apache2
apache2(ok)

Schlussfolgerung

Dies war der Überblick über die Paket- und Dienstverwaltung von FreeBSD, OpenBSD und NetBSD. Wir hoffen, dass wir alle wesentlichen Grundlagen abgedeckt haben und dass Sie nun mehr Sicherheit haben, wenn Sie sich mit diesen Betriebssystemen vertraut machen. Viel Erfolg!

Verwandte Artikel