לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > מערכות הפעלה
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #2  
ישן 12-11-2005, 15:54
  ^NoX ^NoX אינו מחובר  
 
חבר מתאריך: 09.05.05
הודעות: 1,217
בתגובה להודעה מספר 1 שנכתבה על ידי kalman00 שמתחילה ב "עזרה בחיפוש לינק ב-Ubuntu"

עשית טעות חמורה מאוד.
לא מתקינים שום תוכנה שנמצאת במנהל החבילות, מחבילת מקור שאתה מוריד בעצמך:
1. החבילות לא עברו שום אישור, ואתה בקלות עלול להוריד rootkit כלשהו שיטען בתור מודול וישתלט לך על המחשב. ואני לא מדבר על השתלטות של NetBus וכדו' אלא השתלטות הרבה יותר עוינת שבה אפשר להעלים קבצים, לעשות במחשב שימוש שאתה לא תדע עליו בכלל, להריץ תוכנות שלא יופיעו ב-top, ps וכו', ליצור משתמשים שלא באמת קיימים וכו'.

2. אתה לא יכול למחוק את החבילות. רק ידנית, ואז אתה לא תסיר אותן ב-100% כי אתה לא יודע בדיוק איפה הותקן כל קובץ, ואיפה שונתה כל קונפיגורציה

3. אתה לא יכול לעדכן את החבילות

4. לחבילה עלולות להיות תלויות, ולתלויות עלולות להיות תלויות משלהן.

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

6. אתה עלול להוריד חבילה שלא מתאימה לסוג המעבד שלך, לסוג המחשב שלך, למערכת ההפעלה או לכל דבר אחר.

כל כך קשה לפתוח את synpatic ולחפש vnc ?

מצטער, אבל זה בלתי אפשרי לעזור לך. אף אחד לא יכול לדעת לאיפה ה-Makefile העתיק את הקבצים. זה תלוי בהרבה מאוד משתנים
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #4  
ישן 14-11-2005, 16:52
  ^NoX ^NoX אינו מחובר  
 
חבר מתאריך: 09.05.05
הודעות: 1,217
בתגובה להודעה מספר 3 שנכתבה על ידי kalman00 שמתחילה ב "לא מסכים איתך"

הא? מה הקשר?

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

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

החבילה שאתה מוריד את קובץ המקור שלה, היא זהה ב-99.9% לחבילה שבמנהל החבילות. ההבדלים יכולים להיות דפי manual שיוחלפו בדפים אחרים, או פונקציות שקשורות למערכת שבה אתה נמצא. למשל, כל תוכנה לאובונטו תוכל להתמודד עם זה ש-root לא נמצא ב-root/ אלא ב-HOME$ של מי שכתב את ה-sudo, ובגלל זה למשל לא תתקין קבצים ל-root/ בגלל שזה לא יהיה רלוונטי.

יש דברים שאתה חושב שהם "פקודות" והם בעצם לא פקודות. למשל, תן לי פקודה שמוחקת את כל הקבצים חוץ מקובץ כלשהו בתיקייה הנוכחית. אתה לא יכול לעשות את זה כי אין פקודה כזאת (אני עובד עליה, יקראו לה rm --keep filename1 filename2 etc). בגלל זה אתה חייב להשתמש בסקריפט, ואז זה מסתבך עוד יותר, כי אתה צריך לדעת לתכנת בשפת סקריפט כלשהי, לדעת לנתח קלט ועוד... אתה תוכל להמנע מכל זה אם פשוט תשתמש במנהל החבילות ותוריד משם את התוכנה.
אם אין את התוכנה שאתה רוצה שם, זאת אומרת שאתה צריך להוסיף repo שמכיל את התוכנה הנ"ל.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #6  
ישן 15-11-2005, 17:49
  ^NoX ^NoX אינו מחובר  
 
חבר מתאריך: 09.05.05
הודעות: 1,217
בתגובה להודעה מספר 5 שנכתבה על ידי borsood שמתחילה ב "[QUOTE=^NoX]יש דברים שאתה..."

