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

06.12.2021

במקום להשתמש ב-dpkg -i package_name.deb להתקנה, אתה יכול ליצור מאגר מקומי עבור חבילות המובאות בכונן הבזק או מדיה אחרת, ולאחר מכן להשתמש ב-synaptic/kynaptic (או apt-get install package_name).

1. עדיף לבצע את כל הפעולות כשורש

sudo su

2. כעת התקן את חבילת dpkg-dev. הוא יכיל את כלי השירות dpkg-scanpackages, וזה מה שאנחנו צריכים.

apt-get התקנת dpkg-dev

3. הצב את כל חבילות ה-.deb בספרייה, לדוגמה, /myrepo (לא ישירות בספרייה זו, אלא בתיקי משנה הממוקמים בספרייה זו)

4. בצע

cd /myrepo dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz

5. כעת עליך להוסיף מאגר חדש ל-/etc/apt/sources.list. הכנס שורה לתוך /etc/apt/sources.list (עדיף להכניס אותה קרוב יותר להתחלה, כי apt-get (synaptic/kynaptic) שם יותר עדיפות גבוהההמקור מוקדם מהאחרים)

קובץ deb:/myrepo ./

6. עדכן את רשימת המאגרים

apt-get update

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

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

כיצד פועלים מאגרי חבילות במערכות לינוקס?

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

Deb http://ru.archive.ubuntu.com/ubuntu/ היקום הביוני

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

דב https://repos.codelite.org/ubuntu/bionic universe

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

Deb cdrom:/ יקום מוגבל רב-יקום ראשי ביוני

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

שימוש בפרוקסי לארגון מאגר מקומי

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

  • במחשב לקוח, חבילה מתבקשת באופן שגרתי להתקנה/עדכון דרך מחשב השרת;
  • החבילה המבוקשת יורדת על ידי השרת, מאוחסנת באחסון מטמון ייעודי במיוחד ולאחר מכן הופכת לזמינה לכל שאר הלקוחות;
  • שרת האינטרנט של Apache פועל כמפיץ חבילות ללקוחות, ולכן נדרשת התקנתו.

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

$ sudo apt-get להתקין את apache2 apt-cacher

בעת התקנה apt-cacherתוצג תיבת דו-שיח של הגדרות שבה תוכל להגדיר את ההתנהגות הרצויה של כלי השירות, למשל, להגדיר הפעלה אוטומטית ולעבוד במצב דמון. גם אלה וכמה אחרים הגדרות חשובותניתן לעשות (למשל באמצעות עורך) בקובץ התצורה /etc/default/apt-cacher. כדי לאפשר הפעלה אוטומטית של apt-cacher, עליך להגדיר את הפרמטר AUTOSTART ל-"1":

$ sudo nano /etc/default/apt-cacher . . . # הגדר ל-1 כדי להפעיל את apt-cacher בתור דמון עצמאי, הגדר ל-0 אם אתה מתכוון להפעיל את apt-cacher מ-/etc/inetd או במצב CGI (הוצא משימוש). לחלופין, # שמפעיל את "dpkg-reconfigure apt-cacher" אמור לעשות את העבודה בשבילך. # AUTOSTART=1 . . .

$ sudo nano /etc/apt-cacher/apt-cacher.conf . . . ## בטל הערות והגדר את טווח ה-IP ## allow_hosts = 192.168.1.105 - 192.168.1.125 #denied_hosts = . . .

כפי שאתה יכול לראות, טווח כתובות ה-IP הנדרשות מצוין בפשטות. לאחר שמירת ההגדרות שביצעת, עליך להפעיל מחדש את שרת האינטרנט של Apache:

$ sudo service apache2 הפעל מחדש

$ sudo systemctl הפעל מחדש את apache2

עכשיו אתה צריך להגיד ללקוחות לאן הם צריכים ללכת כדי להתקין חבילות ועדכונים. כדי לעשות זאת, במחשבי לקוח עליך ליצור את הקובץ /etc/apt/apt.conf.d/01proxy באמצעות אותו עורך ננו:

