A.4. CTM-i kasutamine

CTM on veel üks meetod eemalasuva kataloogipuu sünkroonishoidmiseks keskse puuga. See on arendatud kasutamiseks FreeBSD sortsupuudega, kuigi aja jooksul võivad inimesed temast ka muul moel kasu lõigata. Hetkel ei ole deltade loomise kohta olemas pea mingisugust dokumentatsiooni, nii et kui soovid CTM-i muuks otstarbeks kasutada, räägi mõne Poul-Henning Kamp -ga.

A.4.1. Miks peaksin kasutama CTM-i?

CTM annab sulle kohaliku koopia FreeBSD lähtetekstidest. On olemas mitmesuguseid variante puust, CTM on abiks nii juhul kui tahad jälgida tervet CVSi puud, kui ka siis, kui tahad ainult ühte haru. Kui sa oled aktiivne FreeBSD arendaja, kuid sul on kehv või lausa olematu TCP/IP ühendus, või kui tahad lihtsalt, et muudatused sulle automaatselt saadetaks, siis on CTM mõeldud just sulle. Kõige aktiivsemad harud saadavad sulle päevas kuni 3 deltat. Sa peaksid kaaluma võimalust lasta neid sulle automaatselt meiliga saata. Uuenduste suurusi hoitakse nii väikseid kui võimalik. Tavaliselt on need väiksemad kui 5K, umbes üks kümnest uuendusest on 10-50K ja vahetevahel harva tulevad ka suured 100K+ uuendused.

Sa peaksid olema ka teadlik ohtudest, mis kaasnevad lähtekoodi arendusversiooniga töötamisel võrreldes eel-pakitud väljaande koodidega. Eriti tuleks seda meeles pidada, kui valid ``current''-lähtekoodi. On soovitav, et sa loeksid peatükki ``Staying Current With FreeBSD''.

A.4.2. Mida on mul vaja, et kasutada CTM-i?

Sul on vaja kahte asja: Esiteks CTM-i programmi ja teiseks algseid deltasid (mille baasil ``current''-i peale minna).

CTM-i programm on olnud FreeBSD osaks juba alates versioonist 2.0 ja tema asukohaks lähtekoodi puus on /usr/src/usr.sbin/ctm, kui sul on olemas koopia sortsust.

Kui sa kasutad 2.0-eelset FreeBSD versiooni, siis võid CTM-i lähtekoodi alla laadida aadressilt

http://www.freebsd.org/cgi/cvsweb.cgi/src/usr.sbin/ctm/

Vajalikud ``deltad'', mida CTMile ette anda, võid saada kahel viisil: FTP või meili kaudu. Kui sul on FTP ligipääs internetile, siis järgnevad serverid toetavad CTM-i:

ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/

või loe peeglite peatükki.

mine FTP-ga vajalikku kataloogi ja tõmba README-fail, edasised õpetused leiad sealt.

Kui soovid saada deltasid meili teel:

