יוניסון ונפלאותיה (מעין מבוא)

| | | |
במוסיקה פירוש הביטוי "אוניסון" הוא "בקול אחד". התוכנה 'unison' נועדה לשמש כמכשיר לסנכרון תיקיות: שבשתיהן יהיה בדיוק אותו דבר, והן יאמרו בקול אחד דברים אחדים. מקרה אופייני בו מתעורר הצורך בתכנת סנכרון הוא הבא: יש לך מחשב נייד ומחשב נייח. התחלת מסמך בנייח, המשכת ותקנת אותו בדרך על הנייד, גם צלמת כמה תמונות, שלחת וקבלת דואר – ועכשיו אתה רוצה להמשיך בעבודה בנייח. כמובן שאפשר לסנכרן ידנית – אך זו עבודה מייגעת ותמיד נשאר החשש שמשהו נשכח. יוניסון עושה זאת בקליקים אחדים וביסודיות של מכונה.

נוסף לניהול נוח של סנכרון (כולל בין מחשב "חלונות" ומחשב לינוקס לטעמיו השונים), מאפשרת יוניסון שפע אפשרויות מרתקות נוספות, ביניהן גיבוי. אתה יוצר תיקיה ריקה על מחשב הגיבוי, ומצווה על יוניסון לסנכרן אותה עם ספריית הבית שלך, למשל. בפעם הראשונה יעתיק יוניסון את כל תוכן ספריית הבית שלך לתוך הספרייה המרוחקת. מעתה ואילך רק ישנה מה שהשתנה מאז הסנכרון האחרון – וגם זאת רק באישורך. כך למשל אפשר לבחור לא להוסיף חזרה קבצים שמחקת , אם ברצונך להיפטר מהם – או כן להחזירם, אם המחיקה נערכה בשוגג.

איך כל זה נעשה – בהמשך. אתר הבית של הפרויקט: http://www.cis.upenn.edu/~bcpierce/unison/


א. התקנת יוניסון.
יש הבדלים קטנים בין התקנת יוניסון בהפצות השונות – ויש גם גרסאות שונות. ניתן להתקין יוניסון טקסטואלי או גרפי ( ה GUI הוא GTK). כמובן שאת היוניסון הגרפי ניתן להריץ משורת הפקודה – עם או בלי GUI. יוניסון חייב להיות מותקן על שני המחשבים שאת תיקיותיהם מבקשים לסנכרן. ניתן לסנכרן רק אם גרסאות שתי ההתקנות זהות, וגם על כך בהמשך. במסגרת מבוא זה אתמקד בגרסה הגרפית של יוניסון, ואתייחס לטקסטואלית רק באותן הפצות שגרסה גרפית לא קיימת בהן.

יוניסון הוא נושא רחב למדי, והדברים שלהלן הם בגדר מבוא, או מתאבן, בלבד.

א.1 – סוזה 32, 64
חבילת יוניסון מגרסה 2-13-16 נמצאת במאגרי פקמן וניתנת להתקנה באמצעות מנהל החבילות. ההתקנה יוצרת כפתור unison בתפריט הראשי ב Utilities --> Sync, ויוצרת את הקובץ unison.log בספריית הבית ואת התיקייה החבויה unison. , גם היא בספריית הבית.

א. 2 – פדורה (5) 64 ביט
כנ”ל, כניסת התפריט היא ב accessories.

א.3 דביאן 64 ביט ו32 ביט (מותקן כמפיס)
בדביאן ניתן לבחור בין התקנת unison (ללא GUI) או unison-gtk וגם את אלו בשתי גרסאות: 2-13-16 העכשווית או 2-9-1 הקודמת. התקנת unison-gui לא מוסיפה פריט לתפריט, אבל יוצרת את קובץ הלוג והספריה במחיצת הבית. ניתן לאתחל את התכנה על ידי הקשת unison-gtk-2.13.16 או unison-gtk או unison-latest-stable-gtk בקונסול. למותר לציין כי ניתן להוסיף אותה ידנית לתפריט.

