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.