אתה רק מוכיח את הטענה שלי. אין פקודה כזאת. זה לא משנה כמה "פקודות" (ל-מה אנחנו קוראים פקודות לעזאזל, ל-coreutils? אם כן, אל תתיחס למשפט הבא) אתה תדע, אתה לא תכיר את כולן.
ובטח שלא תוכל לקרוא את כל ה-manual של כל ה"פקודות" שאתה מכיר, בשביל לבדוק איך עושים כל דבר.
בכל מקרה, מה שכתבת אולי משלים את הייעוד שלו, אבל לא כתוב בצורה היפה, הטובה או היעילה ביותר.
קודם כל, לפעולות כאלה לא משתמשים ב-print אלא ב-print0. תקרא ב-manpage למה בדיוק.
יש לך שגיאת סינטקס. הנה היא:
find: warning: you have specified the -maxdepth option after a non-option argume nt -type, but options are not positional (-maxdepth affects tests specified befo re it as well as those specified after it). Please specify options before other arguments.
לא היית צריך להשתמש ב-pipe הזה, ולא היית צריך להשתמש ב-xargs. הדברים האלה כבר קיימים בתוך find (ד"א, תוכנה מעולה).
אה, וגם השתמשת ב-!\ שהוא לא קריא לחלוטין לעומת not-.
הנה דרך מומלצת יותר לעשות את זה:
קוד:
IGNORE THIS LINE find . -maxdepth 1 -not \( -name bla1 -o -name bla2 \) -type f -exec rm {} + IGNORE THIS LINE


הכלל הפשוט ביוניקס (ובלינוקס) הוא שבמקום להשתמש ב-3 פקודות, לבחור בפרמטרים לא טובים להעברת שמות של קבצים, אף על פי שכתוב בצורה מפורשת ב-manpage שצריך להשתמש בדרך אחרת, לעשות שגיאת syntax בפקודת ה-find, לכתוב בדרך בלתי קריאה ולהשתמש ב-2 נתיבים שהם לא בהכרח נכונים, צריך פשוט לקרוא את ה-manpage ולחשוב על דרך יותר טובה.

בוא תנסה לפשט את הדבר הבא, למספר פקודות פשוטות ב-bash:
יש לי גישת FTP למחשב אחר ברשת הפנימית שלי. בתוך תיקיית ה-root של השרת (אליה יש לי גישה כמובן) יש כ-40,000 תיקיות. כל תיקייה נקראת על שם של תוכנה כלשהי, ומייד אחרי גרסא מופרדת במקף. לדוגמא: application-2.5.10
בתוך התיקייה יש תמיד 4 קבצים:
1. DESC - ב-3 השורות הראשונות של הקובץ יש הסבר קצר על התוכנה, רווח של שורה, ואז הסבר מפורט על התוכנה.
2. AUTH - בתוך הקובץ הזה יש רשימה של יוצרי התוכנה. כל שם בשורה.
3. HASH - קובץ שבו יש תמיד רק 6 שורות: MD5SUM של הקבצים 1,2,4, כל אחד בשורה, ולאחר מכן SHA1SUM של הקבצים 1,2,4.
4. x.tar.gz - כאשר x="שם התיקייה" שאתה נמצא בה. זוהי התוכנה עצמה.

המטרה היא לכתוב תוכנית כלשהי, שתתחבר דרך פרוטוקול FTP, תכנס לכל תיקייה בשרת הנ"ל, ותוודא שהקובץ HASH מכיל פרטים נכונים.
היא תכין רשימה של אילו קבצים לא מכילים את הפרטים הנכונים ותשלח אותה באימייל ל-a@a.net.
בינתיים, התוכנית תאזין לפורט 10666 דרך xinetd, מפני שכאשר בעל תיבת האימייל יראה את ההודעה, הוא ישלח מידע דרך פאקט UDP לפורט 10666, שיכיל את המילה yes או no, באמצעות תוכנה שכבר נבנתה בדיוק בשביל צורך זה.
אם מתקבלת התשובה no, התוכנה תתחבר לשרת בשנית, ותמחק את כל הקבצים מן התיקיות שבהן ההאשים לא התאימו. התיקייה תשאר ריקה, אבל שמה ישונה ל-x-CRPTD, כאשר x="שם התיקייה" הקודם. זה יסמל שהתיקייה הכילה קבצים פגומים ובגלל זה הם נמחקו.
התוכנה צריכה לעשות את הפעולה הזאת בגל 259200 שניות. כאשר בפעמים הבאות (אחרי הפעם הבאה, המתוארת כאן) היא לא תטרח להכנס לתיקיות ששמן מסתיים ב-CRPTD.

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

הכלים שעומדים לרשותך: bash, coreutils ומערכת לינוקס עם קרנל 2.4.27 עם הפאצ'ים של דביאן.
במחשב הזה יש לך הרשאות לעשות רק את הדברים שאתה אמור לעשות, ולא שום דבר אחר. זאת אומרת: הרשאה לפתוח סוקטים, לכתוב ולקרוא ל-tmp ותיקיית הבית שלך, וגישות סטנדרטיות אחרות כמו dev/null/ שבאות ב-default עם מערכת דביאן woodie מ-netinst ללא התקנה של שום חבילה מלבד bash ו-coreutils.

שים לב: למחשב אין חיבור לאינטרנט. הוא מחובר למחשב אחד ויחיד שהוא שרת ה-FTP.

אם ממש משעמם לך, אני יכול גם משהו שצריך לחשוב עליו (כמו רקורסיה למשל).

נערך לאחרונה ע"י ^NoX בתאריך 15-11-2005 בשעה 17:55.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 00:35

הדף נוצר ב 0.04 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר