במצבים בהם אתה מנהל מספר מכונות, Apt יכולה להיות מאוד מועילה מכיוון שהיא הופכת את תהליך העדכון וההחלה של תיקוני אבטחה לכל מכונה לפשוט מאוד. הבעיה היא, שבשיטה המסורתית, ברגע שיצא עדכון, עליכם להוריד עותק של כל החבילות החדשות לכל אחת מהמכונות, מה שמרמז על צריכה פנומנלית של רוחב הפס ורוחב הפס שלנו. למרבה המזל, יש שיטה המאפשר לנו לעדכן את אחת המכונות ומשם לעדכן את שאר המכונות המרכיבות את הרשת שלנו. שיטה זו, בנוסף להפחתת עלויות ולביצוע אופטימיזציה של רוחב הפס שלנו, מונעת שכפול חבילות במכונות השונות: כולן מתקינות את החבילות באמצעות "שרת המטמון" שלנו. |
כאשר אתה מריץ את אותה הפצה במכונות שונות (בין אם בעבודה, במעבדות מחשבים, בחוות "שרתים", באשכולות, או אפילו ברשת הביתית הקטנה שלך) זה יכול להועיל ליצור מאגר מטמון ברשת שלך. כך שברגע שהורדה חבילה ממאגר רשמי, כל שאר המחשבים מורידים אותה מאותו מאגר מטמון המאוחסן במחשב ברשת שלך שנקרא "שרת". באופן זה ניתן להתקין על האחרים עדכונים שהורדו ממכונה אחת מבלי שתצטרך להוריד אותם שוב מהמאגרים הרשמיים.
בואו נסתכל תחילה על כמה פתרונות "לא מסורתיים" שאינני ממליץ עליהם, אך בוודאי יעלו בראשנו בפתרון שאלה זו.
שתף / etc / apt
כאשר אתה מתקין חבילה על הפצת דביאן (או נגזרותיה), היא מאוחסנת באופן מקומי בספריית '/ etc / apt'. כאשר נדרשת חבילה, Apt תחילה מחפש בספריה זו האם יש עותק מקומי (כלומר מטמון), וכך נמנע מהורדה מיותרת. כתוצאה מכך, בוודאי כמה מכם חשבו שדרך טובה לפתור את הבעיה המדוברת יכולה להיות בחירת מחשב אותו נבחר כסוג של שרת, שיעודכן באמצעות המאגרים הרשמיים ואשר שתף את הספרייה שלך '/ etc / apt' עם שאר המכונות ברשת. עם זאת, שיטה זו עלולה להוביל לבעיות הקשורות לחסימת הקובץ 'sources.list'. באופן כללי, זה לא הפתרון הנפוץ ביותר או הכי נוח.
העבר חבילות
במקום לשתף ספריה משותפת '/ etc / apt', חלופה אחרת יכולה להיות לכל מחשב להשתמש בספריית המטמון המקומית שלו, אך ליצור סקריפט שידאג להעתיק את החבילות ממכונה אחת לשנייה, כך שכולן יישארו מעודכנות. . כלי לביצוע משימה זו יכול להיות 'apt-move', אך בכנות אני לא ממליץ עליה מכיוון שהיא אינה שקופה מספיק עבור משתמש הקצה. בנוסף, זה יכול להיות שימוש מיותר לחלוטין בשטח הדיסק מכיוון שיש להעתיק את כל החבילות לכל אחת מהמכונות.
מערכות מטמון ייעודיות
הפיתרון הטוב ביותר לבעיה זו הוא שימוש במערכת מטמון ייעודית. בקיצור, במה מדובר ליצור עותק של השרתים הרשמיים באחת המכונות ברשת שלך ואז להגדיר את שאר המכונות כך שבמקום לחפש עדכונים מהשרתים הרשמיים, הם עושים זאת באמצעות זה מטמון מקומי (או העתק).
ישנן מגוון מערכות שתוכננו לעבוד עם Apt, כולל apt-cacher, apt-proxy ו- cache-cache.
כאן אנו מתמודדים עם apt-cacher, שהוא הכי קל לשימוש.
apt-cacher
Apt-cacher שונה מאוד ממערכות אחסון במטמון מאגרות אחרות מכיוון שהיא אינה תוכנית עצמאית אלא פועלת כסקריפט CGI תחת אפאצ'י. יש לכך מספר יתרונות, כמו הפיכתו לכלי קטן ופשוט אך יחד עם זאת חזק מאוד וכתוצאה מכך, חזק יותר מכיוון שהוא אינו דורש קוד משלו כדי להתמודד עם פרוטוקולים, והוא גמיש מאוד מכיוון שניתן להשתמש ב- Apache מנגנון בקרת גישה למקרה שתרצה להגביל את מספר המכונות שמאפשרות גישה למטמון.
Apt-cacher צריך להתקין רק על מכונה אחת, זו שאתה מחליט שתפקד כמטמון המאגר המקומי שלך. לאחר מכן, יש להגדיר את שאר המחשבים ברשת שלך לבקש עדכונים מהמטמון ולא מהשרתים הרשמיים.
תצורת השרת
להתקין רק
sudo apt-get התקנת apt-cacher
לחבילה זו יש תלות עם apache, perl ו- wget, כך שהיא תתקין אותם אם לא התקנת אותה בעבר.
לאחר ההתקנה, מומלץ להפעיל מחדש את Apache:
/etc/init.d/apache הפעלה מחדש
לבסוף, כל שעליך לעשות הוא להתאים את פרמטרי ברירת המחדל של הסקריפט. כתבתי בטרמינל:
sudo gedit /etc/apt-cacher/apt-cacher.conf
באופן כללי, כל ברירות המחדל בסדר, אך מומלץ להתאים את השלושה הבאים:
admin_email = mimail @ myserver create_reports = 1 expire_hours = 24
האלמנט השני הוא משתנה מסוג בוליאני שקובע את יצירת הדוחות (0 לא מייצר דוחות, 1 כן מייצר אותם). האלמנט הראשון במקום זאת הוא כתובת הדוא"ל אליה יישלחו הדוחות שנוצרו. הפריט השלישי והאחרון קובע את מספר השעות ש- Apt צריכה להמתין כדי לבדוק אם קיימים עדכונים הזמינים בשרתים הרשמיים.
אם אתה משתמש ב- proxy, אל תשכח להוסיף את הפריטים הבאים:
http_proxy = proxy.example.com: 8080 use_proxy = 1
כדי לוודא שזה עובד, אתה יכול לגשת למטמון המקומי שלך דרך url http: // server_name / apt-cacher / ויופיע דף המציג את תצורת apt-cacher. זכור כי 'שם שרת' חייב להיות מוחלף על ידי ה- IP של המכונה שהגדרת כ'שרת ', כלומר כמפקדת מטמון החבילות המקומי.
תצורת לקוח
כעת כל שעליך לעשות הוא לשנות את המקורות.רשימה של הלקוחות כך שיעברו דרך השרת. אם ה- IP של השרת הוא 123.123.123.123, עליך להוסיף אותו לכל שורה של sources.list, וגם להיזהר שכולם יתייחסו לאותו שרת, אחרת למטמון לא תהיה כל השפעה.
sudo gedit /etc/apt/sources.list
לאחר פתיחת הקובץ, כתובת ה- IP של השרת שלנו היא 123.123.123.123, יש לשנות את כל השורות לפי הקריטריונים הבאים:
# מקורי #deb http://ftp.us.debian.org/debian/ תרומה עיקרית של סיד ללא תשלום # deb-src http://ftp.us.debian.org/debian/ תור עיקרי של סייד ללא תשלום # שונה deb http://123.123.123.123/apt-cacher/ftp.us.debian.org/debian/ sid תרומה עיקרית deb-src ללא תשלום http://123.123.123.123/apt-cacher/ftp.us.debian. התרומה העיקרית של org / debian / sid אינה חופשית
כפי שאתה יכול לראות, עליך להוסיף את השרת IP + '/ apt-cacher /' בתחילת כתובת האתר. ואז הולך שאר השורה המקורית.
סטטיסטיקה של תעבורה
אם הוספת את האלמנט 'create_reports = 1' בקובץ 'apt-cacher.conf', apt-cacher ייצור נתונים סטטיסטיים של גישה, אליהם תוכל לגשת באמצעות url '/ apt-cacher / report'.
אם מסיבה כלשהי אתה צריך ליצור את הנתונים הסטטיסטיים לפני מספר השעות שנקבע ב- 'apt-cacher.conf', הפעל את הפקודה הבאה:
/usr/share/apt-cacher/apt-cacher-report.pl
ברכות, תרומה מצוינת, השאלה שלי היא אם ידוע לך על יישום כלשהו שמאפשר לך מאגר מרכזי ליישום טלאים אך להפצות שונות, כלומר, לעדכן מספר מכונות בו זמנית אך יש להם הפצות שונות
היי אדוארדו! האמת היא שאני רואה את זה קשה מאוד. אם אתה מגלה דרך כלשהי, אל תפסיק להודיע לי.
חיבוק גדול! לחיים! פול.
אני משתמש בבובה לניהול מרחוק של השרתים שאני מנהל.
כן. תודה רבה על המידע. כבר תיקנתי את זה.
לְחַבֵּק! פול.
שלום,
ההדרכה היא סופר טובה ... יש לי היקף .. אצל דביאן לני source.lst נמצא בנתיב / etc / apt /
דרישת שלום
שְׁאֵלָה….
אם יש לי כמה מכונות עם אותה הפעלה ... אבל לא עם אותן תוכניות ... איך יודעים להוריד מהמאגר הרשמי .... מוריד הכל ??? ...
שאלתך מצוינת. אני מחשב שהמערכת צריכה לעבוד זהה לזה ב- Apt משותף: אם היא לא מוצאת אותה במטמון, היא מורידה אותה מהמאגרים הרשמיים. במקרה זה, אחת ממכונות ה"לקוח "מודיעה ל"שרת" כי היא זקוקה לעדכון בהתאם לרשימת העדכונים ב"שרת "ברשת שלך. כדי להתקין את העדכון הזה אני מחשב שהוא יחפש תחילה את החבילה במטמון השרת. אם היא לא מצליחה למצוא אותה, היא מורידה אותה מהמאגרים הרשמיים, שומרת אותה בשרת ומשם היא מותקנת במכונה שדרשה לה. חבילה זו תהיה זמינה במטמון ה"שרת "כך שמכונות אחרות ברשת שלך יוכלו להתקין אותה גם משם.
אל תהסס לכתוב אם לא הייתי מספיק ברור.
חיבוק! פול.
אני חושב שיש שגיאה ... חבילות אינן מאוחסנות ב- / etc / apt .... הם למעשה נשארים ב- / var / cache / apt / archives
האמת היא שאני לא יודע.
בטוח שיש דרך לעשות את זה. 🙁
אם תגלה, הודע לי ואוסיף את זה.
לחיים! פול.
שום דבר עם ip דינמי, נכון?
ככל הנראה בהפצות עדכניות יותר עליך להוסיף את היציאה (3142 כברירת מחדל) לכתובת האתר של הרשת המקומית. זה ייראה כך: http://mi_servidor:3142/apt-cacher
יש לי את Lubuntu 16.04 מי עשה את זה תחת מערכת זו ואם זה עבד בשבילו? ומה שרציתי לשאול הוא את הדברים הבאים אם אני מתקין שרת זה ולמכונות האחרות שלי אין את אותן התוכניות כאשר אני מגיש בקשה למכונות הלקוחות שלי להתקנת תוכנית שיש לי בשרת, האם אתה חושב שאני מתקין זה ישירות מהשרת המקומי או שהבקשה לשרת המאגר הרשמי ¿?