[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