[BSD] ntp reject
Zahemszky Gabor
gabor at zahemszky.hu
2007. Okt. 11., Cs, 19:57:10 CEST
Ruzsinszky Attila írta:
>> > name=ntpd
>> > rcvar=`set_rcvar`
>> > command="/usr/sbin/${name}"
> Kérlek, áruld el, hogy ez alapján hogyan használja a /usr/local/...
> path-ot, még ha meg is adom az rc.conf-ban, ahogy írtátok.
Egyelore olvason a szkriptet (/etc/rc.subr) es az alapjan mondom amit
mondok:
az rcvar=.... sor eredmenye, egy rcvar=ntpd ertekadas. A kimaradt:
load_rc_config $name
sor az erdekes. Ez a shell-fv beolvassa a rendszer konfig fajlokat, es abbol
beolvas egy kupac valtozot, tobbek kozt az altalad elvileg beallitott
ntpd_command -ot. (Amit ugye a ports-bol felrakott ntpd eleresi uttal egyutt
megadott ertekere allitottal; ez volt, amire azt irtam, h add meg neki:
ntpd_command=/usr/local/sbin/ntpd - nyilvan a helyes path-t kell megadni.)
Majd pedig sok sallang utan jon a /etc/rc.d/ntpd szkript vegen a:
run_rc_command "$1"
(gondolom en $1 = start ), es elkezd trukkozni. Eloszor ellenorzi, hogy
fast* , force* vagy one* -e az elso parameter, es utana jon a lenyeg:
eval _override_command=\$${name}_program
command=${command:+${_override_command:-$command}}
Ennek a ket igen ocsmany sornak az eredmenye, hogy amennyiben valahol van
egy (jelen pillanatban) ntpd_command nevu valtozo, akkor azzal felulirja a
command valtozot - azt, ami meghatarozza, hogy mit is akar a kesobbiekben
futtatni. Azaz megiscsak a ports-bol telepitett ntpd-nek kellene futnia, ha
beraktad a jo ntpd-re mutato valtozot a /etc/rc.conf-ba.
A fentieket a laptopomon futo 6.2-esrol irom, sot ki is probaltam: beleirtam
az ntpd_command=/usr/local/sbin/ntpd sort a /etc/rc.conf-ba, es lefuttattam
a
sh -x /etc/rc.d/ntpd onestart
parancsot, ez a kimenet vege:
+ info run_rc_command: cannot run (/usr/local/sbin/ntpd).
+ return 1
Szoval ennek mennie kell.
> Pedig ott van a bináris a /usr/local/... alatt.
> A régi teljes ntp* binárisokat belöktem a home-omba, hogy
> meglegyen, hátha kell és hogy ne találhassa meg véletlenül
> a régieket.
Ezt nem kell, es nem is ajanlott. Azaz rakd oket vissza a helyukre, allitsd
le a portsbol felrakott ntpd-t, eleresi uttal adott nevet rakd bele a
/etc/rc.conf fajlba ntpd_command=.... formaban, engedelyezd az ntpd
inditasat ugyanitt az ntpd_enable=1 sorral, majd inditsd el: sh
/etc/rc.d/ntpd start. Es mennie kell.
> Még mindig az a véleményed, hogy kapkodok?
Mondjuk ugy, nem kello alapossaggal jarsz utana a dolgoknak.
> Ez az ntpd itt az Alfán az első pillanattól nem akart menni rendesen
> és nem is magára az ntpd hibájára gondoltam.
Erre nem tudok mit mondani. Majd ha egyszer latok ilyet sajat szememmel :-)
> Szóval nem értem.
> Természetesen az ntpd scriptet át tudom írni úgy, hogy jó legyen,
> de húzom a szám érte.
Igazad van, ne is tedd, mert a *BSD-k rc mechanizmusai nyujtanak erre sokkal
kifinomultabb megoldasokat.
Zahy
További információk a(z) BSD levelezőlistáról