ג'נטו לינוקס

ג'נטו (אנגלית: Gentoo) היא מערכת הפעלה והפצת גנו/לינוקס מודולרית, חינמית ובקוד פתוח.

ההפצה פותחה על ידי צוות הפיתוח של קהילת ג'נטו ושוחררה בתאריך 31 במרץ 2002 (גרסה 1.0).

ההפצה ניתנת להורדה בגרסת 32 ו-64 ביט (בגרסה מלאה או גרסה חלקית-- "Minimal"), גרסת לייב-סידי (Hybrid ISO) וגרסה לשימוש על מחשבי Raspberry Pi.

פירוש השם ג'נטו הוא פינגווין לבן-אוזן (Gentoo Penguin), הנחשב לשחיין המהיר ביותר מבין משפחת הפינגוויניים.

היסטוריה
מייסדה של ג'נטו, דניאל רובינס, החל את דרכו בלינוקס בעבודה על הפצת לינוקס בשם Stampede, אולם פרש ממנה בשנת 1999 בשל חילוקי דעות לגבי פיתוח מערכת ניהול החבילות. הוא יצר הפצת לינוקס חדשה משל עצמו בשם Enoch. בהמשך שונה שם ההפצה לג'נטו. בהמשך אותה שנה הוא הפסיק לעבוד על ההפצה ועבר להשתמש במערכת FreeBSD. הוא חזר ללינוקס ולהפצת ג'נטו וכתב לה מערכת ניהול חבילות חדשה בשם Portage, בהשראת מערכת ports שקיימת ב-FreeBSD.

בסוף 1999 - רובינס עזב את FreeBSD וחזר לעבוד על Enoch. הוא החליט לשנות את השם של ההפצה ל-Gentoo.

ב-4 באוקטובר 1999 רובינס קנה את שם המתחם gentoo.org ובכך פתח באופן רשמי את הפרויקט. דניאל רובינס הקים את Gentoo Technologies Inc בתור חברה למטרות רווח ואת "חנות הג'נטו" על cafepress (שעד היום היא החנות הרשמית וממנה ניתן לרכוש מדיית התקנה, חולצות T, וסחורה אחרת הקשורה לג'נטו). מטרתו של דניאל רובינס הייתה להרוויח כסף מההפצה, מטרה שלא עלתה בידו.

כאשר במאי 2004 רובינס לא הצליח להרוויח כסף מהפצת ג'נטו כ-Gentoo Technologies Inc,  ומשום שהוא נאלץ להקדיש פחות ופחות זמן לפרויקט, הוא החליט לפרוש לגמרי מניהול ההפצה והקים את Gentoo Foundation Inc (קרן ג'נטו), חברה ללא מטרות רווח שירשה את כל הנכסים של Gentoo Technologies Inc וממשיכה לנהל את כל העניינים החוקיים של ההפצה. את קרן ג'נטו מנהלת מועצת נאמנים שאינם בהכרח מפתחים ואת פיתוח ההפצה עצמה מנהלים מועצת המפתחים, גוף שנבחר על ידי מפתחים פעילים של ההפצה.

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

גרסאות
 גרסה 1.0 הייתה הגרסה העיקרית הראשונה של ג'נטו. היא יצאה ב-31 במרץ 2002.
 גרסה 1.2 הייתה השנייה, והיא יצאה ביוני 2002.
 גרסה 1.4 הכילה לראשונה את ה-Gentoo Reference Platform (או בקיצור: GRP). היא איפשרה חבילות מהודרות-מראש, אשר בשילוב עם התקנה שמתחילה משלב 3, אפשרה למשתמש לקבל מערכת פועלת לחלוטין ללא זמן המתנה ארוך במיוחד.
 גרסה 2004.0 החלה את סכמת הגרסאות החדשה, המבוססת על פורמט שנה. מהדורה. כך 2004.0 הייתה המהדורה הראשונה של ג'נטו שיצאה ב-2004. ב-2004 יצאו 4 גרסאות, אבל החל מגרסה 2005.0 יצאו גרסאות כל חצי שנה.
 החל מ-22 בספטמבר 2008 עברה ג'נטו לעדכונים שבועיים (build release).
 גרסה 10.0 יצאה בתאריך 4 באוקטובר 2009 - גרסה מיוחדת של LiveDVD עבור יום הולדת ה-10 של ג'נטו. מאז יוצאות גרסאות מיוחדות בזמנים לא קבועים, בממוצע כל שנתיים.

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

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

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

