live-config(7) System Konfiguration Skripte

BESCHREIBUNG

live-config enthält die Skripte welche ein Debian Live System während des Startvorganges (late userspace) konfigurieren.

KONFIGURATION

live-config kann durch Boot Parameter oder Konfigurationsdateien konfiguriert werden. Werden beide Mechanismen für eine bestimmte Option benutzt, so gehen die Boot Parameter den Konfigurationsdateien vor. Wird Persistenz benutzt, so werden die live-config Skripte nur einmal ausgeführt.

Boot Parameter (Skripte)

live-config ist nur aktiviert, wenn 'boot=live' als Boot Parameter benutzt wird. Zusätzlich muss live-config durch den Parameter 'live-config' angegeben werden, welche Skripte ausgeführt werden sollen, oder mit dem Parameter 'live-noconfig', welche Skripte nicht ausgeführt werden sollen. Werden beide beide Parameter oder mehrmals benützt, so geht der in der Reihenfolge lezte allen vorhergehenden vor.

live-config | config
Alle Skripte werden ausgeführt. Auf Debian Live Images ist dies das Standardverhalten.
live-config=SKRIPT1,SKRIPT2, ... SKRIPTn | config=SKRIPT1,SKRIPT2, ... SKRIPTn
Nur angegebene Skripte werden ausgeführt. Die Reihenfolge ist wesentlich, d.h. 'live-config=sudo,user-setup' würde nicht funktionieren da der Benutzer zuerst angelegt werden muss bevor für ihn sudo konfiguriert werden kann. Siehe Dateinamen der Skripte in /lib/live/config für ihre Ordnungsnummer.
live-noconfig | noconfig
Kein Skript wird ausgeführt. Dies ist das Gleiche, wie wenn weder 'live-config' noch 'live-noconfig' verwendet wird.
live-noconfig=SKRIPT1,SKRIPT2, ... SKRIPTn | noconfig=SKRIPT1,SKRIPT2, ... SKRIPTn
Alle Skripte werden ausgeführt, ausser die hier spezifizierten Ausnahmen.

Boot Parameter (Optionen)

Manche einzelne Skripte können durch Boot Parameter in ihrem Verhalten beinflusst werden.

