Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Linux/UNIX Linuxverfechter finden hier Weggefährten.

Fragen zu init

Diskussion: Fragen zu init im Forum Linux/UNIX, in der Kategorie Operating Systems; Anzeige Hi, ich hab folgende Fragen zum init Prozess: 1) Wenn ich per default in Runlevel 5 boote: Geht er ...

Antwort
Alt 12.03.09, 23:45   #1 (permalink)
Senior Member
 
Registriert seit: 26.03.06
Serow Leistung: 8086
Likes: 16
Standard Fragen zu init

Anzeige

Hi,

ich hab folgende Fragen zum init Prozess:

1) Wenn ich per default in Runlevel 5 boote: Geht er dann durch 1, 2, 3, etc bis 5? Oder direkt in 5?

2) Was genau macht ein init 0? bzgl Frage 1: geht er dann 5, 4, 3....,0 oder direkt? Und was passiert _nachdem_ runlevel 0 erreicht wurde. Zuletzt wird ja /etc/init.d/halt aufgerufen, aber wenn ich das richtig sehe macht das Ding garnix ...


cu
serow

Serow ist offline   Mit Zitat antworten
Alt 13.03.09, 00:04   #2 (permalink)
Member of Honour
 
Benutzerbild von beavisbee
 
Registriert seit: 22.02.07
beavisbee Leistung: Pentium IIIbeavisbee Leistung: Pentium IIIbeavisbee Leistung: Pentium IIIbeavisbee Leistung: Pentium III
beavisbee eine Nachricht über ICQ schicken
Likes: 77
Standard

init 0 = halt -> Herunterfahren
init 1 = für gewöhnlich single console root-login
init 2 bis 5 = völlig von einander unabhängige Runlevel, die du dir nach Belieben mit diversen Tools oder per Hand anpassen kannst
init 6 = reboot -> Neustarten

technischer Hintergrund: du hast im /etc ein paar Verzeichnisse rc0.d bis rc6.d - hier wird festgelegt, was beim Start dieses Runlevels passiert. es liegen hier Symlinks zu Start-Stop-Scripten.
Symlinks, die mit einem S beginnen, bedeuten das, dass dies ein START-Prozess ist / Symlinks mit einem K vorne dran bedeuten KILL-Prozess (also beenden)
die Zahlen hinter den S oder K legen die Reihenfolge fest.

einfaches editieren, ohne direkt selbst in den Symlinks rumzufummeln: z.B. sysv-rc-conf
beavisbee ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 13.03.09, 08:26   #3 (permalink)
Senior Member
Themenstarter
 
Registriert seit: 26.03.06
Serow Leistung: 8086
Likes: 16
Standard

Jo - danke. Aber du hast keine einzige Fragen beantwortet.
Serow ist offline   Mit Zitat antworten
Alt 13.03.09, 11:51   #4 (permalink)
gelöscht
Guest
 
Likes:
Standard

Tut mir leid, aber irgendwie verstehe ich die Logik Deiner Fragen nicht. Ich meine mal, wenn man bzgl. Runlevels ein wenig logisches Verständnis hat und mal Google benutzt und sich ein wenig durchliest dann beantwortet man sich leicht selber die Fragen:

http://books.google.de/books?id=EyA5...esult#PPA58,M1

http://r-goetz.de/linux/bg/runlevels.html

Bzgl. der Logik, wozu gibt es Runlevel bei Linux, wenn alle Runlevel durchlaufen werden ?? Da ist der Sinn von Runlevels wohl Sinnfrei, aber das sollte Dir wohl logisch erscheinen.

Durch Runlevel steuerst Du den start/stop einer oder mehrerer Dienste:

Zitat:
Nun ein Runlevel ist nun eine Zusammenstellung von Diensten, ähnlich verschiedener Sets im MacOS-Kontrollfeld Erweiterungen ein/aus (aber das hatte wir ja schon). Wenn der Runlevel gewechselt wird, werden alle (d.h. alle bei denen es darauf ankommt) Dienste des alten Runlevels angehalten. Dazu werden die entsprechenden Initskript mit dem Parameter stop aufgerufen. Danach werden alle Dienste des neuen Runlevels gestartet, indem die passenden Init-Skripte mit start aufgerufen werden
Grüße

Zephyros
  Mit Zitat antworten
Alt 13.03.09, 11:55   #5 (permalink)
 
Benutzerbild von metax.
 
Registriert seit: 22.01.07
metax. Leistung: 8086
metax. eine Nachricht über ICQ schicken
Likes: 10
Standard

