FreeBSD 5.x en rc.d (Resource Configuration)

Pagina: 1
Acties:

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 12:28
Ik heb hier nu sinds kort een FreeBSD 5.2 machine. Eerder heb ik al een 4.x machine gehad maar deze had op een bepaald moment geen taken meer. De bedoeling is nu dat deze FreeBSD machine een aantal taken van mijn Windows 2003 Server gaat overnemen.

Nu zit ik even in over de rc.d. De werking hiervan is zoals bekend in elke Unix-variant weer anders en zelfs ten opzichte van 4.x zijn er in FreeBSD 5.x een groot aantal wijzigingen doorgevoerd.

Volgens mij zijn deze grotendeels positief. Nu heb ik gezocht wat ik wil weten maar niets gevonden.

Als ik mijn FreeBSD handbook mag geloven hoef ik alleen nog maar een script (die aangeroepen kan worden met start/stop/restart) te plaatsen in /etc/rc.d/

Stel dat ik dit bestand dhcpd noem, hoef ik dan alleen nog maar een regel dhcpd_enable="YES" toe te voegen aan rc.conf? Het lijkt zo enorm simpel, maar volgens mij zie ik iets cruciaals over het hoofd. Zo staat er bijvoorbeeld ipv6_enable="YES" in rc.conf maar er is geen corresponderend bestand in rc.d.

Vragen, vragen, vragen.... ;)

  • MadCow*
  • Registratie: Januari 2001
  • Laatst online: 05-08-2025

MadCow*

<= icon space for rent

ddc schreef op 19 mei 2004 @ 22:28:
Als ik mijn FreeBSD handbook mag geloven hoef ik alleen nog maar een script (die aangeroepen kan worden met start/stop/restart) te plaatsen in /etc/rc.d/
klopt, maar ik vind het zelf handiger om het in /usr/local/etc/rc.d te doen.
(Maar /usr/X11R6/etc/rc.d is ook goed :P)
Stel dat ik dit bestand dhcpd noem, hoef ik dan alleen nog maar een regel dhcpd_enable="YES" toe te voegen aan rc.conf? Het lijkt zo enorm simpel, maar volgens mij zie ik iets cruciaals over het hoofd. Zo staat er bijvoorbeeld ipv6_enable="YES" in rc.conf maar er is geen corresponderend bestand in rc.d.
nee, de scripts in /etc/rc.d (en de locaties die ik hier boven heb genoemd) worden altijd gerunt.
Maar omdat je niet alles wilt draaien controleerd b.v. het sshd script op sshd_enable="YES" in /etc/rc.conf
is deze er niet dat doet het script niks. Is ie er wel dan start ie sshd.
Vragen, vragen, vragen.... ;)
Ik kan best geloven dat het wat lastig is, maar kijk eens in de rc.d man page :)

Veni, Vidi, Et je n'en crois pas mes yeux! (ik kwam, ik zag, en ik geloofde mijn ogen niet!) - J. Caesar (Asterix en de gladiatoren) | Nu vernieuwd met toegevoegde lazyness.


  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 12:28
Dankjewel voor je antwoord MadCow!

FreeBSD roept uit zichzelf dus de scripts aan met de parameter start, in het geval van opstarten, of stop, in het geval van afsluiten? Nou dan heb ik er niet veel werk aan ;). Dit is nog best een handig systeem, de methode van Debian met links vind ik toch iets complexer (als in 'meer werk').

  • serkoon
  • Registratie: April 2000
  • Niet online

serkoon

mekker.

FreeBSD 5 maakt gebruik van rcNG, wat voor't eerst verscheen in NetBSD. http://www.usenix.org/eve...n/mewburn_html/index.html bevat een (inmiddels al wat oude) uitleg van NetBSD's rcNG.

Als je zelf rc-scripts wil schrijven is het slim om de manpages (bijv. man rc.subr) te lezen.

[ Voor 4% gewijzigd door serkoon op 20-05-2004 16:45 ]


  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 12:28
Ik heb je stukje even doorgelezen voor het grootste deel, maar omdat er meerdere OS-en worden besproken blijft het toch een beetje lastig zoeken naar de goede informatie.

Ik begrijp dat er wel weer runlevels zijn in FreeBSD 5, maar dat die niet van toepassing zijn op het uitvoeren van rcX.d mappen (die dus niet bestaan). Ik heb man rc.conf en rc.subr even doorgenomen en dat is wel handig, maar niet echt toepasbaar op mijn vraag.

