от James M. Rogers(19-05-2000)

рейтинг (8)   [ добре ]  [ зле ]

Printer Friendly Вариант за отпечатване

Тази статия е преведена с разрешението на нейния автор James M. Rogers
Адресът на оргиналната статия е http://www.linuxgazette.com/issue50/rogers.html
Превод: Биляна Георгиева - biliana_vg@yahoo.com

Когато работите с повече от един човек върху някакъв проект, Вие трябва да бъдете сигурен, че никой от тях не замазва поправките, които другите са внесли преди това. Когато имате само няколко директории, спокойно можете да използвате Revision Control System (RCS). Но ако имате дузина проекти с десет програмиста и разработчиците Ви са в различни краища на света, ръководството на проекта ще Ви се стори като кошмар, в който RCS няма да Ви е от голяма полза.

Това, от което имате нужда е Concurent Version System (CVS). Предимството на CVS е, че винаги е в течение какво става в мрежата, работи с цели дървета от директории и позволява на много хора да работят върху един и същ файл по едно и също време, без да пропускат промените, които внасят другите.

Наред с безбройните си предимства обаче, CVS има и един недостатък - изходният код на вашата програмата преминава през интернет, без да бъде шифрован, което го прави лесна плячка за хакери. Този месец ще говоря за създаването на Secure Networked Repository(надеждно мрежово хранилище), което използва Secure Shell(ssh) и решава проблема с нешифрованата информация. Следващият месец ще Ви покажа как да внасяте текущите си проекти в хранилището, да отписвате кода си, да обновявате файловете и отново да вписвате кода си в хранилището.

1. Инсталирайте ssh във всичките си компютри. Тази програма е достъпна тук. Компанията, която прави ssh, можете да намерите тук.
2. Нагласете sshd да действа на машината, на която ще е хранилището.
3. Създайте нов потребителски акаунт за всяка група програмисти на машината, на която ще е хранилището. За пример създайте нов потребител наречен repository(хранилище).
4. Създайте .ssh директория в акаунта на всеки, включително на новия акаунт repository.
5. Променете правата на .ssh директорията на 770 - 'chmod 700 .ssh' на акаунта на всеки, включително и на новия акаунт repository.
6. Нека всички да създадат общодостъпен(public) и личен(private) ключ като използват програмата ssh-keygen.
7. Съберете всички ~/.ssh/identity.pub файлове от акаунтите на програмистите, на които им е позволено да работят по проекта и ги поставете в ~/.ssh/authorized_keys в акаунта на хранилището.
8. Пишете 'chmod 700 ~/.ssh/authorized_keys' като преди това влезте като потребителя repository(хранилище).
9. Изпробвайте, за да се уверите, че хората могат да използват 'ssh repository@repository_host', където repository е името на групата директории, а repository host е името на хоста, където е хранилището.
10. Създайте директория, наречена ~/cvsroot, в home директорията на хранилището.
11. Добавете долупосочените две променливи на обвивката shell script rc файл, от какъвто имате нужда. За мен това беше моят ~/.bashrc файл:

export CVS_RSH=ssh

export CVSROOT=repository@repository_home:/home/repository/cvroot

12. Пробвайте сега да се log-нете през друга виртуална конзола , за да се уверите, че още можете да се log-вате и че горните променливи са добавени правилно.
13. Въведете команда 'cvs init' като нито Вие, нито който и да е оторизиран потребител на трябва да получава съобщение за грешка.
14. Ако получите такова съобщение за грешка, започнете отново на чисто и изпълнете инструкциите отново, докато се получи.
15. Ако имате някакви въпроси, моля свържете се с мен.
16. Възползвайте се от тази възможност да работите и със SSH, и със CVS. Прочетете документацията, вижте дали не можете да измислите нови начини за тяхното използване. Ако някой знае друг начин за създаване CVS хранилища, моля да го сподели с нас! Особено ме интересува как да поставям общодостъпно CVS хранилище, каквито виждам постоянно в интернет.

И ако някой е обърнал внимание, тук става въпрос за поставянето на всичките Ви лични акаунти, така че да е нужно да се регистрирате само веднъж в една машина, която е защитена(secure machine) и след това да се свързвате с други машини, без да е нужно да се регистрирате отново. Ще Ви обясня как да правите това в следващата си статия от поредицата.



<< GNOME на български | WindowMaker на български!!! >>