Toon posts:

sysV vs. BSD

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben (met nog een paar uit #linux) bezig met lfs. dit is overigens een leuke manier om veel te leren van linux maar dat even terzijde.



Ik sta bijna voor het punt om init te installeren maar nu zijn er 2 mogelijkheden om je linux machine door de verschillende runlevels te laten lopen.




de zogeheten sysV en BSD.




sysV wordt eingelijks door iedere distro gebruikt. het werkt met bepaalde rc.X dirs waar je scripts inzet. deze krijgen als volgt een notatie



SXXX<NAAM> of KXXX<NAAM>



naam staat voor het script. dit is de gewoon een symlink naar een standaard script. des te hoger XXX (is dus een 3 digit getal) de te eerder hij wordt uitgevoerd.



op deze manier maak je bv een script apache deze moet gestart worden in runlevel4 (BIJVOORBEELD) ik maag dan een symlink in de dir rc.4 met de naam S100apache nu wordt in runlevel 4 apache gestart. (althans als de script goed is).


in rc.6 maak ik er dus een met K100apache (k staat voor kill)



dit is opzich een aardige manier. maar bij een grote distro al gauw onoverzichtelijk (vind ik). slackware heeft het anders gedaan. deze maakt gebruik van de BSD style.



deze heeft dus 3 bestanden.rc.0 rc.S rc.M



rc.0 == reboot

rc.S == singel user

rc.M == mutli



de syntax van rc.m is vrij simpel



if [-x /etc/rc.d/rc.apache]

. /etc/rc.d/rc.apache (enventueel start)

else

fi


zo krijg je een x aantal van dit soort regels in in rc.M

dit is naar mijn inziens een makkelijke manier...maar ja... die andere ook.. :)



vraag is nu... welke vinden jullie het best/makkelijkst. :?

edit:

vage <BR> overal ..kan er niks aan doen..sorry.. :)

Verwijderd

Ik heb ervaring met een slackware (BSD style) internet gateway en ben recent ook veel bezig met Debian (sysV style). Ik heb dus ervaring met beide en ik moet zeggen dat ik sysV wat fijner vind. Je hebt dan wel veel verschillende opstartfiles, maar ik vind dat je makkelijker de opstartvolgorde van scripts kunt wijzigen (door middel van cijfer achter S). Ik vind het geheel gewoon wat duidelijker dan de grote BSD opstart files. Blijft natuurlijk persoonlijke ervaring, dus misschien vind je zelf BSD style lekkerder werken.

Verwijderd

Topicstarter
tja.. :) de keus is moeilijk. wat zij de voor en tegens denk jij (jullie)

  • dinges
  • Registratie: September 2000
  • Niet online
Op dinsdag 01 januari 2002 18:10 schreef balou het volgende:
Ik heb ervaring met een slackware (BSD style) internet gateway en ben recent ook veel bezig met Debian (sysV style). Ik heb dus ervaring met beide en ik moet zeggen dat ik sysV wat fijner vind. Je hebt dan wel veel verschillende opstartfiles, maar ik vind dat je makkelijker de opstartvolgorde van scripts kunt wijzigen (door middel van cijfer achter S). Ik vind het geheel gewoon wat duidelijker dan de grote BSD opstart files. Blijft natuurlijk persoonlijke ervaring, dus misschien vind je zelf BSD style lekkerder werken.
ik heb dezelfde mening :)

PSN: Houtvlot


Verwijderd

Ik vind persoonlijk SysV ook fijner werken.
Wil je even een bepaald progje niet opstarten in een bepaald runlevel, dan haal je gewoon ff de symlink weg. Opstartvolgordes zijn enorm makkelijk te veranderen etc.

[edit]
B.t.w. die newlines zijn een bug in opera. In versie 6.X zitten die niet meer ;)

Verwijderd

Slackware heeft het wel leuk geimplementeerd, gebaseerd op BSD bootstyle ondersteunt het ook sysv. Ik heb een lichte voorkeur voor BSD.

Verwijderd

Op dinsdag 01 januari 2002 18:22 schreef janjanjansen het volgende:
Slackware heeft het wel leuk geimplementeerd, gebaseerd op BSD bootstyle ondersteunt het ook sysv. Ik heb een lichte voorkeur voor BSD.
Volgens mij hadden ze dat gedaan, omdat een aantal programma's standaard van sysV uitgaat en anders niet werkt onder slackware. SysV wordt ook bij de meeste distributies gebruikt.

Nog een speciale reden waarom je voorkeur hebt voor BSD style?

Verwijderd

Topicstarter
ik denk dat het argument van opstart volgorde niet zo veel uit maakt. je moet bij beide er rekening mee houden. maar euh... nog meer :?

Verwijderd

Voorkeur is gebaseerd op luiheid en verleden. Alles staat lekker in 1 dir zonder de noodzaak linkjes aan te passen en aan te maken. En scripts aanpassen moet je in beide. Disablen door x flag er af te halen of door linkjes te verwijderen. Weer net iets minder werk in de BSD style.
Zal ook wel iets te maken hebben dat ik toen ik begon met Linux (RH 5.2) ik dat sysV maar wazig vond. Daarna bij Slackware had ik vrij vlot in de gaten hoe het werkte. Vandaar de lichte voorkeur. :)

  • odysseus
  • Registratie: Augustus 2000
  • Nu online