א. 4 ג'נטו 64 ביט
בדקתי בג'נטו amd64~ והגרסה הנמצאת בו נכון לשעת כתיבת שורות אלו היא 2.17, שאינה תואמת את הגרסה הרווחת ביתר ההפצות. כנראה שאין בעיה להתקין גרסה ישנה יותר.

א. 5 מנדריבה 2006, 64 בי
יוניסון נמצאת במאגרים אבל אחרי ההתקנה אינה מופיעה בתפריט.
נסיון להפעלה הסתיים אצלי בהודעת השגיאה הבאה:
unison: symbol lookup error: /usr/lib/libgtk-x11-2.0.so.0: undefined symbol: g_mapped_file_new

א. 6. אובונטו דאפר 64 ביט
התקנה קלילה מהמאגרים, מופיעה בתפריט תחת system tools.
בספריית הבית נוצרים התיקיה unison. והקובץ unison.log.

א. 7 FreeBSD (גרסה 6 שהותקנה כ -32 PC-BSD, וגרסה 6.1, בטא 4, 64 ביט)
להפצות אלו אין במאגר גרסה גרפית – רק טקסטואלית. אי לכך היא מורצת בפשטות על ידי הקלדת unison בקונסול.

א. 8. סלקוור
במאגרי סלקוור אין חבילה מוכנה.

מה עושים? במאגרי unison קיימים בינארים מוכנים. מורידים את זה המתאים לצרכיך (בחר גרסה, בחר עם או בלי gui) ופורשים אותה לספריית הבית – ניתן כמובן להוסיף קיצור דרך לשולחן העבודה ולהכליל ידנית בתפריט.

אני בחרתי בגרסה הגרפית: הקשה עליה מפעילה אותה, והיא עובדת מצויין. ההקשה גורמת ליצירת הקבצים שנזכרו לעיל.

א. 9 ארץ' לינוקס
כרגיל בהפצה זו, מתקינים באמצעות pacman. מכיוון ש openSSH ו GTK2 אינן מותקנות בארץ' כברירת מחדל – יש להתקין גם אותן. כל היתר זהה לשאר ההפצות. משום מה, הכניסה בתפריט מופיעה במדור internet.

א. 10 חלונות (XP ו- W2K)
זו ההתקנה המסובכת ביותר מכולן, אם כי הכל יחסי – והדרך שתתואר להלן (אחת מתוך דרכים אפשריות אחדות) - פשוטה למדי. ההתקנה המתוארת להלן מסתמכת על cygwin – שהיא גרסה של רד-הט הניתנת להתקנה על חלונות. ניתן לבחור בה במספר חבילות מינימלי – ומתאים בדיוק לצרכיך. יתרון נוסף לשמוש בה הוא היכולת לעדכן בקלילות כשדרושה גרסה חדשה.

א. 10-1
במחיצה C צור ספריה וקרא לה cygwin.

א. 10-2
באתר http://www.cygwin.com/ הקש על install or update now ושמור את הקובץ setup.exe בספריה C:\cygwin שיצרת בשלב הקודם.

א. 10-3
הקלק
start --> run
 

והקלד
c:\cygwin\setup.exe
 

יצוץ אשף מיקרוסופטי טיפוסי עם הרבה next, next . בחר בהתקנה מהרשת.

כשתשאל
 "Just Me" or "All Users"
 

ענה
 "All Users"
 

כשתשאל
Local Package Directory
 

הקלד
c:\cygwin
 


כמקור התקנה בחרתי ב- ftp://mirrors.kernel.org שסיפק חיבור מהיר, אבל זה נתון לשיקול דעתו והעדפותיו של כל משתמש ומשתמש.

א. 10-4
יצוץ מסך בחירה. הקלק בו על full view (מודגש באדום).

unison3a8yl

