InitNG

Aus Gentoo Linux Wiki

Wechseln zu: Navigation, Suche
Dieser Artikel ist Teil der HOWTO Sammlung.
Installationsmethoden LiveCDs Kernel & Hardware Laptops & Notebooks Portage System Netzwerke & Services X Software Anderes alphabetischer HOWTO Index
initng
Ein Init System für Linux
Entwickler Jimmy Wennlund
Kategorie sys-apps
Lizenz GPL-v2
Webseite initng.thinktux.net

InitNG bedeutet Next Generation Init System (dt. Initialisierungssystem der nächsten Generation) und ist ein Softwaresystem zur Initialisierung des Betriebssystems. InitNG ist ein vollständiger Ersatz für das standardmäßig in Gentoo verwendete Init-System. Dadurch, dass die Init-Skripte parallel abgearbeitet werden, wird die zum Booten benötigte Zeit durch InitNG deutlich verkürzt (Anm.: das geht zum Teil auch mit dem alten sysVinit - siehe Boot-Zeit_deutlich_verringern).

Inhaltsverzeichnis

[Bearbeiten] Installation

Zuvor soll allen, die Angst haben ihr System zu schrotten, geholfen werden. Durch Entfernen des in diesem Howto hinzugefügten Kernel-Parameters init=/sbin/initng wird wieder das Original Gentoo-Init verwendet und alles ist wieder gewohnt laaangsaaam.

Aktuell: Ein Blick in die Dokumentation der Projektseite www.initng.org empfiehlt, dass man nicht die Version im Portage-Tree verwenden sollte, sondern statt dessen ein aktuelles Overlay von dort. Hier der Link zur englischen Gentoo-InitNG-Installation. Falls jemand bereits die initNG-Version aus dem portage-Tree installiert hat und nun doch das Overlay installieren möchte, so sei darauf hingewiesen, dass hier ein "Update" nicht funktioniert bzw. Probleme verursacht/verursachen kann. Besser ist es das breits vorhandene initNG zu unmergen, eventuell verbliebene Dateien (in /etc/ining) zu löschen. Auf dem nun "sauberen" System kann dann verfahren werden wie unter obigem Link beschrieben.

[Bearbeiten] Mergen

InitNG wird unter Gentoo mit Hilfe von Portage folgendermaßen installiert:

Zunächst demaskieren

Code: InitNG demaskieren

echo "sys-apps/initng" >> /etc/portage/package.keywords

echo "dev-util/cmake" >> /etc/portage/package.keywords

echo "sys-apps/initng-ifiles" >> /etc/portage/package.keywords


Dann mergen

Code: InitNG installieren

emerge -av sys-apps/initng


[Bearbeiten] Konfiguration

Wir tragen als zusätzliche Kerneloption ein:

Code: InitNG als Standard Init

Kerneloption: init=/sbin/initng

Dies geschieht bei GRUB in /boot/grub/menu.lst. Gegebenenfalls muss /boot/ noch rw remounted werden.


Sollte man initng zum ersten mal nutzen, so kann man das autoconfig tool aufrufen welches anhand der installierten Programme ein default runlevel erstellt. Dieses wird beim Start geladen:

Code: autoconfig mit gen_system_runlevel

genrunlevel --all


Die weitere Konfiguration der Runlevel kann bei InitNG mit Hilfe des Tools ng-update durchgeführt werden. Dieses funktioniert ähnlich wie Gentoos rc-update.

Code: Zeigen aller Systemdienste und runlevel

ng-update s

Code: Hinzufügen eines Systemdienstes zu einen runlevel

ng-update a service runlevel

Code: Entfernen eines Systemservice aus einem runlevel

ng-update d service runlevel


[Bearbeiten] Probleme

[Bearbeiten] betrifft InitNG =>0.1.8 mit KDE !=3.4

Das Initskript /etc/initng/daemon/kdm.i ruft standardmäßig den KDM von KDE 3.4 auf. Durch ein ersetzen von /3.4/ mit /3.3/ im Skript ist alles wieder in Ordnung.

Anmerkung: Dieses Problem existiert noch, wenn 2 verschiedene Versionen vom KDM installiert sind. Bei der Installation von InitNG wird die Version verwendet, die im PATH als erstes gefunden wurde. Dies sollte eigentlich immer die neure Version sein. Ein Erneuern des KDE von 3.4 auf 3.5 ohne Reinstallation von InitNG hat zur Folge, dass InitNG weiterhin kdm-3.4 verwendet.

[Bearbeiten] Kontrolle von Daemons

Bei InitNG werden Initskripte mit ngc gesteuert.

-L --show_history <opt> Gibt history_db aus
-l --log <opt> Gibt log aus
-h --help Gibt die Hilfe aus
-H --help_all Gibt eine ausfuehrlichere Hilfe aus
-s --status <opt> Gibt service_db aus
-u --start opt Startet den Service <opt>
-d --stop opt Stoppt den Service <opt>
-c --hot_reload Startet InitNG neu ohne die Services zu beenden. Vorsicht: Es kann sein, dass Services nicht mehr kontrolliert werden koennen.
-z --zap <opt> Setzt den Service <opt> auf nicht gestartet zurueck.
-r --restart opt Startet den Service neu.
-R --reload_service <opt> Laed den Service von der Festplatte neu ( reparse /etc/initng )
-6 --reboot Startet den Computer neu
-0 --halt Faehrt den Computer herunter.
-e --runlevel opt Zu Runlevel <opt> springen
-y --stop_unneeded Stoppt alle Services, die nicht im aktuellen Runlevel sind

Desweiteren gibt es inzwischen auch die moeglichkeit ngstart, ngstop, ngstatus, ngzap, ... zu nutzen.

Code: Beispiel: Samba starten

ngc -u daemon/samba

[Bearbeiten] Initskripte

Die Initskripte die mit ngc angesprochen werden liegen in:

  • /etc/initng/
    • daemon/
    • system/
    • service/

Diese binden aber Code von /usr/lib/initng/scripts ein! Die Original Gentoo-Skripte werden nicht verwendet, es sind allerdings Skripte für viele populäre Daemons vorhanden.

[Bearbeiten] Tipps

[Bearbeiten] Alsa

Standardmäßig wird Alsa nicht initialisiert. Um Alsa zu initialisieren wird system/alsasound geladen. Falls man die Mischpulteinstellungen laden möchte ist system/alsasound/mixerstate nötig. Die Module werden durch system/alsasound selbst nicht geladen. Dazu sollte system/coldplug, system/alsasound/cards oder das statische Speichern der Module in /etc/modules.autoload.d/kernel-2.6 genutzt werden. Des Weiteren gibt es noch folgende Services für Alsa:

  • service/alsasound/oss
  • service/alsasound/seq
  • service/alsasound/ioctl32
  • service/alsasound/mixerstate
  • service/alsasound

[Bearbeiten] Weblinks

[Bearbeiten] Siehe auch

'Persönliche Werkzeuge
Andere Sprachen