odysseus

Debian GNU/Linux Sid

Overigens wordt bij SysV volgens mij in de bootscripts geen 3-digit getal gebruikt, maar slechts 2 getallen. Dat is in ieder geval zo bij Debian en in RedHat.
Ik kan zelf niet echt oordelen wat ik prettiger vind, ik heb eigenlijk alleen nog met SysV gewerkt wat prima bevalt, maar voor een vergelijking zijn toch twee dingen nodig. Het argument dat sommige software uitgaat van SysV vind ik vrij belangrijk. Overigens is SysV volgens mij ook de standaard volgens de LSB.

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.


  • Onno
  • Registratie: Juni 1999
  • Niet online
Op dinsdag 01 januari 2002 17:58 schreef Gila het volgende:
dit is opzich een aardige manier. maar bij een grote distro al gauw onoverzichtelijk (vind ik).
Op het moment dat je het onoverzichtelijk vindt worden kun je tooltjes als chkconfig gaan gebruiken. Maakt het wat overzichtelijker. :)
Op dinsdag 01 januari 2002 18:31 schreef Gila het volgende:
ik denk dat het argument van opstart volgorde niet zo veel uit maakt. je moet bij beide er rekening mee houden.
Ja, maar de SysV manier is daarom nog wel gestructureerder als het op volgorde aankomt.. zeker als je met install-scriptjes te maken krijgt, in een BSD script de juiste plek bepalen is geen triviale taak voor een script als er rekening gehouden moet worden met dependencies op het gestart zijn van andere dingen enzo.

* Onno heeft een sterke voorkeur voor SysV. :)

Verwijderd

je kan het volgens mij vergelijken met kernels...microkernel vs monolith kernel waarbij sysv de microkernel is :) het zit beter in mekaar, maar door z'n structuur heeft ie de neiging om wat log te worden...

nadelen SysV:
- die klote symlinks die je iedere keer moet aanmaken als je een daemon wil opstarten
- missen van flexibiliteit in bijvoorbeeld de netwerk config (je moet bijvoorbeeld zelf IPv6 en DHCP in je ifcfg scripts hacken), BSD is gewoon kwestie van exacte commandline opdracht neerzetten...


Als je bijvoorbeeld met SysV je netwerk wil configgen moet je zo 2 of 3 (bij 2 interfaces) filetjes aanpassen...in BSD style is dat gewoon 1 file (rc.inet1 oid)

ifconfig eth0 192.168.0.2 netmask 255.255.255.0
route add default gw 192.168.0.1

en je bent klaar, dat 'kost' met SysV wel 2 files! waarbij je met BSD ook snel een IPv6 IP adres er aan kan hangen

ip addr add 3ffe:1:2:3::4/64 dev eth0

Probeer dat maar eens met de default scripts te doen van LFS :)

Misschien blaat ik wel onzin, en is het mijn slecht geinformeerdheid over SysV, maar dat zou ik dan graag horen :)

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 16-08 16:08

deadinspace

The what goes where now?

Op dinsdag 01 januari 2002 20:53 schreef fkooman het volgende:
- die klote symlinks die je iedere keer moet aanmaken als je een daemon wil opstarten
code:
1
2
[marcelm@nothing marcelm]$ whatis update-rc.d
update-rc.d (8) - install and remove System-V style init script links
- missen van flexibiliteit in bijvoorbeeld de netwerk config (je moet bijvoorbeeld zelf IPv6 en DHCP in je ifcfg scripts hacken), BSD is gewoon kwestie van exacte commandline opdracht neerzetten...
Hmm, wat betreft ipv4 config (zowel static als dhcp):
code:
1
2
3
4
5
6
7
8
[marcelm@something marcelm]$ cat /etc/network/interfaces
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
# The loopback interface
auto lo
iface lo inet loopback
# The first network card
auto eth0
iface eth0 inet dhcp

Hier vul ik dus de config in, en dan werkt dit automatisch. (boot-time en met ifup en ifdown). Van ipv6 heb ik geen idee.

Ik weet van beide oplossingen overigens niet of ze Debian-specifiek zijn (van interfaces niet volgensmij en van update-rc.d zou wel eens kunnen).

Ikzelf heb overigens een voorkeur voor SYSV style bootscripts, onder andere omdat elk prog zo zijn eigen nette file heeft (in plaats van alles in 1 file te stoppen).
Maar dat is voornamelijk smaak denk ik he...

Verwijderd

Op dinsdag 01 januari 2002 20:53 had fkooman het over verschillende scripts die je nodig hebt voor SysV
Wat belet mij om al mijn scripts in /etc/init.d in 1 groot shellscript te gooien en die vervolgens in de betreffende runlevel dir's te symlinken?

