LinuxFanClub Wiki

Υπηρεσίες, Προγραμματισμός, Εκπαίδευση ..

User Tools

Site Tools


el:linux:debian:server:apt_cacher

Διαμεσολαβητής Πακέτων για το apt

Για να μπορούμε να κατεβάσουμε πακέτα σε ένα μόνο μηχάνημα και να τα χρησιμοποιήσουμε σε όλα τα μηχανήματα ενός τοπικού δικτύου θα πρέπει να εγκαταστήσουμε έναν Διαμεσολαβητή Πακέτων για το apt. Αναλυτικές οδηγίες υπάρχουν στ ην διύθυνση http://www.debianuniverse.com/readonline/chapter/19

approx

Πηγές

apt-cacher

Ρύθμιση Εξυπηρετητή

Εγκατάσταση και Δυνατότητες

Μετά από τις παρακάτω ενέργειες εγκατάστασης θα μπορείτε να : Εκτελείτε

apt-get update 

από οποιοδήποτε μηχάνημα και η τελευταίες λίστες των πακέτων θα είναι διαθέσιμες σε όλα τα άλλα μηχανήματα ούτως ώστε η επόμενες εκτελέσεις apt-get update από αυτά να λάβουν τις αποθηκευμένες λίστες από τον server και να όχι πάλι μέσω Internet!

Εντολή

aptitude install packagename 

από οποιοδήποτε μηχάνημα να πάρει το πακέτο που θα τοποθετηθεί στον server ούτως ώστε επόμενες εντολές εγκατάστασης ίων πακέτων να πάρουν το πακέτο από τον server και όχι πάλι από το Internet!

Δείτε παρακάτω πως συμβαίνουν όλα αυτά!

Αρχικά

aptitude install apt-cacher

Θα πρέπει να τρέχει οπωσδήποτε να τρέχει ο εξυπηρετητής ιστοσελίδων apache

Πιθανόν τα πιο σημαντικά σημεία είναι να σιγουρευτούμε ότι ο εξυπηρετητής μας έχει μια σταθερή IP διεύθυνση για να μπορούν οι υπόλοιποι υπολογιστές στο δίκτυο να τον βρουν καθώς και αρκετό χώρο μιας και θα αποθηκεύονται συνεχώς πακέτα από τις εντολές ανάκτησης όλων των μηχανημάτων.

Επανεκκινούμε το Apache

/etc/init.d/apache2 restart 

Ελέγξτε σωστή εγκατάσταση δοκιμάζοντας να ανοίξετε την ιστοσελίδα http://localhost/apt-cacher

Αλλάξτε τις ρυθμίσεις στο αρχείο /etc/apt-cacher/apt-cacher.conf

Βάλτε σχόλια μπροστά από την παρακάτω γραμμή για να μην καθαρίζεται ο χώρος αποθήκευσης κάθε μέρα

#clean_cache=1

Εάν δεν χρησιμοποιείται proxy για http συνδέσεις βάλτε σχόλια στην παρακάτω γραμμή

#http_proxy=proxy.example.com:8080

Αλλάξτε τις παρακάτω γραμμές για να επιτρέψετε μόνο σε συγκεκριμένα μηχανήματα να χρησιμοποιούν τον εξυπηρετητή.

allowed_hosts=192.168.1.0-192.168.1.255
expire_hours=120 # or more. Maybe this will avoid too much checking on the internet

Αλλάξτε το αρχείο /etc/default/apt-cacher για να εκκινείται ο εξυπηρετητής apt-cacher κατά την εκκίνηση του συστήματος

AUTOSTART=1

Στον φάκελο /var/cache/apt-cacher/packages υπάρχουν οι λίστες των πακέτων που έχουν ζητηθεί από τα μηχανήματα - πελάτες καθώς και τα πακέτα deb. Εάν λοιπόν έχετε ήδη πακέτα στο φάκελο /var/cache/apt/archives μπορείτε να τα μεταφέρετε στο φάκελο /var/cache/apt-cacher/packages για να επιταχύνεται αρχικώς την διαδικασία

