staging.inyokaproject.org

Software

Auf dieser Seite geht es um häufig gestellte Fragen rund um das Thema Software/Paketverwaltung sowie den Linux-Kernel.

Software/Paketmanagement

Was sind Pakete bei Ubuntu?

Unter Ubuntu wird, wie bei den meisten anderen Linux-Distributionen auch, sämtliche Software, wie z.B. Anwendungsprogramme, Bibliotheken, Treiber usw. in so genannte Pakete "verpackt". Pakete sind komprimierte Archive, die neben der eigentlichen Software noch spezielle Abhängigkeits- und Versionsinformationen enthalten. So wird die Installation und Aktualisierung von Software erheblich vereinfacht. Da Ubuntu auf Debian basiert, kommt auch hier das Debian-Paketformat (Dateiendung .deb) zum Einsatz. Mehr zu diesem Thema gibt es unter Paketverwaltung.

Wie installiert/deinstalliert man Pakete?

Pakete werden bei Ubuntu über einen Paketmanager mit dem Namen dpkg verwaltet. Hiermit können auf einfache Weise Pakete installiert und aktualisiert werden. Für dpkg gibt es verschiedene grafische Oberflächen. Unter Ubuntu, Xubuntu und Lubuntu kommt Ubuntu Software bzw. deren an die Oberfläche angepasste Version zum Einsatz, bei Kubuntu gibt es die Muon Programmverwaltung. Von der Desktop-Umgebung unabhängig ist dagegen Synaptic, dass aber mehr Kenntnisse erfordert. Details zur Paketinstallation findet man über den Artikel Pakete installieren.

Wie kann man die Liste der Paketquellen bearbeiten?

Der Paketmanager muss natürlich wissen, bei welchen Internet-Quellen Pakete zu finden sind. Dazu greift er auf die Datei /etc/apt/sources.list zurück und durchsucht alle dort eingetragenen Paketquellen nach neuen Paketen. Der Anwender kann komplett neue Quellen oder nur so genannte Sektionen innerhalb von Quellen hinzufügen. Wie das genau funktioniert, erklärt Paketquellen freischalten.

Welche Paketquellen sollte man verwenden?

Man sollte ausschließlich die offiziellen Quellen der aktuell eingesetzten Ubuntu-Version verwenden. Diese enthalten alle das Wort Ubuntu und den Codenamen der Version, z.B. precise. Außerdem kann man noch die Ubuntu Backports verwenden, wenn man unbedingt neuere Programmversionen benötigt. Fremdquellen sollte man vermeiden, insbesondere solche, die Pakete für Debian enthalten. Mehr zum Thema findet man im Artikel Paketquellen.

Wie installiert man ein einzelnes Paket?

Wenn man keinen Internetzugang hat oder ein Paket aus einem anderen Grund nur einzeln vorliegt, kann man es trotzdem mit dem Paketmanager dpkg installieren. Diese Pakete haben alle die Endung .deb. Wie die Installation funktioniert, steht in Paketinstallation DEB. Diese Anleitung beschreibt auch die Möglichkeit, diese Pakete komfortabel per Doppelklick zu installieren.

Gibt es eine Liste der Pakete, die für Ubuntu verfügbar sind?

Ja, eine solche Liste gibt es. Dies ist jedoch keine reine Liste, sondern eine Datenbank, in der auch nach Paketen für die einzelnen Ubuntu-Versionen gesucht werden kann. Auch die Abhängigkeiten werden dort aufgelistet. Die Pakete können direkt einzeln heruntergeladen werden. Man findet die Paketliste unter packages.ubuntu.com 🇬🇧.

Wo finde ich ein passendes Programm für eine bestimmte Aufgabe?

Welches Programm unter für welche Aufgabe geeignet ist, kann man der Übersicht Software entnehmen. Viele Programme gibt es bereits als Pakete für Ubuntu. Falls man ein spezielles Programm sucht, hat man über das Programm Ubuntu Software die Möglichkeit, nach Begriffen im Namen und der Beschreibung der Pakete zu suchen. So findet man vielleicht schon ein passendes Programm. Oft ist hier weniger mehr; soll heißen, am besten den Suchbegriff nicht so eng fassen und vielleicht nur nach Begriffsteilen suchen.

Was machen Pakete wie ubuntu-desktop, kubuntu-desktop oder xubuntu-desktop?