שלבים

 התקנה מלאה, בה מבוצע תהליך bootstrap, ובסיס המערכת חייב להיות מהודר.
 המערכת כבר עברה תהליך bootstrap, אך עדיין צריך להדר את בסיס המערכת.
 המערכת עברה תהליך bootstrap, ובסיס המערכת כבר עבר הידור.

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

חבילות אחרות
אחרי שלושת השלבים, תצורת המערכת חייבת להיכתב. לאחר מכן, המשתמש חופשי להתקין מה שהוא רוצה; הוא יכול להוריד חבילות בינאריות מה-Gentoo Reference Platform, או להדר תוכנות משל עצמו.

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

תצורת מערכת
אחרי שהליבה הותקנה, קובצי תצורת המערכת חייבים להיערך באופן ידני כדי להתאים לצרכיו של המשתמש. הנ"ל כולל את הקובץ fstab, תצורת הרשת, והתאמה אישית של המערכת. הדבר החשוב ביותר הוא הקובץ המיוחד לג'נטו, שנקרא make.conf, ואשר יושב במחיצה /etc/. הוא מכיל הגדרות ששולטות בהידור של החבילות, ובדרך כלל מעודכן על ידי איש הסיסטם כאשר הערכים צריכים לעבור שינוי מברירת המחדל שלהם. הקובץ make.conf מכיל משתני סביבה כמו CFLAGS, CHOST, USE, ACCEPT_KEYWORDS ועוד רבים אחרים. עיינו בדף ה-man של make.conf עבור רשימה מלאה של כל המשתנים.

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

חלקם של המשתמשים מעדיפים להשתמש ב-LILO הישן יותר.

כלי מערכת
אף על פי שאינן נחוצות עבור התקנה פועלת של ג'נטו, מספר חבילות שנפרדות מחבילת הבסיס מומלצות מאוד: system logger, כלי מערכת קבצים, ומערכת cron. ג'נטו מספקת מספר אפשרויות עבור כל סוג של כלי מהרשימה הנ"ל, והמשתמש בוחר בזו המתאימה לו ביותר על פי העדפותיו וצרכיו.

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

ניידות
ג'נטו נועדה במקור לארכיטקטורת ה-x86, אך מאז נויידה לארכיטקטורות רבות נוספות, בגלל אפשרות הניוד הקלה של לינוקס, GCC ו-Portage. כעת היא רצה על הארכיטקטורות הבאות: x86, PowerPC, PowerPC 970, SPARC, AMD64, IA64, MIPS, DEC Alpha, HP/PA, ARM ו zSeries/s390. ג'נטו הייתה ההפצה הראשונה שהציעה תמיכה מלאה ופעילה בסביבת 64 סיביות בלינוקס עבור ארכיטקטורת ה-PowerPC 970.

ישנו גם פרויקט "ג'נטו עבור Mac OS X" אשר מאפשר למשתמשי Mac OS X להשתמש ב-Portage של ג'נטו כדי להתקין חבילות, בצורה דומה לזו שמסופקת על ידי Fink (אף על פי שאין צורך להיסמך על סביבת chroot). אף על פי שזהו פרויקט שעדיין נמצא בעבודה, פרויקט זה יכול להחליף את Fink, משום שהוא משתמש באותה סביבה של Mac OS X, במקום יצירת סביבה חדשה.

כמו כן, פרויקטים המיועדים לאפשר ל-Portage לפעול על OpenBSD, FreeBSD וה-Dreamcast של Sega נמצאים כעת בשלבי פיתוח.

מערכת Init
מערכת ה-Init של ג'נטו היא עוד תכונה חשובה של המערכת. היא דומה ל-Init של System V שבה השתמשו רוב הפצות הלינוקס, אך היא משתמשת ברמות ריצה (runlevels) עם שמות במקום עם מספרים, וגם בתסריטים המנהלים תלויות בין שירותים. היא גם מכילה פקודה שנקראת rc-update אשר מנהלת את רמות הריצה.

Portage
Portage דומה למערכת ניהול החבילות של BSD, שנקראת "ports"; למעשה, היא נבנתה בהשראת ports. מערכת ה-Portage של ג'נטו פועלת באופן דומה למערכת ה-APT של דביאן. Portage נכתבה בשפת פייתון, והיא הכלי הראשי שמגדיר את ג'נטו. אף על פי שהמערכת עצמה ידועה כ-"Portage", התכונות שלה מופעלות למעשה בשורת הפקודה באמצעות התוכנה emerge.

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

