[OpenBSD]

Anonymous CVS


Tartalomjegyzék


Mi az Anonymous CVS?

Az Anonymous CVS egy módszer, amivel az OpenBSD forrásfa helyi másolatával követhetjük az éppen aktuális OpenBSD fában történt változásokat, továbbá hozzájuthatunk a kiadásokhoz készült patchekhez is.

Az Anonymous CVS legnagyobb elõnye a többi technikával szemben az, hogy egy központi forráskód raktárból, vagy azok tükreibõl dolgozik. Ez azt jelenti, hogy a CVS parancsok teljes palettája rendelkezésre áll a saját változtatások egyéb változásokkal való összevetésére, illetve azok frissen tartására. Lehetõség nyílik különbségek (diff), változási listák es egyéb lekérdezések végrehajtására a központi raktárral szemben.

Az OpenBSD projekt jelenleg három fõ forrásraktárral rendelkezik:

Összefoglalásként elmondhatjuk, hogy az Anonymous CVS igazi erõsségét az adja, hogy egy "toleráns" forráskód ellenõrzõ rendszer - figyelembe veszi a változtatásokat a helyi forrásokban és mindent elkövet hogy frissítse a teljes forrásfát, ahelyett, hogy misztikus hibákat hagyna hátra.

Mi a CVS?

A CVS egy forráskód ellenõrzõ rendszer, amit az OpenBSD forrásfájának karbantartására használunk. Egy központi raktárt használ az összes hivatalosan megjelentetett kiadás forráskódjának és az abban történt változásoknak a tárolására, és lehetõvé teszi, hogy a fejlesztõk rendelkezzenek ennek másolatával, amiben a változtatásaikat kipróbálhatják. Az "írási joggal" rendelkezõ fejlesztõk a változtatásokat érvényesíteni tudják az OpenBSD forrásfában, míg az "Anonymous CVS" felhasználók "olvasási joggal" rendelkeznek, ami lehetõvé teszi számukra, hogy a saját másolataikat naprakészen tudják tartani és lekérdezéseket tudjanak végrehajtani a központi raktárban.

A CVS fõ erõssége abban rejlik, hogy képes a fejlesztõ saját másolatában történt változásokat önállóan alkalmazni a központi raktárra. Ez azt jelenti, hogyha egy modulban változtatunk és frissítünk a CVS megpróbálja ezeket a változásokat minél tökéletesebben beleolvasztani a központi forrásokba.

Abban az esetben ha a változásokat nem sikerül teljesen integrálni a CVS egy ún. "soft fallback" lehetõséget biztosít, ami annyit jelent, hogy megkapjuk a helyi másolatban történt változások listáját és az eredeti, módosítatlan verziót.

Ismerkedés az Anonymous CVS-szel.

A CVS legfrisseb verziója elérhetõ a Cyclic-tõl. Az 1.6-osnál régebbi verziók nem ajánlottak. Ha Ön már rendelkezik telepített OpenBSD-vel a CVS elérhetõ a rendszerébõl.

Akik rendelkeznek OpenBSD CD-vel észrevehették rajta a CVS/ könyvtárakat. Ennek az az oka, hogy a CD tulajdonképpen az OpenBSD src modul egy kiragadott része, amibõl késõbb frissíteni lehet a rendszert. Ha ezt a fát használjuk az elsõ frissítés sokkal gyorsabban fog lezajlani, hisz nem kell az egész OpenBSD forrásfát letölteni, csak a változásokat. Két módja van a CD használatának:

Azok akik nem rendelkeznek CD-vel a cvs(1)-t használhatják a forrásfa megszerzésére. Ennek menetét a következõ fejezetben tárgyaljuk.

Ezután az /usr/src tartalmazni fogja a forráskódot, amiben az összes cvs(1) parancsot használhatjuk.

A forrásfa letöltése és frissítése a CVS segítségével.

A CVS-t arra tervezték, hogy a forráskódot egyszerûen lehessen vele frissíteni. Elõször is el kell dönteni, hogy a current-et vagy egy patch ágat akarunk-e követni. A current fa a legfrissebb változásokat, míg a patch ág a kiadásokat és azok hibajegyzékben felsorolt javításait tartalmazza.