מה שנפרש עתה לעיניך הוא עץ הקבצים של cygwin. לצורך ענייננו, בחר בחבילות הבאות :

openssh, unison 2.13.
 


אני הוספתי להם גם את bash-completion וחבילות אחרות, אבל זה יכול להיעשות גם במועד מאוחר יותר. אשר, וההתקנה תחל.

א. 10-5
כשתסתיים ההתקנה, הקלק ימנית על my computer ובחר ב Properties, Advanced, Environment Variables.

unison4a2ur

בתיבה התחתונה הקלק על new והוסף ערך חדש למשתני המערכת:

variable name --> CYGWIN
variable value --> ntsec
 


אשר, סמן את path בתיבה התחתונה והקלק על edit.

http://img90.imageshack.us/my.php?image=unison5a5zp.jpg

הוסף, בהמשך למה שיש שם כבר, את הרצף הבא:

   ;c:\cygwin\bin

אשר וצא.

א. 10-6
בסיום ההתקנה, נוצרה צלמית (איקון) של cygwin על שולחן העבודה. הקלק כפולות עליה, ויפתח חלון של מסוף לינוקסי. הקלד:

ssh-host-config

וענה על השאלות הבאות ב yes:

install sshd as a service
privilege separation
create local user sshd


ועל השאלה:

CYGWIN=

ענה ntsec

א. 10-7
עכשיו הגיע הרגע לאתחל את השרות sshd. מכיוון שבעצם אנחנו עכשיו ברד-הט, די להקליד:

net start sshd

א. 10-8
וודא שלמשתמש חלונות שלך יש ססמה, והקלד את הפקודות הבאות :

mkpasswd --local > /etc/passwd
mkgroup --local > /etc/group


א. 10-9
הגיע הזמן לערוך בדיקות אחדות. הקלד:

whoami
ssh localhost


אם לא היו הודעות שגיאה, הקלד:

ls  -lh  /cygdrive/c

ותזהה את התוכן של תיקיית C. ממחשב לינוקס שכן ברשת, הקלד בקונסול:

ssh moshe_AT_192.168.2.9 ls  -lh  /cygdrive/c

(בהנחה ששם המשתמש בחלונות הוא moshe וכתובת מחשב החלונות היא 192.168.2.9.) על השאלה:

Are you sure you want to continue connecting (yes/no)

ענה yes וכשתתבקש הקלד את הססמה של moshe. אם הופיעה רשימת הקבצים שבכונן C – שלב א' הסתיים בהצלחה. הערה: אם בחלונות XP פועל firewall , יש לפתוח בו את port 22 לשרות SSH.

א. 11-1
לשם הרצה מוצלחת של unison כשרת מתוך חלונות (ולא רק כלקוח של לינוקס) יש לערוך עוד שתי התקנות. הראשונה היא של GTK לחלונות. הורידו את הקובץ הבא:

http://prdownloads.sourceforge.net/gaim/gtk-runtime-2.6.10-rev-a.exe?download

והריצו אותו. חזרו לעריכת path שבסעיף א. 10-5. והוסיפו לו גם:

;c:\Program Files\Common Files\GTK\2.0\bin

א. 11-1
הורידו את יוניסון לחלונות מכאן:
https://svn.cis.upenn.edu/svnroot/unison-contributed-binaries/windows הגרסה הגראפית היא unison-2.13.16-win-gtk2.exe. את הקובץ שהורדתם הדביקו ב(איפה אם לא?):

C:/cygwin/usr/local/bin

וצרו קיצור דרך לשולחן העבודה.

א. 11-2
עוד משתנה סביבה אחד נותר לערוך: הפעם זה PATH בחלון העליון (שוב - my computer Properties, Advanced, Environment Variables) הוסיפו:

;C:/cygwin/usr/local/bin

אשרו וצאו. זהו. עכשיו הכל מוכן להתחלת השמוש ביוניסון – והוא זהה בחלונות ובלינוקס.