Diese Pakete sind so genannte Metapakete. Sie enthalten selbst kein Programm, sondern sorgen dafür, dass eine Reihe anderer Pakete installiert werden. Wählt man ubuntu-desktop aus, so werden beispielsweise alle Pakete installiert, die auch bei einer Ubuntu-Standardinstallation benutzt werden. Von diesen Metapaketen gibt es noch einige weitere. Sie können ohne Gefahr für das System deinstalliert werden.

Wo befinden sich neue Programmversionen?

Anwendungen werden unabhängig von Ubuntu-Veröffentlichungen entwickelt. Wird eine neue Programm-Version nach dem Erscheinen einer Ubuntu-Version (eigentlich nach dem Version Freeze der Entwicklungsversion) herausgegeben, wird diese nicht in die Paketquellen dieser oder einer früheren Version aufgenommen. Dies entspricht dem Grundsatz von Ubuntu, nach dem "Freeze" keine neuen Funktionen/Versionen von Paketen/Programmen zuzulassen, um das System keinen Risiken hinsichtlich der Stabilität auszusetzen. Natürlich werden diese Pakete bis zum Supportende mit Sicherheitsupdates versorgt. Siehe auch Aktualisierungen.

Will man nun einzelne Anwendungen upgraden, muss man dies u.U. abseits der Paketverwaltung vornehmen. Je nach Projekt kann die neue Version in Form von Quellcode, als vorkompilierte Binärdatei, als DEB-Paket oder in anderen Formen vorliegen. Konkretes ist der jeweiligen Projektseite zu entnehmen.

Einsteiger sollten sich auf DEB-Pakete beschränken, da sich nur diese wieder sauber deinstallieren lassen. Vor der Installation sollte man sich jedoch vergewissern, dass die Vorteile der neuen Version das Eingehen der Risiken bei der Nutzung von Fremdquellen rechtfertigen.

Wie installiere ich Software, die nicht in den offiziellen Paketquellen enthalten ist?

Bei Programmen, die nicht in den offiziellen Paketquellen von Ubuntu enthalten sind, steht unter Umständen eine Fremdquelle zur Verfügung. Details sind dem Artikel Paketquellen freischalten zu entnehmen. Pakete können auch in anderen Formaten (nicht als .deb-Paket) vorliegen. Es ist auch möglich, Pakete alternativer Paketmanager wie z.B. des Red Hat Package Managers zu nutzen. Dazu wird das Programm Alien benötigt.

Die klassische Methode, Programme zu installieren, ist das Kompilieren des Quellcodes. Einige Programmarchive enthalten auch ausführbare Installationsskripte, die eine Installation vereinfachen. Eine genaue Anweisung zur Installation steht in der README-Datei jedes Programms.

Wie installiert man ein tar.gz?

Generell handelt es sich bei einer tar.gz-Datei um ein Archivdatei, hier also eine mit der Komprimierungsmethode gzip gepackte Datei. In ihr können demnach Dateien jeglicher Art enthalten sein - Quellcode, Installationsskripte oder vorkompilierter Quellcode. Die Quelle des Archivs sollte Hinweise auf die Handhabung liefern. Es ist auch üblich, diese Informationen in einer README zu hinterlassen. Man sollte der Aufforderung Folge leisten und diese Datei zuerst lesen.

Wo kann ich Fehler bzw. Bugs melden?

Hat man einen Fehler oder Bug in einem Programm und/oder Paket gefunden, so kann man diesen im Ubuntu-eigenen Bugtrackingsystem Launchpad melden. Wichtig: Launchpad ist nur zum Melden von Bugs gedacht, nicht für Fragen bei Problemen mit dem Programm an sich!

Eine ausführliche Anleitung findet man auch im Artikel Fehler melden.

Der Kernel

Was ist der Kernel?

Der Kernel ist die zentrale Komponente eines Betriebssystems. Jedes Betriebssystem hat einen, dieser verbindet die Hardware und Software miteinander. Unter Linux und somit auch Ubuntu kann der Kernel getauscht werden, z.B. gegen eine neuere Version oder auch eine Variante mit anderen Einstellungen. Es ist sogar möglich, den Kernel selbst zu erstellen. Mehr Infos gibt es unter Kernel.

Mehrere Kerneleinträge im Boot-Manager GRUB 2?

