ג'נטו: מדוע בחרתי להרכיב תוכניות משלי?

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

מה זה קומפילציה?

זהו התהליך שמבצעת תוכנית (המכונה בדרך כלל קומפיילר) כדי להמיר קוד שנכתב בשפה אנושית (קבצי C, C ++ וכו ') לקוד שניתן להבין על ידי מכונה (קוד בינארי). בואו נסתכל על הדוגמה הבאה:

עיצוב משלו, כריסטופר דיאס ריברוס

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

עיצוב משלו, Chrirstopher Díaz Riveros

יפה, לא? 🙂 זה מה שהמכונה שלנו מבינה כדי להיות מסוגל לכתוב את ה"שלום "הקטן במסוף שלנו בכל פעם שהתוכנית מבוצעת.

תהליך הבנייה:

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

Make לקחת קובץ Makefile כנקודת התחלה ומרכז את הדרוש ליצירת ההפעלה הסופית, בחלק מהמקרים שלב זה מחייב ביצוע קובץ שנקרא configure כדי להיות מסוגל להקצות כמה משתנים הדרושים להמהדר לקבץ (סלח ליתירות) קובץ שימושי.

זו הסיבה שבהדרכות רבות אנו נמצא את השלבים הבאים:

שֶׁלוֹ. כריסטופר דיאז ריברוס

הקסם של ./configure:

כדי להראות לך את אחד הסודות הנסתרים והמשעשעים ביותר של קוד המקור, נעבור לקוד המקור של תוכנית שכולנו מכירים בצורה מושלמת, sudo. ראשית הצעדים הרגילים, אבל אעצור בשעה . / קביעת תצורה של  להראות להם משהו מיוחד.

שֶׁלוֹ. כריסטופר דיאז ריברוס

זה יחזיר רשימה ארוכה של אפשרויות, ביניהן אראה לכם את זו שמושכת את תשומת ליבי ביותר.

שֶׁלוֹ. כריסטופר דיאז ריברוס

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

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

התחל את הכיף בג'נטו:

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

ביצועים:

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

ניקח דוגמה מעשית מאוד.

התוכניות שלי מורכבות עם האפשרות --march=broadwell... הסיבה לכך היא שהמעבד שלי הוא רחב (אינטל i7). החיסרון בזה? אף מעבד לפני Broadwell אינו מסוגל להכיר בינארי זה. בשלב זה אתה צריך לראות את זה בבירור מאוד, אם אני אאסף עם א -מרץ  ספציפי, כל האמור לעיל לא יעבוד ... אז איך חבילות בינאריות תומכות בכל כך הרבה סוגי חומרה? קל, הם מרכיבים את האפשרות הכי פחות אפשרית 🙂 זה מבטיח שכל סוגי החומרה יוכלו לקרוא את זה (לפחות לצורך תאימות).

הבעיה האמיתית ... אם אתה משתמש בתוכניות שמורכבות עבור i3 ... כל הכוח של i7 שלך (או האנלוגיות של AMD בהתאמה) מבוזבז !! זה לא עצוב? 🙁

גמישות:

מכיוון שמפתחי ג'נטו מאוד חכמים, כל התהליך הזה של זפת, ./configure, make, וכו '... הוחלף בכוח של הובלה. כל ההגדרות המוזרות הללו קיבלו את השם דגלי USE, כך שאם אתה רוצה הגדרה ספציפית, אינך צריך להזין את קוד המקור, רק הגדר את המשתנה. הנה דוגמה איך לעשות את זה עם sudo ב portage. ראשית נראה אילו אפשרויות יש לנו בתצורה הנוכחית שלנו משוואות.

שֶׁלוֹ. כריסטופר דיאז ריברוס

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

נניח שאני רוצה להוסיף אפשרות ...

שֶׁלוֹ. כריסטופר דיאז ריברוס

פשוט כמו להוסיף שורה בקובץ שנקרא sudo (השם הוא התייחסותי) בתוך /etc/portage/package.use/. עם זאת, בפעם הבאה שאנחנו מתקינים את sudo זה יגיד לנו שהוא יורכב מחדש עם האפשרות המופעלת.

שֶׁלוֹ. כריסטופר דיאז ריברוס

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

מחשבות אחרונות:

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

אני אכתוב בקרוב את מדריך ההתקנה של ג'נטו, הן לאוהבי SystemD והן להרפתקני OpenRC (אני משתמש ב- systemd עם GNOME). אגב, יתרון גדול נוסף של ג'נטו הוא היכולת לבחור הכל בתוך המערכת שלך, וכשאני אומר שהכל הכל.

אם פספסת את ההודעה הראשונה שלי, הנה הקישור:

ג'נטו לינוקס: סיפור המסע

בברכה,


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.

  1.   מארט דיג'ו

    גדול! אני אחכה ל- Gentoo עם מדריך ההתקנה של Gnome. אולי אני מעודד לעבור לג'נטו גם אם עדיין יש לי מחשב מעט ישן (Intel Core i5 3rd Gen.). לחיים!

    1.    כריסאדר דיג'ו

      בקרוב מארט 😉 זכה בי לשתף דברים נוספים, אז כתבתי פוסט נוסף שמחכה לפרסום, אך בקרוב מאוד 🙂 אני מבטיח

  2.   ניורד דיג'ו

    אני חושב שאתחיל לראות הרבה פוסטים כאן על הפצת הלינוקס האהובה עלי o!!
    הייתי בג'נטו מאז 2005, שם השתמשתי בהקמת שרת דואר באוניברסיטה בה למדתי (ושם אני עובד כיום) ולמרות שסבלתי מהתקפות סחרחורות ספוראדיות אני תמיד בסופו של דבר חוזר עם גרטרודיס היקרה שלי ( תחילה עם Gnome2, לאחר מכן Xfce ועכשיו openbox), וכפי שאתה מגיב בפוסט הקודם שלך, עם כישורים וידע מתגברים כדי לכוונן אותו it
    אני אחכה לתרומות, הברכות והתודה הבאה שלך שעשית את היום שלי = D!

    1.    כריסאדר דיג'ו

      ובכן, הבא ייצא 🙂 זה כמו לנהל שיחה משעשעת על הנושא האהוב עלי, הבא יגיע בקרוב, והבא, והבא reet ברכות ותודה רבה על התגובה 🙂

  3.   מנצח דיג'ו

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

    1.    כריסאדר דיג'ו

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

      1.    מנצח דיג'ו

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

  4.   סמימי דיג'ו

    Knoppix, Mandrake, Ubuntu ו- Debian ... ותמיד חושב על Gentoo ...

    מחכה ל -20 הצעדים האלה!

    1.    כריסאדר דיג'ו

      חחח נו, זה כמו חלום לא? אני אומר שהגיע הזמן לגרום לזה לקרות 😉 ברכות

  5.   מגניב כמו קרח דיג'ו

    היי ChrisADR, ראשית אני רוצה לומר לך שלא ישנתי טוב מאז המאמר הראשון שלך על ג'נטו, והוא קשור למאמר חדש זה, החלומות שלי מבוססים על קומפילציה של ג'נטו על ה- Aspire One Netbook הישן שלי. בחלומי המערכת אומרת לי שהנטבוק שלי ישן מאוד ולכן הוא לא מזהה את החומרה.
    מצד שני, ברגע שראיתי ג'נטו וזה משך את תשומת ליבי, הם הזכירו את הכוח שהציע למחשב (המחשב). מאז אותו יום אמרתי לעצמי שיום אחד אני אתקין את זה, עברו יותר מעשר שנים ולא עשיתי את זה, אולי בגלל שאמרו לי שקשה מאוד להתקין את זה, באותה תקופה הייתי כמעט נגד לינוקס. אז הם הגבירו את הטרוניות שלי כלפיה. עם זאת הסקרנות נמשכה. פעם אחת ניסיתי להתקין BSD במחשב הנטבוק שלי ללא הצלחה, ונאמר לי שג'נטו היא לינוקס מאוד כמו BSD.
    מה אתה ממליץ לי להתקין את ג'נטו ב- Aspire One הישן שלי עם מהדר Atom הישן?

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

    1.    ChrisADR דיג'ו

      ובכן, אני ממליץ לך ... תעשה את זה! ולבסוף, אם בסופו של דבר זה ייכשל (מה שאני בספק רב כי הליבה מיועדת לתמוך בכל מיני חומרה) תהיה לך חוויה מעשירה ביותר בעולם לינוקס 🙂 יהיה לך הידור הליבה שלך, תהיה לך הרכבת את מערכת הקבצים שלך מאפס, עשית תצורות שמעטים עושים בחייהם 🙂 זה ייתן לך נקודת מבט חדשה על העולם hahaha אם אתה לא יכול לראות את פרופיל יוניקס & StackExchange שלי answers התשובות שלי מכסות את המגוון הרחב של לינוקס שם זאת מכיוון שהכרת ג'נטו אפשרה לי ללמוד דברים רבים על כל לינוקס 😉 אני משאיר לך את הקישור של הפרופיל שלי כאן

      https://unix.stackexchange.com/users/246185/christopher-d%C3%ADaz-riveros?tab=profile

      אל תפחדו, ובסופו של דבר, אם הכל ילך כשורה (זה בוודאי יעלה קצת) זה יהיה הישג לספר שלכם 😉 ברכות

  6.   אסטבן דיג'ו

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

    1.    ChrisADR דיג'ו

      ובכן האמת לא יכלה לומר לך בוודאות איזו מהן היא שחרור מתגלגל יותר I מה שאני יכול לומר לך בוודאות זה שלג'נטו יש שני ענפים: "יציב" ו"לא יציב ", אם כי" לא יציב "חייב להיות בעל מספר הרוב של חבילות בקצה הטכנולוגיה, יש לי מפתחים ידועים רבים המשתמשים בו ביומיום ללא סיבוכים. רבים מהם מיועדים לעבוד עם מאגרי git של הפרויקט, כך שאין שום דבר עדכני יותר. אני אישית משתמש בענף "יציב", אך זה במיוחד בגלל עבודתי בקהילה כרכז אבטחה וכחבר צוות המבחן (Arch Tester). אם לא היית צריך גרסה "יציבה" למשימה זו, היית בוודאי בקצה הטכנולוגיה עם "לא יציב".
      אני לא יודע אם זה עונה על שאלתך, אבל לפחות אני מקווה שזה מושך את תשומת ליבך מספיק כדי לנסות את זה 😛 בברכה

  7.   קישוט בחינם דיג'ו

    האמת היא שאתה גורם לי לרצות 😉
    אני מאוד מתעניין במה שציינת לגבי הדרכות C, כמו גם בפייתון, ואשמח אם יש לך אבני חן נסתרות שם לסבים וסבתות מגושמים.
    על ששמת עליכם כמה מקלות ועם כל הכבוד שלי מכיוון שלדעתי התוכן חשוב יותר מהיבשת, אבל כמה שאני קצת מפחיד עם השפה אני אגיד לכם דבר קטן.
    אתה אומר בהתחלה:
    "קומפילציה היא התהליך שמבצע מהדר לשימוש בקוד הכתוב בשפה אנושית ולהמרתו לקוד שניתן להבין על ידי מכונה."
    לדעתי לא נכון לכלול את מה שמוגדר בהגדרה, שכן כדי להגדיר את הקומפילציה אתה כולל את המונח מהדר, אז משהו כזה היה נכון יותר:
    קומפילציה היא התהליך שבו תוכנית משיגה מקובץ טקסט שנכתב בשפה (C, C ++) קובץ הפועל על ידי המחשב.

    1.    ChrisADR דיג'ו

      התרומה שלך נראית לי נכונה, אני מתארח בה כדי לנסות לשמור אותה במהותה ולהוסיף את המידע 😉 תודה.

  8.   כפול ד דיג'ו

    אני משתמש באובונטו 16.04, האם לדעתך עלי לעבור לג'נטו? מה יהיו היתרונות של ג'נטו לעומת אובונטו?

    1.    ChrisADR דיג'ו

      ובכן, אני באמת לא יודע 😛 זה תלוי מה אתה הולך לעשות עם הציוד שלך, או החומרה שיש לך, או אם יש לך את הזמן (ואת הרצון) ללמוד כיצד להשתמש בגנטו. הייתי אומר לך שאם יש לך זמן ובא לך, אתה יכול להתקדם! ותראה שתלמד הרבה בדרך 😉
      לגבי

  9.   פרנן דיג'ו

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

    1.    ChrisADR דיג'ו

      כן, היי, בהתחלה זה מתגאה קצת 🙂 אבל עם הזמן אתה מכיר ואפילו מגיע לחשוב מדוע באף מנהל חבילות אחר אין לך כל כך הרבה גמישות 🙂 מבחינת זמן, אני מכיר אנשים שיש להם את אותו השרת פועל במשך שנים מבלי להתעדכן ונשאר איתן לחלוטין ביום הראשון, ולמי שהיה במשך שנים (לא חודשים) יש קטע מיוחד בוויקי המתאר את הפתרונות האפשריים לבעיה:

      https://wiki.gentoo.org/wiki/Upgrading_Gentoo/es#Actualizar_sistemas_antiguos

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

  10.   פרנן דיג'ו

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

    1.    ChrisADR דיג'ו

      תגיד כן לכל דבר זה אף פעם לא טוב fernan 🙂 אם הגעת ל- GNU / Linux אתה צריך לדעת ולהבין את זה. ובכן, אין מה לראות, זה פשוט מנהג, עם הזמן אתה מבין שאדום זה מה שיש לך, כחול מה שאין לך, ירוק מה שאתה הולך להוסיף וזהו :). אני אף פעם לא צריך לשנות שום דבר כדי לעדכן אם הגדרתי נכון להתחיל, מדי פעם אני מוסיף או מסיר דגלי USE, אבל הדבר הנפוץ הוא לתת Y של כן לאחר שקראתי את הרשימה כדי לדעת מה נעשה 🙂
      נ.ב .: פקמן -סיי זהה להופיע -סינכרון
      Pacman -Suy זהה להופיע-uD @world (-av זה רק להיות מילולית וזה שואל אותך לפני שתמשיך, וזה מיותר אם אתה מכיר את הצוות שלך ואתה יודע מה אתה עושה, אבל אני מניח את זה כדי להימנע בעיות אחר כך 😉) אני לא רואה את זה כל כך קשה לזכור 🙂

      לגבי

  11.   מאוריסיו לופז דיג'ו

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

    1.    ChrisADR דיג'ו

      שלום מאוריסיו,
      ובכן, מעולם לא עצרתי להתמיד בין השניים, ובמציאות זו שאלה מעורפלת מאוד, תלוי בתוכנה בה אתה משתמש ובציוד שברשותך, זה יכול להשתנות ממעט או כלום להרבה. לפחות להיום שתי המערכות עובדות די טוב בשבילי במה שאני צריך להשתמש בהן. (יש לי ג'נטו ראשי וקשת שבה אני משתמש מדי פעם) בדרך כלל אני משתמש בו בוירטואליזציה ובעריכת תוכניות (אך בדרך כלל באמצעות מסוף כך שהוא לא משתמש בזיכרון רב ב- IDE. Chrome תומך בי בצורה רגועה לחלוטין. יותר מ -40 כרטיסיות (ניסיתי זאת מדי פעם, אם כי בדרך כלל יש לי מקסימום 5 פתוחים לתקופות ארוכות.
      אם יום אחד אתה מעז לנסות, ספר לי איך זה עבר 🙂

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

      ברכות ומזל

  12.   ז'אנפייר סוברו דיג'ו

    מה הרשתות החברתיות שלך ChirsADR?