Celem synchronizacji danych na moich komputerach założyłem archiwum SVN na PC. Do tej pory trzymałem moje pliczki potajemnie na svn.gust.org.pl
, ale baza padła, svn
wypisuje, że takiej to a takiej wersji nie ma svn: No such revision 465, no i generalnie kicha. Ponieważ svn
w moim przypadku to duży overkill myślałem o czymś w rodzaju unisone
, ale szkoda mi czasu, a po drugie -- pewnie niesłusznie -- wydaje mi się, że unisone
bardziej nadaje się do synchronizacji w jedną stronę, np. przesłanie plików konfiguracyjnych z serwera na wiele komputerów. Tak więc ostatecznie stanęło na svn
.
Zacząłem od ,,konfiguracji'' mojej ,,sieci'' LAN. Po uruchomieniu /sbin/ifconfig
ustaliłem, że mój PC ma adres 192.168.1.102
. Dopisałem zatem do /etc/hosts
:
192.168.1.102 darkstar.pinkaccordions.org darkstar
W zasadzie całą konfigurację zrobił router! Komputer ma zatem nazwę darkstar
, a pinkaccordions.org
jest ukłonem w stronę Elki. Laptopa konfiguruję podobnie, nie używam WiFi, tylko kabel. Sieć będę używał tylko do transferu-synchronizacji więc nie ma to (mam nadzieję) większego znaczenia. Teraz najtrudniejsze:
svnadmin create '/stuff/svn/repos/tomek/'
svn mkdir file:///stuff/svn/repos/tomek/weblog -m'pierwszy projekt'
chown -R g+w /stuff/svn/
Następnie dopisuję do /etc/group
, grupę svn
, a do niej tych, którzy mają korzystać z svn
. Zmieniam grupę, do której należy katalog /stuff/svn/
:
chown -R root:svn /stuff/svn/
Wylogowuję się jako root
I dodaję do repozytorium pierwszy projekt. Ponieważ repo jest na lokalnej maszynie mogę wpisać:
svn import file:///stuff/svn/repos/tomek/weblog -m "Import mojego bloga"
Jeżeli nie zadziała, ale zamiast tego wyświetli:
svn: Can't create directory '/subversion/main/db/transactions/0-1.txn':\
Permission denied
Albo ekwiwalent w języku polskim, to trzeba zrestartować komputer i powinno działać. Jeżeli coś dalej jest nie tak, no to nie wiem -- u mnie działa.
Obezwładniam SELinuksa, edytując /etc/selinux/config
:
SELINUX=disabled
SELinux jest usługą, która przeszkadza w wielu miejscach i z moich doświadczeń wynika, że lepiej ją prędzej czy później wyłączyć. Usługa ssh powinna być ,,zaufana'' (trusted services). Teoretycznie można konfigurować zaporę sieciową poprzez wybór z System/Administracja/Zapora, ale u mnie to nie działa. Być może jest to moja wina, bo nie używam domyślnego unicode tylko ISO-8859-2. W każdym bądź razie, radzę sobie uruchamiając program poprzez terminal (oczywiście jako root
):
LANG=C system-config-securitylevel
Żeby nie wpisywać hasła, generuję odpowiednie klucze używając ssh-keygen
, w sposób opisany tutaj:
ssh-keygen -t rsa
Teraz dwa razy Enter. W rezultacie klucz prywatny jest w .ssh/id_rsa
, a publiczny w .ssh/id_rsa.pub
Zawartość tego ostatniego trzeba dodać do .ssh/authorized_keys
na maszynie, z którą mamy się łączyć bez podawania hasła. Procedurę powtarzam dla drugiej maszyny. Można sprawdzić:
ssl -l tomek darkstar
Powinno działać. Także będzie działać svn, np. mogę ściągnąć repozytorium z PC na laptopa:
svn co svn+ssh://tomek@darkstar/stuff/svn/repos/tomek/weblog
Dopisane 26 lutego 2008: Sam się dziwiłem jakim cudem router przydziela moim komputerom te same numery IP. Ale do czasu. Wczoraj przydzielił inne... Pomysł oparty na /etc/hosts
miał raczej krótkie nogi. Nie mając bladego pojęcia jak to osiągnąć i posługując się google ustaliłem, że 1) static DHCP jest tym czego mi potrzeba; 2) fabryczny firmware do mojego routera WRT54GL nie potafi tego zrobić i należy wgrać alternatywny 3) są różne alternatywy, zachęcony tym wpisem postawiłem w ciemno na Tomato.
Mówiąc szczerze najwyżej w Google było nt. dd-wrt, ale strona tegoż jakaś taka podejrzanie dziwna, nie mówiąc już o www.dd-wrt.org/. I was a bit afraid.
Zatem ściągnąłem plik ze strony www.polarcloud.com/tomato. Zainstalowałem archiwizer 7-Zip, który do niczego nie był mi wcześniej potrzebny:
yum install p7zip p7zip-plugins
Wypakowałem zawartość archiwum, połączyłem się z routerem (http://192.168.1.1/
) i wgrałem firmware (Administration/Firmware Upgrade, wybrałem plik wrt54g_wrt54gl.bin
). Teraz ważne (nie zrobiłem tego i straciłem trochę czasu): należy zresetować router (Administration/Restore default configuration, wybrać Erase all data in NVRAM memory). Po resecie loguję się na router jako root
/admin
. Następnie trzeba przejść do zakładki Basic/Static DHCP i wpisać odpowiednie informacje (numery MAC są w zakładce Status/Device List).
Zgodnie z tym co jest napisane w dokumentacji należy wybrać adresy spoza puli przydzielanej automatycznie przez router. Ponieważ mój router przydziela z przedziału 192.168.1.100--149, wybrałem numery typu: 192.168.1.2 itp.
Jak już wszystko zainstalowałem to znalazłem detaliczny opis co i jak tu: Turbocharge your router with Tomato. Jest też poradnik co robić jak instalując nowy firmware popsujemy router: Recover from a Bad Flash.
Brak komentarzy:
Prześlij komentarz