Ha eldöntötte melyik fát kívánja követni ki kell választania egy Anonymous CVS szervert. Ezen szerverek listáját megtalálja alább. A szerverek elérésére 3 mód van.

MEGJEGYZÉS: - Az ssh használatához a CVS_RSH változót ssh-ra kell állítani.

Miután kiválasztotta a használni kívánt Anonymous CVS szervert és a kapcsolódás típusát elkezdheti használni a cvs-t. Akik rendelkeznek az OpenBSD CD-vel frissíthetik az azon található forrásokat a fent említettek szerint. Ha nem rendelkezik CD-vel az alábbi módon juthat hozzá a forráskódhoz. Ezzel a módszerrel a forrásfa az /usr/src-be kerül.

A fenti parancs a current forrásfát fogja letölteni a /usr/src-be. Sokak számára azonban a patch ág használata a kedvezõbb, ennek letöltése a következõképpen lehetséges:

Vagy OPENBSD_2_6 a 2.6-os verzióhoz, stb.

Jelenleg csak az OPENBSD_2_7 címke tartalmazza az adott verzió forráskódját és a hibajegyzék javításait.

Anonymous CVS szerverek.

Két szintû forrásfa hozzáférés létezik:

Irható-olvasható hozzáférés a fejlesztõknek:
A fejlesztõk accounttal rendelkeznek az OpenBSD gépeken. Ehhez az eléréshez mindenki hozzájut, aki az OpenBSD forráskódján dolgozik a többi fejlesztõvel. Ha valaki jó munkát végez és képes együtt dolgozni a csapattal megkapja az accountot.
Csak olvasható hozzáférés mindenki számára:
Mindenki hozzáférhez a csak olvasható CVS raktárhoz. Ezek másolatai az eredetinek, amit gyakran tükrözünk. Használatukhoz a CVSROOT környezeti változó beállítása szükséges. A következõ lehetséges értékeket használhatjuk:

Kérem tekintse meg a megjegyzést az ssh és rsh közti különbségekrõl alább!

Megjegyzés: Ha az Ön szervere hibás adatokkal van itt feltüntetve kérem írjon a beck@openbsd.org címre!

A traceroute(8) paranccsal tudja kideríteni, hogy melyik szerver van Önhöz közelebb. A szerverekkel kapcsolatos problémáit kérjük intézze annak karbantartójához

A kriptografikus kód megszerzése CVS(1)-szel.

FONTOS MEGJEGYZÉS: A kriptografikus programokkal kapcsolatban van pár kérdés, amirõl nem árt tudni:

Példák a CVS(1) használatára.

Egy CVS szervert a következõképpen használhatunk:

