מחשב כף יד

צפייה בגרסה מלאה : מדריך | שליטה על ה- Cydia באמצעות פקודות - מדריך Terminal



Cyphers
02/02/10, 22:46
מדריך זה יסקור שלב אחר שלב את אופציות השליטה ב- Cydia באמצעות Terminal. שליטה זו מאפשר להתקין חבילות, להסיר חבילות, לעדכן חבילות, ולעדכן repositories. שאלת את עצמך בשביל מה זה טוב? סיבה אחת בעיקר- מהירות. מאוד מהיר לעבוד ב- Terminal וזה חוסך משאבים וכך גם הטעינה\ההורדה\ההתקנה וכו' עובדים יותר מהר (משמעותית). נכון פתרון זה לא מתאים לעצלנים אך הוא יכול להציל גם ממצבים בהם ה- Cydia קורס ואי אפשר להתקין\להסיר שום דבר.
מדריך זה מומלץ למתקדמים ומתחילים כאחד אך לא מומלץ לסטות מן הפקודות הרשומות שכן כל ניסוי וטעייה כזה עלול לגרום לאובדן תפקוד המכשיר עד למצב המצריך restore.

דרישות מקדימות
- מכשיר iPhone/iPod Touch שעבר Jailbreak
- תוכנת Cydia מותקנת
- חבילת OpenSSH
- חבילת Mobile Terminal (אופציונלי) מתאים לגישה מהמכשיר עצמו
- חבילת Apt 0.7 Strict
- תוכנה המאפשרת גישה ב- SSH אם זה putty ב- PC או Terminal במק. (אין הרבה הבדל שניהם מסך שחור עם אפשרות הקלדת פקודות והתחברות ב- SSH)

שלב 1 - התחברות ל- iPhone/iPod ב- SSH

אם הגעת לפה ואין לך מושג מה זה SSH או איך מתחברים זה בסדר - עוד אפשר להתגבר על הבעיה.
משתמשי Windows מומלץ מאוד להוריד putty - קליינט SSH פשוט נוח. למשתמשי מק- יותר פשוט, רק להריץ את ה- Terminal.

להתחברות פשוט בחר בפרוטוקול SSH והזן את כתובת המכשיר (IP). משתמש מק- פשוט הרץ את הפקודה הבאה בטרמינל (כמובן לשנות את מה שבסוגריים לכתובת ה- IP)


ssh <your-ip-here>

שלב 2 - עדכון repositories
פה נבצע עדכון לכל ה- repositories בדומה למה שקורה במכשיר ברגע שנכנסת ל- Cydia. שלב ה- Reloading Data או משהו בסגנון.

הפקודה:


apt-get update

כעת כל ה- repositories יתעדכנו - זה בד"כ לוקח עד 30 שניות כתלות בעומס הרשת שלך ועומס בשרתים המארחים. כאן השיפור הוא משמעותי כאשר עדכון כזה במכשיר עם ה- Cydia פתוח יכול להגיע גם לדקה - דקה וחצי במכשירי ה- 3G/2G

התוצאה היא רשימה של repositories מעודכנים.

http://i48.tinypic.com/293jaj6.png
http://i47.tinypic.com/2n7o1sw.png

שלב 2 - שדרוגים זמינים

שדרוגים חיוניים תמיד יש. גם כאן מאוד פשוט להריץ בפקודה אחת את כולם ברצף.

הפקודה:


apt-get upgrade

בסוף העדכון יתקבל פלט מפורט מה התעדכן\כמה\למה ואיך. הכל בפורמט הבא:

http://i47.tinypic.com/1h4apl.png

שלב 3 - חיפוש Package

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

פקודת החיפוש:


apt-cache search <search string>

להלן תוצאות החיפוש openhebrew:

http://i50.tinypic.com/16j5283.png

צד ימין הוא שם ה- Package וצד שמאל הוא התיאור של אותו ה- Package. השם שימושי להתקנת אותה חבילה.

שלב 4 - רשימת Packages מותקנים

