06. Software auf Ubuntu Server installieren und verwalten: Eine vollständige Anleitung

Software zu verwalten ist eine grundlegende Fähigkeit für jeden Ubuntu-Server-Administrator. Ob Sie in einer Cloud-Umgebung wie Azure, AWS oder GCP arbeiten oder lokale Infrastruktur verwalten — das Verständnis von Paketverwaltungstools wie APT für die Aufrechterhaltung eines sicheren und optimierten Systems unerlässlich.

In dieser Anleitung behandeln wir die Grundlagen der Installation, Aktualisierung und Verwaltung von Software, untersuchen Cloud-spezifische Szenarien, beheben häufige Probleme und liefern praktische Beispiele, damit Sie die Ubuntu-Server-Administration meistern.


Früherer Artikel:

01. Einführung in Ubuntu Server – SysOSX: AI & Cloud

02. So richten Sie Ihren ersten Ubuntu-Server ein: Ein Leitfaden für Einsteiger – SysOSX: AI & Cloud

03. Die Linux-Befehlszeile für Ubuntu Server beherrschen – SysOSX: AI & Cloud

04. Benutzer- und Berechtigungsverwaltung auf Ubuntu Server: Ein umfassender Leitfaden – SysOSX: AI & Cloud

05. Netzwerkgrundlagen für Ubuntu Server: Ein umfassender Leitfaden – SysOSX: AI & Cloud



1. APT und Paketverwaltung auf Ubuntu verstehen

Ubuntu Server verwendet APT (Advanced Package Tool) als primären Paketmanager. APT vereinfacht die Softwareverwaltung, indem es Abhängigkeiten automatisch auflöst und Repositories als vertrauenswürdige Quellen für Pakete nutzt.

Wichtige Komponenten von APT:

  • apt: Befehlszeilentool zur Verwaltung von Paketen.
  • dpkg: Low-Level-Paketmanager für .deb Dateien.
  • Repositories: Online-Quellen, in denen Ubuntu-Pakete gespeichert und abgerufen werden.

2. Software mit APT installieren

Um Software auf Ubuntu Server zu installieren, verwenden Sie den Befehl apt install .

Beispiel: Apache-Webserver installieren

  • Aktualisieren Sie die Paketliste:
sudo apt update 

Ausgabe:

