Szempontok a program kiválasztásáhozSzempontok a program kiválasztásához

A használandó program kiválasztásakor néhány fontos tényezőt meg kell fontolni.

Kliens-kiszolgáló vagy egyenrangú modell?Kliens-kiszolgáló vagy egyenrangú modell?

Az adatok szétosztásához általában két különböző modellt használnak. Az első modellben az összes kliens egy központi kiszolgálóval szinkronizálja a fájlokat. A kiszolgálót legalább időnként az összes kliensnek el kell érnie. Ezt a modellt használja a CVS.

A másik lehetőség, hogy az összes hálózati gép egymással, mint egyenrangú féllel szinkronizálja az adatokat. Az rsync valójában kliens módban működik, de bármely kliens működhet kiszolgálóként is.

HordozhatóságHordozhatóság

A CVS és az rsync számos más operációs rendszeren is rendelkezésre áll, a különböző UNIX- és Windows-rendszereket is beleértve.

Interaktív vagy automatikus?Interaktív vagy automatikus?

A CVS programban az adatszinkronizálást a felhasználó maga kezdeményezi. Ez lehetővé teszi a szinkronizálandó adatok kifinomult felügyeletét és az ütközések kezelése is egyszerűbb. Azonban ha a szinkronizációs időközök túl hosszúak, akkor nagyobb valószínűséggel történnek ütközések.

Ütközések: okok és megoldásokÜtközések: okok és megoldások

A CVS programban ritkán történnek ütközések; még akkor sem, ha több ember dolgozik egy nagy projekten. Ennek az az oka, hogy a dokumentumok egyedi sorok alapján kerülnek összefésülésre. Az esetlegesen fellépő ütközés csak egy kliensre van hatással. A CVS programban az ütközés általában egyszerűen feloldható.

Az rsync-ben egyáltalán nincs ütközéskezelés. A felhasználó felelős azért, hogy ne írja véletlenül felül a fájlokat és hogy kézzel feloldja az esetleges ütközéseket. A biztonság kedvéért egy verziókezelő rendszer – például az RCS – is alkalmazható.

Fájlok kiválasztása és hozzáadásaFájlok kiválasztása és hozzáadása

A CVS programban az új könyvtárakat és fájlokat a cvs add parancs segítségével explicit módon meg kell adni. Így a felhasználók jobban kézben tarthatják a szinkronizálandó fájlokat. Másrészt viszont könnyebb kifelejteni az új fájlokat, különösen akkor, ha a cvs update parancs kimenetében lévő kérdőjeleket a fájlok nagy száma miatt figyelmen kívül hagyjuk.

ElőzményekElőzmények

A CVS további funkciója, hogy a régi fájlverziók rekonstruálhatók. Rövid szerkesztési megjegyzések szúrhatók be a módosításokhoz, így a fájlok fejlesztése a tartalom és a megjegyzések alapján később egyszerűen nyomon követhető. Ez értékes segítség például értekezések és programszövegek írásakor.

Adatkötet- és merevlemez-követelményekAdatkötet- és merevlemez-követelmények

Az elosztott adatokhoz elegendő szabad területre van szükség az összes érintett gépen. A CVS további területet igényel a kiszolgálón az adattár adatbázisa számára. A fájlok előzményeit szintén a kiszolgáló tárolja, ami még több területet igényel. A szöveges formátumú fájlok módosításakor csak a megváltozott sorokat kell elmenteni. A bináris fájlok minden módosításkor további területet igényelnek.

GUIGUI

A tapasztalt felhasználók a CVS programot általában parancssorból futtatják. Emellett azonban rendelkezésre állnak grafikus felhasználói felületek Linux alá (pl. a cervisia), és más operációs rendszerekhez is (pl. wincvs). Számos fejlesztőeszköz (pl. a kdevelop) és szövegszerkesztő (pl. az emacs) támogatja a CVS használatát. Az ütközések feloldását gyakran egyszerűbb ezeken a felhasználói felületeken végrehajtani.

FelhasználóbarátságFelhasználóbarátság

Az rsync használata meglehetősen egyszerű és kezdők számára is könnyű. A CVS használata némileg bonyolultabb. A felhasználóknak meg kell érteniük az adattár és a helyi adatok közötti interaktív kapcsolat működését. Az adatmódosításokat először helyileg össze kell fésülni az adattárral. Ez a cvs update paranccsal hajtható végre. Ezután az adatokat a cvs commit parancs segítségével az adatokat vissza kell küldeni az adattárnak. Ha ezt az eljárást átlátják, akkor az új felhasználók a CVS programot is kényelmesen használhatják.

Védelem a támadásokkal szembenVédelem a támadásokkal szemben

Az átvitel során az adatokat védeni kell lehallgatás és módosítás ellen. A CVS és az rsync egyszerűen használható ssh-n (secure shell) keresztül, ezáltal biztonságot nyújt az ilyen támadások ellen. A CVS rsh-n keresztüli használatát érdemes elkerülni. A CSV pserver mechanizmuson keresztüli elérése nem biztonságos hálózatokban szintén nem ajánlott.

Védelem az adatvesztéssel szembenVédelem az adatvesztéssel szemben

A CVS-t a fejlesztők már régóta használják programozási projektek kezelésére, lévén rendkívül stabil. Mivel a fejlesztési előzmények mentésre kerülnek, a CVS bizonyos felhasználói hibák – például a fájl véletlen törlése – ellen is védelmet nyújt.

38.1. táblázat - A fájlszinkronizálási eszközök jellemzői: -- = nagyon gyenge , - = gyenge vagy nem áll rendelkezésre, o = közepes, + = jó, ++ = kitűnő, x = rendelkezésre áll

CVS

rsync

Kliens/kiszolgáló

C-S

C-S

Hordozhatóság

Lin,Un*x,Win

Lin,Un*x,Win

Interaktivitás

x

x

Sebesség

o

+

Ütközések

++

o

Fájlkiv.

Kiv./fájl, könyvt.

Könyvt.

Előzmények

x

-

Szabad terület a merevlemezen

--

o

GUI

o

-

Bonyolultság

o

+

Támadások

+ (ssh)

+(ssh)

Adatvesztés

++

+