1) Meines Wissens werden bei einem Wechsel von Runlevel A nach B alle Dienste gestoppt, die in A vorhanden sind aber nicht in B und alle Dienste gestartet, die in B vorhanden sind, aber nicht in A.
Es werden also nicht inkrementell alle Runlevel dazwischen durchlaufen (wozu sollte das auch gut sein?), sondern direkt dazwischen gesprungen.
Allerdings sind die Runlevel in den meisten mir bekannten Distributionen sowieso nicht so wirklich ausgenutzt. Normal läuft eigentlich immer Runlevel 5 und sonst höchstens noch mal Runlevel 3 ohne X11.

2) Die Runlevel 0,1 und 6 haben feste Funktionen -> 0 erzeugt immer einen Shutdown, 6 einen Neustart und 1 geht in den Singleuser-Modus. Dafür müssen keine extra init.d-Skripte definiert werden, das macht (zumindest) SysVinit automatisch. Auf meinem System sind aber trotzdem noch Hilfsskripte vorhanden, die vor Runlevel 0/6 erst alle Medien unmounten und Swap entfernen, und so Zeugs.

mfg, metax.
__________________
Wenn keiner zuschaut, teile ich heimlich durch Null!
Meine Homepage: Planet Metax | meine Bilder: DeviantArt | Twitter
metax. ist offline   Mit Zitat antworten
Alt 13.03.09, 11:58   #6 (permalink)
gelöscht
Guest
 
Likes:
Standard

Zitat:
Original von metax.
1) Meines Wissens werden bei einem Wechsel von Runlevel A nach B alle Dienste gestoppt, die in A vorhanden sind aber nicht in B und alle Dienste gestartet, die in B vorhanden sind, aber nicht in A.
Im Hot Swap - Verfahren ja. Bei Default nicht. Zumindest ist mir das so bekannt.

Zitat:
Original von metax.
Es werden also nicht inkrementell alle Runlevel dazwischen durchlaufen (wozu sollte das auch gut sein?), sondern direkt dazwischen gesprungen.
Mein reden

Grüße

Zephyros
  Mit Zitat antworten
Alt 13.03.09, 12:04   #7 (permalink)
Member of Honour
 
Benutzerbild von beavisbee
 
Registriert seit: 22.02.07
beavisbee Leistung: Pentium IIIbeavisbee Leistung: Pentium IIIbeavisbee Leistung: Pentium IIIbeavisbee Leistung: Pentium III
beavisbee eine Nachricht über ICQ schicken
Likes: 77
Standard

Zitat:
Original von Serow
Jo - danke. Aber du hast keine einzige Fragen beantwortet.
wer lesen kann, ist klar im Vorteil

Zitat:
Original von Serow
1) Wenn ich per default in Runlevel 5 boote: Geht er dann durch 1, 2, 3, etc bis 5? Oder direkt in 5?
Zitat:
Original von beavisbee
init 2 bis 5 = völlig von einander unabhängige Runlevel, die du dir nach Belieben mit diversen Tools oder per Hand anpassen kannst
soll heißen, es wird nur der Runlevel durchlaufen, der gestartet wird.


Zitat:
Original von Serow
2) Was genau macht ein init 0?
Zitat:
Original von beavisbee
init 0 = halt -> Herunterfahren
[...]



Zitat:
Original von metax.
Normal läuft eigentlich immer Runlevel 5 und sonst höchstens noch mal Runlevel 3 ohne X11.
DAS ist von Distribution zu Distribution verschieden. In Debian z.B. ist Standard-Runlevel 2 und die Runlevel 2 bis 5 sind identisch, solange sie nicht vom Nutzer manuell angepasst wurden.
Also Vorsicht beim Verallgemeinern solcher Aussagen.... ;-)
beavisbee ist offline   Mit Zitat antworten
Alt 13.03.09, 12:08   #8 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcore
Likes: 441
Standard

Das init-System macht noch einiges mehr aus als die Start/Stop-Skripte innerhalb der Runlevel auszuführen. Essentiellster Teil des Init-Systems ist immernoch der Kernel. Dieser führt z.B. bei bestimmten Runleveln auch noch Aktionen durch (z.B. das deaktivieren des Kernel-Log-Daemons beim Runterfahren, das Ausschalten des Systems selbst, das Starten des init-Systems selbst, das starten virtueller Konsolen usw.), die nicht durch Skripte steuerbar sind, da sie zum Zeitpunkt der Aktion nicht mehr ausführbar wären, weil keine Runtime-Umgebung mehr zur Verfügung steht. Das ist u.a. auch der Grund, dass bestimmte Runlevel immer durchlaufen werden.

