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
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
.debDateien. - 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
- Paket-Cache leeren
Verwenden Sie den Befehlapt cleanum alle zwischengespeicherten Paketdateien zu entfernen:sudo apt cleanDadurch wird das/var/cache/apt/archivesVerzeichnis geleert, in dem heruntergeladene.debDateien gespeichert werden. - Unvollständige Downloads entfernen
Wenn ein Download unterbrochen wurde oder beschädigt ist, entfernen Sie Teildateien mit:sudo apt autocleanDadurch 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 Sieapt upgradeoderapt full-upgradeum 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”