מדוע עדיף לקמפל מאשר להתקין ממאגרים

במדריך הקטן הזה אני הולך להסביר (וללמד אותך) מדוע עדיף לחבר תוכנית (למשל Firefox, Vlc וכו ') מקוד המקור שלה, מאשר להוריד אותה (ממרכז התוכנה, Yumex, Pacman וכו'. ) והתקן.

ראשית אנו הולכים עם התיאוריה:

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

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

מדוע עדיף "לקמפל"?

ראשית עליך לדעת את הדברים הבאים כדי להבין מדוע. נאמר בצורה "גסה" (פשוטה, לא מקצועית במיוחד וכו '), לכל מרוץ (פנטיום, ליבה, אטום וכו') ומיניו (אינטל, AMD, ARM וכו ') של מעבד הוראות (תוכנה שנכתבה במכלול המעבד את הקוד) של המודל שלהם (Core i7, Core i5, Atom x2, Phantom x8, Arm וכו ') ויש לו הוראות כלליות שיש לכל הסוגים.

כשאתה מוריד ממאגרים דרך מרכז התוכנה / apt-get / Yumex / Yum / Pacman / etc, נאמר שתוכנית שמתקינה אוטומטית היא זו מקובץ מראש להפעלתו בכל המעבדים האפשריים (אינטל ו- Amd). מכיוון שמדובר בתכנית שהורכבה מראש, ההוראות האופייניות לאותו דגם מעבד ספציפי הולכות לאיבוד (חשבו שאם תוכנית כמו Firefox או Chrome, שיש בה יותר מ -7 או 8 מיליון שורות קוד, הן היו צריכות לשים את כל ההוראות הספציפיות לכל במעבד בשוק, כמות הקוד תהיה כל כך גדולה שתוכנית זו כבר לא תהיה יעילה) ומשאירה לא יותר מאשר הכלליות של מותג היוצרים שלה (אינטל, Amd, Arm).

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

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

אתה תופתע מהכוח שלך amd atom x2 o tu אינטל ליבה בפנים, Core Duo 2, i3וכו 'מהמחשב הישן שלך. עכשיו אתה מבין למה יש הרבה דיבורים בעולם לינוקס על קומפילציה של הליבה המפורסמת (הלב של כל מערכת הפעלה)? תאר לעצמך אם אתה מרכיב מערכת שלמה (סביבה גרפית (Gnome, Kde וכו '), גרעין, תוכניות נפוצות (Firefox, Vlc, Chrome, יין וכו') במיוחד עבור המחשב האישי שלך) את כל רמת המהירות והמיצוב שתהיה לך.

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

חסרונות של אוסף:

כבר הסברתי את כל היתרונות, אבל כמו כל דבר ביקום יש לזה נגד.

במקרה האוסף הם;

  • הזמן הדרוש לכך (פיירפוקס עם i7 4790K (ללא שעון יתר מכיוון שאני רע מאוד במתח) לוקח 3 דקות, Gnome Shell (הבר לא שום דבר אחר) עם Gnome-Control-Center לקח לי בערך 2 דקות, שניהם נערכו בשעה באותו זמן בפדורה. אבל במכונה עם מעבד פחות חזק הפעם יכול להיות ארוך באופן לא פרופורציונלי).
  • המעבד משתמש במאה אחוז מהספק שלו עם כל ליבותיו במקסימום, כך שהצריכה והחום מרקיעים שחקים (קחו זאת בחשבון אם יש לכם אוברקלוק או אם מדובר במיוחד במחברת), ולכן נוח שתכינו בן זוג או קפה לרגל האירוע.
  • אולי חסר לך ספרייה (כלי) המשתמשת בתוכנית כדי שלא תטעה באוסף. באופן כללי, לכל ההפצות יש חבילות או קבוצות מהן כדי להימנע מכך (הן מגיעות עמוסות בספריות שונות ובדברים אחרים שמאפשרים לליבה לתקשר כמו שצריך עם המעבד במהלך התהליך).

כיצד אוכל לקמפל?

עבור דביאן (אובונטו, מנטה, אלמנטרי וכו ', כולם נגזרות לכך אז בצע את זה

כאן אני מדבר על הרכבת תוכנית לשימוש רגיל, ולא על גרעין.

aptitude להתקין build-essential dh-make devscripts fakeroot debhelper debian-policy ccache dh-autoreconf autotools-dev build-dep ardor

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

לפדורה:

sudo yum - להתקין כותרות ליבה
גרעין-התפתחות
sudo yum group התקן את "כלי פיתוח"
sudo yum groupinstall "ספריות פיתוח"

כאן עלי להתנצל בפני מי שמשתמש ב- Arch (אינני מכיר היטב את ההפצה) ו- OpenSuse, מכיוון שאיני מכיר את ההפצות הללו או את החבילות המתאימות לביצוע אוסף נכון (ולא אישרתי את מה שיש ברשת, אז אני לא יודע אם הם עובדים עבור שני אלה).

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

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

./configure

ואז אתה מקליד:

make

ולבסוף להתקין את התוכנית בלינוקס שלך:

make install

כל זה תמיד עם שורש (סו בפדורה, סודו סו באובונטו ונגזרותיו (מנטה, אלמנטרי אס וכו ')

פקודות לפתיחת רוכסן באמצעות הטרמינל (הקובץ רוכסן בתיקיה בה נמצא הקובץ):

קבצי Tar (זפת) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - חבילה | tar cvf file.tar / file / * Unpack | tar xvf file.tar צפה בתוכן | זפת tvf file.tar
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .tar.gz - .tar.z - .tgz (זפת עם gzip ) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - חבילה ורוכסן | tar czvf file.tar.gz / file / Unpack and unzip | tar xzvf file.tar.gz צפה בתוכן (לא חולץ) | tar tzvf file.tar.gz
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .gz (gzip) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - דחוס | קובץ gzip -q (הקובץ מכווץ אותו ושם "file.gz") Unzip | gzip -d file.gz (הקובץ פותח את רוכסן אותו ומשאיר אותו כ"קובץ ") הערה: gzip רק דוחס קבצים ולא ספריות
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .bz2 (bzip2) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - דחוס | קובץ bzip2 | קובץ bunzip2 (הקובץ מכווץ אותו ושם "file.bz2") קובץ bzip2 -d.bz2 | קובץ bunzip2.bz2 (הקובץ פותח את רוכסן ומשאיר אותו כ"קובץ ") הערה: bzip2 רק דוחס קבצים ולא ספריות
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .tar.bz2 (זפת עם bzip2) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - דחוס | קבצי tar -c | bzip2> file.tar.bz2 Unzip | bzip2 -dc file.tar.bz2 | זפת -xv | tar jvxf file.tar.bz2 (גרסאות אחרונות של tar) צפה בתוכן | bzip2 -dc file.tar.bz2 | זפת -טב
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -. zip (מיקוד) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - דחוס | zip file.zip / mayo / archives Unzip | unzip file.zip צפה בתוכן | unzip -v file.zip
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .rar (rar) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - דחוס | rar -a file.rar / may / archives Unzip | rar -x file.rar צפה בתוכן | rar -v file.rar | rar -l file.rar

וזה הכל. ברכות מבואנוס איירס, ארגנטינה. חג שמח ושנה חדשה! :).


הוסף כמקור מועדף בגוגל