So wird beim Starten immer erst init 1 angesprochen und Runlevel 1 wird verlassen, wenn ein anderes Runlevel angefordert wird vom Kernel. Runlevel 1 ist aber notwendig um ggf. Dateisystemchecks beim Booten machen zu können, da in Runlevel >=2 die Partitionen schon readwrite gemountet sind, virtuelle Konsolen bereits bestehen usw.

Runlevel steuern also wesentlich mehr als das Starten/Stoppen von Diensten. Sie als reines Laufzeitsystem unabhängig vom Kernel-Kontext zu betrachten ist daher eine ziemlich fragwürdige Sache.
__________________
Mein Blog - Mein Job - Diaspora

Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund.

Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+
bitmuncher ist offline   Mit Zitat antworten
Alt 13.03.09, 16:53   #9 (permalink)
Senior Member
Themenstarter
 
Registriert seit: 26.03.06
Serow Leistung: 8086
Likes: 16
Standard

Zitat:
Tut mir leid, aber irgendwie verstehe ich die Logik Deiner Fragen nicht. Ich meine mal, wenn man bzgl. Runlevels ein wenig logisches Verständnis hat
Also für mich erschließt sich aus Logik nicht unbedingt, dass nicht die Runlevel 2-4 durchlaufen werden auf dem Weg von 1 nach 5. Evtl bin ich auch einfach nur überdurchschnittlich blöd - wer weiss.

QUOTE]Bzgl. der Logik, wozu gibt es Runlevel bei Linux, wenn alle Runlevel durchlaufen werden ?? Da ist der Sinn von Runlevels wohl Sinnfrei, aber das sollte Dir wohl logisch erscheinen.[/QUOTE]
So logisch fang ich das garnicht.

Zitat:
Im Hot Swap - Verfahren ja. Bei Default nicht. Zumindest ist mir das so bekannt.
Wo lässt sich das "Hot Swap Verfahren" konfigurieren. Das hab ich noch nie gehört / gelesen.

Zitat:
wer lesen kann, ist klar im Vorteil
Zitat:
1) Wenn ich per default in Runlevel 5 boote: Geht er dann durch 1, 2, 3, etc bis 5? Oder direkt in 5?
Zitat:
nit 2 bis 5 = völlig von einander unabhängige Runlevel, die du dir nach Belieben mit diversen Tools oder per Hand anpassen kannst
soll heißen, es wird nur der Runlevel durchlaufen, der gestartet wird.
Solls vllt heissen - steht aber so nicht da. Finde auch jetzt nach nochmaligem lesen nicht, dass man das hätte rauslesen müssen.


Zitat:
Und was passiert _nachdem_ runlevel 0 erreicht wurde. Zuletzt wird ja /etc/init.d/halt aufgerufen, aber wenn ich das richtig sehe macht das Ding
Ich wollte darauf hinaus was NACH dem /etc/init.d/halt passiert. Ich hab allerdings scheinbar den letzten Befehl übersehn bevor sich mir die Frage gestellt hat:
Code:
do_stop () {
        if [ "$INIT_HALT" = "" ]
        then
                case "$HALT" in
                  [Pp]*)
                        INIT_HALT=POWEROFF
                        ;;
                  [Hh]*)
                        INIT_HALT=HALT
                        ;;
                  *)
                        INIT_HALT=POWEROFF
                        ;;
                esac
        fi

        # See if we need to cut the power.
        if [ "$INIT_HALT" = "POWEROFF" ] && [ -x /etc/init.d/ups-monitor ]
        then
                /etc/init.d/ups-monitor poweroff
        fi

        # Don't shut down drives if we're using RAID.
        hddown="-h"
        if grep -qs '^md.*active' /proc/mdstat
        then
                hddown=""
        fi

        # If INIT_HALT=HALT don't poweroff.
        poweroff="-p"
        if [ "$INIT_HALT" = "HALT" ]
        then
                poweroff=""
        fi

        # Make it possible to not shut down network interfaces,
        # needed to use wake-on-lan
        netdown="-i"
        if [ "$NETDOWN" = "no" ]; then
                netdown=""
        fi

        log_action_msg "Will now halt"
        halt -d -f $netdown $poweroff $hddown
}
Serow ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Operating Systems » Linux/UNIX » Fragen zu init
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Init Script Serow Linux/UNIX 11 13.07.08 18:33
Andere Orte als die /etc/init.d fuer Daemon-Konfiguraiton? sw33tlull4by Linux/UNIX 2 21.11.07 12:43
Eigene Init erstellen Indi Linux/UNIX 9 06.07.07 17:08
Probleme beim Tomcat - Start mit /etc/init.d ooover Linux/UNIX 0 21.02.04 03:13
Fehler beim Laden der init.d Runlevel 3 Rushjo Linux/UNIX 2 07.10.02 00:36


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61