הגרסה התשיעית של Rust for Linux מגיעה ונפרדת מהתמיכה בגרסאות קודמות ללינוקס 3.2

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

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

ההנחה היא התיקון המינימלי יקל על אימוץ תמיכת Rust לתוך הליבה הראשית. לאחר מתן תמיכה מינימלית, מתוכנן להגדיל בהדרגה את הפונקציונליות הקיימת, תוך העברה של שינויים אחרים מסניף Rust-for-Linux.

זוהי סדרת התיקונים (v9) להוספת תמיכה ב-Rust כשפה שנייה לליבת לינוקס...

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

בהשוואה לגרסה 8, גודל התיקון הצטמצם מ-40 ל-000 שורות קוד. לדוגמה, גרסה 3 כוללת רק 500% מהקוד (60 שורות) מחבילת ה-"kernel" ו-32% מספריית alloc, מה שמאפשר ליצור את מודולי הקרנל הפשוטים ביותר באמצעות סוג Vec. והצגת מידע ביומן הקרנל באמצעות המאקרו "pr_info!".

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

החל מ-Rust 1.64, מתוכנן ל-22 בספטמבר, 2022, הדרישות המינימליות עבור Glibc יועלו מגרסה 2.11 ל-2.17 וליבת לינוקס מ-2.6.32 ל-3.2. ההגבלות חלות גם על קבצים בינאריים של Rust שנבנו עם libstd.

הפצות RHEL 7, SLES 12-SP5, Debian 8 ואובונטו 14.04 עומדות בדרישות החדשות. תופסק התמיכה עבור RHEL 6, SLES 11-SP4, Debian 7 ואובונטו 12.04. הסיבות לביטול התמיכה במערכות לינוקס ישנות כוללות משאבים מוגבלים כדי להמשיך לתמוך בסביבות ישנות יותר.

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

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

הדרישות המינימליות עבור שרשרת כלים מארח משפיעות על מערכת הבנייה שלנו. Rust CI מייצר חפצים בינאריים עבור עשרות מטרות שונות. בניית קבצים בינאריים התומכים בגרסאות ישנות יותר של glibc דורשת בניית מערכת הפעלה עם glibc ישנה יותר (עבור בנייה מקורית) או שימוש ב-build root עם גרסה ישנה יותר של glibc (עבור בנייה צולבת).

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

מומלץ למשתמשים המשתמשים בקובצי הפעלה שנוצרו על ידי Rust בסביבות עם ליבות לינוקס ישנות יותר לשדרג את המערכות שלהם, להישאר על גרסאות ישנות יותר של המהדר, או לשמור על libstd fork משלהם כדי לשמור על תאימות.

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


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

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

*

*

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