$ sudo nano /etc/apt/apt.conf.d/01proxy

והוסיפו לו שורה עם ההוראות הבאות:

רכש::http::פרוקסי "http://192.168.1.100:3142";

כאן ככתובת השרת עליו הוא מותקן ופועל apt-cacherמצוין 192.168.1.100. כמובן, זו יכולה להיות כל כתובת אחרת שהוגדרה עבור שרת זה.

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

$ sudo apt-get update

APT-MIRROR – מאגר מקומי מלא

שיטה זו "מתקדמת" יותר בהשוואה לשימוש apt-cache.מכיוון שהוא מניח נוכחות של מאגר חבילות מלא ישירות על המחשב/שרת המקומי או ברשת המקומית. אבל ראשית, יש ליצור מאגר כזה על ידי הורדת כל החבילות הדרושות לתוכו. כפי שקורה עם apt-cache, שרת האינטרנט משמש כמפיץ חבילות. ההליך להגדרת מאגר מקומי באמצעות כלי השירות apt-mirror הוא כדלקמן:

  1. התקנת החבילות הדרושות: apt-mirror ו-apache2;
  2. יצירה אחסון מקומיוהגדרת מקורות הורדה, העלאת חבילות למאגר;
  3. פתיחת גישה לאחסון מוכן עבור לקוחות;
  4. הגדרת לקוחות לשימוש במאגר המקומי.

אז, התקן את כלי השירות והחבילות הדרושים:

$ sudo apt-get להתקין את apache2 apt-mirror

$ sudo mkdir /localrepo

כעת בקובץ התצורה /etc/apt/mirror.list עליך לערוך את השורה עם הפקודה "set base_path". מציין בו את הספרייה החדשה שנוצרה עבור האחסון:

$ sudo nano /etc/apt/mirror.list ############ config ################## set base_path /localrepo

לאחר מכן, באותו קובץ תוכלו להוסיף את המאגרים הדרושים מהם יורדו חבילות. אתה יכול להעתיק את כל המאגרים הסטנדרטיים מ-/etc/apt/sources.list.
לאחר שמירת ההגדרות, אתה יכול להתחיל להוריד חבילות עם הפקודה:

$sudo apt-mirror

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

לאחר הורדה מלאה של המאגר המקומי, התוכן שלו צריך להיות בערך כך:

$ ls /localmirror mirror skel var

לנוחות מאוחרת יותר של הגדרת לקוחות, כדאי ליצור באחסון הכלול בספריית המראה:

$ cd /localrepo $ sudo ln -s /localrepo/mirror/us.archive.ubuntu.com/ubuntu/ubuntu

כעת הקישור של אובונטו ישמש להגדרת מאגרי צד הלקוח על ידי עריכת הקובץ /etc/apt/sources.list:
לאחר פתיחת קובץ זה (באמצעות הפקודה) באמצעות עורך הננו, כעת עליך להוסיף לו את המאגרים הבאים:

Deb http://192.168.1.100/ubuntu trusty universe deb http://192.168.1.100/ubuntu trusty main restricted deb http://192.168.1.100/ubuntu trusty-updates main restricted . . .

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

$ sudo apt-get update $ sudo apt-get install package_name

סיכום

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

אם אתה מוצא שגיאה, אנא סמן קטע טקסט ולחץ Ctrl+Enter.

המעבר ההדרגתי של ארגון ל-GNU/Linux יוצר את הצורך בשינויים מתאימים בתשתית. היום אנו פותרים את בעיית העדכון העולמי של מכונות הלקוח על ידי יצירת מאגר מקומי. התהליך תועד בתחילה כתזכורת לעתיד, לכן אני מתנצל מראש על חוסר עקביות בטקסט. כך.
ראשית עליך להחליט כיצד לעשות זאת בצורה הטובה ביותר. האינטרנט מזהה שני מועדפים rsyncו debmirror. בחרתי באחרון בגלל הגמישות הרבה יותר שלו.

1. השגת מפתחות

