1 Tworzenie wªasnego zaproszenia dla powªoki bash 2 Zakªadanie
Transkrypt
1 Tworzenie wªasnego zaproszenia dla powªoki bash 2 Zakªadanie
1 Tworzenie wªasnego zaproszenia dla powªoki bash Posta¢ zaproszenia do wprowadzania polece«, które widoczne jest po otworzeniu terminala tekstowego ksztaªtuje zawarto±¢ zmiennej systemowej PS1. Jej warto±¢ mo»emy zmieni¢ w prowadzaj¡c odpowiednie modykacje w pliku konguracyjnym ∼/.bashrc. Zazwyczaj w domy±lnej zawarto±ci tego pliku (o ile jest on automatycznie tworzony przy zakªadaniu konta) znajdziemy wpis: PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' Sekwencja \u@\h:\w\$ powoduje, »e w zaproszeniu wy±wietla si¦ najpierw login u»ytkownika, znak @, nazwa hosta oraz po znaku ':' ±cie»ka dost¦pu do aktualnego katalogu. Caªo±¢ ko«czy si¦ znakiem $ np: jkowalsk@panamint:~/zamp/z1$ Je±li chcemy mie¢ wy±wietlon¡ tylko nazw¦ bie»¡cego podkatalogu oraz inn¡ zaproszenia, np. '>', to wystarczy ten wpis zamieni¢ na ko«cówk¦ PS1='${debian_chroot:+($debian_chroot)}\u@\h:\W> ' 2 Zakªadanie repozytorium Opisana poni»ej procedura ma charakter ogólny. Niemniej dla ustalenia uwagi zaªó»my, »e pracujemy na panamincie. 1. Wybieramy sobie kartotek¦ w strukturze katalogu domowego. Zaªó»my, »e jest to katalog $HOME/repos . 2. Wykorzystuj¡c program svnadmin tworzymy podstawow¡ struktur¦ repozytorium. panamint:~> svnadmin create $HOME/repos 3. Tworzymy struktur¦ katalogu dla nowego zadania, np. panamint:~> mkdir $HOME/zamp panamint:~> cd $HOME/zamp panamint:zamp> mkdir z1 panamint:zamp> cd z1 panamint:z1> mkdir trunk branches tags 4. Importujemy do repozytorium nowy projekt panamint:z1> cd .. panamint:zamp> svn import z1 -m 'Inicjalizacja z1' file:///$HOME/repos/zamp/z1 Adding z1/trunk Adding z1/branches Adding z1/tags Committed revision 1. 5. Mo»emy sprawdzi¢ jaka jest aktualna zawarto±¢ repozytorium 1 panamint:zamp> svn ls file:///$HOME/repos/ panamint:zamp> svn ls file:///$HOME/repos/zamp panamint:zamp> svn ls file:///$HOME/repos/zamp/z1 6. Usuwamy dotychczasow¡ struktur¦ z katalogu i pobieramy jej wersj¦ z repozytorium. panamint:zamp> rm -r z1 panamint:zamp> svn checkout file:///$HOME/repos/zamp/z1 A z1/trunk A z1/branches A z1/tags Checked out revision 1. 3 Dodawanie plików 1. Utwórzmy plik w podkatalogu trunk i dodajmy go do repozytorium. panamint:zamp> cd z1/trunk panamint:zamp> touch przyklad.txt panamint:zamp> svn ls # Plik nie ma pod kontrol¡ svn panamint:zamp> svn add przyklad.txt A przyklad.txt panamint:zamp> svn ls # wci¡» nie widzimy pliku Polecenie svn ls wy±wietla list¦ plików, które s¡ w katalogu bie»¡cym pod kontrol¡ svn, i których kopie znajduj¡ si¦ ju» w repozytorium. 2. Skªadowanie zmian w repozytorium panamint:zamp> svn commit -m 'Dodanie pliku "przyklad.txt"' Adding przyklad.txt Transmitting file data . Committed revision 2. panamint:zamp> svn ls panamint:zamp> svn update Updating '.': At revision 2. panamint:zamp> svn ls przyklad.txt 4 # wci¡» nic Wª¡czanie wªasno±ci Zmie«my plik przyklad.txt dodaj¡c wpisy, które svn b¦dzie rozpoznawaª i umieszczaª tam dodatkowe informacje. panamint:z1> cat >> przyklad.txt $HeadURL: $ $Author: $ $Date: $ 2 $Revision: $ panamint:z1> svn propset 'svn:keywords' "Rev Date Author HeadURL" przyklad.txt Teraz zeskªadujmy zmiany do repozytorium i zaktualizujmy zawarto±¢ katalogu. Po tej zmianie w pliku przyklad.txt zostan¡ wpisane informacje o tym kto wprowadziª zmian¦ w danej wersji, kiedy ona nast¡piªa, jaka to jest wersja oraz gdzie znajduje si¦ repozytorium dla danego pliku. panamint:z1> svn commit -m 'Wlaczone zostaly wlasnosci dla "przyklad.txt"' Sending przyklad.txt Transmitting file data . Committed revision 3. panamint:z1> cat przyklad.txt $HeadURL: file:///home/jkowalsk/repos/zamp/z1/trunk/przyklad.txt $ $Author: jkowalsk $ $Date: 2013-10-01 06:57:44 +0200 (wto, 01 pa¹ 2013) $ $Revision: 3 $ 5 Komunikacja zdalna z archiwum (bezserwerowa) Mo»liwe jest bezserwerowe korzystanie z archiwum. W tym celu najlepiej u»y¢ tunelowania poprzez ssh, a wi¦c protokoªu svn+ssh. Aby to prze¢wiczy¢, zaªó»my, »e b¦dziemy pracowa¢ na diablo i ª¡czy¢ b¦dziemy si¦ z repozytorium na panamincie. Serwery diablo i panamint maj¡ wspólny system plików. Jednak na potrzeby tego ¢wiczenia b¦dziemy je traktowali jako osobne struktury. Przed pobraniem projektu z repozytorium utwórzmy sobie odpowiedni katalog. diablo:~> mkdir test/ diablo:~> cd test Teraz pobierzmy projekt z repozytorium: diablo:test> svn checkout svn+ssh://panamint.iiar.pwr.wroc.pl/home/jkowalsk/repos/zamp/z1 [email protected]'s password: [email protected]'s password: A z1/trunk A z1/trunk/przyklad.txt A z1/branches A z1/tags Checked out revision 2. Korzystaj¡c z polece« commit, update, ls itp. nie musimy podawa¢ ju» lokalizacji repozytorium. 6 Generowanie kluczy dla ssh Program ssh umo»liwia wygenerowanie kluczy, które s¡ wykorzystywane przy autoryzacji zdalnego dost¦pu. Pozwala to na bezpieczn¡ autoryzacj¦ bez podawania hasªa. Dzi¦ki temu przy posªugiwaniu si¦ programem svn z tunelowaniem poprzez ssh nie b¦dzie konieczne wielokrotne wpisywanie hasªa. 3 Nale»y jednak pami¦ta¢, »e automatyczna autoryzacja poprzez ssh rodzi inne poten- cjalne zagro»enia. Je»eli kto± wªamie si¦ nam na konto, z którego mamy bezpieczny bezhasªowy dost¦p na konta na innych serwerach, to wªamywacz b¦dzie miaª równie» do nich dost¦p. Z tego powodu ten typ dost¦pu powinien by¢ mo»liwy tylko z konta, które jest bardzo dobrze chronione. Zaªó»my dalej, »e b¦dziemy chcieli mie¢ bezpieczny i bezhasªowy dost¦p do konta na panmincie z poziomu konta na diablo. Poni»ej opisan¡ operacj¦ wykonujemy wtedy, gdy nie wygenerowali±my jeszcze »adnych kluczy. Je»eli to ju» zostaªo wcze±niej zrobione, to operacj¦ generacji nale»y pomin¡¢ i przej±¢ do nast¦pnej. diablo:.ssh> ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/jkowalsk/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/jkowalsk/.ssh/id_rsa. Your public key has been saved in /home/jkowalsk/.ssh/id_rsa.pub. The key fingerprint is: ef:20:45:d2:ba:05:fd:06:ff:1c:27:2c:e5:be:10:06 jkowalsk@diablo The key's randomart image is: +--[ RSA 2048]----+ | | | o | | o E . | | = = + | | . S B = . | | + + * + | | o . o + | | . o . . | | . . | +-----------------+ diablo:~> _ Serwery diablo i panamint maj¡ wspólny system plików. Jednak dalsza procedura jest pokazana w sposób mo»liwie ogólny. Tak wi¦c nie korzysta si¦ z faktu, »e serwery te dziaªaj¡ na tym samym systemie plików. Kolejna operacja maja na celu przekopiowanie pliku id_rsa.pub na panamint i doª¡cznie go do pliku ∼/.ssh/authorized_keys diablo:~> scp .ssh/id_rsa.pub panamint:.ssh/id_rsa.pub.diablo Password: id_rsa.pub 100% 1683 1.6KB/s 00:00 diablo:~> ssh panamint Password: Linux panamint 2.6.32-5-686-bigmem #1 SMP Fri Feb 15 16:26:23 UTC 2013 i686 Linux panamint 2.6.32-5-686-bigmem #1 SMP Tue Mar 8 22:14:55 UTC 2011 i686 **************************************************************************** * * * P A N A M I N T^8 * * Debian * * * * przegladarki www: opera,firefox * 4 * klient pocztowy: alpine, mailx * * graficzne edytory tekstu: gedit,gvim,emacs * * edytory tekstu: vi,vim,nano,emacs,pico * * programy inzynierskie: matlab,R * * narzedzia programistyczne: ddd, designer * * narzedzie do tworzenia dokumentow tekstowych: latex * * programy graficzne: xfig,qcad * * * * W przypadku problemow prosimy pisac na adres: * * [email protected] * **************************************************************************** No mail. Last login: Wed Oct 2 13:40:41 2013 from diablo panamint:~> cd .ssh panamint:.ssh> touch authorized_keys panamint:.ssh> cat id_rsa.pub.diablo >> authorized_kes panamint:.ssh> rm id_rsa.pub.diablo Operacja zako«czona. Pozostaje przetestowa¢, »e wszystko dziaªa. panamint:.ssh> exit logout Connection to panamint closed. diablo:~> ssh panamint Linux panamint 2.6.32-5-686-bigmem #1 SMP Fri Feb 15 16:26:23 UTC 2013 i686 Linux panamint 2.6.32-5-686-bigmem #1 SMP Tue Mar 8 22:14:55 UTC 2011 i686 **************************************************************************** * * * P A N A M I N T^8 * * Debian * * * * przegladarki www: opera,firefox * * klient pocztowy: alpine, mailx * * graficzne edytory tekstu: gedit,gvim,emacs * * edytory tekstu: vi,vim,nano,emacs,pico * * programy inzynierskie: matlab,R * * narzedzia programistyczne: ddd, designer * * narzedzie do tworzenia dokumentow tekstowych: latex * * programy graficzne: xfig,qcad * * * * W przypadku problemow prosimy pisac na adres: * * [email protected] * **************************************************************************** No mail. Last login: Wed Oct 2 13:41:20 2013 from diablo panamnint:~> _ Dziaªa !!! :-) 5