פישוט ההרכבה Linux ממקור באמצעות אתר האינטרנט של UmVirt LFS Packages

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

מי מוריד את המאגרים? CentOS, Ubuntu, Debian, יש אנשים שבונים הפצות משלהם על סמך הפצות קיימות, בעוד שאחרים מצוידים בספרי LFS (Linux מאפס) ו-BLFS (מעבר Linux (From Scratch) כבר החל ללקט את ההפצות שלו מקוד המקור, מכיוון שהוא מאמין שבתנאים של אינטרנט "ריבוני", התקפות האקרים, מגפות וירוסים, דליפות נתונים יתרחשו באופן בלתי נמנע, וקבצים בינאריים פשוט יהפכו למיושנים לאחר זמן מה.

לאחרונה התחלתי לקמפל מכונה וירטואלית לחלוטין מקוד המקור באמצעות ההוראות בספר. Linux מהדורת Systemd של From Scratch גרסה 8.3. אני להוט לשתף אתכם בתוצאות.

תהליך ההרכבה Linux

תהליך ההרכבה Linux מקוד המקור ניתן לחלק לשלושה שלבים:

  1. סביבת בנייה של LFS מורכבת על בסיס מערכת ההפעלה הקיימת.
  2. סביבת הבנייה תבנה תמונה של המכונה הוירטואלית LFS.
  3. חבילות נוספות מהספר BLFS שאינן בספר LFS מותקנות במחשב הוירטואלי.

קבצי סקריפט סטטיים

בעבודה עם סביבת ה-build, נוח להשתמש בלוח וב-SSH: העתקתי את הפקודות מהספר והדבקתי אותן בקונסולת ה-building.

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

ידוע שניתן להזין פקודות לא רק מהמקלדת אלא גם מהזרם הסטנדרטי (STDIN). המקור של הזרם הסטנדרטי יכול להיות יציאה טורית, כמו גם התוצאה של תוכנית הסקריפט, מה שנקרא פלט סטנדרטי (STDOUT).

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

wget http://example.com -O -

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

wget http://umvirt.com/linux/helloworld.sh -O - | bash

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

קבצי סקריפט דינמיים

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

האתר הדינמי שמבוסס עליו מגיע לעזרה שרת אינטרנט LAMP (Linuxאם אתר יכול ליצור באופן דינמי דפים (קבצי HTML) ותמונות, אז הוא אמור להיות מסוגל להתמודד עם קבצי טקסט רגילים.

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

כעת כדי להתקין את חבילת mc (midnight commander) אתה יכול להזין את הפקודה:

wget --no-check-cerificate https://umvirt.com/linux/packages/0.1/mc/install -O - | bash

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

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

מסד הנתונים של החבילות המותקנות נמצא בספרייה /var/cache/ulfs-packages היא רשימה של קבצים ריקים עם שמות התואמים את שמות החבילות.

אם החבילה לא נמצאת במסד הנתונים, התלות מותקנות באופן רקורסיבי.

ציוד

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

עם שימפנזה, התקנת חבילות הופכת לקלה עוד יותר:

chimp install mc

הפגנה

היכרות עם עבודת השירותים חבילות UmVirt LFS и עוזר LFS של UmVirt אתה יכול להוריד את תמונת הבסיס עדכון ראשוני של UmVirt LFS v.0.1 1. התקן את Xorg באמצעות פקודה אחת:

chimp install X

בזמן שהסקריפט פועל, 141 חבילות יותקנו אוטומטית. כדי לחסוך זמן הידור, אתה יכול להחליף את הערך של המשתנה MAKEFLAGS בקובץ /etc/profile מ-"-j1" (שרשור אחד) ל-, למשל, "-j6" (שישה אשכולות).

ביזור והתאמה אישית

למטרות הבטחת אבטחה, אוטונומיה והתאמה אישית, קוד המקור של חבילות UmVirt LFS ושירותי UmVirt LFS Assistant מתפרסם בנחלת הכלל. כל אחד יכול להוריד אותו, לפרוס אותו ולשנות שירותים בתוך התשתית שלו.

מקור: www.habr.com

קנה אירוח אמין לאתרים עם הגנת DDoS, שרתי VPS VDS 🔥 קנה אחסון אתרים אמין עם הגנת DDoS, שרתי VPS VDS | ProHoster