קצר ולעניין. הפקודה הבאה מציגה פלט של כל ה- Packages שמותקנים על המכשיר.


dpkg -l

הפלט די פשוט להבנה- מסודר בטבלה עם כותרות. (הפקודה הזאת גם חיונית לפני הסרה כדי להעתיק את שם ה- Package שתרצה להסיר)

http://i45.tinypic.com/6r3cs2.png

שלב 5 - הסרת Package


apt-get remove <package-name>

גם, די התכוננו לזה וזה די פשוט.
הפלט כדלהלן:

http://i49.tinypic.com/2vuzewm.png

שלב 6 - התקנת Package

גם פה אין הרבה הפתעות\שינויים.
הפקודה היא:


apt-get install <package-name>

כאן שם ה- Package כמובן יהיה זמין מהחיפוש שסקרנו כבר בשלב 3.

הפלט:

http://i50.tinypic.com/16iw31z.png

שלב 7 - צ'ופרים

פקודות בסיסיות אחרי התקנה של חבילות מסויימות. reboot ו- respring.

לאתחול ה- SpringBoard יש להריץ את הפקודה הבאה:


respring

לביצוע reboot מלא יש להריץ את הפקודה הבאה:


reboot

זה הפלט של respring:

http://i48.tinypic.com/x21df6.png

אל תצפו לפלט מתוחכם של reboot כי באותו הרגע שבצעתם ה- Client מתנתק.


closed by remote host

הבונוס הגדול - גיבוי ושחזור Packages לאחר Restore

האמת שלא חשבתי על זה כלכך עד עכשיו כשמצאתי משהו דומה ברשת.
זה כלכך אידיאלי שבעזרת כל מה שלמדנו היום ניישם את הידע לגיבוי רשימת ה- packages שלנו לפני restore והתקנתם לאחר מכן בקלות.

בלי להלאות יותר מידי בפרטים (אך כן להסביר קצת מה כל פקודה עושה)
לפני פעולת ה- restore הרץ את הפקודה הבאה:

dpkg -l | grep ^ii | awk '{print $2}' > my_packages.txt

הפקודה בעצם יוצרת קובץ txt שנקרא my_packages.txt אשר מכיל את כל שמות ה- packages המותקנים, זאת בעזרת פקודת ה- dbpkg -l שלמדנו להכיר כבר קודם.
חשוב לא להשאיר את הקובץ איפה שהוא עכשיו אלא להוריד אותו למחשב. (ניתן לבצע באמצעות winscp או כל תוכנת scp אחרת)

כדי להבין מה ה- directory בו אתם עובדים יש להקיש את הפקודה הבאה:

pwd

או פשוט להקיש את הפקודה הבאה, להעתיק את הפלט לקובץ במחשב שנקרא my_packages.txt


cat my_packages.txt

לאחר ה- restore כל מה שנותר לעשות הוא להתחבר שוב ב- SSH ולהריץ את הפקודה הבאה:

dpkg -l | grep ^ii | awk '{print $2}' > my_packages_restore.txt

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


diff my_packages_restore.txt my_packages.txt | grep ^\> | awk '{print $2}' > diff_restore_packages.txt

ופקודה אחרונה מתקינה את כל ה- delta בין החבילות במכה אחת באמצעות פקודת apt-get install שלמדנו להכיר כבר קודם


apt-get install `cat diff_restore_packages.txt`
התהליך הזה כלכך פשוט שזה מוזר שלא חשבתי עליו עד היום. זה עבודה של 10 דקות פעם אחת וזהו - אחרי כל restore אין צורך בגיבויים והתעסקויות.

סיכום
כעת תוכל לבצע מספר דברים ללא הצורך בהפעלת ה- GUI של Cydia. דבר זה יכול להיות שימושי במספר מצב שכל אייפונר מת להמנע מהם. וגם חלקנו פשוט נהנים מהגישה הפשוטה והנקייה של terminal (לעיתים רחוקות). יתרון משמעותי נוסף שכבר בטח הבנתם הוא המהירות.

לדיון בנושא: http://www.iphones.co.il/forum/thread119950.html