כמו בלינוקס, גם בחלונות נוצרו בספריית הבית התיקייה החבויה unison. והקובץ unison-log. מהי ספריית הבית בחלונות? בצורה בה התקנו, ולפי הדוגמה שלמעלה, תהיינה שתיים כאלה:

c:/documents and settings/moshe
c:/cygwin/home


והקבצים ייוצרו בהם בתלות באופן השמוש: כשרת או כלקוח.
יתכן ותיאור ההתקנה בחלונות מסורבל, אך ההתקנה פשוטה ומהירה ולא תארך אצל משתמש סביר יותר מ 15 דקות. גודל הקבצים שנוספים לכונן C הוא כ 250 מגבייט.

ב. שמוש ביוניסון
יוניסון מסוגלת לסנכרן או לגבות מחשבים הנמצאים בשני קצוות תבל, על רשת חיוג או פס-רחב וכו' וכו'. אנו נתבונן במקרה פשוט, בו נמצאים שני המחשבים על רשת מקומית.
נניח ששם המשתמש במחשב המרוחק הוא moshe וכתובתו 192.168.2.9. אנו מעוניינים לסנכרן (לגבות) את התיקייה Documents שבספריית הבית שלנו עם התיקייה Documents בספריית הבית של moshe. (הערה: אם תיקייה זו אינה קיימת – יש ליצור אותה).

ראשית נוודא שהשרות תקין על ידי פתיחת מסוף (בחלונות זה נעשה על ידי הקשה על צלמית cygwin) והקלדה:

ssh moshe_AT_192.168.2.9 unison -version

אם זו הפעם הראשונה בה מתבצעת התקשרות, נתבקש לאשר יצירת קובץ חתימה (הוא ייווצר בתיקיות unison. שבשני הצדדים). אחרי הקלדת הססמה של moshe, תירשם גרסת יוניסון. אם הגרסה היא 2.13.16 – אפשר להמשיך.

הקלדת unison במסוף או לחיצה על unison בתפריט תביא לפתיחת החלון Profiles. לחיצה בו על create new profile פותחת חלון לקביעת שם הפרופיל (בדוגמה שמו dugma )
unison6a0jj

אשרו והקליקו על dugma. יפתח החלון Root selection, שיאפשר לכם לנווט אל התיקייה או הקובץ אותם ברצונכם לסנכרן (לגבות).

unison7a0sd

אשרו, ובחלון שיפתח הקליקו על continue. עכשיו יפתח שוב החלון Root selection, שיאפשר לכם הפעם בחירת תיקיית היעד, הלא היא home/moshe/Documents/. סמנו את אופן התקשורת (SSH) רשמו את כתובת ה HOST הלא היא 192.168.2.9 ואת שם המשתמש (USER) הלא הוא moshe, ואשרו. אם הכל בסדר – יצוץ חלון בו תתבקשו להקליד את הססמה של moshe. אם חלה טעות, תעלה הודעה שהקשר עם השרת אבד.

במקרה כזה, פתחו על ידי עורך (בחלונות זהו notepad) את הקובץ dugma.prf שבתיקיה unison. הוא צריך להראות כך:

root = /home/lulislik/Documents/
root = ssh://moshe@192.168.2.9//home/moshe/Documents


כאשר במקום lulislik צריך להופיע שם המשתמש שלכם. אם יש שגיאה – תוכלו עכשיו לתקנה באמצעות העורך.

אחרי שנוצר הקשר, תקבלו הודעה שזו הפעם הראשונה בה נוצרת התקשרות. אשרו שברצונכם להמשיך, ותיווצר טבלת השוואה בין שתי התיקיות .

unison8a4bk

בפעם הראשונה זה עלול להמשך זמן רב. הטבלה מתייחסת רק לקבצים שנוצרו או השתנו מאז הסנכרון האחרון. כוון החיצים מצביע באיזה משתי התיקיות שוכן הקובץ החדש, ומאפשר לך לבחור איזו מבין השתיים תשמש כמודל, ותחייב את הספרייה השנייה להיות בדיוק כמוה.