cp /var/cache/apt/archives/*.deb /var/cache/apt-cacher/packages/

Αντιμετώπιση Προβλημάτων

Εάν ο εξυπηρετητής συνεχίζει να κατεβάζει παρά την διακοπή από τον πελάτη διακόψτε την σύνδεση στο Internet και επανεκκινήστε τον εξυπηρετητή.

/etc/init.d/networking stop
/etc/init.d/apt-cacher stop
/etc/init.d/networking start
/etc/init.d/apt-cacher start

Ο εξυπηρετητής θα πρέπει να ολοκληρώνει ένα

apt-get update

χωρίς προβλήματα. Προσπαθήστε να φτίαξετε ένα αρχείο sources.list χωρίς λάθη. Προσθέστε μία μία τις καταχωρίσεις σε αυτό και δοκιμάστε την επιτυχή εκτέλεση της εντολής.

Εάν προκύψουν λάθη από μία πηγή μπορεί να έχετε προβλήματα γι' αυτό διαγράψτε τα αντίστοιχα αρχεία στους φάκελους /var/cache/apt-cacher/packages, /var/cache/apt-cacher/headers, /var/cache/apt-cacher/private πιθανόν και τις καταχωρήσεις από το αρχείο sources.list και δοκιμάστε ξανά μέχρι να πετύχει η εκτέλεση της εντολής.

Μην αφήσετε ανολοκλήρωτα αρχεία από ανεπιτυχείς λήψεις! Οι πελάτες δενπαρουσιάζουν ιδιαίτερα προβλήματα. Εάν ο εξυπηρετητής παρουσιάσει δοκιμάστε να χρησιμοποιεί ο ίδιος απευθείας τις πηγές από το Internet αφού μπορεί να δημιουργείται κάποιο πρόβλημα φαύλου κύκλου.

Ρύθμιση Πελάτη

Ρύθμιση Πελάτη apt στο pc του Εξυπηρετητή

Οι παρακάτω επιλογές υπάρχουν από τις οποίες προτείνετε η πρώτη

  • Εάν προκύψουν προβλήματα για να μην μπλεχτεί πολύ η ρύθμιση χρησιμοποιήστε την συνήθη απευθείας σύνδεση με τις πηγές πακέτων στο Internet. Ο εξυπηρετητής δεν θα χρησιμοποιεί τον apt-cacher διαμεσολαβητή και μπορεί να χάνουμε σε εύρος, αλλά πιθανόν θα λυθούν προβλήματα.
  • Μπορείτε να χρησιμοποιείται το ίδιο αρχείο client.sources που χρησιμοποιούν και οι πελάτες.
  • Μπορείτε να προσθέσετε τις παρακάτω γραμμές στο /etc/apt/apt.conf (αν δεν υπάρχει δημιουργηστε το) για να τοποθετούνται τα αρχεία σας στο χώρο αποθήκευσης του διαμεσολαβητή και να είναι χρήσιμα και στους πελάτες.

Για να γίνει αυτό προσθέστε τις γραμμές.

Dir::State::Lists "/var/cache/apt-cacher/headers";
Dir::Cache::archives "/var/cache/apt-cacher/packages";

επίσης

mkdir /var/cache/apt-cacher/packages/partial
mkdir /var/cache/apt-cacher/packages/partial

Για λόγους δοκιμών και για εύκολη ρύθμιση των πελατών φτιάξτε ένα αρχείο /etc/apt/sources.list.default με τις βασικές απευθείας πηγές από το Internet για τον εξυπηρετητή και ένα /etc/apt/sources.list.client με τις πηγές μέσω Διμεσολαβητή για τους πελάτες. Να θυμάστε να συγχρονίζετε τις αλλαγές σε αυτά.

Χρησιμοποιήστε το αρχείο που θέλετε με μια αντιγραφή για παράδειγμα ως εξής :

cp /etc/apt/sources.list.default /etc/apt/sources.list

Ρύθμιση τυπικού Πελάτη

Δεν χρειάζεται να εγκαταστήσετε τίποτα στους πελάτες. Αρκεί να αλλαχθεί το /etc/apt/sources.list ώστε να στέλνονται οι αιτήσεις πακέτων στον διαμεσολαβητή apt. Μια τυπική γραμμή του μπορεί να είναι η εξής

deb http://ftp.au.debian.org/debian unstable main contrib non-free 

Θα πρέπει να υπάρχει η διεύθυνση του Διαμεσολαβητή apt πριν από αυτή για παράδειγμα ως εξής :

deb http://cache.example.com/apt-cacher/ftp.au.debian.org/debian unstable main contrib non-free 

Ποτέ όμως μην αλλάζετε τις υπάρχουσες τιμές, φτιάξτε ένα αρχείο sources.list.client από τον server και αντιγράψτε το στους πελάτες. Στην συνέχεια εκτελέστε

apt-get update 

Για να ενημερώση το μηχάνημά σας τις λίστα των πακέτων του. Όλες οι αιτήσεις πακέτων από εδώ και στο εξής θα προέρχονται από τον διαμεσολαβητή.

Ένας εύκολος τρόπος δημιουργίας ενός τέτοιου αρχείου είναι

Εύρεση: http://
Αντικατάσταση με: http://youraptserver.local/apt-cacher/

Δεν μπορούν να χρησιμοποιηθούν ftp πηγές, μικρό πρόβλημα όμως καθώς σπάνιο να μην υπάρχουν επίσης και http πηγές για τα ίδια πακέτα.

Τα αρχεία αντιγράφονται και στον εξυπηρετητή και στον πελάτη άρα ο πελάτης μπορεί άνετα να διαγράφει συχνά τα αρχεία του για να κερδίζει σε χώρο.

Μερικές φορές ο εξυπηρετητής, αφού του γίνει αίτηση από πελάτη, πρώτα φέρνει όλο το αρχείο και στην συνέχεια το δίνει στον πελάτη. Αυτό είναι φυσιολογικό και ο πελάτης θα πρέπει να περιμένει.

Παρακάτω είναι ένα κομμάτι από το αρχείο sources.list του πελάτη

#ntua greek mirror
deb http://athlon/apt-cacher/ftp.ntua.gr/pub/linux/debian/ testing main 
deb-src http://athlon/apt-cacher/ftp.ntua.gr/pub/linux/debian/ testing main 

Μέσω ftp ή samba πάρε ένα τέτοιο αρχείο και αντέγραψέ το πάνω στο υπάρχον source.list αφού κρατήσεις πρώτα ένα αντίγραφο ασφαλείας sources.list.default.

cp /etc/apt/sources.list /etc/apt/sources.list.default
cp /etc/apt/sources.list.client /etc/apt/sources.list
el/linux/debian/server/apt_cacher.txt · Last modified: Y/m/d H:i (external edit)