Hit:1 http://azure.archive.ubuntu.com/ubuntu noble InRelease
Get:2 http://azure.archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB]
Get:3 http://azure.archive.ubuntu.com/ubuntu noble-backports InRelease [126 kB]
Get:4 http://azure.archive.ubuntu.com/ubuntu noble-security InRelease [126 kB]
Get:5 http://azure.archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages [922 kB]
Get:6 http://azure.archive.ubuntu.com/ubuntu noble-updates/main amd64 Components [151 kB]
Get:7 http://azure.archive.ubuntu.com/ubuntu noble-updates/universe amd64 Components [364 kB]
Get:8 http://azure.archive.ubuntu.com/ubuntu noble-updates/restricted amd64 Components [212 B]
Get:9 http://azure.archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 Components [940 B]
Get:10 http://azure.archive.ubuntu.com/ubuntu noble-backports/main amd64 Components [7076 B]
Get:11 http://azure.archive.ubuntu.com/ubuntu noble-backports/universe amd64 Components [21.3 kB]
Get:12 http://azure.archive.ubuntu.com/ubuntu noble-backports/restricted amd64 Components [212 B]
Get:13 http://azure.archive.ubuntu.com/ubuntu noble-backports/multiverse amd64 Components [212 B]
Get:14 http://azure.archive.ubuntu.com/ubuntu noble-security/main amd64 Components [9024 B]
Get:15 http://azure.archive.ubuntu.com/ubuntu noble-security/universe amd64 Components [51.9 kB]
Get:16 http://azure.archive.ubuntu.com/ubuntu noble-security/restricted amd64 Components [208 B]
Get:17 http://azure.archive.ubuntu.com/ubuntu noble-security/multiverse amd64 Components [208 B]
Fetched 1907 kB in 1s (2778 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
15 packages can be upgraded. Run 'apt list --upgradable' to see them.
  • Apache installieren:
sudo apt install apache2

3. Software entfernen

Wenn Sie ein Paket nicht mehr benötigen, können Sie es mit den Befehlen apt remove oder apt purge .

Beispiel: Apache entfernen

sudo apt remove apache2

Ausgabe:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  apache2
...
After this operation, 2 MB disk space will be freed.
Do you want to continue? [Y/n]

Um es vollständig zu entfernen, einschließlich der Konfigurationsdateien:

sudo apt purge apache2


4. Pakete aktualisieren und upgraden

Regelmäßige Updates sind für die Systemsicherheit und -stabilität von entscheidender Bedeutung.

Befehle:

  • Paketliste aktualisieren
sudo apt update 
  • Installierte Pakete upgraden
sudo apt upgrade
  • Vollständiges Upgrade (einschließlich Kernel-Updates)
sudo apt full-upgrade

Ausgabe:

The following packages will be upgraded:
  linux-image-5.4.0-91-generic linux-headers-5.4.0-91-generic ...
Do you want to continue? [Y/n]

5. Repositories verwalten

Repositories sind für die Paketverwaltung unerlässlich. Standardmäßig verwendet Ubuntu offizielle Repositories, aber bei Bedarf können weitere Repositories hinzugefügt, geändert oder entfernt werden.

Repositories im Deb822-Format verwalten

Neuere Ubuntu-Versionen sind zum Deb822-Format für die Repository-Verwaltung übergegangen. Anstatt die herkömmliche /etc/apt/sources.list Datei zu verwenden, werden Repositories jetzt über .sources Dateien verwaltet, die sich im /etc/apt/sources.list.d/ Verzeichnis befinden.

Aktuelle Repositories anzeigen

Um Ihre aktuellen Repositories anzuzeigen, prüfen Sie die .sources Dateien in /etc/apt/sources.list.d/:

ls /etc/apt/sources.list.d/

Zum Beispiel:

cat /etc/apt/sources.list.d/ubuntu.sources

Eine .sources Datei im Deb822-Format sieht so aus:

Types: deb
URIs: http://archive.ubuntu.com/ubuntu/
Suites: noble-security
Components: main universe restricted multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

Ein Repository hinzufügen

Um ein neues Repository im Deb822-Format hinzuzufügen, erstellen Sie eine .sources Datei in /etc/apt/sources.list.d/. Um beispielsweise ein benutzerdefiniertes PPA-Repository hinzuzufügen:

sudo nano /etc/apt/sources.list.d/custom.sources

Fügen Sie den gewünschten angepassten Inhalt hinzu:

Types: deb
URIs: http://customizedurl/
Suites: noble
Components: main
Signed-By: /usr/share/keyrings/repository-name.gpg

Speichern Sie die Datei und aktualisieren Sie die Paketliste:

sudo apt update

Ein Repository entfernen

Um ein Repository zu entfernen, löschen Sie die entsprechende .sources Datei aus /etc/apt/sources.list.d/:

sudo rm /etc/apt/sources.list.d/custom.sources
sudo apt update

Vorteile des Deb822-Formats

  • Strukturierte Konfiguration: Trennt Repository-Typen, URIs, Suites und Komponenten klar voneinander.
  • Verbesserte Sicherheit: Ermöglicht die Angabe von GPG-Schlüsseln für die Repository-Signierung über das Feld Signed-By .
  • Bessere Kompatibilität: Mehrere Repositories lassen sich in Cloud- und containerisierten Umgebungen leichter verwalten.

Weitere Einzelheiten finden Sie auf der Handbuchseite sources.list(5).


6. Paket-Cache verwalten

APT verwendet ein Cache-System, um heruntergeladene Paketdateien und Metadaten lokal zu speichern. Dieser Cache beschleunigt Vorgänge wie Softwareinstallation und Updates, kann aber mit der Zeit wachsen und Speicherplatz belegen. Zu verstehen, wie der Cache verwaltet wird, ist wichtig, um die Systemleistung zu erhalten und Ressourcen freizusetzen.

Cache-Größe prüfen

So prüfen Sie, wie viel Speicherplatz der Cache belegt:

sudo du -sh /var/cache/apt/

Beispielausgabe:

126M    /var/cache/apt/

Cache bereinigen

  1. Paket-Cache leeren
    Verwenden Sie den Befehl apt clean um alle zwischengespeicherten Paketdateien zu entfernen:sudo apt clean Dadurch wird das /var/cache/apt/archives Verzeichnis geleert, in dem heruntergeladene .deb Dateien gespeichert werden.
  2. Unvollständige Downloads entfernen
    Wenn ein Download unterbrochen wurde oder beschädigt ist, entfernen Sie Teildateien mit:sudo apt autoclean Dadurch werden nur veraltete Dateien und Teildownloads entfernt.

Beispielausgabe für die Cache-Bereinigung

sudo apt clean
sudo apt autoclean

Ausgabe:

Cleaning up /var/cache/apt/archives...
Removing unused files...
Done.

Cache neu aufbauen

Wenn Sie vermuten, dass die Cache-Metadaten beschädigt sind, bauen Sie den Cache neu auf, indem Sie die Paketliste aktualisieren:

sudo apt update 

Dadurch wird der lokale Cache mit den neuesten Metadaten aus den Repositories aktualisiert.


7. Cloud-Szenarien: Softwareverwaltung in Azure, AWS und GCP

In Cloud-Umgebungen funktioniert die Softwareverwaltung auf Ubuntu Server ähnlich wie bei lokalen Installationen. Es gibt jedoch zusätzliche Aspekte zu beachten:

Azure

  • Azure bietet Custom Script-Erweiterungen , um die Softwareinstallation während der VM-Bereitstellung zu automatisieren.
  • Beispiel: Verwenden eines Skripts zur Installation von Nginx:
az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name CustomScript \
  --publisher Microsoft.Azure.Extensions \
  --settings '{"commandToExecute":"sudo apt update && sudo apt install -y nginx"}'

AWS

  • Verwenden Sie User-Data-Skripts um Software während des Starts von Instanzen zu installieren.
  • Beispiel: Docker auf einer EC2-Instanz installieren:
#!/bin/bash
sudo apt update
sudo apt install -y docker.io

GCP

  • Verwenden Sie Startskripts um die Softwareinstallation auf VM-Instanzen zu verwalten.
  • Beispiel: MySQL installieren:
#!/bin/bash
sudo apt update
sudo apt install -y mysql-server

8. Behebung häufiger Probleme bei der Installation oder Deinstallation

1. Paket nicht gefunden

Wenn ein Paket nicht gefunden wird, stellen Sie sicher, dass das Repository aktiviert ist:

sudo apt update 
sudo apt update

2. Abhängigkeitsfehler

Fehlende Abhängigkeiten beheben:

sudo apt --fix-broken install

3. Repository-Probleme

Auf Repository-Fehler prüfen:

sudo apt update 

Beispielausgabe:

Err:1 http://ppa.launchpad.net/repository-name/ubuntu noble Release
  404 Not Found

Lösung: Entfernen oder korrigieren Sie den Repository-Eintrag in /etc/apt/sources.list.

4. Deinstallation hinterlässt Restdateien

Übrig gebliebene Dateien bereinigen:

sudo apt autoremove
sudo apt purge package-name

5. Berechtigung verweigert

Stellen Sie sicher, dass Sie Root-Rechte haben:

sudo apt install package-name


9. Bewährte Verfahren für die Paketverwaltung

  • Vor der Softwareinstallation immer aktualisieren
sudo apt update 
  • System regelmäßig upgraden
    Verwenden Sie apt upgrade oder apt full-upgrade  um Ihr System sicher zu halten.
  • Unnötige Pakete entfernen
sudo apt autoremove
  • Vertrauenswürdige Repositories verwenden
    Vermeiden Sie Drittanbieter-Repositories, es sei denn, sie sind erforderlich.
  • Paketänderungen in Cloud-Umgebungen überwachen
    Automatisieren Sie Updates mithilfe von Skripten oder Konfigurationsmanagement-Tools wie Ansible.
  • Cache regelmäßig leeren
    Leeren Sie den Cache regelmäßig, um Speicherplatz freizugeben:
sudo apt clean

Fazit

Ob Sie einen lokalen Server verwalten oder in der Cloud arbeiten – die Beherrschung der Softwareinstallation und -verwaltung auf Ubuntu Server ist entscheidend für die Aufrechterhaltung eines sicheren und effizienten Systems. Wenn Sie die in dieser Anleitung beschriebenen bewährten Verfahren befolgen, können Sie sicherstellen, dass Ihr Server optimiert bleibt und für jede Arbeitslast bereit ist.

Weitere Informationen finden Sie in der offiziellen Ubuntu-Dokumentation zu APT.

Wie geht es weiter?

Im nächsten Artikel werden wir uns eingehender mit dem Patchen und Aktualisieren von Ubuntu Server, einer kritischen Aufgabe für die Aufrechterhaltung von Sicherheit und Stabilität, befassen. Sie werden lernen:

  • Warum Patchen für Sicherheit und Stabilität von entscheidender Bedeutung ist und wie es Schwachstellen verhindert.
  • Verwendung von apt zum effektiven Aktualisieren und Upgraden Ihres Servers.
  • Die Unterschiede zwischen apt update, apt upgrade, und apt full-upgrade um häufige Fehler zu vermeiden.
  • Automatisierung von Updates mit unattended-upgrades um Zeit zu sparen und Konsistenz zu gewährleisten.
  • Umgang mit Kernel-Updates und den Server mithilfe der reboot-required -Benachrichtigungen ordnungsgemäß neu zu starten.

Bleiben Sie dran für umsetzbare Erkenntnisse, wie Sie Ihren Ubuntu Server sicher und aktuell halten!

4 thoughts on “06. Installing and Managing Software on Ubuntu Server: A Complete Guide”

Kommentar hinterlassen