בדוגמה מצויין שלספרייה המקומית נוספו שני קבצים, ומצויינת שעת היווצרם. לחיצה על החץ "משמאל לימין" תוסיף אותם לספריית הרפליקה ב “gibooi”. זהירות! לחיצה על החץ "מימין לשמאל" תביא למחיקתם! מומלץ לכן להשתמש בכפתור actions שבתפריט כדי לבצע בחירה מושכלת. אחרי לחיצה על go יתבצע הסינכרון.

unison9a3sd

וכל שנותר לנו הוא ללחוץ על quit ולסיים. אם ברצוננו לקבל דיווח מה בדיוק אירע, נוכל למצוא זאת בקובץ unison.log שנזכר למעלה:

UNISON started propagating changes at 12:44:49 on 06 Apr 2006
[BGN] Copying snapshots/unison6.jpg
  from /home/lulislik/Documents
  to //gibooi//mnt/gadol/BU/atlason-lulislik
[BGN] Copying snapshots/unison7.jpg
  from /home/lulislik/Documents
  to //gibooi//mnt/gadol/BU/atlason-lulislik
[END] Copying snapshots/unison6.jpg
[END] Copying snapshots/unison7.jpg
UNISON finished propagating changes at 12:44:49 on 06 Apr 2006



ג. כמה דברים לסיום
ראשית, הקלדת unison --help בקונסול מעלה שלל פקודות עזר והוראות שמוש. מדריך מפורט ורב קישורים נמצא באתר הנזכר בראש רשימה זו.

שנית, בהכנת הרשימה נעזרתי באתרים הבאים:
- http://sig9.com/articles/ports-howto
- http://www.omidyar.net/group/openonet/ws/unison
- http://pigtail.net/LRP/printsrv/cygwin-sshd.html
נספח: בינתיים שוחררה גרסה 2.17 של יוניסון והיא כיום ברירת המחדל בג'נטו ובאופן-סוזה. גרסה זו נכללת גם ב cygwin, ויש בה באג קטן: שם הפקודה נוצר בה כ unison-2.17.1.exe במקום unison.exe. ניתן לתקנו בקלות על ידי כניסה ל c:\cygwin\bin ושינוי השם של unison-2.17.1.exe ל unison.exe.

אפשרויות לתצוגת תגובות

בחרו באפשרות התצוגה הרצויה, ולחצו על "שמור הגדרות".

האם ifolder תהיה קל...

האם ifolder תהיה קלה יותר לשימוש?

כמו שאמרה שכנתינו פסי

א. למרות שהמדריך ארוך, ההתקנה והשמוש ביוניסון קלים מאד בלינוקס, וממש לא נוראים בחלונות.
ב. אמנם התקנתי את ifolder - אבל הוא לא עובד (בינתיים...)
ג. אז אני לא יודע.

אחלה סקירה

אחלה סקירה וגם HowTo שימושי ביותר ומקיף יש לומר.
ניכר שהושקע בהכנת הכתבה מספר שעות למידה.

תודה רבה.

SML , יישר כח על ההשקעה

תודה רבה.

הוראות להתקנת sshd על חלונות

רוב ההוראות כאן (החלק המגעיל שלהן) הוא התקנת sshd של cygwin על חלונות. אני מניח שזה יהיה רלוונטי גם למי שסתם צריך את ה־sshd הזה.

לדוגמה: ההוראות לסינכרון באפצעות rsync לא היו שונות במהותן, שכן גם rsync עובד (גם) מעל ssh וגם עבורו יש חבילה ב־cygwin.

צפריר

כל הכבוד SML

אמנם לא קראתי את כל המדריך, אבל באמת ניראה שהשקעת רבות ויישר כח על זה.