InitNG
Aus Gentoo Linux Wiki
| 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/
- /etc/initng/
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
- Boot-Zeit deutlich verringern - Beschleunigen mittels Modifizieren der Original Init Skripte.
