Sünkroniseerimine Unison-iga: Difference between revisions
No edit summary |
No edit summary |
||
(55 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
=Juhendi autor ja versioneerimine= | |||
'''Nimi:''' Reinu<br /> | |||
'''Grupp:''' AK31<br /> | |||
'''ITK kood:''' 10061916<br /> | |||
<blockquote style="margin: 1em 1em 1em 0;"> | |||
{| class="wikitable" style="text-align:center; padding: 1em; border: 1px #aaa solid; background: #f9f9f9;" | |||
|-style="background: #e2e2e2;" | |||
! Versioon !! Kuupäev !! Kommentaar | |||
|- | |||
| 0.1 || 02.01.2009 || Artikli loomine | |||
|- | |||
| 0.2 || 03.01.2009 || Esialgne sisu sisestus | |||
|- | |||
| 0.3 || 08.01.2009 || Teksti parendamine | |||
|- | |||
| 1.0 || 08.01.2009 || Valmis | |||
|} | |||
</blockquote> | |||
=Sissejuhatus= | =Sissejuhatus= | ||
Unison on failide sünkroniseerimise tarkvara Linux, Mac OS X ja MS Windows tüüpi operatsioonisüsteemidele. See võimaldab pidada kaustadest ning failidest ühesuguseid replikatsioone kahes erinevas sihtkohas.<br /> | Unison on failide sünkroniseerimise tarkvara Linux, Mac OS X ja MS Windows tüüpi operatsioonisüsteemidele. See võimaldab pidada kaustadest ning failidest ühesuguseid replikatsioone kahes erinevas sihtkohas.<br /> | ||
Line 9: | Line 30: | ||
=Legend= | =Legend= | ||
Väikeettevõtte IT infrastruktuuris on Ubuntu | Väikeettevõtte IT infrastruktuuris on Ubuntu operatsioonisüsteemidel töötavad serverarvuti (edaspidi: ''server'') ja klient-tööjaamad (edaspidi: ''klientarvuti''). Klientarvuti kasutajad sünkroniseerivad oma faile serverisse, et neid siis sealt kaudu hiljem välisele meediumile varundataks. Kasutajad võivad kasutada ükskõik millist vaba klientarvutit, eeldusel, et igas arvutis on nende lokaalne kasutajakonto loodud. | ||
=Skoop= | =Skoop= | ||
Artikli skoobis on Unisoni paigaldamine ja selle tööleseadmise häälestamine.<br /> | Artikli skoobis on Unisoni paigaldamine ja selle tööleseadmise häälestamine openSSH vahendusel.<br /> | ||
Artikli skoobis ei ole Linuxis opereerimise alusteadmiste selgitamine, IP-võrgu põhiomaduste õpetamine, võrguliideste põhjalik häälestamine ja tarkvara lähtekoodist kompileerimine. | Artikli skoobis ei ole Linuxis opereerimise alusteadmiste selgitamine, IP-võrgu põhiomaduste õpetamine, domeenindus, võrguliideste põhjalik häälestamine ja tarkvara lähtekoodist kompileerimine jms. | ||
=Eeldused= | |||
*Sünkroniseerimise tööle seadistamise eelduseks on kahe arvuti olemasolu, millest üks täidab serveri rolli ja teine klientarvuti oma. | |||
*Neile peab olema paigaldatud Ubuntu operartsioonissüsteem, soovitavalt klientarvutile Ubuntu Desktop ja serverile Ubuntu Server Edition versioon. | |||
*Arvutid peavad saama üle arvutivõrgu üksteisega kommunikeeruda. | |||
=Paigaldamine ja häälestamine= | |||
==Tarkvara paigaldamine== | |||
Muuda ennast ''serveris'' juurkasutajaks: | |||
sudo -i | |||
Paigalda ''serverisse'' tarkvara openSSH-server, et saaks krüpteeritult üle SSH tunneli faile sünkroniseerida: | |||
apt-get install openssh-server | |||
Paigalda ''serverisse'' tarkvara Unison: | |||
apt-get install unison | |||
Paigalda ''klientarvutisse'' tarkvara Unison: | |||
sudo apt-get install unison | |||
Kontrolli, kas ''nii serveris kui ka klientarvutis'' on kasutusel '''sama Unisoni versioon'''. See on eelduseks, et sünkroniseerimine kahe erineva arvuti vahel toimiks! | |||
unison -version | |||
Kui repositooriumitest on paigaldatud erinevad Unisoni versioonid, siis järgnevalt aadressilt leiab kõikide Unisoni versioonide lähtekoodid ise kompileerimiseks: http://www.seas.upenn.edu/~bcpierce/unison/download/releases/ | |||
Loo ''serverisse'' uus kasutaja koos kodukaustaga, mille nimeks on näiteks ''klient1''. Selle kasutaja kasutajanime ja parooli abil ühendutakse klientarvutist SSH vahendusel serverisse ning selle kasutaja kodukaust on sihtkoht, kuhu klientarvuti kasutaja oma faile sünkroniseerima hakkab: | |||
adduser klient1 | |||
==Serveri võrguaadressi häälestamine== | |||
Selle alampeatüki toimingud teosta üksnes juhul, kui serveri võrguaadress ei ole juba staatilise IP peale häälestatud. Serveri staatiline IP on oluline, et klientarvuti "teaks" alati serveri aadressi, kuhu poole pöörduda. Kui server pakub lisaks failihoidlale ka teisi teenuseid, siis võib staatiline IP-aadress juba määratud olla.<br /> | |||
Staatilise IP-aadressi olemasolu serveris kontrolli käsuga: | |||
cat /etc/network/interfaces | grep inet | |||
Kuvatavas väljundis pööra tähelepanu primaarse võrguliidese reale, näiteks ''iface eth0'', mis ei ole välja kommenteeritud ja mis ei ole ''iface lo''. Kui ''inet'' järele on kirjutatud ''static'', siis on määratud staatiline IP aadress, kui on aga ''dhcp'', siis kasutatakse automaatset IP omistamist. | |||
Vaata ifconfig käsuga ''serveri'' hetkel töötava võrguliidese parameetrid ja kirjuta need ülesse, et vajadusel kasutada samu andmeid staatilise IP määramiseks või hiljem Unisoni konfiguratsioonifailis serveri IP-aadressi täpsustamiseks: | |||
ifconfig | |||
Staatilise IP aadressi määramiseks tee serveri võrguliideste konfiguratsioonifailist tagavarakoopia ja siis redigeeri seda: | |||
cp /etc/network/interfaces /etc/network/interfaces.bak | |||
nano /etc/network/interfaces | |||
Muuda selle faili sisu selliselt, et primaarsele võrguliidesele omistataks IP-aadress ja teised olulised võrguparameetrid staatiliselt. Kui enne omistati parameetrid automaatselt DHCP teenuse abil, siis soovitatavalt kasuta nüüd käsu ifconfig väljundis kuvatud andmeid. Näide staatilisest eth0 võrguliidese häälestusest: | |||
# The primary network interface | |||
auto eth0 | |||
iface eth0 inet static | |||
address 192.168.0.100 | |||
netmask 255.255.255.0 | |||
network 192.168.0.0 | |||
broadcast 192.168.0.255 | |||
gateway 192.168.0.1 | |||
Peale võrguliideste konfiguratsioonifaili redigeerimist taaskäivita serveri võrguteenus: | |||
/etc/init.d/networking restart | |||
==Klientarvuti Unisoni häälestamine== | |||
Tekita klientarvutisse kasutaja kodukausta Unisoni alamkaust ja konfiguratsioonifail: | |||
mkdir ~/.unison | |||
nano ~/.unison/default.prf | |||
Faili ''default.prf'' sisuks kirjuta järgnevad read ja muuda neid vastavalt enda vajadusele: | |||
#Logimine faili unison.log | |||
logfile=/home/klient1/.unison/unison.log | |||
#Sünkroniseeritavate kaustade juurkaustade asukohad. Peab olema täpselt kaks root rida - | |||
#esimene lokaalse klientarvuti sünkroniseeritav juurkaust, teine serveris paiknev sünkroniseeritav juurkaust. | |||
#Serveri juurkausta määramise süntaks SSH tunneli vahendusel on | |||
#ssh://<kasutajanimiServeris>@<serveriIP>//home/<kasutajaKodukaust> | |||
root=/home/klient1/ | |||
root=ssh://klient1@<serveriIP>//home/klient1 | |||
#konfliktivabade failide automaatne (kasutaja sekkumiseta) sünkroniseerimine ehk automaatselt vaikimisi toimingu aktsepteerimine | |||
auto = true | |||
#Sünkroniseeritavad alamkaustad ja üksikfailid | |||
path = Documents | |||
path = Pictures | |||
path = cryptokonteiner.tc | |||
#Failivormingud, mida ignoreerida | |||
ignore = Name *.avi | |||
ignore = Name *.mp3 | |||
#Alamkaustad, mida ignoreerida | |||
ignore = Path Documents/virtuaalmasinad | |||
=Unisoni käivitamine ja kasutamine= | |||
Sünkroniseerimise käsitsi käivitamiseks käivita klientarvuti käsurealt käsk unison: | |||
unison | |||
*Peale käivitamist luuakse ühendus serveriga ning küsitakse kasutajalt tema serverikonto parooli. | |||
*Konfliktsete muudatustega failide (samanimelised failid, mida on peale viimast sünkroniseerimist muudetud mõlemas lokatsioonis eraldi) kohta küsitakse kasutajalt, mis suunas faile kopeerida. Küsimusele tuleb vastata õigesuunalise nurksulu vajutamisega: ''< '' või ''>'' | |||
*Enne failide tegelikku kopeerimist küsitakse veelkord kasutajalt kinnitust, mille aktsepteerimiseks tuleb trükkida tähemärk: ''y'' | |||
*openSSH puhul võib korduvate paroolisisestuste vältimiseks kasutada automaatset võtmevahetust. Vt Unisoni kasutajajuhendist võtit ''-sshargs'' ja kasulikke viitasid artikli lõpust. | |||
*Sünkroniseerimise automatiseerimiseks ''crontab'''i abil selliselt, et kasutaja sekkumist ei nõuta, tuleb kasutada SSH automaatset võtmevahetust ning Unisoni konfiguratsioonifailis võtmeid ''-auto'' ja ''-prefer''. | |||
*NB! ''Symlink'''ide puhul kopeeritakse ühest arvutist teise link ise, mitte aga lingitud fail ja seepärast võib teises arvutis link viidata olematule sihtmärgile. | |||
*NB! Ettevaatust fikseeritud suurustega krüptokonteineritega (nt truecrypt'i krüptokonteiner), mille konteinerfaili räsiväärtus ei muutu, kui redigeerida konteineri sisu. | |||
*NB! Ettevaatust väga suurte failide sünkroniseerimisel - see protsess võib venida pikaks. | |||
=Veahaldus ja varundamine= | |||
Unisoni veateated ja muud toimingud talletatakse klientarvuti Unisoni logifailis, mille asukoht on määratud Unisoni konfiguratsioonifailis ''default.prf''.<br /> | |||
openSSH-serveri teated logitakse serveris asukohaga ''/var/log/auth.log''<br /> | |||
Sünkroniseerimisteenuse kiiremaks taastamiseks on soovituslik varundada klientarvuti konfiguratsioonifaili ''default.prf'' ja serverarvuti võrguliideste konfiguratsioonifaili ''interfaces''. | |||
=Kasulikud viited= | =Kasulikud viited= | ||
* | *Unisoni koduleht [http://www.cis.upenn.edu/~bcpierce/unison/ http://www.cis.upenn.edu/~bcpierce/unison/] | ||
* | *Unisoni kasutusjuhend [http://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-manual.html http://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-manual.html] | ||
*Tarkvara kompileerimine lähtekoodist [https://help.ubuntu.com/community/CompilingSoftware https://help.ubuntu.com/community/CompilingSoftware] | *Tarkvara kompileerimine lähtekoodist [https://help.ubuntu.com/community/CompilingSoftware https://help.ubuntu.com/community/CompilingSoftware] | ||
*Võrguliideste seadistamine [https://help.ubuntu.com/9.10/serverguide/C/network-configuration.html https://help.ubuntu.com/9.10/serverguide/C/network-configuration.html] | *Võrguliideste seadistamine [https://help.ubuntu.com/9.10/serverguide/C/network-configuration.html https://help.ubuntu.com/9.10/serverguide/C/network-configuration.html] | ||
*openSSH võtmete genereerimine [http://hkn.eecs.berkeley.edu/~dhsu/ssh_public_key_howto.html http://hkn.eecs.berkeley.edu/~dhsu/ssh_public_key_howto.html] | |||
*SSH võtmehaldus [http://www.ibm.com/developerworks/linux/library/l-keyc.html http://www.ibm.com/developerworks/linux/library/l-keyc.html] | |||
*Unison sünkroniseerimise automatiseerimine crontab abil [http://ubuntuforums.org/showthread.php?t=869219 http://ubuntuforums.org/showthread.php?t=869219] | |||
[[Category:IT infrastruktuuri teenused]] | [[Category:IT infrastruktuuri teenused]] |
Latest revision as of 12:00, 24 October 2010
Juhendi autor ja versioneerimine
Nimi: Reinu
Grupp: AK31
ITK kood: 10061916
Versioon Kuupäev Kommentaar 0.1 02.01.2009 Artikli loomine 0.2 03.01.2009 Esialgne sisu sisestus 0.3 08.01.2009 Teksti parendamine 1.0 08.01.2009 Valmis
Sissejuhatus
Unison on failide sünkroniseerimise tarkvara Linux, Mac OS X ja MS Windows tüüpi operatsioonisüsteemidele. See võimaldab pidada kaustadest ning failidest ühesuguseid replikatsioone kahes erinevas sihtkohas.
Unisoni eelised ning võimalused:
- Unison toetab paljusid enamlevinud operatsioonisüsteeme ja töötab läbi mitme platvormi samaaegselt. Näiteks võimaldab Linuxiga sülearvutit sünkroniseerida Windows serveriga.
- Erinevalt mõnedest populaarsetest ühesuunalistest varundustarkvaradest (näiteks rsync) on Unsion kahesuunaline. See võimaldab faile töödelda mõlemas sihtkohas selliselt, et peale sünkroniseerimist ei teki andmekadu ja säilitatakse korrektne töötlus.
- Konfliktsete muudatuste korral nõutakse kasutaja sekkumist, konfliktivabad muudatused sünkroniseeritakse automaatselt. Selliselt on tagatud failide õigesuunaline sünkroniseerimine.
- Unison võimaldab sünkroniseerida sihtkohti, mis asuvad samas tööjaamas erinevates kaustades või mis asuvad andmevõrku ühendatud erinevates tööjaamades. Konfidentsiaalsuse tagamiseks krüpteeritakse võrgus andmeliiklus SSH abil.
- Unison on saadaval tasuta ning selle lähtekood on litsenseeritud GNU Public License alusel.
Legend
Väikeettevõtte IT infrastruktuuris on Ubuntu operatsioonisüsteemidel töötavad serverarvuti (edaspidi: server) ja klient-tööjaamad (edaspidi: klientarvuti). Klientarvuti kasutajad sünkroniseerivad oma faile serverisse, et neid siis sealt kaudu hiljem välisele meediumile varundataks. Kasutajad võivad kasutada ükskõik millist vaba klientarvutit, eeldusel, et igas arvutis on nende lokaalne kasutajakonto loodud.
Skoop
Artikli skoobis on Unisoni paigaldamine ja selle tööleseadmise häälestamine openSSH vahendusel.
Artikli skoobis ei ole Linuxis opereerimise alusteadmiste selgitamine, IP-võrgu põhiomaduste õpetamine, domeenindus, võrguliideste põhjalik häälestamine ja tarkvara lähtekoodist kompileerimine jms.
Eeldused
- Sünkroniseerimise tööle seadistamise eelduseks on kahe arvuti olemasolu, millest üks täidab serveri rolli ja teine klientarvuti oma.
- Neile peab olema paigaldatud Ubuntu operartsioonissüsteem, soovitavalt klientarvutile Ubuntu Desktop ja serverile Ubuntu Server Edition versioon.
- Arvutid peavad saama üle arvutivõrgu üksteisega kommunikeeruda.
Paigaldamine ja häälestamine
Tarkvara paigaldamine
Muuda ennast serveris juurkasutajaks:
sudo -i
Paigalda serverisse tarkvara openSSH-server, et saaks krüpteeritult üle SSH tunneli faile sünkroniseerida:
apt-get install openssh-server
Paigalda serverisse tarkvara Unison:
apt-get install unison
Paigalda klientarvutisse tarkvara Unison:
sudo apt-get install unison
Kontrolli, kas nii serveris kui ka klientarvutis on kasutusel sama Unisoni versioon. See on eelduseks, et sünkroniseerimine kahe erineva arvuti vahel toimiks!
unison -version
Kui repositooriumitest on paigaldatud erinevad Unisoni versioonid, siis järgnevalt aadressilt leiab kõikide Unisoni versioonide lähtekoodid ise kompileerimiseks: http://www.seas.upenn.edu/~bcpierce/unison/download/releases/
Loo serverisse uus kasutaja koos kodukaustaga, mille nimeks on näiteks klient1. Selle kasutaja kasutajanime ja parooli abil ühendutakse klientarvutist SSH vahendusel serverisse ning selle kasutaja kodukaust on sihtkoht, kuhu klientarvuti kasutaja oma faile sünkroniseerima hakkab:
adduser klient1
Serveri võrguaadressi häälestamine
Selle alampeatüki toimingud teosta üksnes juhul, kui serveri võrguaadress ei ole juba staatilise IP peale häälestatud. Serveri staatiline IP on oluline, et klientarvuti "teaks" alati serveri aadressi, kuhu poole pöörduda. Kui server pakub lisaks failihoidlale ka teisi teenuseid, siis võib staatiline IP-aadress juba määratud olla.
Staatilise IP-aadressi olemasolu serveris kontrolli käsuga:
cat /etc/network/interfaces | grep inet
Kuvatavas väljundis pööra tähelepanu primaarse võrguliidese reale, näiteks iface eth0, mis ei ole välja kommenteeritud ja mis ei ole iface lo. Kui inet järele on kirjutatud static, siis on määratud staatiline IP aadress, kui on aga dhcp, siis kasutatakse automaatset IP omistamist.
Vaata ifconfig käsuga serveri hetkel töötava võrguliidese parameetrid ja kirjuta need ülesse, et vajadusel kasutada samu andmeid staatilise IP määramiseks või hiljem Unisoni konfiguratsioonifailis serveri IP-aadressi täpsustamiseks:
ifconfig
Staatilise IP aadressi määramiseks tee serveri võrguliideste konfiguratsioonifailist tagavarakoopia ja siis redigeeri seda:
cp /etc/network/interfaces /etc/network/interfaces.bak nano /etc/network/interfaces
Muuda selle faili sisu selliselt, et primaarsele võrguliidesele omistataks IP-aadress ja teised olulised võrguparameetrid staatiliselt. Kui enne omistati parameetrid automaatselt DHCP teenuse abil, siis soovitatavalt kasuta nüüd käsu ifconfig väljundis kuvatud andmeid. Näide staatilisest eth0 võrguliidese häälestusest:
# The primary network interface auto eth0 iface eth0 inet static address 192.168.0.100 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1
Peale võrguliideste konfiguratsioonifaili redigeerimist taaskäivita serveri võrguteenus:
/etc/init.d/networking restart
Klientarvuti Unisoni häälestamine
Tekita klientarvutisse kasutaja kodukausta Unisoni alamkaust ja konfiguratsioonifail:
mkdir ~/.unison nano ~/.unison/default.prf
Faili default.prf sisuks kirjuta järgnevad read ja muuda neid vastavalt enda vajadusele:
#Logimine faili unison.log logfile=/home/klient1/.unison/unison.log #Sünkroniseeritavate kaustade juurkaustade asukohad. Peab olema täpselt kaks root rida - #esimene lokaalse klientarvuti sünkroniseeritav juurkaust, teine serveris paiknev sünkroniseeritav juurkaust. #Serveri juurkausta määramise süntaks SSH tunneli vahendusel on #ssh://<kasutajanimiServeris>@<serveriIP>//home/<kasutajaKodukaust> root=/home/klient1/ root=ssh://klient1@<serveriIP>//home/klient1 #konfliktivabade failide automaatne (kasutaja sekkumiseta) sünkroniseerimine ehk automaatselt vaikimisi toimingu aktsepteerimine auto = true #Sünkroniseeritavad alamkaustad ja üksikfailid path = Documents path = Pictures path = cryptokonteiner.tc #Failivormingud, mida ignoreerida ignore = Name *.avi ignore = Name *.mp3 #Alamkaustad, mida ignoreerida ignore = Path Documents/virtuaalmasinad
Unisoni käivitamine ja kasutamine
Sünkroniseerimise käsitsi käivitamiseks käivita klientarvuti käsurealt käsk unison:
unison
- Peale käivitamist luuakse ühendus serveriga ning küsitakse kasutajalt tema serverikonto parooli.
- Konfliktsete muudatustega failide (samanimelised failid, mida on peale viimast sünkroniseerimist muudetud mõlemas lokatsioonis eraldi) kohta küsitakse kasutajalt, mis suunas faile kopeerida. Küsimusele tuleb vastata õigesuunalise nurksulu vajutamisega: < või >
- Enne failide tegelikku kopeerimist küsitakse veelkord kasutajalt kinnitust, mille aktsepteerimiseks tuleb trükkida tähemärk: y
- openSSH puhul võib korduvate paroolisisestuste vältimiseks kasutada automaatset võtmevahetust. Vt Unisoni kasutajajuhendist võtit -sshargs ja kasulikke viitasid artikli lõpust.
- Sünkroniseerimise automatiseerimiseks crontab'i abil selliselt, et kasutaja sekkumist ei nõuta, tuleb kasutada SSH automaatset võtmevahetust ning Unisoni konfiguratsioonifailis võtmeid -auto ja -prefer.
- NB! Symlink'ide puhul kopeeritakse ühest arvutist teise link ise, mitte aga lingitud fail ja seepärast võib teises arvutis link viidata olematule sihtmärgile.
- NB! Ettevaatust fikseeritud suurustega krüptokonteineritega (nt truecrypt'i krüptokonteiner), mille konteinerfaili räsiväärtus ei muutu, kui redigeerida konteineri sisu.
- NB! Ettevaatust väga suurte failide sünkroniseerimisel - see protsess võib venida pikaks.
Veahaldus ja varundamine
Unisoni veateated ja muud toimingud talletatakse klientarvuti Unisoni logifailis, mille asukoht on määratud Unisoni konfiguratsioonifailis default.prf.
openSSH-serveri teated logitakse serveris asukohaga /var/log/auth.log
Sünkroniseerimisteenuse kiiremaks taastamiseks on soovituslik varundada klientarvuti konfiguratsioonifaili default.prf ja serverarvuti võrguliideste konfiguratsioonifaili interfaces.
Kasulikud viited
- Unisoni koduleht http://www.cis.upenn.edu/~bcpierce/unison/
- Unisoni kasutusjuhend http://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-manual.html
- Tarkvara kompileerimine lähtekoodist https://help.ubuntu.com/community/CompilingSoftware
- Võrguliideste seadistamine https://help.ubuntu.com/9.10/serverguide/C/network-configuration.html
- openSSH võtmete genereerimine http://hkn.eecs.berkeley.edu/~dhsu/ssh_public_key_howto.html
- SSH võtmehaldus http://www.ibm.com/developerworks/linux/library/l-keyc.html
- Unison sünkroniseerimise automatiseerimine crontab abil http://ubuntuforums.org/showthread.php?t=869219