Bei einem Kernelupdate wird der alte Kernel üblicherweise nicht überschrieben. Sollte es zu Problemen mit dem neuen Kernel kommen, hat man nur so die Möglichkeit, mit dem älteren Kernel zu booten und wieder mit einem funktionsfähigen System zu arbeiten. Daher wird ein Kernelupdate nie automatisch einen alten Kernel deinstallieren.

Alte Kernel löschen?

Arbeitet man über eine längere Zeit mit einem Ubuntu-System, so können sich einige Kernel ansammeln. Im Prinzip stören sich die Kernel nicht. Ein häufiges Problem ist aber, dass der Platz auf der /boot-Partition nicht ausreicht. Dies ist insbesondere bei verschlüsselten Systemen der Fall!

Daher sollte man Kernel, die man nicht mehr benutzt, über die Paketverwaltung deinstallieren.

Hardware funktioniert nicht mehr?

Der Kernel kann durch zusätzliche Module erweitert werden. Üblicherweise stecken diese Module in den "Restricted Modules". Diese Module bieten Unterstützung z.B. für proprietäre Grafikkarten oder WLAN-Chipsätze. Sie werden jedoch bei der Installation nicht automatisch mitinstalliert, da die Module aufgrund von Lizenzen nicht frei verteilt werden dürfen.

Zu jedem Kernel gibt es ein passendes Paket mit den "Restricted Modules". Bei der Installation dieser Module ist es sehr wichtig, dass man nicht einfach direkt das zum Kernel passende Paket installiert, sondern unbedingt das dazugehörige Metapaket . Also z.B. nicht linux-restricted-modules-2.6.17-10-generic, sondern das Metapaket linux-restricted-modules-generic.

Bei der Installation dieses Metapakets wird so automatisch das richtige linux-restricted-modules-xxx-Paket installiert und bei zukünftigen Kernelupdates auch das neue, zum neuen Kernel passende Paket nachinstalliert. Falls das Metapaket nicht installiert wurde, so fehlt bei einem Kernelupdate das passende linux-restricted-modules-Paket und als Effekt merkt man, dass z.B. die WLAN-Karte nun nicht mehr läuft, die mit dem alten Kernel noch funktionierte.

Kernel-Updates und Rechnerarchitekturen?

Seit Oktober 2006 gibt es nur noch ein generisches Paket, das für fast alle Architekturen relevant ist. Diese nennt sich umfassend -generic. Diese Architektur bietet Unterstützung für mehrere CPUs bzw. CPU-Kerne, sowie für alle Hersteller. Nur in Ausnahmefällen muss auf die ebenfalls noch vorhandene -i386-Architektur ausgewichen werden.

Sollte man auf einen anderen passenderen Kernel wechseln, ist es auch hier wieder wichtig, dass die Kernel über die Metapakete linux-generic, linux-386 usw. installiert werden. Sonst kommt es zu den schon beschrieben Effekten, dass wichtige Kernelpakete in Zukunft nicht automatisch installiert werden.

Selbst erstellte Kernelmodule?

Eventuell hat man eigene Kernelmodule kompiliert oder Dateien mit einer speziellen Firmware zu den Kernelmodulen kopiert, um die Hardware zum Laufen zu bewegen. Dazu gehören auch Treiber für Grafikkarten, wenn diese nicht über die Paketverwaltung installiert wurden. Ein beliebter Fall ist hier z.B. die manuelle Installation des Treibers für Nvidia-Grafikkarten, um die aktuellste Version dieses Treibers nutzen zu können.

Hierbei ist zu beachten, dass diese Aktionen nur für den aktuell laufenden Kernel durchgeführt werden. Wird ein neuer Kernel installiert, so muss man selbst erstellte Kernelmodule wieder neu erzeugen. Daher sollte man bei eigenen Kernelmodulen auf jeden Fall dokumentieren, wie man ein Modul installiert hat, so dass man diesen Schritt bei Bedarf wiederholen kann. Fortgeschrittene nutzen DKMS, um diesen Vorgang zu automatisieren.

Änderungen am GRUB-2-Bootloader?

Solche Änderungen sollten nicht ohne das Wissen, wie sie funktionieren, vorgenommen werden! Empfehlenswert zum Thema ist der Artikel GRUB 2/Problembehebung.

Diese Revision wurde am 14. Januar 2022 16:47 von noisefloor erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Ubuntu, Einsteiger