Nogmaals mijn vraag dan, hoef ik alleen maar een eigen script te maken (wat ik wel eerder voor apache en mysql op Debian heb gedaan, dus waar ik wel uit kom) met start en stop parameters, en deze vervolgens in /etc/rc.d/ zetten?

Verwijderd

Dennis schreef op 20 mei 2004 @ 18:52:
Ik heb je stukje even doorgelezen voor het grootste deel, maar omdat er meerdere OS-en worden besproken blijft het toch een beetje lastig zoeken naar de goede informatie.

Ik begrijp dat er wel weer runlevels zijn in FreeBSD 5, maar dat die niet van toepassing zijn op het uitvoeren van rcX.d mappen (die dus niet bestaan). Ik heb man rc.conf en rc.subr even doorgenomen en dat is wel handig, maar niet echt toepasbaar op mijn vraag.

Nogmaals mijn vraag dan, hoef ik alleen maar een eigen script te maken (wat ik wel eerder voor apache en mysql op Debian heb gedaan, dus waar ik wel uit kom) met start en stop parameters, en deze vervolgens in /etc/rc.d/ zetten?
Volgens mij is de standaard methode in FreeBSD dat je ze in "/usr/local/etc/rc.d/" zet
En inderdaad gewoon start) / stop) erin.

De scripts moeten eindigen op de extensie .sh anders runned ie ze niet voor zover ik me nog herinner. Ze moeten ook chmod r-x,rx,rx staan qua rechten. Om een script even niet te draaien rename je het simpel naar script.andere_extensie_dan_sh.

Als het goed is en je kijkt nu in die directory dan staan er vast ook al een paar scripts, c.q. sample scripts.

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 12:28
Verwijderd schreef op 20 mei 2004 @ 20:44:
Volgens mij is de standaard methode in FreeBSD dat je ze in "/usr/local/etc/rc.d/" zet
En inderdaad gewoon start) / stop) erin.
Dit was inderdaad ten tijde van FreeBSD 4.x ;). Dit gaat over de 5-branche.
De scripts moeten eindigen op de extensie .sh anders runned ie ze niet voor zover ik me nog herinner. Ze moeten ook chmod r-x,rx,rx staan qua rechten. Om een script even niet te draaien rename je het simpel naar script.andere_extensie_dan_sh.
Yep, het gedoe met toegang en met executable-rechten geven.
Als het goed is en je kijkt nu in die directory dan staan er vast ook al een paar scripts, c.q. sample scripts.
Nee dus ;).

Verwijderd

Dennis schreef op 20 mei 2004 @ 21:04:
[...]

Dit was inderdaad ten tijde van FreeBSD 4.x ;). Dit gaat over de 5-branche.

[...]

Yep, het gedoe met toegang en met executable-rechten geven.

[...]

Nee dus ;).
Bij mij wel en ik draai 5.2.1 current FreeBSD. Beetje vreemd dan. Ook eergisteren Wine geinstalleerd vanuit de ports en die heeft daar ook keurig zijn script neergezet.

Ik weet niet beter of die plek is de aangewezen plaats voor je eigen scripts. Systeemscripts gaan uiteraard ergens anders /etc/rc.d en dat kun je vast ook gebruiken evenals /etc/rc.conf maar dat is niet mijn manier en volgens mij ook niet de aangewezen manier. Die link hierboven ergens in de thread ging over netbsd als ik het zo zag, dat werkt weer net anders merkte ik toen ik de tekst in 15 seconden door ging scrollen :)

edit: ow wacht jij wilt systeemscripts plaatsen. Ja dat zal als je het netjes wilt doen dan anders werken, via /etc/rc.d gok ik zo. Ik had het over je eigen scripts/applicatie scripts. Natuurlijk kun je het ook doorelkaar gebruiken, maar ik neem aan dat jij het gewoon helemaal netjes wilt doen en vandaar je vraag. Tja dan weet ik het niet, kan het wel uitzoeken natuurlijk maar daar heb ik geen zin in :P

[ Voor 19% gewijzigd door Verwijderd op 20-05-2004 22:49 ]


  • AVL
  • Registratie: Januari 2000
  • Laatst online: 25-09-2022

AVL

OHMSS

