A CTM használatáva a távoli könyvtárakat tudunk egy központi változattal szinkronban tartani. Eredetileg a FreeBSD forrásaihoz fejlesztették ki, de idővel mások más célokra is alkalmasnak találhatják majd. Az eltérések (delták) feldolgozásával kapcsolatban kevéske dokumentáció áll rendelkezésre, ezért a ctm-users levelezési listát érdemes felkeresni, ha többet szeretnénk megtudni a CTM egyéb célú alkalmazásairól.
A CTM segítségével a FreeBSD forrásainak helyi másolatát hozhatjuk létre. A források több különböző „kivitelben” is hozzáférhetőek. A CTM minden esetben képes eleget tenni az igényeinknek, akár az egész CVS fát, akár annak egy részét kívánjuk csak figyelemmel követni. Ha netalán FreeBSD fejlesztők lennénk, és híján vagyunk vagy éppen gyenge TCP/IP kapcsolattal rendelkezünk, esetleg egyszerűen csak automatikusan értesülni szeretnénk a változásokról, a CTM-et nekünk találták ki. A leggyorsabban fejlődő ágakból is naponta legfeljebb három deltát fogunk kapni, azonban érdemes megfontolni a változások automatikus elküldését levélben. A szükséges frissítések méretét mindig igyekszünk minimalizálni. Ez egyébként általában alig 5 KB, de néha (tízből egyszer) előfordul, hogy 10 és 50 KB között van, és időnként 100 KB vagy afeletti mennyiségű frissítés is érkezhet.
Amikor a fejlesztők által használt forrásokat töltjük le, magunknak kell gondoskodnunk a menet közben felmerülő különböző problémák megoldásáról. Ez kiváltképp igaz abban az esetben, amikor az aktuális, vagy hivatalos nevén „CURRENT” ágat követjük. Mielőtt azonban egy ilyenbe belevágnánk, érdemes fellapozni a FreeBSD legfrissebb változatának használatáról szóló fejezetet.
A működéshez két komponens szükségeltetik: a CTM kliensprogramja és hozzá a kezdeti delták (amivel majd letöltjük a „CURRENT” forrásait).
A CTM program már a 2.0
kiadástól kezdve a FreeBSD része, és
a források között a
/usr/src/usr.sbin/ctm
könyvtárban találjuk meg (amennyiben
felraktuk).
A CTM működéséhez kellő „deltákat” két módon, FTP-n vagy e-mailen keresztül szerezhetjük be. Ha el tudunk érni interneten levő FTP oldalakat, akkor az alábbi FTP helyeken találunk a CTM-hez használható adatokat:
ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/
valamint lásd a tükrözéseket.
FTP-n keresztül lépjünk be a
könyvtárba, töltsük le a
README
nevű állományt
és kövessük a benne szereplő
utasításokat.
Ha viszont e-mailen keresztül akarjuk megszerezni a deltákat:
Iratkozzunk fel a CTM terjesztési listáinak egyikére. A ctm-cvs-cur lista az egész CVS-fát, míg a ctm-src-cur a fő fejlesztési ágat teszi elérhetővé. A ctm-src-4 a 4.X kiadásaihoz ágakat tartalmazza, és így tovább. (Ha nem tudjuk, hogyan kell feliratkozni egy levelezési listára, akkor kattintsunk a lista nevére vagy kövessük a http://lists.FreeBSD.org/mailman/listinfo linket, majd kattintsunk arra a listára, ahova fel akarunk iratkozni. Ezen az oldalon az összes, a feliratkozáshoz nélkülözhetetlen információnak szerepelnie kell.)
Miután elkezdenek megérkezni a
CTM-frissítéseket
tartalmazó levelek, a tartalmukat a
ctm_rmail
programmal tudjuk kicsomagolni
és felhasználni. Az
/etc/aliases
állományba
akár közvetlenül is beírhatjuk a
ctm_rmail
programot, és ezzel a
önállósítani tudjuk a
levélben érkező frissítések
feldolgozását. A ctm_rmail
man oldalán olvashatjuk ennek részleteit.
Nem számít, milyen módon jutunk hozzá a CTM által használt deltákhoz, minden esetben fel kell iratkoznunk a ctm-announce levelezési listára. Az elkövetkezendőkben ez lesz az egyetlen hely, ahová a CTM rendszer működtetésével kapcsolatos bejelentések beküldésre kerülnek. A feliratkozáshoz kattinsunk a fenti lista nevére és kövessük a mellette szereplő utasításokat.
Mielőtt nekilátnánk a CTM-hez tartozó delták használatának, először el kell jutnunk egy kiindulási ponthoz, ahonnan majd létre tudjuk hozni a rákövetkező deltákat.
Ehhez elsőként vegyük számba, pontosan mink is van. Általában mindenki egy „üres” könyvtárral kezd. Ilyenkor egy kezdeti „Empty” (mint „üres”) elnevezésű deltával tudjuk megkezdeni az CTM által ismert fa szinkronizálását. Erre a célra lesznek majd szintén alkalmasak a „megkezdett” delták is, amelyek valamikor a CD-re fognak felkerülni.
Mivel a fák maguk több tíz megabyte-nyi méretűek, ezért érdemes inkább valami kéznél levő eszközzel megkezdeni a folyamatot. Ha van -RELEASE verziójú CD-nk, akkor másoljuk le róla és bontsuk ki a kiindulásként használt forrásokat. Ezzel jelentős mennyiségű adat átvitelét takaríthatjuk meg.
A „kezdő” deltákat könnyen
megismerjük a szám után
X
karakterrel leválasztott
nevükről (például
src-cur.3210XEmpty.gz
). Az
X
után szereplő
megnevezés a kezdeti „kiindulás”
(seed) fokának felel meg. Az
Empty
egy üres
könyvtárra utal. A szabályok szerint az
Empty
állapotból 100
deltánként jön létre újabb
(kiindulásra alkalmas) alapváltozat. Ezek
azonban nagyon nagyok is lehetnek. A 70 vagy 80 megabyte-os
gzip
pel csomagolt adatok gyakoriak az
XEmpty
delták
esetén.
Miután kiválasztottuk a számunkra megfelelő alapváltozatot, szükségünk lesz a tőle nagyobb sorszámú összes deltára is.
A delták felhasználásához egyszerűen csak ennyit kell tennünk:
#
cd /ahol/tárolni/akarjuk/az/adatokat
#
ctm -v -v /ahol/tároljuk/a/deltákat/src-xxx.*
A CTM képes
értelmezni a gzip
által
csomagolt adatokat, ezért nincs szükség a
delták előzetes
kitömörítésére, amivel
tárhelyet tudunk spórolni.
Hacsak nem tekinti tökéletesen
biztonságosnak az egész folyamatot, akkor a
CTM nem fog
módosítani a fán. A deltákat a
CTM -c
kapcsolójával is ellenőrizhetjük,
aminek során egyáltalán nem fog
módosulni a forrásfa. Ekkor egyszerűen
csak ellenőrzi a delták
sértetlenségét és megnézi,
hogy minden rendben zajlana-e az alkalmazásuk
során.
A CTM-nek vannak még további kapcsolói is, melyekről bővebben a man oldalakból és a forráskódokból tájékozódhatunk.
Most már minden megvan, ami kellhet. Amikor kapunk egy újabb deltát, a forrásaink frissítéséhez csak futtassuk át a CTM-en.
Ne töröljük le azokat a deltákat,
melyeket nehezen tudtunk letölteni. Helyette
érdemes inkább megtartani ezeket arra az esetre,
ha valami rossz történne. Még ha csak
floppylemezek is állnak rendelkezésünkre,
mindenképpen másoljuk le ezeket az
fdwrite
paranccsal.
Fejlesztőként biztosan szeretnénk
kísérletezni és
állományokat megváltoztatni a
forrásfában. A CTM a
helyben elkövetett változtatásokat csak
korlátozottan támogatja: az
ize
nevű állomány
meglétének vizsgálata előtt az
ize.ctm
állományt fogja
keresni. Ha létezik, akkor a
CTM az ize
helyett ezen fog dolgozni.
Ezzel a viselkedéssel nyerjük a saját
változtatásaink megtartásának
egyszerű módját: csak másoljuk le
.ctm
kiterjesztéssel a
módosítani tervezett állományokat.
Ezután már szabadon módosíthatjuk
a forrásokat, miközben a
CTM a .ctm
kiterjesztésű állományokat
folyamatosan szinkronban tartja.
A CTM által a
forrásokon elvégzendő
változtatások listáját az
-l
kapcsolóval
kérdezhetjük le.
Ez akkor esik kézre, ha szeretnénk feljegyezni a bekövetkező változásokat, vagy bármilyen módon elő- vagy utófeldolgozni a módosított állományokat, esetleg szimplán elővigyázatosak akarunk lenni.
Néha egyszerűen csak szeretnénk az összes érintett állományról biztonsági másolatot készíteni a CTM által elvégzett frissítés előtt.
A -B
beállítás megadásával az
adott CTM delta által
módosítandó összes
állomány tárolásra kerül a
mentés-állomány
mentés-állomány
nevű állományba.
Egyes esetekben érdekünkben állhat leszűkíteni a CTM által eszközölt frissítések hatáskörét, vagy egyszerűen csak néhány állomány szinkronizálására van szükségünk.
A CTM számára
feldolgozható állományok
listáját reguláris kifejezés
formájában az -e
és
-x
opciók mentén
határozhatjuk meg.
Például ha a
lib/libc/Makefile
állomány az összegyűjtött
CTM delták szerinti
legfrissebb verziójához kívánunk
hozzájutni, akkor futtassuk az alábbi
parancsot:
#
cd /akarhova/ahova/ki/akarjuk/bontani/
#
ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.*
A CTM deltákban
megadott minden egyes állomány esetén
az -e
az -x
opciók
a parancssorban történt megadásuk
sorrendjében kerülnek feldolgozásra. Egy
állományt kizárólag csak akkor
dolgoz fel a CTM, ha az az
-e
és -x
opciók kiértékelése után
is indokolt.
Rengeteg van:
Valamiféle hitelesítés bevezetése a CTM rendszerbe, amivel észlelhetőek a meghamisított CTM-frissítések.
A CTM beállításainak letisztázása, mivel eléggé megtévesztőek és nehézkesen használhatóak.
Léteznek delták a portok
gyűjteményéhez is, azonban még nem
mutatkozott túlzottan nagy
érdeklődés irántuk.
A CTM/FreeBSD anonim FTP-n keresztül elérhető az alábbi tüköroldalak valamelyikéről. Amennyiben ezen a módon kívánjuk letölteni a CTM rendszerhez tartozó állományokat, először próbálkozzunk a hozzánk legközelebb levő szerverrel.
Ha bármilyen gond merülne fel, értesítsük a ctm-users levelezési listát.
Ha nem találtunk volna hozzánk közel eső tükrözést, vagy ha talált tükör nem elég friss, akkor próbálkozzunk egy olyan keresőmotor használatával, mint például az alltheweb.
Ha kérdése van a FreeBSD-vel kapcsolatban, a
következő címre írhat (angolul):
<questions@FreeBSD.org>.
Ha ezzel a dokumentummal kapcsolatban van kérdése, kérjük erre a címre írjon:
<gabor@FreeBSD.org>.