Subversion za neprogramere
Konkretno - SVN za sistem administratore, ili za korisnike koji brinu o svom sistemu (velika većina GNU/Linux korisnika).
SVN, ili Subversion, je sistem za održavanje i kontrolu revizija. Poznat alat svim programerima, može biti koristan i za sistem administratore. Ovde opisujem slučaj držanja celog /etc direktorijuma u SVN repozitoriji (ja ovo volim da prevodim kao ostava) što omogućava da se vide ranije verzije pojedinih sistemskih fajlova, kao i da se nikada ne izgubi neko podešavanje.
Naime, ovaj sistem nije zamišljen kao bekap, bar ne ovako kako sam ja opisao pošto se repozitorija (ostava, hmmm) nalazi na istom računaru, verovatno i na istom disku.
Sada sledi kratko i brzo uputstvo kako se pravi repozitora (sledeći put definitivno pišem ostava):
mkdir -p /root/svn/etc
svnadmin create /root/svn/etc
cd /
svn import etc file:///root/svn/etc -m "initial import"
rm -rf etc
svn co file:///root/svn/etc etc
Naravno, sve ove komande treba pokrenuti kao root korisnik, pošto se radi o sistemskim fajlovima.
Sada, možemo koristiti tiradu svn komandi kojima ćemo kontrolisati /etc direktorijum. Napomenuću samo neke, možda najvažnije, ostale možete videti preko svn help komande.
Stat komanda će prikazati koji fajlovi su promenjeni. Commit ćemo koristiti da pošaljemo promenjene fajlove u ostavu, dok revert služi da se vrate starije revizije. Uostalom, na svn se vrlo lako navikava, ubrzo se postaje svestan koliko je moćan i koristan alat čak i u ovim totalno neprogramerskim slučajevima.
Mala napomena, pre nekog vremena sam koristio BazaarNG za isti problem (BazaarNG je isto RCS kao i SVN /uh, ala volim ovaj geektalk/), ali je pravio probleme ne ignorišući fajlove koji bih mu eksplicitno rekao da ignoriše. Subversion je ipak oprobano stabilan program, možda najbolji u svojoj klasi.
Neki slični članci na Svetski Širokoj Mreži:
Držanje svoga života u Subversionu
Gentoo Linux Server Administration
Držanje $HOME u Subversionu
Napomene:
Pojaviće se probemi sa direktorijumom /etc/modprobe.d. Taj direktorijum je najbolje držati van ostave i ne voditi računa o njegovim revizijama. Prvo ga snimite na nekom drugom mestu, zatim ga obrišite (svn remove). Uklonite iz njega direktorijum .svn i onda ga vratite nazad u /etc. Komandom “svn propedit svn:ignore .” stavite da se ignoriše taj direktorijum, kao i još neki fajlovi koji će uvek biti različiti (adjtime, mtab, random-seed…).
January 4th, 2007 at 1:58 pm
Subversion je veoma moristan alat, ali mi se cini d aljudi neznaju gde to sve moze da se koristi i zasto. Posto kdo nas nije razvijena kultura elektronskog arhiviranja, pracenja organizacije i kreiranja jednog ili vise dokumenata ond aje ljudima nejasno zasto to sve sluzi. Mislim d abi bilo dobro posvetiti jedan post tome kad se sve moze koristiti Subversion. npr. advokatske kancelarije, osiguravajuca drustva, pravne sluzbe, kreiranje tehnicke dokumentacije, kreiranje plaikacije za projekte i sredstva, umetnicki rad….
January 5th, 2007 at 2:01 am
Da, Subversion može biti veoma moćan u svim primenama u kojima se koriste tekstualni fajlovi.
Ovo se odnosi i na OpenOffice fajlove, pošto su oni u XML formatu, koji je čist tekst (doduše zipovani, ali i to se može verovatno urediti preko SVN-ovih zakačenih skripti).
No, Subversion nema neku preveliku svrhu kod netekstualnih fajlova, osim što možda umanjuje zauzeće prostora pri bekapu zato što čuva delte, umesto celih fajlova.
Mada, svemu se može naći svrha, a posebno ovako dobro razvijenom sistemu kao što je Subversion.
S druge strane, produktivno primenjen Subversion zahteva određenu disciplinu od korisnika, nešto čemu su najnaviknutiji programeri…