קובצי Ebuild
ג'נטו אינה משתמשת בחבילות בינאריות כמו מערכות ניהול חבילות (RPM למשל), ובמקום זאת, היא משתמשת בפורמט ידוע בשם ebuild. ההבדל העיקרי בין קובצי RPM וקובצי ebuild, הוא ש-RPM-ים הם בינאריים מהודרים-מראש, בעוד שקובצי ebuild הם קובצי טקסט אשר מכילים תיאור של התוכנה, והוראות כיצד להשיג, לבנות תצורה, להדר ולהתקין אותה. ישנם כ-100,000 קובצי ebuild זמינים, ורובם מופצים על ידי אתרי המראה של ג'נטו. קובצי ebuild מעודכנים וחדשים ניתן להשיג על ידי סנכרון מאגר ה-ebuild המקורי מאתרי המראה. זאת עושים באמצעות הפקודה emerge --sync.

מיסוך חבילות
מיסוך היא הדרך שבה ג'נטו קובעת אילו חבילות מותאמות למערכת. קובצי Ebuild המיועדים לארכיטקטורות שונות, או תוכנה נסיונית, מסומנים בדרך כלל כך שהם לא יאפשרו למערכת "יציבה" להתקין אותם בלי התערבות מתאימה של המשתמש, כמו, הוספת שם החבילה לקובץ /etc/portage/package.keywords. חבילות נסיוניות ממוסכות באופן "קשיח" (hard masked). התקנת חבילות הממוסכות באופן קשיח נחשבת לדבר מסוכן, ואינו מומלץ, משום שיש בהן בעיות ידועות.

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

הדרך הרגילה לבטל מיסוך של חבילה שמוסכה באופן קשיח, הוא להעתיק את שם המלא מ /usr/portage/profiles/package.mask אל /etc/portage/package.unmask.

האתר של ג'נטו לינוקס
קרן ג'נטו ערכה תחרות לעיצוב מחדש של האתר של ג'נטו ביולי 2004. העיצוב של Aaron Shi's זכה בתחרות אחרי הצבעה שנערכה בקהילת ג'נטו.

עדכון - 1 במאי 2005
M Curtis Napier (המכונה curtis119) התחיל בתהליך של המרת העיצוב הזוכה לפורמט ה XSL/GuideXML של ג'נטו. כחלק מהתליך, כל תשתית ה-XSL/XML עוברת בדיקה ותיעוד.

ביקורת על הפצת ג'נטו לינוקס

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

רוב הקשיים שנחוו בשנים האחרונות בענף ה"יציב" נעלמו, כתוצאה מהוספת ענף "לא יציב", וכנראה ימשיכו להשתפר עם הזמן והמאמץ. למרות זאת, כיוון שלג'נטו יש מאגר bleeding edge של תוכנה, שלרוב נשען על תהליך ה QA של ה-"upstream"' (כלומר, יוצרי התוכנה המקוריים). דבר זה פועל היטב עבור תוכנות שנמצאות בשימוש רב (כגון שרת ה-HTTP אפאצ'י), אך פחות עבור תוכנות שאין להן הרבה משתמשים.

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

בתגובה לביקורת זו, ג'נטו החלה להציע בינאריים מהודרים מראש עבור מספר ארכיטקטורות, של תוכנות פופולריות, כגון KDE, GNOME, OpenOffice.org, Mozilla, Mozilla Firefox ואחרות, ואת כל החבילות הנדרשות כדי להריץ אותן. סטים אלה של חבילות מכונים "ה- Gentoo Reference Platform" (או בקיצור: GRP) והם מעודכנים בכל יציאת גרסה של ג'נטו.

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

טענות אלו נשמעות בדרך כלל על ידי מיעוט "צעקני" של הפצות לינוקס מבוססות-קהילה.

ראו גם
 לינוקס

קישורים חיצוניים

 
 ג'נטו לינוקס אתר הבית של ג'נטו לינוקס
 ג'נטו לינוקס עברי אתר הבית של ג'נטו לינוקס בעברית (תיעוד רשמי)
 Gentoo Wiki מערכת הויקי של ג'נטו באנגלית
 הפילוסופיה של ג'נטו לינוקס
 הפורומים של ג'נטו לינוקס
 Gentoo-Portage - עץ מקוון בר-חיפוש של עץ ה-Portage.
 Navyn OS - הפצת לינוקס מבוססת על ג'נטו שמתמקדת בכלי אבטחה..
 ציטוטי משתמשי ג'נטו - אתר המקטרג את משתמשי ג'נטו על ידי הבאת ציטוטים מ-Slashdot ומהפורומים של ג'נטו.
 ג'נטו מוקשח
 פרויקט תוכנת ההתקנה של ג'נטו
 הפרק ג'נטו במדריך עוברים ללינוקס באתר לינמגזין
 ההיסטוריה של הפצת ג'נטו

הערות שוליים 

הפצות של GNU/לינוקס