Kortom de scripts in /etc/init.d zijn gewoon shell-scripts. Daar kan je zoveel inzetten als jezelf wil. Je kan dus makkelijk die 2 of 3 scripts van jou samenvoegen als dat nodig mocht zijn.

Verwijderd

Topicstarter
[b]Op dinsdag 01 januari 2002 20:53 schreef fkooman
Als je bijvoorbeeld met SysV je netwerk wil configgen moet je zo 2 of 3 (bij 2 interfaces) filetjes aanpassen...in BSD style is dat gewoon 1 file (rc.inet1 oid)
hmmz..:) my dear friend.. je kan ook gewoon zo'n case $1 geval in je scripts mee bakken. het gaat niet om het script zelf maar de manier van opstraten zelf zeg maar..:)

  • jeroen|IA
  • Registratie: Juni 1999
  • Laatst online: 26-05-2025
Wat betreft die scripts is er niet zo gek veel verschil uiteindelijk, vind ik (hoewel ik SysV wel overzichtelijker vind) maar het is onhandig van BSD init dat ie feitelijk maar 2 runlevels kent (single en multi). Het kan best handig zijn om zelf b.v. een tweetal runlevels te herdefinieren zodat je daarmee de rol van de machine kunt bepalen, b.v. webserver of name/mailserver, ik noem maar wat.

  • [Yellow]
  • Registratie: December 2000
  • Niet online
Het grootste voordeel van sysV is dat je het makkelijk kunt automatiseren: een rpm'etje kan heel makkelijk zichzelf installeren (en de-installeren!) in je systeem. Bij BSD is dat wat moeilijker.

Verder kun je sysV wat makkelijker maken door 'chkconfig' te draaien (door bv. de regel 'chkconfig: 234' in het scriptje op te nemen. Lees man-page). Ook zijn er diverse X proggies waarin je heel makkelijk die scripts en hun volgorde aan kunt passen.

  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

m.i. is SysV niet alleen prettiger, maar ook superieur: 1 file per package, en een gewenst aantal symlinks. Terwijl bij BSD iedere package in het opstartscript moet gaan wroeten.

[edit] Uhh, nou wat _Yellow_ zei dus :z

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


  • Papillon
  • Registratie: Januari 2000
  • Laatst online: 07-08 14:18

Papillon

Spring 's in the Air...

SysV is ook makkelijker te configureren als je eenmaal weet hoe het in elkaar steekt. Je kunt erg gemakkelijk een deamon aan een runlevel toevoegen of verwijderen. Komt nog bij dat de deamon zelf makkelijker te vinden en configureren is dan de BSD style. Dan hoef je namelijk niet door een megascripts heen te worstelen (zoeken) je hebt direct de script voor de betreffende deamon in SysV.

Wel moet ik toegeven dat er distro's zijn die de scripts voor het activeren van diverse deamons te vaak ingewikkelder maken dan nodig is.

F u cn rd ths, u mght hv a gd jb n cmptr prgmmng.


  • _Squatt_
  • Registratie: Oktober 2000
  • Niet online
Hier staat een leuk stuk over een andere manier om je bootscripts te doen.

Het werkt als volgt:
- Je gooit al je boot scripts in een directory.
- Je geeft in elk script op welke scripts al uitgevoerd moeten zijn als dat script wordt uitgevoerd.
- En init start alle scripts in je dir, in willekeurige volgorde. En als het goed is, volgt alles dan vanzelf.

(in het artikel staat het wat duidelijker :P, dit is maar een korte, onvolledige samenvatting.)

"He took a duck in the face at two hundred and fifty knots."


  • BrammeS
  • Registratie: April 2000
  • Laatst online: 17-08 14:08
Ik werk dus ook liever met de BSD style. Omdat ik deze simpeler en overzichtelijker vindt!

Advanced sheep-counting strategies


  • pinball
  • Registratie: Oktober 1999
  • Niet online

pinball

Electric Monk

Op woensdag 02 januari 2002 08:47 schreef jeroen het volgende:
Wat betreft die scripts is er niet zo gek veel verschil uiteindelijk, vind ik (hoewel ik SysV wel overzichtelijker vind) maar het is onhandig van BSD init dat ie feitelijk maar 2 runlevels kent (single en multi). Het kan best handig zijn om zelf b.v. een tweetal runlevels te herdefinieren zodat je daarmee de rol van de machine kunt bepalen, b.v. webserver of name/mailserver, ik noem maar wat.
Volgens mij heeft de BSD init (iig zoals ie bij slakware werkt) gewoon 6 levels, en misschien wel meer ook (nooit geprobeerd om er zelf meer toe te voegen).

Voor elk level gewoon 1 script, voor elke applicatie (oid) 1 script (of meer als je wil). Door de applicatiescripts aan te roepen vanuit de levelscripts bepaal je volgorde etc.

* pinball heeft nooit met iets anders gewerkt als slakware, (enkele uitspattingen met redhat&mandrake daargelaten) en dus een duidelijke voorkeur. :)

Whenever you find that you are on the side of the majority, it is time to reform.

Pagina: 1