כדי ליצור מראה של המאגר, עליך להשיג את "מפתח החתימה האוטומטית לארכיון של אובונטו" " לשם כך, בטרמינל ממשתמש העל, הזן:
gpg --no-default-keyring --keyring trustedkeys.gpg --recv-keys 437D05B5

2. הכנת החלל

צור תיקיה עבור המאגר:
sudo mkdir /path/to/repository
חשוב!טרח לוודא שיש מקום פנוי בנתיב שצוין. אפילו שתי ארכיטקטורות i386ו amd64יתפוס כמות הגונה ממנו.

3. קבלת חבילות

השיקוף מתבצע בשלושה שלבים:
  • הסרת קבצים לא ידועים (מושבת על ידי האפשרות --nocleanupלְהַלָן);
  • בניית רשימה של ארכיוני אינדקס ובדיקת זמינות במאגר המקומי כדי ליישם את האמור לעיל, ניצור קובץ repo_update.shעם התוכן הבא.
  • #!/bin/sh
    #זו תצורת המאגר שלנו. תלוי בפרמטרים שצוינו
    #כאן, נקבל את התוכן שאנו צריכים.

    #אפשרות ניקוי. מופעל כברירת מחדל. לאחר הורדת חבילות, מוחק חבילות קודמות
    #גירסאות. כדי להשבית את האפשרות, יש צורך בפרמטר --nocleanup
    clean=--nocleanup
    #מקור אפשרות. מעלה קודי מקור של חבילה. אם אתה לא משתמש
    #קודי מקורללמוד ולשנות יישומים (מה שאופייני ל
    #הפצות בינאריות), אל תהסס להגדיר את האפשרות --ללא מקור
    src=--source

    #מנחה. שם השרת שממנו אנו מקבלים את החבילות.
    servername=mirror.yandex.ru

    #שורש. ספריית השורש בשרת שבחרנו.
    rdir=/ubuntu

    #שם ההפצה של אובונטו. הגדרות עבור גרסה 10.04.
    release=lucid,lucid-backports,lucid-proposed,lucid-security,lucid-updates

    #מקטעים.
    סעיף=ראשי, מוגבל, יקום, רב-יקום

    #פרוטוקול סנכרון. Debmirror תומך בשיטות הבאות: http,
    #hftp, ftp, rsync
    sync_protocol=rsync

    #ארכיטקטורה. אם אתה משתמש אך ורק במערכות 32 או 64 סיביות.
    #ניתן להסיר את אחת הארכיטקטורות. כמו כן, אם נעשה שימוש בארכיטקטורות אחרות,
    #יש להוסיף אותם.
    arch=i386,amd64

    #מיקום המאגר. נא לציין תיקיה מקומית, נוצר. בנקודה 2.
    path=/path/to/repository

    Debmirror --progress --verbose $clean $src --md5sums --host=$servername --root=$rdir \
    --dist=$release -s=$section --method=$sync_protocol -a=$arch $path

    עכשיו בואו נשים את זה בספרייה /usr/local/binולהפוך אותה לניתנת להפעלה.
    chmod +x repo_update.sh
    sudo cp repo_update.sh /usr/local/bin/

    לאחר מכן, הפעל את הסקריפט שהתקבל והמתן עד להשלמת התהליך. התהליך די ארוך. זמן הביצוע תלוי מאוד ברוחב ערוץ האינטרנט שלך.
    sudo /usr/local/bin/repo_update.sh
    תשומת הלב!גודל ההורדה עולה על עשרות גיגה-בייט, והאינטרנט הממשלתי הוא לעתים נדירות בלתי מוגבל. יתר על כך, debmirrorרגיש ליציבות החיבור, 120 שניות של השבתה והכל יצטרך להתחיל מחדש.

    4. הקמת שרת אינטרנט

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

    התקנת שרת.

    Sudo apt-get install lighttpd
    הכל פשוט כאן. אם אתה לא מתכנן להשתמש בו בתור wwwספרייה מלבד ברירת המחדל, אז אין צורך להגדיר את השרת. כל שעליכם לעשות הוא ליצור קישור סמלי בספרייה /var/www
    ln -s /path/to/repository /var/www/ubuntu

    בואו נבדוק את זמינות המאגר מהדפדפן: http:// /ubuntu/

    5. הגדרת לקוח

    כאן נשתמש בטריק קטן. כדי לא לעשות שינויים ב /etc/apt/sources.list(אי אפשר לדעת מה יקרה). הוסף לקובץ /etc/hostsכמה שורות.
    www.archive.ubuntu.com
    security.ubuntu.com
    הערה: בנוכחות שרתי DNSאתה יכול לרשום את כל זה בו, ולרשום את הכתובות האמיתיות של השמות לעיל בשרת המאגר.

    6. אוטומציה

    ועכשיו החלק הכי מתוק. בואו נגרום להכל להסתובב לבד.
    6.1 חלק שרת
    בנקודה מס' 3 יצרנו סקריפט איתו קיבלנו חבילות. בואו נגדיר את ההפעלה האוטומטית שלו באמצעות הדמון cron.
    sudo crontab -e

    אליו נוסיף את השורה היקרה:

    0 0 * * * /usr/local/bin/repo_update.sh
    עכשיו כל יום בשעה 0:00 התסריט שלנו יעשה עבורנו את כל העבודה השגרתית.

    6.2 חלק לקוח
    בואו ניצור סקריפט על לקוחות system_upd.shבספרייה /usr/local/binהתוכן הבא:
    #!/bin/sh
    apt-get -y update && apt-get -y upgrade && apt-get -y clean

    בואו לא נשכח לעשות את זה בר הפעלה.
    sudo chmod +x /usr/local/bin/system_upd.sh

    ואז נפתח cron:
    sudo crontab -e

    והוסיפו את השורה:
    40 17 * * * /usr/local/bin/system_upd.sh

    כעת בכל יום בשעה 17:40 המערכת תסקר את המאגר שלנו לעדכונים ותעדכן אם יימצאו כאלה.

    תשומת הלב!כשעובדים עם crontabאל תשכח שאחרי השורות עם המשימות חייבת להיות שורה ריקה, המסומנת על ידי השלט " # ".
    נ.ב.: אני מתנצל על היעדר תמונות מצורפות, אבל במקרה הזה אני חושב שהנוכחות שלהם פשוט לא הולמת.

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

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

    אז חבילות ה-deb שלי ממוקמות באותו מקום שבו השארתי אותן לפני שהתקנתי מחדש את המערכת כניסוי, כלומר בספריית הבית בתיקייה דב. יש לי את זה /home/dante/deb, תיארתי את כל זה, אבל יש לך את אותה ספרייה שבה שמרת את החבילות. פתח מסוף ועבור לתיקיה עם חבילות deb. במקרה שלי, הפקודה בטרמינל נראית כך:

    cd /home/dante/deb

    עליך להזין את הנתיב לחבילות ה-deb שלך.
    לאחר שניווטת לתיקיה עם חבילות ה-deb השמורות. הזן את הפקודה הבאה:

    sudo apt-ftparchive חבילות ./ |gzip -9 > Packages.gz

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

    sudo nano /etc/apt/sources.list

    יש לי הקובץ הזהנראה כך:

    deb file:///home/dante/deb ./
    # deb cdrom:/ oneiric main מוגבל

    # ראה http://help.ubuntu.com/community/UpgradeNotes כיצד לשדרג ל
    # גרסאות חדשות יותר של ההפצה.
    deb http://archive.ubuntu.com/ubuntu oneiric עיקרי מוגבל
    deb-src http://archive.ubuntu.com/ubuntu oneiric יקום רב-יקום ראשי מוגבל #הוסף על ידי תוכנה-מאפיינים

    ## עדכוני תיקוני באגים גדולים שהופקו לאחר השחרור הסופי של
    ## הפצה.
    deb http://archive.ubuntu.com/ubuntu oneiric-updates עיקרי מוגבל
    deb-src http://archive.ubuntu.com/ubuntu oneiric-updates היקום הרב-יקום הראשי מוגבל #הוסף על ידי תוכנה-מאפיינים


    ##קְבוּצָה. כמו כן, שים לב שתוכנה ביקום לא תקבל אף אחת מהן
    ## סקירה או עדכונים מצוות האבטחה של אובונטו.
    deb http://archive.ubuntu.com/ubuntu יקום אחד
    deb http://archive.ubuntu.com/ubuntu oneiric-updates היקום

    ##נ.ב. תוכנה ממאגר זה אינה נתמכת לחלוטין על ידי אובונטו
    ## צוות, וייתכן שאינו תחת רישיון חינם. בבקשה תספק את עצמך באשר
    ## זכויותיך להשתמש בתוכנה. כמו כן, שים לב שהתוכנה ב
    ## multiverse לא יקבל שום ביקורת או עדכונים מ-Ubuntu
    ## צוות אבטחה.
    deb http://archive.ubuntu.com/ubuntu oneiric multiverse
    deb http://archive.ubuntu.com/ubuntu oneiric-updates multiverse

    ##נ.ב. ייתכן שהתוכנה ממאגר זה לא נבדקה כ
    ## באופן נרחב כמו זה הכלול במהדורה הראשית, למרות שהיא כוללת
    ## גרסאות חדשות יותר של יישומים מסוימים שעשויות לספק תכונות שימושיות.
    ## כמו כן, שים לב שתוכנה ביציאות אחוריות לא תקבל שום ביקורת
    ## או עדכונים מצוות האבטחה של אובונטו.
    deb http://archive.ubuntu.com/ubuntu oneiric-backports multiverse היקום המוגבל הראשי
    deb-src http://archive.ubuntu.com/ubuntu oneiric-backports multiverse היקום המוגבל הראשי #הוסף על ידי תוכנה-מאפיינים

    deb http://archive.ubuntu.com/ubuntu oneiric-security ראשי מוגבל
    deb-src http://archive.ubuntu.com/ubuntu oneiric-security יקום רב-יקום ראשי מוגבל #הוסף על ידי תוכנה-מאפיינים
    deb http://archive.ubuntu.com/ubuntu oneiric-security universe
    deb http://archive.ubuntu.com/ubuntu oneiric-security multiverse

    ## בטל את ההערה בשתי השורות הבאות כדי להוסיף תוכנה מ-Canonical's
    ## מאגר "שותף".
    ## תוכנה זו אינה חלק מאובונטו, אלא מוצעת על ידי Canonical וה-
    ## ספקים בהתאמה כשירות למשתמשי אובונטו.
    deb http://archive.canonical.com/ubuntu oneiric partner
    deb-src http://archive.canonical.com/ubuntu oneiric שותף

    ## תוכנה זו אינה חלק מאובונטו, אלא מוצעת על ידי צד שלישי
    ## מפתחים שרוצים לשלוח את התוכנה העדכנית ביותר שלהם.
    deb http://extras.ubuntu.com/ubuntu oneiric main
    deb http://archive.ubuntu.com/ubuntu/ oneiric-proposed היקום הרב-יקום הראשי מוגבל
    deb-src http://archive.ubuntu.com/ubuntu/ oneiric-proposed היקום הרב-יקום הראשי מוגבל
    deb-src http://extras.ubuntu.com/ubuntu oneiric main

    על מנת להוסיף את התיקייה שלנו עם חבילות deb למקורות יישומים, עלינו להוסיף את השורה הבאה.

    deb file:///home/dante/deb ./

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

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

    sudo apt-get update

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

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

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

    אבל מה לעשות אם יש לך אינטרנט איטי מאוד או יקר, או שאולי אין לך גישה ל-World Wide Web בכלל, או שאתה פשוט לא רוצה להיות תלוי בחיבור לאינטרנט בזמן העבודה לינוקס אובונטו? אפשר כמובן להוריד הכל תוכניות נחוצות(חבילות) אחת בכל פעם, ואז להתקין ידנית, אבל מי יודע איזו תוכנה תהיה שימושית עבורך בעתיד?

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

    אז בואו נתחיל.

    1. כדי ליצור עותק (פרוסה) של המאגר בכונן הקשיח שלך, יש תוכנית מיוחדת: debmirror. בהתאם, תחילה עליך להתקין אותו מאותו מנהל חבילות Synaptic

    או על ידי הקלדת הפקודה בטרמינל:

    sudo apt-get התקנת debmirror

    2. צור תיקיה בספריית הבית שבה יישמר נתח מהמאגר (או אפילו כמה), למשל, נקרא לזה Repositories.

    בוא נלך לתיקיית Repositories:

    וליצור בו קובץ סקריפט בשם archive.ubuntulinux.org.sh:

    gedit archive.ubuntulinux.org.sh

    הדבק את הדברים הבאים בקובץ הזה:

    #!/bin/bash -x
    /usr/bin/debmirror --nosource -m --passive --host=archive.ubuntulinux.org \
    --root=ubuntu --method=ftp --התקדמות \
    --dist=hardy,hardy-security,hardy-updates,hardy-backports \
    --ignore-release-gpg --section=main,restricted,multiverse,יקום \
    --arch=i386 /full/path/to/folder/where/need/to/download/repository/

    הנתיב המלא שלך אמור להיראות בערך כך: /home/aidsoid/Repositories/ru.archive.ubuntu.com/

    ולשמור אותו. לאחר השמירה, עליך להפוך את הקובץ לזמין (chmod +x archive.ubuntulinux.org.sh).

    הדוגמה לעיל תוריד את המאגר עבור אובונטו 8.04 (Hardy Heron) אם אתה עדיין משתמש גרסה ישנהאובונטו 7.10 (Gutsy Gibbon), אז אתה צריך לצבוט מעט את הסקריפט הזה, בפרט, אתה צריך לשנות את הערכים של הפרמטר --dist מ-hardy ל-Gutsy. כדאי לשים לב גם לפרמטר --arch, המציין את הארכיטקטורה של המחשב שלך הערך i386 מציין שיורידו חבילות עבור מחשב עם ארכיטקטורת x86. פרמטר זה יכול להיות גם amd64 עבור מחשבי 64 סיביות AMD או אינטל.

    4. ובכן, זה הכל, למעשה, עכשיו אתה יכול להריץ את הסקריפט לביצוע כדי לעשות זאת, במסוף, תוך כדי התיקייה Repositories, הקלד את הפקודה הבאה:

    ./archive.ubuntulinux.org.sh

    התסריט יתחיל לעבוד. המאגר כולו תופס כ-20-30 גיגה-בייט, אז ודא שיש לך שטח דיסק פנוי לפני ההורדה. אתה יכול להפריע לסקריפט ללא כאב בכל עת על ידי לחיצה על שילוב המקשים Ctrl+C. כאשר תפעיל שוב את הסקריפט, הוא ימשיך להוריד חבילות שלא הורדו. כמו כן, הפעלת הסקריפט שוב ​​תעדכן את המאגר המקומי שלך, כלומר. נוכחותן של גרסאות חדשות של תוכניות נבדקת והן יורדות גם כן.

    הערה: משתמשי אובונטו 7.10 יכולים לצפות לאחת קטנה סלע מתחת למים, משתמשי אובונטו 8.04 אין מה לדאוג. יש באג ב-debmirror שגורם להסרת תיקיית ה-pool מהמאגר המקומי בעת הפעלת הסקריפט שוב. יש לתקן אותו לפני הפעלת הסקריפט. תיאור השגיאה כאן: https://bugs.launchpad.net/ubuntu/+source/debmirror/+bug/136634

    ניתן לפתור את השגיאה בקלות:
    $ sudo gedit /usr/bin/debmirror
    החלף את השורה המקומית $/="\n\n"; ל $/="\n" המקומי; ושמור את הקובץ. כעת עדכון המאגר יתבצע ללא תקלות.

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

    שורת deb אמורה להצביע על תיקיית המאגר וצריכה להיראות בערך כך:
    deb file:///home/aidsoid/Repositories/ru.archive.ubuntu.com/ יקום רב-יקומי מוגבל הראשי