МУШУТИС
харъяа ХоМТС Мэдээлэлийн Технологийн Оюутан М.Эрхэмбаатар
2002
оны 11-р сарын 19.
CVS
-
Concurrent Versions System
CVS
– Программ хангамжийн эх кодын бvртгэлийн систем
Манай
программ хангамж vйлдвэрлэгч компаниуд болон энэ чиглэлийн их
дээд сургуулиуд маань орчин vеийн хєгжилтэй зэрэгцэж гадаадын
зах зээлд орж ажиллахад дараахь зvйл шаардлагатай:
·
Программчлалын нарийн мэдлэг, тvвшин
· Багаар хамтарч ажиллах болон зайнаас
ажиллах туршлага
· Эцсийн бvтээгдэхvvн буюу программ хангамжийн vйл ажиллагааг
нарийн нягтлах тестийн vйл ажиллагаа
· Хэрэглэгчидэдтэй харилцах сайн менежмент
· Ажлын зохион байгуулалт, єдрийн дэглэм, цагын хуваарь
· Гадаад хэлний мэдлэг, гадаад хэлээр харилцах чадвар
Энд
онцлож багаар хамтарч ажиллах (team working), болон зайнаас
ажиллах (outsourcing) талаар ярья. Єнєє vед интернет
болон интранетээр дамжуулан гэрээсээ ажиллах боломжтой болсон
тухай их ярьж бичиж байгаа. Тэгвэл яг чухам ямар программ, технологи
ашиглаж vvнийг хэрэгжvvлэхийг нь тэр бvр ярихгvй байгаа болохоор
манай оюутан, залууст энэ талаар ойлголт єгєхийг хичээсэн билээ.
Зайнаас
ажиллахад зориулагдсан олон программ хангамж байдаг боловч хамгийн
их тархсан боловч vнэгvй байдаг нэгэн программыг танилцуулья.
CVS
(Concurrent Versions Control System) бол программын версийн
удирдлагын систем юм. Yvнийг ашигласанаар программын эх кодын
тvvхийг (history of source code) хадгалах боломжтой болдог.
Єєрєєр хэлбэл тухайн программын бvх версvvдийн эх кодуудыг тvvнд
харгалзах тайлбартайгаар нь хадгалдаг. Энэ нь ихэнхи программистуудад
тохиолддог ємнє бичиж байсан эх кодыг мартах, том хэмжээний
программын эх код дотор тєєрєх гэх мэт ажиллагааг хєнгєвчилж
єгдєгєєрєє ашигтай байдаг.
Жишээлбэл,
‘Номын сангийн удирдага’ гэсэн программын v2.0 гэсэн верс дээрхи
ном бvртгэх хэсэг дээр алдаа (bug) гарсан байлаа гэж
vзье. Харин vvний ємнєх v1.9 гэсэн верс дээр уг алдаа байгаагvй
vед тухайн алдааг (bug) засахын тулд 1.9 версийн эх кодоос
сэргээх хэрэг тулгарна. Хэрвээ энэ vед ямар нэгэн версийн удирдлагын
систем ашиглаагvй байсан бол сэргээхэд их хvндрэл учирна. Маш
олон файлууд хайх ба тухайн программын зєвхєн ном бvртгэх хэсгийн
кодыг бичсэн программист олох юм уу тvvнээс туслалцаа авах хэрэгтэй
болдог. Энэ нь олон программистууд, олон газраас, интернетээр
болон дотоод сvлжээ ашиглан ажиллаж байгаа vед цаг алдах, vл
ойлголцох зэрэг хvндрэл гарах шалтгаан болно.
Харин
уг программыг версийн удирдлагын систем буюу тухайлбал бидний
ярьж байгаа CVS системийг ашиглаж байгаа бол ‘ном бvртгэх’ гэсэн
тvлхvvр vгээр программын файлуудын тайлбар дотроос хайж уг ном
бvртгэж байгаа хэсгийн кодыг олох юм уу эсвэл эх кодуудыг бичиж,
засч байсан бvртгэлээс хайн хялбарханаар олж болно.
Эхлэлд
нь очих
Товч
тvvх
1986
оны 12 сарын vед Dick Grune гэдэг хvн анх shell script бичсэнээ
comp.sources.unix newsgroup –д зарласанаар гарч ирсэн. Дараа
нь 1989 оны 4 сард Brian Berliner CVS-ийн программын дизайн
ба кодыг бичсэн байна. Yvний дараа Brian –д Jeff Polk туслан
дизайн ба кодыг сайжируулсан. Одоо CVS нь ихэнхи Unix/Linux
тєрлийн системvvдэд хамт суулгасан байдлаар гарч ирсэн ба бараг
бvх Эх Код нь Yнэгvй Программ Хангамж (Open Source Software)
бvхэн уг версийн системийг ашиглаж, хєгжиж байгаа.
Эхлэлд
нь очих
Ашигтай
талууд
CVS
системийг ажигласанаар гарах давуу талууд нь:
· Программын эх кодыг эмх цэгцтэй, харгалзах тайлбартайгаар
хадгална.
· Программын эх кодуудыг версээр нь ангилна. Мєн сvvлд нь тэдгээрийг
сэргээх боломжтой байдаг.
· Олон программист нэг программын прожект дээр ажиллах боломж
олгоно.
· Дотоод сvлжээ болон интернетээр, зайнаас ажиллах боломжтой.
· Мєн CVS тэй ажилладаг Windows болон бусад системын программ
хэрэгсэлийг ашиглаж жижиг болон дунд хэмжээний программ хангамжийн
компани, их дээд сургууль, албан байгууллагууд ашиглах боломжтой.
Эхлэлд
нь очих
Дутагдалтай
талууд
·
Систем буюу программ хангамжийн прожектийг бvхлээр нь build
буюу бvх эх кодыг хєрвvvлээд сvvлийн binary файлуудыг гаргахгvй.
Зєвхєн программын эх код ба тvvнийг тvvхийг хадгална.
· CVS нь мєн программын удирдлагыг гvйцэтгэж чадахгvй. Єєрєєр
хэлбэл программыг бичиж дуусгах хvртэлхи хяналт, ажлын гvйцэтгэлийн
бvртгэл, тєлєвлєлт зэргийг хийхгvй.
· Мєн программист хоорондын харилцааг гvйцэтгэхгvй. Єєрєєр хэлбэл
хэрвээ программистууд тухайн прожектд зайнаас ажиллаж байгаа
бол мэйл, чат, утас зэргээр хоорондоо харилцах болно. Yvнд CVS
д vvссэн ‘conflict’ийн асуудлыг шийдэх, кодуудыг ‘merge’ хийх
зэрэгтээ бусад гуравдагч программ хангамж хэрэгсэлийг ашигладаг.
· CVS нь мєн автомат тестлэгч систем биш. Энэ нь программын
кодыг ажиллуулж шалган алдаа (bug) байгааг шалгадаггvй гэсэн
vг.
Эхлэлд
нь очих
CVS
ийг ашиглаж байгаа системvvд
·
Бараг бvх тєрлийн Unix/Linux системvvд: FreeBSD, OpenBSD, NetBSD,
GNU Debian Linux
· Эх код нь нээлттэй программ хамгамжын прожектуудыг vнэгvйгээр
байрлуулж ажилуулдаг веб сайтууд, тухайлбал www.sourceforge.net.
Энэ сайт нь CVS дээр суурилан єєрийн веб хуудасаараа дамжуулан
интернетээр сайн дурын хvмvvст орон орноос нэг программ хангамжын
тєслийг хийж гvйцэтгэхэд нь тусладаг энэ тєрлийн веб сайтуудаас
хамгийн алдартай нь гэж хэлж болно. Хэрвээ та хvсвэл уг веб
сайтад хэрэглэгчээр бvртгvvлээд єєрийн гэсэн прожект эхлvvлж
болно. 2 єдрийн дотор багтаагаад таны уг прожектыг хvлээж авсан
эсэх талаархи хариуг мэдэгддэг. Ингэж хєгжиж байгаа системvvдээс
дурдвал:
o phpMyAdmin
– MySQL єгєгдлийн баазыг удирдах веб интерфэйс.
o phpPgAdmin
– PostgreSQL єгєгдлийн баазыг удирдах веб интерфэйс.
o YahooPops
– pop.mail.yahoo.com мэйл серверийг орлох мэйл сервер.
· Их дээд сургууль, эрдэм шинжилгээний лабораториуд, программ
хангамжийн vйлдвэрлэл явуулдаг пvvс компаниуд .. гэх мэт байгуулага
хувь хvмvvс ашиглаж байгаа.
Эхлэлд
нь очих
Манай
орны нєхцєл байдалд тохируулж CVS системийг зайнаас ажиллахад
хэрэглэх талаар
CVS
серверийг ажиллагаанд бэлдэх дараалал
Дээрхь
коммандуудыг FreeBSD системийн хувьд тайлбарлавал, эх кодыг
авахийн тулд:
pserver – гэдэг
нь пасспорт сервер рvv
anoncvs – гэдэг
нь anonymous буюу нээлттэй нийтийн хэрэглэгчээр
anoncvs.FreeBSD.org
– гэдэг нь нээлттэй нийтийн сервер рvv
/home/ncvs –
гэдэг нь CVS-ийн байрлаж байгаа директор руу
хандана гэж зааж єгч байна.
TortoiseCVS
программ нь Windows систем дэхь CVS клиент программ юм. Yvнийг
татаж авч суулгаад маш хялбарханаар CVS –тэй ажиллаж болно.
Уг программыг ашиглан дээрх эх кодыг хэрхэн татаж авахыг харуулъя.
1.
Эх кодыг хуулах директор луу ороод хулганы баруун товчыг дарна.
Гарч ирэх цэснээс “CVS
Checkout…” гэснийг сонгоно. Дараахь зурагт vзvvлэв.

2.
Yvний дараа “Checkout
Module” гэсэн цонх (дараахь зурагт vзvvлэв) гарч
ирэх ба “CVSROOT
“ хэсэгт “:pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs”
гэх мэт дээр єгсєн системvvдийн cvsroot хаягийг бичнэ. Дараа
нь “Modules”
хэсгийн сумтай товчийг (list box) дарах буюу “Fetch
List…” товчийг дарахад хэсэг хугацааны дараа тухайн системийн
бvх модулийн нэрсийн жагсаалт “Modules”
хэсэгт харагдана. Тvvнээс татаж авах гэж байгаа модулиа сонгоод
“OK” товчийг
дарахад шинэ цонх гарч ирж татаж байгаа vйл явц танд харагдана.

Анхаарал
тавьж уншсанд тань баярлалаа!
Монголын
программистууд
Маш олон болтугай!
Эхлэлд
нь очих