Юу Яаж Хэрхэн?
CVS гэж юу вэ?
  Агуулга
 Нvvр Хуудас
 Танилцуулга
 Толь Бичиг
 Монголдуу
 Вэб Лавлах 109
 Асуулт Самбар
 E-Mendchilgee!*
 Зургийн Цомог
 Фото Сурвалжлага
 Чат::Chat
 Зочны Дэвтэр
 Links Вэб Хаяг
 Хамтран Ажиллах
 Ангилал
 Компъютер
 Интернэт
 Технологи
 Ахуй Амьдрал
 Уран Зохиол
  ..
 Yйчилгээ
 Утасны Кард
 Бэлэг Хvргvvлэх
 Вэб Хостинг
  ..

 

Сурталчилгаа

Preventing Perfectionism?

 

МУШУТИС харъяа ХоМТС Мэдээлэлийн Технологийн Оюутан М.Эрхэмбаатар

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 серверийг ажиллагаанд бэлдэх дараалал

  • - Linux/Unix системийг сервер компъютер дээрээ суулгаж тохируулах. CVS систем нь vнэтэй болон vнэгvй ихэнхи vйлдлийн системvvд дээр ажилладаг.
  • Linux: Red Hat, Suse, Candera, Debian, Slackware, Mandrake, Turbo, ..
  • Unix: FreeBSD, OpenBSD, NetBSD, AIX, IRIX, HPUX, Solaris, BeOS...

Нэмэлт хэрэгсэлд мэйл сервер (sendmail, qmail), файл сервер (samba, nfs)

  • - CVS системээ суулгаж тохируулах
    CVS application server ийг суулгасаны дараа тvvнийг сервис болгож тохируулна. Мєн уг системийн хэрэглэгчидийг тодорхойлж, єєрєєр хэлбэл ажиллах программистуудын CVS сервер рvv нэвтрэх хэрэглэгчийн нэр, нууц vгийг оруулна.
  • - Хэрвээ хэрэглэгчидэд эх кодоо файл хэлбэрээр share хийх шаардлагатай гэж vзвэл Samba File Server ийг ашиглаж Linux/Unix систем дэхь директоруудыг Windows Network д share хийснээр Visual C++, Visual Basic, Delphi, .. гэх мэт программчлалын багажуудын эх кодыг CVS д хийгээд авч ашиглах боломжтой. Гэхдээ ингэж сервер дэхь кодоо ажиллуулж vзэхийн тулд тухайн дотоод сvлжээнд холбогдсон байх шаардлагатай. Хэрвээ єндєр хурдтай интернет шугамтай бол VPN (Virtual Private Network) ашиглах боломжтой. Гэсэн ч зєвхєн эх кодоо авч, илгээж байхын тулд дунд болон бага зэрэг удаан интернет холболт байсан ч болно.
  • - Программын прожектын vvсгэж, модулиудыг тодорхойлоод ажилыг гvйцэтгэх программистуудад нэвтрэх хэрэглэгчийн нэр, нууц vг зэргийг тараана.

    Эхлэлд нь очих

CVS хэрэглэгчийг ажиллагаанд бэлдэх

  • - Windows системийг компъютер дээрээ суулгана. Программын код бичихэд Windows систем дээр ажиллах нь маш єндєр vр дvнтэй байдаг тул сонгодог. Гэсэн ч хэрвээ хvсвэл Linux/Unix систем дээр ажилладаг CVS Client программ хангамжууд олон байдаг.
  • - CVS client application ийг суулгана. Хамгийн их хэрэглэдэг, єргєн дэлгэрсэн нь WinCVS, TortoiseCVS программууд. Хэрэглэхэд хялбар ба vнэгvй хувилбар байдаг.
  • - CVS тэй зохицож ажилладаг гуравдагч компаниудын программ хангамж хэрэгсэлийг суулгах. Yvнд Merge, Mail Client (Outlook, Eudora, ..), тухайн программын кодыг хєрвvvлж ажилуулдаг багаж хэрэгсэл (Turbo C++, Visual C++, Visual Basic, Delphi, PHP, Web Browser, ..) гэх мэт шаардлагатай зvйлс багтана.
  • - Программын прожектын удирдагчаас систем нэвтрэх нэр, нууц vг, ажлын даалгавараа авна.

    Эхлэлд нь очих

CVS ийг ашигласан жишээ, практик

BSD тєрлийн vйлдлийн системийн эх кодыг татаж авах

Америкийн Бэркэли дэхь Калифорнийн Их Сургуулийн гаргадаг BSD (Berkeley System Distributions) тєрлийн Unix системvvд болох FreeBSD, OpenBSD, NetBSD vнэгvй системvvдийн эх кодыг интернетээс хэрхэн татаж авхыг жишээ болгож харуулья.
Эдгээр системvvд нь CVS –ийг ашигладаг бєгєєд хэд хэдэн ийм сервер (mirror servers) байдаг. Дараах хаягууд нь гол гол серверvvдийн CVS директор, хандах хэрэглэгчийн нэр зэрэг мэдээлэлvvд нь байна.

 

 

  • FreeBSD :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs
  • OpenBSD :pserver:anoncvs@anoncvs1.usa.openbsd.org:/cvs
  • NetBSD :pserver:anoncvs@anoncvs.netbsd.org:/cvsroot

Дээрхь коммандуудыг 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йл явц танд харагдана.

Анхаарал тавьж уншсанд тань баярлалаа!

Монголын программистууд
Маш олон болтугай!

Эхлэлд нь очих

 

Холбогдох Линкvvд

 

Эхлэлд нь очих

CVS – Программ хангамжийн эх кодын бvртгэлийн систем
Товч тvvх
Ашигтай талууд
Дутагдалтай талууд
CVS ийг ашиглаж байгаа системvvд
CVS серверийг ажиллагаанд бэлдэх дараалал
CVS хэрэглэгчийг ажиллагаанд бэлдэх
BSD тєрлийн vйлдлийн системийн эх кодыг татаж авах
Холбогдох Линкvvд
 
 
Posted on Dec 03, 2002.

Advertisement:

 


Asuult.NET. CR. 2000-2006