Telli üks CTM-i jaotuslistidest. ctm-cvs-cur toetab kogu CVS-i puud; ctm-src-cur toetab tervet head (peamist) arendusharu; ctm-src-4 toetab 4.X väljalaskeharu jne. (Kui sa ei tea, kuidas liituda meililistiga, klikka mõne nimetatud listi nimel või mine aadressile http://lists.FreeBSD.org/mailman/listinfo ning klikka listil, mida soovid tellida. Sel lehel peaksid olema kõik vajalikud tellimisjuhendid. )

Kui sa hakkad saama oma CTM-i uuendusi meili teel, siis võid kasutada programmi ctm_rmail nende lahti pakkimiseks ja peale panemiseks. Tegelikult võid ctm_rmail-i kasutada otse kirjest failis /etc/aliases, kui tahad et protsess oleks täisautomaatne. Loe ctm_rmail-i man-lehte täpsemate detailide saamiseks.

Note: Olenemata sellest, mis meetodiga sa deltasid hangid, peaksid sa tellima endale loendi ctm-announce. Tulevikus on see ainus koht, kuhu CTM-i puudutavad uudised saadetakse. Et seda teha, klikka listi nimel ning järgi instruktsioone.

A.4.3. CTM-i esmakordne kasutamine

Enne, kui saad asuda CTMi kasutama, pead saama mingi algbaasi, millele hakata deltasid peale panema.

Esiteks pead sa välja uurima, mis sul juba olemas on. Kõik võivad alustada ``tühjast'' kataloogist. Sa pead selleks kasutama ``Empty''-deltat, et luua alus CTM-i poolt toetatud puule. On plaan kunagi mõni neist ``alustatud'' deltadest sinu mugavuse huvides CD-le panna, kuid siiski mitte niipea.

Kuna need puud on kümneid megabaite suured, peaksid sa siiski üritama alustada millestki, mis sul juba olemas on. Kui sul on -RELEASE'i CD, siis võid sa alg-lähtekoodi võtta sealt. See säästab suure hulga aega.

Tunned need ``starter''-deltad ära tähe X järgi, mis on numbrile lisatud (näiteks src-cur.3210XEmpty.gz). Laiend, mis järgneb tähele X, vastab su algsele olukorrale. Empty on tühi kataloog. Selline tühjalt baasil alustamise delta luuakse iga 100 delta järel. Muide, need failid on suured! Tavaliseks andmehulgaks on XEmpty deltade puhul 70-80 MB ulatuses gzip-itud andmeid.

Kui sa oled saanud delta, millelt alustada, on sul vaja ka deltasid kõrgemate numbritega, mida algse delta peale panna.

A.4.4. CTM-i kasutamine igapäevases elus

Et deltasid peale panna, pead sa lihtsalt andma järgneva käsu:

# cd /where/ever/you/want/the/stuff
# ctm -v -v /where/you/store/your/deltas/src-xxx.*

CTM saab aru deltadest, mis on eelnevalt gzip-i abil kokku pakitud, niisiis ei ole sul vaja neid eelnevalt lahti pakkida - hoiad nii kettaruumi kokku.

CTM ei muuda su lähtekoodide puud enne, kui ta on kindel et see on turvaline. Et kontrollida delta korrasolekut ja seda, kas ta läheks su olemasoleva lähtepuuga ilusti kokku, võid sa kasutada võtit -c ning seljuhul ei puutu CTM tegelikult su puud.

CTM võimaldab ka mitmete teiste võtmete kasutamist, täpsema info saamiseks vaata man-lehte või lähtekoodi.

Ja see on ka praktiliselt kogu kunst. Iga kord, kui saad uue delta, lase CTM-il see oma lähtekoodide puule lisada.

Ära kustuta deltasid, kui sul oleks neid uuesti raske alla laadida. Neid tasuks alles hoida juhuks, kui juhtub midagi halba. Isegi kui sul on ainult disketid, peaksid sa kaaluma käsu fdwrite abil koopiate tegemist.

A.4.5. Kohalike muudatuste alleshoidmine

Arendajana tahad sa kindlasti eksperimenteerida lähtekoodiga ja muuta faile. CTM toetab kohalike muudatuste alleshoidmist piiratud viisil: enne kui ta kontrollib faili foo olemasolu, kontrollitakse faili foo.ctm olemasolu. Kui viimane on olemas siis teeb CTM vajalikud operatsioonid hoopis sellesse, mitte faili foo.

Selline käitumine annab meile lihtsa võimaluse majandada oma kohalikke muudatusi: lihtsalt kopeeri fail, mida sa kavatsed muuta sama failinime alla, lisades lõppu laiendi .ctm. Seejärel võid vabalt koodi häkkida ja CTM hoiab samal ajal .ctm-faili värskena.

A.4.6. Teisi huvitavaid CTM-i võtmeid

A.4.6.1. Mis täpselt saaks värskendamise protsessi käigus muudetud?

Nimekirja muudatustest, mida CTM teeks su lähtekoodi hoidlale, saad sa kasutades võtit -l.

See on kasulik, kui sa tahad pidada loge muudatustest, teostada mingeid eel- või järeltoiminguid või tunned end lihtsalt paranoiliselt.

A.4.6.2. Tagavarakoopiate tegemine enne värskendamist

Mõnikord võib sul olla vaja teha eelnevalt koopiad kõigist failidest, mida CTM muuta kavatseb.

Kui kasutad võtit -B tagavara-koopia-fail, siis teeb CTM eelnevalt tagavara-koopia-fail nimelisi tagavara koopia kõikidest failidest, mida antud delta kavatseb muuta.

A.4.6.3. Värskendatavate failide piiramine

Mõnikord on vaja piirata piirata antud CTM-i värskendamise ulatust või on sul tahtmine deltast ainult mõningaid üksikuid faile peale panna.

Sa saad hallata nimekirja failidest, mida CTM muudaks, kasutades selleks filtreerivaid regulaaravaldisi võtmete -e ja -x abil.

Näiteks, kui soovid, et deltast pakitaks lahti uus versioon failist lib/libc/Makefile, siis kasuta selleks järgnevaid käskusid:

# cd /where/ever/you/want/to/extract/it/
# ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.*

CTM võrdleb nii võtme -e kui ka -x järgi oleva avaldise väärtust kõikide failidega deltas, tehes seda käsurea argumentide järjekorras. Hiljem värskendatakse ainult need failid, mis ctm avaldiste kontrollimisel märkis sobivaks.

A.4.7. CTM-i tulevikuplaanid

Neid on terve hunnik:

A.4.8. Muud asjad

Tegelikult on ka portsude kollektsiooni jaoks deltad olemas, aga selle võimaluse asjus pole üldine huvi veel märkimisväärne.

A.4.9. CTM-i peeglid

CTM FreeBSD on saadaval üle anonüümse FTP paljudest peeglitest. Kui otsustad hankida CTMi üle anonüümse FTP siis vali palun sulle lähim server.

Probleemide korral kirjuta aadreissl Poul-Henning Kamp .

Kui sulle ei asu lähedal ühtegi serverit või peegel pole täielik, katsu midagi leida mõnest otsimootorist, näiteks alltheweb-ist.