Dr. Linux
Komplizierte Organismen, wie Linux-Systeme es nun einmal sind, haben so ihre ganz eigenen Wehwehchen. Dr. Linux beobachtet die Patienten in den Linux-Newsgruppen, stellt an dieser Stelle Rezepte für aktuelle Probleme aus und alternative Heilmethoden vor.
Her mit den Paketen!
Ich habe bei der Woody-Installation nur meine CD als Paketquelle angegeben. Wie bringe ich APT nun dazu, auch Quellen im Internet zu nutzen? Insbesondere kommen mir Zweifel, ob es richtig war, die Frage nach automatischen Sicherheitsupdates mit "nein" zu beantworten. Kann ich mich auch nachträglich noch dafür entscheiden?
Dr. Linux: Aber natürlich! Debian-Profis editieren zu diesem Zweck die Datei /etc/apt/sources.list, dies erfordert Superuser-Rechte. Neu-Debianern erleichtert das Tool apt-setup diese Arbeit, so dass sie sich für's Erste nicht mit der Syntax dieser Datei auseinandersetzen brauchen (Kasten 1).
Anschließend sorgt der Befehl apt-get update dafür, dass die Beschreibungen der von der jeweiligen Paketquelle bereitgestellten Debian-Pakete in einer lokalen Datenbank gespeichert und auch offline abgefragt werden können. Zählen Verzeichnisse auf Internet-Servern zu den Datenquellen, muss der Datenabgleich selbstverständlich online erfolgen.
Die Angabe der Datenquellen in /etc/apt/sources.list folgt dem Schema
Typ URI Distribution [Kategorie1] [Kategorie2] […]
*
Typ bezeichnet den Pakettyp: Steht an dieser Stelle der Eintrag deb, hält die Quelle vorkompilierte Debian-Pakete bereit, bei deb-src sind es Quellcode-Packages.
- Der
URI("UniformResourceIdentifier") benennt die tatsächliche Datenquelle, von der die Pakete zu holen sind. Hier stehen Einträge wie zum Beispielftp://ftp.de.debian.org/Debian/oderhttp://non-us.debian.org/. Die Manpage zusources.listzeigt weitere Möglichkeiten auf. Während Einträge von Internet-Servern sich noch recht einfach "von Hand" spezifizieren lassen, greift man für die Erfassung von CD-ROMs besser auf das Toolapt-cdrom(oderapt-setup) zurück. - Mit dem Eintrag der
Distributiongeben Sie an, welche Debian-Version Sie installieren möchten:stableist das Codewort für die aktuelle, stabile Version;unstablesteht für die aktuelle Entwicklerversion. Mittestinghaben Benutzer die Möglichkeit, weitestgehend auf dem Stand der Entwicklerversion zu sein, ohne jedoch wirklich instabile Software mit einzuspielen. Alternativ tragen Sie den Namen der Debian-Ausgabe ein, zum Beispielwoodyfür die stabile Version 3.0,sargefür die aktuelletestingodersidfür die jeweilige Entwicklerversion. - Am Ende jeder Zeile stehen die Paket-
Kategorien, aus denen Sie Software in Ihre Datenbank aufnehmen wollen. Dazu zählen main, contrib, non-free und non-US. Mehrfacheinträge werden durch Leerzeichen getrennt.
Eine fertige Datenquellenbeschreibung sieht beispielweise so aus:
deb ftp://ftp.de.debian.org/debian/ stable main
Wer diese Ressourcen von Hand einträgt, sollte darauf achten, dass innerhalb eines Eintrags keine Zeilenumbrüche entstehen und keine Leerzeichen zu Beginn einer Zeile stehen. Sonst weigert sich APT, die Datei abzuarbeiten und gibt Fehlermeldungen aus.
Wenn Sie die Frage nach den automatischen Updates von http://security.debian.org/ stable/updates main bei der Installation negativ beantwortet haben, finden Sie den entsprechenden Eintrag in /etc/apt/sources.list auskommentiert vor. Entfernen Sie das Kommentarzeichen # am Zeilenanfang, und fügen Sie ggf. weitere Software-Kategorien (etwa contrib und non-free) hinzu, wenn Sie auch dafür Sicherheitsupdates wünschen.
Der Befehl apt-get update (Listing 1) ist übrigens nicht nur dann angebracht, wenn Sie Ihre Installationsquellen verändert haben: Das Kommando bringt grundsätzlich Ihre lokale Liste der aktuellen Paketversionen auf den neuesten Stand und lohnt sich – sofern Sie Internet-Server als Software-Bezugsquelle in der sources.list angegeben haben – in regelmäßigen Abständen.
Listing 1
Lokale Paketdatenbank auffrischen
woody:/# apt-get update Get:1 http://security.debian.org stable/updates/main Packages [55.1kB] Get:2 http://security.debian.org stable/updates/main Release [110B] Fetched 9203B in 1s (4620B/s) Reading Package Lists… Done Building Dependency Tree… Done
Verwechseln Sie diesen Befehl nicht mit apt-get upgrade! Dieses Kommando bringt Ihre Debian-Installation auf den neuesten Stand, indem es Sicherheitsupdates und ggf. sonstige aktualisierungsfähige Pakete herunterlädt und anstelle der bereits eingespielten Version installiert (Abbildung 1). Das setzt natürlich eine aktuelle Paketdatenbank voraus.
Kasten 1: apt-setup
Der Superuser-Befehl apt-setup (Abbildung 2) hilft mit einer pseudo-grafischen Oberfläche bei der Konfiguration von /etc/apt/sources.list. Fünf Menü-Punkte stehen zu Auswahl: cdrom erlaubt es zum Beispiel, neu erworbene CD-Sets als Installationsquelle einzurichten. Steht genügend Bandbreite zur Verfügung, lohnt es sich, stattdessen oder zusätzlich Web- (http) oder FTP-Server (ftp) im Internet einzuspannen. Update-Quellen im eigenen Dateisystem (etwa kopierte CDs) fügen Sie unter dem Punkt Dateisystem hinzu. Schließlich erlaubt es der Menüpunkt Quellenliste händisch editieren, mit einem Texteditor (in der Regel vi) den Inhalt von sources.list direkt zu manipulieren.
Haben Sie sich dazu entschieden, FTP-Server zur Aktualisierung anzuzapfen, fragt Sie apt-setup noch, ob Sie Interesse an Paketen aus den Kategorien non-free und contrib haben. Beim erstmaligen Aufruf des ftp-Menüpunkts wählen Sie zudem das Land, in dem die zu nutzenden Maschinen stehen. Hier sollten Sie "Server um die Ecke" bevorzugen, sich also beispielsweise für Germany entscheiden. Anschließend geht es um die Auswahl des Rechners, den Sie vor allen anderen befragen wollen (Abbildung 2); danach erhalten Sie Gelegenheit, weitere FTP-Server einzutragen.
Falls Sie die Sicherheitsupdates von http://security.debian.org/ bisher nicht in Anspruch nehmen, können Sie diese Entscheidung am Ende des apt-setup-Durchgangs revidieren, indem Sie die entsprechende Frage positiv beantworten (Abbildung 3).
Lokal-Kolorit
Die in Listing 2 wiedergegebene Fehlermeldung bringt mich noch zur Verzweiflung! Wie bekomme ich diese Variablen richtig gesetzt?
Listing 2
Ärger mit den Locales
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "de_DE@euro"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Dr. Linux: Schuld an der Misere ist das Paket locales. Es enthält Dateien und Tools zur Unterstützung nicht-amerikanischer Sprach- und Kulturräume. Wurde es bislang nicht installiert, erledigen Sie das als root rasch mit dem Befehl
apt-get install locales
Ist das Paket auf Ihrem System bereits vorhanden, hat es die von Ihnen gewünschten Einstellungen vermutlich bei der Installation oder nach dem Upgrade "vergessen", und damit sind die Locale-Variablen nicht gesetzt. Glücklicherweise steht mit dpkg-reconfigure ein Werkzeug zur Verfügung, das Pakete neu konfiguriert. Dem Befehl übergeben Sie den Namen des Päckchens als Parameter:
dpkg-reconfigure locales
Zunächst wählen Sie Sprachen und Zeichensätze aus, die für Ihr System in Frage kommen (Abbildung 4). Die kryptischen Kürzel (zum Beispiel de_LU@euro ISO-8859-15) lassen sich leicht entziffern, wenn man weiß, dass zuerst das Sprachkürzel (de für "deutsch"), darauf die regionale Variante (LU für "Luxemburg") und dahinter der verwendete Zeichensatz (ISO-8859-15) aufgeführt werden. @euro steht für "mit Euro-Zeichen", denn dieses ist in den klassischen Zeichensätzen nicht enthalten.
Danach legt die Systemadministratorin die für das Gesamtsystem gültige Sprache fest (Abbildung 5). Sinnvollerweise setzen oder belassen Sie diesen Wert auf C: Damit spricht Ihr System zunächst zwar Englisch, aber Sie vermeiden unter Umständen merkwürdige Effekte, zum Beispiel bei (selbstgeschriebenen) Skripten. Schließlich kann sich auf einem Mehrbenutzersystem wie Linux jeder User individuell für deutschsprachige Programmausgaben auf der Kommandozeile entscheiden.
Sobald Sie dpkg-reconfigure diese beiden Fragen beantwortet haben, schaltet das Tool auf die Kommandozeile "zurück" und informiert, dass es die von Ihnen gewünschten "Locales" generiert:
Generating locales… de_DE.ISO-8859-15@euro… done de_DE.ISO-8859-1… done Generation complete.
Welche das waren, finden Sie anschließend in der Datei /etc/locale.gen aufgeführt. Das Ganze geht übrigens auch ohne dpkg-reconfigure: Dazu editieren Sie /etc/locale.gen von Hand und rufen anschließend den Befehl locale-gen auf.