A cvs `pserver'' használatához (az ssh vagy rsh helyett közvetlen kapcsolat) elõször be kell lépni:

A következõképpen tudjuk frissen tartani a forrásfát:

A ports használatához az src-hez hasonlóan kell eljárnunk:

A fenti példában a -q elhagyható, csak azért alkalmaztuk, hogy a cvs kimenetét csökkentsük.

Egy diff készítése a helyileg megpatchelt modul esetén (itt cd.c) egy bugreporthoz csatolva:

A CVS(1) manlap (a CVS forrásban is megtalálható) sokkal több információt tartalmaz a CVS használatáról.

X11 forrásfa
Az anoncvs tükrök az OpenBSD X11 forrásfát is tartalmazzák. A fenti receptek alkalmazhatók a második CD-n található források frissítésére. Másolja, vagy használja a union mount-ot az X11 források /usr/X11 alatt való eléréséhez:

Ezután a /usr/X11 használható a cvs-szel. Frissíthetjük például a -current forrásokra (feltételezzük, hogy a CVSROOT környezeti változó be van állítva):

Figyelmeztetés: A cvs használata közben figyelni kell arra, hogy az aktuális könyvtár a forrásfa gyökere, vagy egy másik hely, például a /tmp. Néhány parancs, például a "get" képes tetszõleges alkönyvtárakat létrehozni az aktuális könyvtárban és egy késõbbi frissítés kitörölheti ezeket.

Az anoncvs szolgáltatás lehetõséget biztosít a kezdõ fejlesztõknek a CVS megtanulásához mielõtt megkapnák a "commit" hozzáférésüket. Ezen felül akik patcheket szeretnének közzétenni könnyedén elkészíthetik a diffeket a CVS fához képest, így jelentõsen megkönnyítik az integrációt.

rsh(1)-t vagy ssh(1)-t használjak?

Anoncvs: rsh vagy ssh
Alapértelmezésként a CVS kliens rsh-t használ a CVS szerverrel való kommunikációra. Számos CVS szerver nem támogatja tovább az rsh-t biztonsági megfontolásokból és egy helyi probléma, mint például egy tûzfal is meggátolhatja ennek használatát. Az alternatíva a "secure shell" használata, mint például az OpenSSH (*INGYENES*) vagy az ssh (üzleti).

Az OpenBSD anoncvs raktárak az SSH1 protokollt támogatják az SSH2 helyett annak licenszelési problémái miatt.

Ha az ssh telepítve van a CVS_RSH környezeti változót úgy kell beállítani, hogy az ssh-ra mutasson (ez általában az /usr/bin/ssh). Ha a tûzfal meggátolja a kapcsolódást a 22-es portra használja a 2022-t.

Ne kapcsolja be a tömörítést, mert a CVS önmagában is megteszi ezt. A következõhöz hasonló beállítást ajánlunk a $HOME/.ssh/config fájlban. Érdemes megjegyezni, hogy nem az összes anoncvs szerver használható a 2022-es porton, továbbá hogy a legtöbb anoncvs szerver nem fogadja el a none ciphert, azaz a kódolás nélküli átvitelt.

	Host anoncvs.ca.openbsd.org
	    Port 2022

A CVS kicsit zajosan indul, a lecsendesítéséhez a következõt lehet tenni:

Ha váltani kíván egy másik CVS szerverre (mert amit használni szokott éppen nem mûködik, stb) a következõ környezeti változót kell beállítania:

Ezen felül szükség lesz a -d opcióra is, ahogy azt feljebb említettük.

A CVS raktár tükrözése sup(1)-pal.

Azok, akik az OpenBSD CVS fát szeretnék tükrözni az anoncvs.usa.openbsd.org-ról tehetik meg. Figyelembe kell azonban venni, hogy ez a cvs fa, nem az ebbõl nyert forrásfa. Csak gyors cvs mûveletekre használható (diff, annotate, stb).

Egy példa supfile így nézhet ki:

	cvs host=anoncvs.usa.openbsd.org hostbase=/ base=/home delete

ami tükrözi a cvs fát a /home/cvs könyvtárba a sup adatfájlokat pedig a /home/sup-ba teszi. A teljes OpenBSD cvs fa közel egy gigabájt nagyságú.

Anoncvs tükör felállítása.

Ha egy új anoncvs tükörszervert kíván felállítani kérem vegye fel a kapcsolatot az anoncvs karbantartójával. Az anoncvs tükrök körülbelül 1 GB tárhelyet igényelnek és maximum 4 MB-nyi további helyet felhasználónként (feltételezve, hogy a felhasználó nagy mûveletet hajt végre, míg a kisebbek kevesebb erõforrást igényelnek). Az anoncvs szerverek kitûnõ hálózati kapcsolattal kell, hogy rendelkezzenek arra a területre nézve, ahol a szolgáltatást biztosítják. Elérhetõ egy az anoncvs szerverek felállításáról szóló leírás is.

Végsõ megjegyzések:

A forrásfa frissítése után érdemes elolvasni a /usr/src/Makefile tetején találhatõ kommenteket, továbbá a make build kiadása elõtt érdemes új kernelt fordítani ha lehetséges. Néhány esetben szükséges lehet a config program újrafordítása és -installálása is. Ha a config GENERIC hibázik valószínûleg ez a probléma.

Fontos megjegyezni, hogy egy kiadásról a current fára újrafordítással frissíteni nem mindig egyértelmû. Ajánlott elõször a legutolsõ snapshotra frissíteni az újrafordítást megelõzõen.


OpenBSD www@openbsd.org
Originally [OpenBSD: anoncvs.html,v 1.128 2000/11/21 16:16:34 beck Exp ]
$Translation: anoncvs.html,v 1.10 2000/12/02 21:13:26 attila Exp $
$OpenBSD: anoncvs.html,v 1.9 2000/12/05 21:26:45 jufi Exp $