live-config.hostname=RECHNERNAME | hostname=RECHNERNAME
Ermöglicht den Rechnernamen des Systems zu wählen. Der Standardname ist 'debian'.
live-config.username=BENUTZERNAME | username=BENUTZERNAME
Ermöglicht den Namen des Benutzers zu wählen, welcher für den automatischen Login angelegt wird. Der Standardname ist 'user'.
live-config.user-fullname="VOLLER BENUTZERNAME" | user-fullname="VOLLER BENUTZERNAME"
Ermöglicht den vollen Name für den Benutzer zu wählen, welcher für den automatischen Login angelegt wird. Der Standard ist 'Debian Live user'.
live-config.locales=GEBIETSSCHEMA1,GEBIETSSCHEMA2 ... GEBIETSSCHEMAn | locales=GEBIETSSCHEMA1,GEBIETSSCHEMA2 ... GEBIETSSCHEMAn
Ermöglicht das Gebietsschema des Systems zu wählen, zum Beispiel 'de_CH.UTF-8'. Der Standard ist 'en_US.UTF-8'. Falls das gewünschte Gebietsschema nicht schon auf dem System verfügbar ist, wird es automatisch bei Bedarf generiert.
live-config.timezone=ZEITZONE | timezone=ZEITZONE
Ermöglicht die Zeitzone des Systems einzustellen, zum Beispiel 'Europe/Zurich'. Der Standard ist 'UTC'.
live-config.utc=yes|no | utc=yes|no
Ermöglicht zu bestimmen, ob das System davon ausgehen soll, dass die Hardwareuhr auf UTC gestellt ist oder nicht. Der Standard ist 'yes'.
live-config.keyboard-model=TASTATUR_MODELL | keyboard-model=TASTATUR_MODELL
Ermöglicht das Tastatur Modell zu bestimmen. Es ist kein Standardwert gesetzt.
live-config.keyboard-layouts=TASTATUR_LAYOUT1,TASTATUR_LAYOUT2 ... TASTATUR_LAYOUTn | keyboard-layouts=TASTATUR_LAYOUT1,TASTATUR_LAYOUT2 ... TASTATUR_LAYOUTn
Ermöglicht die Tastatur Layouts zu bestimmen. Wenn mehr als ein Layout angegeben wird, ermöglichen die Tools der Desktopumgebung das Wechseln unter X11. Es ist kein Standardwert gesetzt.
live-config.keyboard-variant=TASTATUR_VARIANT | keyboard-variant=TASTATUR_VARIANT
Ermöglicht die Tastatur Variante zu bestimmen. Es ist kein Standardwert gesetzt.
live-config.keyboard-options=TASTATUR_OPTIONEN | keyboard-options=TASTATUR_OPTIONEN
Ermöglicht die Tastatur Optionen zu bestimmen. Es ist kein Standardwert gesetzt.
live-config.sysv-rc=SERVICE1,SERVICE2 ... SERVICEn | sysv-rc=SERVICE1,SERVICE2 ... SERVICEn
Ermöglicht Services durch update-rc.d abzuschalten.
live-config.x-session-manager=X_SESSION_MANAGER | x-session-manager=X_SESSION_MANAGER
Ermöglicht den x-session-manager durch update-alternatives zu konfigurieren.
live-config.xorg-driver=XORG_TREIBER | xorg-driver=XORG_TREIBER
Ermöglicht den Xorg Treiber manuell statt automatisch zu bestimmen.
live-config.xorg-resolution=XORG_AUFLÖSUNG | xorg-resolution=XORG_AUFLÖSUNG
Ermöglicht die Xorg Auflösung manuell statt automatisch zu bestimmen.
live-config.hooks=filesystem|medium|URL1|URL2| ... |URLn | hooks=URL1|URL2| ... |URLn
Ermöglicht eine oder mehrere beliebige Dateien herunterzuladen und auszuführen. Die URLs müssen durch wget (http, ftp oder file://) aufösbar sein, die Dateien werden in /tmp des laufenden Live Systems ausgeführt und es müssen alle Abhängigkeiten, die für das Ausführen der Dateien notwendig sind,bereits installiert sein, zum Beispiel muss für ein Python Skript bereits Python auf dem System installiert sein. Einige Hooks für häufige Anwendungsfälle sind in /usr/share/doc/live-config/examples/hooks/ und unter <http://live.debian.net/other/hooks> verfügbar.
Falls die Datei sich auf dem Live Medium befindet, kann sie mittels file:///live/image/FILE benutzt werden, falls sie sich im Root Dateisystem des Live Systems selbst befindet, mittels file:///FILE.
Alle Dateien in /lib/live/hooks/ im Root Dateisystem des Live Systems können mit der Option 'filesystem' automatisch aktiviert werden.
Alle Dateien in /live/hooks/ auf dem Live Medium können mit der Option 'medium' automatisch aktiviert werden.
Werden verschiedene Mechanismen kombiniert, so werden die Dateisystem Hooks zuerst ausgeführt, dann die des Mediums und zuletzt die sich im Netzwerk befindende.

Boot Parameter (Abkürzungen)

live-config stellt Abkürzungen für einige häufige verwendete Anwendungsfälle wo sonst verschiedene einzelne Parameter kombiniert werden müssten. Dies gewährleistet sowohl feine Kontrolle über alle Optionen, als einfache Benutzbarkeit.

live-config.noroot | noroot
Schaltet die sudo und policykit Skripte ab, ein Benutzer kann keine root Privilegien auf dem System mehr erlangen.
live-config.nottyautologin | noautologin
Schaltet sowohl den den automatischen Login via TTY ab als auch den automatischen graphischen Login.
live-config.nottyautologin | nottyautologin
Schaltet den automatischen Login via TTY ab, dies beeinflusst den automatisch graphischen Login nicht.
live-config.nox11autologin | nox11autologin
Schaltet den automatischen Login via Display Manager ab, dies beeinflusst den automatischen tty Login nicht.

Boot Parameter (Spezielle Optionen)

Für spezielle Anwendungsfälle gibt es ein paar spezielle Bootparameter.

live-config.debug | debug
Schaltet debug Ausgaben in live-config an.

Konfigurationsdateien

live-config kann durch Konfigurationsdateien konfiguriert (nicht aber aktiviert) werden. Abgesehen von Abkürzungen können alle Optionen die durch Boot Parameter konfiguriert werden, auch alternativ durch eine oder mehrere Dateien konfiguriert werden. Wenn Konfigurationsdateien benützt werden, so ist der 'boot=live' Parameter trotzdem noch notwendig um live-config zu aktivieren.

Die Konfigurationsdateien können entweder im Root Dateisystem selbst plaziert werden (/etc/live/config.conf, /etc/live/config.d/) oder auf dem Live Medium (live/config.conf, live/config.d/). Wenn beide Orte für eine bestimmte Option verwendet werden, geht die Konfigurationsdatei auf dem Live Medium dem der im Root Dateisystem enthaltenen vor.

Obwohl die Konfigurationsdateien welche in die conf.d Verzeichnisse abgelegt werden können keinen bestimmten Namen oder Endung brauchen, ist es aus Konsistenzgründen empfohlen, für diese 'vendor.conf' oder 'project.conf' als Namensschema zu verwenden (wobei 'vendor' oder 'project' mit dem eigentlichen Namen ersetzt wird, resultierend in einem Dateinamen wie 'debian-eeepc.conf').

LIVE_CONFIGS=SKRIPT1,SKRIPT2, ... SKRIPTn
Diese Variable enspricht dem 'live-config=SKRIPT1,SKRIPT2, ... SKRIPTn' Parameter.
LIVE_NOCONFIGS=SKRIPT1,SKRIPT2, ... SKRIPTn
Diese Variable enspricht dem 'live-noconfig=SKRIPT1,SKRIPT2, ... SKRIPTn' Parameter.
LIVE_HOSTNAME=RECHNERNAME
Diese Variable enspricht dem 'live-config.hostname=RECHNERNAME' Parameter.
LIVE_USERNAME=BENUTZERNAME
Diese Variable enspricht dem 'live-config.username=BENUTZERNAME' Parameter.
LIVE_USER_FULLNAME="VOLLER BENUTZERNAME"
Diese Variable enspricht dem 'live-config.user-fullname="VOLLER BENUTZERNAME"' Parameter.
LIVE_LOCALES=GEBIETSSCHEMA1,GEBIETSSCHEMA2 ... GEBIETSSCHEMAn
Diese Variable enspricht dem 'live-config.locales=GEBIETSSCHEMA1,GEBIETSSCHEMA2 ... GEBIETSSCHEMAn' Parameter.
LIVE_TIMEZONE=ZEITZONE
Diese Variable enspricht dem 'live-config.timezone=ZEITZONE' Parameter.
LIVE_UTC=yes|no
Diese Variable enspricht dem 'live-config.utc=yes|no' Parameter.
LIVE_KEYBOARD_MODEL=TASTATUR_MODELL
Diese Variable enspricht dem 'live-config.keyboard-model=TASTATUR_MODELL' Parameter.
LIVE_KEYBOARD_LAYOUTS=TASTATUR_LAYOUT1,TASTATUR_LAYOUT2 ... TASTATUR_LAYOUTn
Diese Variable enspricht dem 'live-config.keyboard-layouts=TASTATUR_LAYOUT1,TASTATUR_LAYOUT2 ... TASTATUR_LAYOUTn' Parameter.
LIVE_KEYBOARD_VARIANT=TASTATUR_VARIANTE
Diese Variable enspricht dem 'live-config.keyboard-variant=TASTATUR_VARIANTE' Parameter.
LIVE_KEYBOARD_OPTIONS=TASTATUR_OPTIONEN
Diese Variable enspricht dem 'live-config.keyboard-options=TASTATUR_OPTIONEN' Parameter.
LIVE_SYSV_RC=SERVICE1,SERVICE2 ... SERVICEn
Diese Variable enspricht dem 'live-config.sysv-rc=SERVICE1,SERVICE2 ... SERVICEn' Parameter.
LIVE_XORG_DRIVER=XORG_TREIBER
Diese Variable enspricht dem 'live-config.xorg-driver=XORG_TREIBER' Parameter.
LIVE_XORG_RESOLUTION=XORG_AUFLÖSUNG
Diese Variable enspricht dem 'live-config.xorg-resolution=XORG_AUFLÖSUNG' Parameter.
LIVE_HOOKS=filesystem|medium|URL1|URL2| ... |URLn
Diese Variable enspricht dem 'live-config.hooks=filesystem|medium|URL1|URL2| ... |URLn' Parameter.

ANPASSUNG

live-config kann sehr einfach angepasst werden für Downstream Projekte oder lokale Verwendung.

Hinzufügen von neuen Konfigurationsskripten

Downstream Projekte können ihre Skripte in /lib/live/config ablegen und müssen nichts weiteres tun, die Skripte werden automatisch während des Startens ausgeführt.

Am Besten werden die Skripte in ein eigenes Debian Paket untergebracht. Ein Beispielpaket und -skript befindet sich in /usr/share/doc/live-config/examples.

Entfernen von neuen Konfigurationsskripten

Es ist derzeit nicht möglich in einer vernünftigen Art und Weise Skripte zu entfernen ohne das ein lokal verändertes live-config Paket verwendet werden muss. Jedoch kann das selbe erreicht werden, indem bestimmte Skripte durch den live-noconfig Mechanismus abgeschaltet werden, siehe oben. Um zu verhindern, dass die abzuschaltenden Skripte immer durch einen Boot Parameter angegeben werden müssen, kann eine Konfigurationsdatei verwendet werden, siehe oben.

Die Konfigurationsdateien für das Live System selber werden am Besten in einem eigenen Debian Paket untergebracht. Ein Beispielpaket und -konfigurationsdatei befindet sich in /usr/share/doc/live-config/examples.

SKRIPTE

live-config enthält derzeit folgende Skripte in /lib/live/config.

hostname
konfiguriert /etc/hostname und /etc/hosts.
user-setup
fügt das Live Benutzerkonto hinzu.
sudo
räumt dem Live Benutzer sudo Privilegien ein.
locales
konfiguriert locales.
tzdata
konfiguriert /etc/timezone.
gdm
konfiguriert Autologin in gdm.
gdm3
konfiguriert Autologin in gdm3 (squeeze und neuer).
kdm
konfiguriert Autologin in kdm.
lxdm
konfiguriert Autologin in lxdm.
nodm
konfiguriert Autologin in nodm.
slim
konfiguriert Autologin in slim.
xinit
konfiguriert Autologin mit xinit.
console-common, console-setup (lenny), keyboard-configuration (squeeze und neuer)
konfiguriert die Tastatur.
sysvinit
konfiguriert sysvinit.
sysv-rc
konfiguriert sysv-rc durch abschalten von angegebenen Services.
login
schaltet lastlog ab.
apport (nur Ubuntu)
schaltet apport ab.
gnome-panel-data
entfernt den Sperrknopf für den Bildschirm.
gnome-power-manager
verhindert Hibernation.
gnome-screensaver
schaltet das Sperren des Bildschirmes während der Bildschirmschoner läuft ab.
initramfs-tools
lässt update-initramfs auch das Live Medium aktualisieren falls Persistency benutzt wird.
kaboom
schaltet den KDE Migration Wizard ab (squeeze und neuer).
kde-services
schaltet ein paar ungewollte KDE Services ab (squeeze und neuer).
kpersonalizer
schaltet den KDE Configuration Wizard ab (lenny).
debian-installer-launcher
fügt debian-installer-launcher auf dem Benutzer Desktop hinzu.
module-init-tools
lädt automatisch gewisse Module auf bestimmten Architekturen.
policykit
räumt dem Benutzer Privilegien durch policykit ein.
sslcert
erneuert SSL snake-oil Zertifikate.
update-notifier
schaltet update-notifier ab.
anacron
schaltet anacron aus.
util-linux
schaltet hwclock von util-linux ab.
login
schaltet lastlog ab.
xserver-xorg
konfiguriert xserver-xorg.
ureadahead (nur Ubuntu)
schaltet ureadahead ab.
openssh-server
erstellt OpenSSH-Server Host Schlüssel.
hooks
erlaubt beliebige Kommands von einem Skript auf dem Live Medium oder von einem HTTP/FTP Server auszuführen.

DATEIEN

/etc/live/config.conf
/etc/live/config.d/
live/config.conf
live/config.d/
/lib/live/config.sh
/lib/live/config/
/var/lib/live/config/

HOMEPAGE

Weitere Informationen über live-config und das Debian Live Projekt können auf der Homepage unter <http://live.debian.net/> und im Handbuch unter <http://live.debian.net/manual/> gefunden werden.

FEHLER

Fehler können durch Einreichen eines Fehlerberichtes für das live-config Paket im Debian Bug Tracking System unter <http://bugs.debian.org/> oder durch Senden einer E-Mail an die Debian Live Mailing Liste unter <[email protected]> (englischsprachig) mitgeteilt werden.

AUTOR

live-config wurde von Daniel Baumann <[email protected]> für das Debian Projekt geschrieben.