Dennis schreef op 20 mei 2004 @ 21:04:
Dit was inderdaad ten tijde van FreeBSD 4.x ;). Dit gaat over de 5-branche.
Nee hoor, dat werkt nog steeds zo (probeer eens dan!). Programma's die niet bij FreeBSD zelf horen zetten hun opstartbestanden in /usr/local/etc/rc.d. De meeste ports met een server doen dit automatisch (Apache, qmail, etc. etc.)

De eisen aan deze scripts zijn dat ze executable zijn, op .sh eindigen en op start en stop reageren. De mogelijkheden van rc.conf gebruiken (pietje_enable="YES") is niet nodig, maar mag wel - dan heb je rc.subr nodig. Maar dat hoeft dus helemaal niet als je dat niet wil.

Deze scripts worden bij het opstarten redelijk aan het eind van een multi-user start uitgevoerd, tijdens 'Starting local packages: '.

Moet je eerder tijdens het opstarten al iets doen (vb. DMA-instellingen wijzigen voordat disks gemount worden), dan gebruik je /etc/rc.d.

[ Voor 19% gewijzigd door AVL op 21-05-2004 21:05 ]

"I'd rather have a bottle in front of me than a frontal lobotomy."


  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 12:28
Hoppa AVL, dit was dus wél het antwoord wat ik nodig had! Bedankt :). Zondag maar eens mijn scriptjes in orde maken dan.

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 12:28
Even een nieuwe update.

Ik heb gemerkt dat een aantal services al uit zichzelf starten, alleen ééntje die ik wil gebruiken niet: dhcpd. Ik heb in rc.conf de volgende regels toegevoegd:

code:
1
2
3
dhcpd_enable="YES"
dhcpd_conf="/etc/dhcpd.conf"
dhcpd_ifaces="xl1"


Ook heb ik het script /usr/src/etc/rc.d/dhcpd gekopieerd naar /etc/rc.d
Deze stappen helpen niet, bij het opstarten wordt dhcpd niet opgestart, terwijl dit naar mijn mening wel zou moeten gebeuren.

De permissies staan allemaal goed. Heeft iemand misschien enig idee waar dit aan kan liggen?

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 12:28
Schopje :).

  • AVL
  • Registratie: Januari 2000
  • Laatst online: 25-09-2022

AVL

OHMSS

Om DHCP server-functionaliteit te krijgen moet je de port installeren (net/isc-dhcp3-server). Dat script in /etc/rc.d kun je weer weghalen, want deze port installeert zijn eigen opstartscript in /usr/local/etc/rc.d (waar het hoort). Hierna moet dhcpd_enable="YES" in /etc/rc.conf genoeg zijn om de server te starten bij het opstarten.

"I'd rather have a bottle in front of me than a frontal lobotomy."


  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 12:28
Hallo AVL, ik zie dat je me weer hebt geholpen! :). Bedankt.
Anyway, heb hem vanuit de ports geïnstalleerd, alleen ondanks dat ik dhcpd_ifaces="xl1" in mijn rc.conf heb staan, krijg ik toch een warning (geen error) bij het starten, dat er niet wordt geluisterd op interface xl0.

Waarom wordt dit niet overgeslagen? Of kijkt hij niet naar die configuratieregel in rc.conf?

  • AVL
  • Registratie: Januari 2000
  • Laatst online: 25-09-2022

AVL

OHMSS

Volgens mij kijkt hij er niet naar, je moet iets aan de configuratie van dhcpd veranderen om ervoor te zorgen dat je die waarschuwing niet meer krijgt.

"I'd rather have a bottle in front of me than a frontal lobotomy."


  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 12:28
Misschien, maar hij moet van mij helemaal niet eens kijken op die interface, want die hele interface wordt op dit moment niet eens gebruikt en daarom klopt de adressering ook niet helemaal. Omdat er geen subnet in dhcpd.conf staat die overeenkomt met de adressering van xl0 krijg ik die foutmelding natuurlijk.

  • AVL
  • Registratie: Januari 2000
  • Laatst online: 25-09-2022

AVL

OHMSS

Dan zet je een lege subnetdeclaratie in je /usr/local/etc/dhcpd.conf:
code:
1
2
subnet 12.12.12.0 netmask 255.255.255.0 {
}

"I'd rather have a bottle in front of me than a frontal lobotomy."

Pagina: 1