Root > Documents > Web Güvenlik Açıkları > CVS Concurrent Versions Systems
Cyber-Warrior.Org \ Doküman \ Web Güvenlik Açıkları > CVS Concurrent Versions Systems
Madde
  Yazar : spaNKy
  Date : 25.07.2005 21:43:38
 
# CVS Concurrent Versions Systems
 

CVS ( Concurrent Versions Systems )




CVS Nedir?

CVS, sürüm takip sistemidir. CVS üzerinde tutulan dosyalarda hangi kullanicilarin ne zaman ne gibi degisiklikler yaptigininin kaydi tutulur.

Bir topluluk tarafindan gelistirilen çogu projede CVS den yararlanilmaktadir.

CVS’ in Kurulumu

Kaynak Koddan Kurulum:

Ilk olarak www.cvshome.org adresinden .tar dosyasini indirin. Daha sonra /tmp dizinine kopyalayin ve buraya dosyayi açin. Configure, make ve make install kullanarak CVS’ i kendi sisteminize göre derleyebilirsiniz. Kurulum hakkindaki daha faza bilgiyi INSTALL dosyasindan ede edebilirsiniz.

/tmp$ ls
cvs-1.11.5.tar.gz
/tmp$ tar -zxvf cvs-1.11.17.tar.gz
/tmp$ cd cvs-1.11.17
/tmp/cvs-1.11.5$ ./noautomake.sh –noautoconf
/tmp/cvs-1.11.5$ ./configure
...
...
...
/tmp/cvs-1.11.5$ make
...
...
/tmp/cvs-1.11.5$ su root
...
/tmp/cvs-1.11.5$ make install
...

Apt Kullanarak Kurulum

apt kaynak dosyasini güncellemek için ilk önce update parametresini çalistirmaliyiz. Daha sonra apt-get install ile CVS’ imizi kurabiliriz.

$ apt-get update
...
$ apt-get install cvs
...

CVS Sunucu Üzerinde Kullanici Islemleri

CVS sunucu üzerinde CVS’ e ulasmasi istenen her kullanici için bir hesap olusturulmalidir.

CVS’ de Ilk Islemler

Proje dosyalarinin sunucuda tutulabilmesi için bir CVS klasörü ayrilmalidir. Bu klasöre CVS proje dosyalari konur. CVS proje klasörünün ( CVSROOT ) izinleri dogru bir sekilde ayarlanmalidir.

$ mkdir /var/cvsroot/proje1 #CVS proje klasörü olusturuluyor
$ chown -R cvs:cvs /var/cvsroot/proje1 # Proje klasörünün sahibi ve grubu degistiriliyor

Simdi bir kaç proje dosyasi olusturalim ve bunu CVS’ e yerlestirelim.

$ cd /tmp
$ mkdir ornek
$ touch ornek/dosya1
$ touch ornek/dosya2
$ cd ornek
$ cvs -d /var/cvsroot/proje1 import ornek ornek_proje surum_0.1

Eger CVSROOT dizinimizi yerel bir makinada tutuyorsak çevre degiskeni tanimlayabilir ve her defasinda -d parametresi ile CVS dizininimizi gösermek zorunda kalmayabiliriz.

$ export CVSROOT=/var/cvsroot/proje1

Fakat çalisma yapilacak sunucu ile kullanici ayri sistemlerde ise bir de kullanici ve makine adresi tanimlamak zorundayiz.

$ export CVSROOT=:ext:kullanici:@sunucu_adresi:/var/cvsroot/proje1
$ export CVS_RSH=ssh

Son satirda gösterilen ssh uzaktaki sunucuya baglanirken kullanilacak protokoldür. ext degeri ise “external” anlamina gelir ve sunucunun disarida oldugunu belirtir.

CVS Üzerinde Çalismak

CVSROOT çevre degiskenimizi belirledikten sonra cvs sunucuya giris yapabiliriz.

$ cvs login

Buradan sonra CVS sunucusu sifre isteyecektir.

Ilk olarak proje dosyalarini çekelim.

$ cvs co proje1

Kodlarda bir kaç degisiklik yapalim ve sonrasinda CVS sunucuya tekrar projemizi yerlestirelim.

$ vi proje1/dosya1
$ cvs commit
$ cvs update # Proje dosyalari güncellenir

Projeye yeni bir dosya eklemek için add parametresini kullanabiliriz.

$ vi main.c # yeni bir dosya olusturuluyor
$ cvs add main.c # CVS sunucuya main.c dosyasi yükleniyor
$ cvs commit

Varolan bir dosyayi silmek için ise delete parametresini kullanabiliriz.

$ rm sil.c
$ cvs delete sil.c
$ cvs commit

Bir projeyi yeni bir sürüme geçirmek isin ise tag parametresini kullanabiliriz.

$ cvs update
$ cvs tag surum_0.2

Eger herhangi bir sürümü çekmek istersek r parametresini kullanabiliriz.

$ cvs co -r surum_0.1 ornek

 

 

Not : Doküman HazirLanirken Baris Simsek’ in
CVS ile Açik Kod Yazilim Gelistirme" Teorisinden FaydaLaniLmistir.

 

seLametLe..

   
   
Cyber-Warrior TIM All Legal and illegal Rights Reserved.\CWDoktoray 2001©