Οδηγός χρήσης του Debian/Αναβάθμιση-ανανέωση έκδοσης

Από Βικιβιβλία
Μετάβαση σε: πλοήγηση, αναζήτηση

Γενικά[επεξεργασία]

Ένα από τα ποιό εντυπωσιακά χαρακτηριστικά των σύγχρονων διανομών του Linux και του Debian GNU/Linux είναι η δυνατότητά τους να αναβαθμίζονται και να επιδιορθώνονται αυτόματα εφόσον υπάρχει σύνδεση στο διαδίκτυο.

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

  • υλοποιηθεί καινούργια λειτουργικότητα.
  • να διορθωθούν λάθη που δεν επιτρέπουν σε ένα πρόγραμμα να εκτελεστεί σωστά.
  • να διορθωθούν κενά ασφαλείας στον κώδικα.

Πχ ενώ η έκδοση 3.1 είχε 15.000 πακέτα η 4.0r έχει 18.000. Αυτό είναι ένα χονδρικό παράδειγμα νεας λειτουργικότητας που προστίθεται στην διανομή αφού ένα νέο πακέτο μπορεί συνήθως είναι ένα νεό πρόγραμμα είτε μια νέα βιβλιοθήκη. Αλλά και ένα πακέτο μπορεί λόγω απαίτησεων των χρηστών του να βελτιωθεί προκειμένου να συμπεριλάβει νέα λειτουργικότητα και να κάνει καινούργια πράγματα ,και αυτό θα συμβεί με την έκδοση μιας καινούργιας έκδοσης του πακέτου (ή των πακέτων που μαζί αποτελούν την εφαρμογή).

Επίσης πολύ συχνά ένα πρόγραμμα δεν υλοποιεί όσα υπόσχεται λόγω λαθών που υπάρχουν στον κώδικα του. Ή ενώ λειτουργεί σωστά κάτω από κάποιες συνθήκες μπορεί ξαφνικά να παρουσιάσει μη επιθυμητή συμπεριφορά. Τότε λέμε ότι έχει σφάλμα (bug) και οι διαχειριστές και οι προγραμματιστές του πακέτου δημιουργούν μια καινούργια έκδοση-ανανέωση η οποία επιδιορθώνει τα σφάλματα που έχουν ανακαλυφθεί.

Τέλος είναι πιθανό ένα πρόγραμμα να είναι ευάλωτο σε απόπειρες δημιουργών κακόβουλου λογισμικού που προσπαθούν να εκμεταλλευτούν τον μη-ασφαλή τρόπο λειτουργίας του ώστε να αποκτήσουν μερικό έλεγχο στο μηχάνημα του χρήστη. 'Οταν ανακαλυφθεί ένα τέτοιο κενό στον κώδικα του προγράμματος οι προγραμματιστές δημιουργούν μια καινούργια έκδοση των μη-ασφαλών πακέτων που ονομάζεται ανανέωση ασφαλεία (security updates).

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

Σκοπός μας είναι να ξεκαθαριστούν έννοιες και διαδικασίες όπως αναβάθμιση , ανανεώσεις ασφαλείας , έκδοσεις debian κτλ καθώς και να απαντηθούν πρακτικά ερωτήματα όπως ποιά έκδοση πρέπει να έχω , ποιές πηγές πρέπει να διαλέξω κτλ.Η προσέγγισή μας είναι να μάθουμε καλά τον τρόπο λειτουργίας των βασικών εργαλείων που εμπλέκονται στις διαδικασίες αυτές τα αρχεία που ρυθμίζουν την λειτουργία αυτών καθώς και να αποσαφηνίσουμε έννοιες που χρησιμοποιούνται .


Φυσικά πρέπει να προσέξουμε γιατί υπάρχει ο κίνδυνος σύγχησης του τι θέλουμε και τι κάνουμε. Ξεκινάμε από την παραδοχή ότι έχουμε εγκαταστήσει στον υπολογιστή μας την τρέχουσα σταθερη έκδοση.Για να είμαστε ακριβείς έχουμε εγκαταστήσει ένα μέρος (κάποια πακέτα) της σταθερής έκδοσης ,πέρα από τα κοινά που τα εγκαθιστούν όλοι (πυρήνας,γραφικό περιβάλλον εργασίας κτλ), Συνήθως χρησιμοποιούμε τον υπολογιστή για κάποια συγκεκριμένη δουλεία και δεν μας ενδιαφέρει ούτε νέα πακέτα ούτε και νεα λειτουργικότητα. Σε αυτή την περίπτωση θα θέλαμε να έχουμε ανανέωσεις ασφαλείας και ανανεώσεις που διορθώθουν λάθη. Και θα θέλαμε αυτό να γίνει αυτόματα.


Το δίλημμα stable/testing[επεξεργασία]

Πολύ συχνά από τους χρήστες του debian συζητιέται το ποιά έκδοση του debian είναι καλύτερο να έχεις εγκατεστημένη. Την σταθερή , την δοκιμαστική , την ασταθή , την πειραματική ;

Η προσέγγιση μας στην ερώτημα είναι ότι η απάντηση που θα δώσει ο καθένας εξαρτάται από τις ανάγκες του και τις ικανότητες και γνώσεις του πάνω στο Debian .


Ακολουθεί ένας ενδιαφέρον σχετικός διάλογος στο #debian του freenode , στον οποίον συμμετέχει και ένα bot!

bolt-work: excuse me if i insist but its important for me to understand that. so the difference
between  a 'major release upgrade eg: etch->lenny' and small upgrades done in your choosen time
in testing is in  terms of quantity of packages involved and  in terms of how smooth and error
free those upgrades will . In the major upgrade you wait but u gain smooth upgrade. in testing
you dont wait but you ask for small trouble.
                                                                                              
( bolt-work) chomwitt: well, the upgrade issues are generally config files not being compatible
any more, at least to my experience. options you depend on mey no longer be there, or they may
work differently. if you addict  upgrade every day in, say, testing, something might stop
working, or it might not. if you do a  complete dist upgrade, you can almost expect to have to 
reconfigure a few things  
 ( bolt-work) chomwitt: to my experience, it's better to do such a thing when you have the time
to take a backup, do the complete upgrade and retest every vital function of your server   
( bolt-work) chomwitt: thus, i prefer to have vital machines run stable, so it's generally very safe to update everything 
  ( dpkg) Sure, testing might be shiner that stable, but are you prepared to be continually
updating your system?  Things that worked today will break tomorrow.  Config file formats will
change and you'll have to fold your  changes in yet again.  Testing is a moving target and if
you'd rather work *with* your computer rather than working *on* your computer, you might not want that.   
( bolt-work) chomwitt: backports will take care of limited shiney-attractions

Βασικά εργαλεία[επεξεργασία]

  • dpkg

Βασικό εργαλείο του συστήματος διαχείρισης πακέτων του debian με το οποίο μπορούμε να εγκαταστήσουμε , διαγράξουμε και εξερευνήσουμε ένα πακέτο .deb

  • apt-get
  • synaptic
  • update-manager

Βασικά αρχεία[επεξεργασία]

  • /etc/apt/sources.list
  • /var/lib/dpkg/available Λίστα διαθέσιμων πακέτων , είσοδος στο dpkg
  • /var/lib/dpkg/status

Βασικές έννοιες[επεξεργασία]

  • έκδοση debian Αν θεωρήσουμε ότι το debian είναι ένα σύνολο πακέτων που το καθένα απο αυτά συνεχώς αλλάζει τότε παρόμοια αλλάζει συνέχεια και το debian σαν όλο. Καθώς αλλάζει λοιπόν συνεχώς η κατάσταση debian αποδίδουμε από ένα αριθμό σε κάθε νέα κατάσταση που προκύπτει. Μια τέτοια μοναδική εικόνα της κατάστασης του debian όνομάζεται έκδοση του debian και την ξεχωρίζουμε αποδίδοντάς της ένα αναγνωριστικό (συνήθως τρείς ή και παραπάνω αριθμούς χωρισμένους με τελεία) της μορφής Κ.ΔrΑ (πχ 3.1r2 - Κύρια έκδοση 3 , δευτερεύουσα 1 και αναναθεώρηση-revision 2.) Δείτε αναλυτικότερα το βικιάρθρο Έκδοση λογισμικού Παράδειγμα ή τωρινή σταθερή έκδοση του debian είναι η 4.0r1
    • κύρια έκδοση (major release) καλούμε τον πρώτο αριθμό του αναγνωριστικού της έκδοσης και αυτός ο αριθμός χονδρικά αναφέρεται σε κάποια δομικά χαρακτηριστικά που θα έχουν κοινά όλες οι εκδόσεις με τον ίδιο κύριο αριθμό. Όταν γίνει μια σημαντική αλλαγή πχ στον πηρύνα ή σε βασικές βιβλιοθήκες τότε περνάμε σε νέα κύρια έκδοση για να σηματοδοτήσουμε αύτη την σημαντική αλλαγή.
    • δευτερεύουσα έκδοση (minor release) καλούμε τον δεύτερο αριθμό του αναγνωριστικού της έκδοσης και αυτός ο αριθμός χονδρικά αναφέρεται σε κάποιες σημαντικές αλλαγές στο debian αλλά όχι τόσο σημαντικές ώστε να αλλάξουμε την κύρια έκδοση.
    • έκδοση αναθεώρησης/ανανέωσης (revision/update/point release) καλούμε τον τρίτο αριθμό του αναγνωριστικού (μετά το 'r') της έκδοσης και αυτός ο αριθμός χονδρικά αναφέρεται σε κάποιες αλλαγές οπως bugfixes και αναθεωρήσεις ασφαλείας που δεν τις θεωρούμε τόσο σημαντικές για να αλλάξουμε την δευτερεύουσα πόσο μάλλον την κύρια.
  • Οι τρείς επίσημες 'εκδόσεις' του debian Πρίν εξηγώντας την έκδοση του debian δώσαμε την εντύπωση ότι υπάρχει ένας κατάλογος μόνο στον οποία υπάρχουν όλα τα πακέτα στην ποιό τελευταία τους έκδοση (με τις τυχών βελτιώσεις σφαλμάτων , διορθώσεων ασφαλείας ) και κάθε φορά που προσθέτουμε και ένα νέο πακέτο ή αλλάζουμε ένα με μια νεότερη έκδοση του παίρνουμε μια νέα έκδοση του debian και την οποία και μπορεί να χρησιμοποιήσει ο τελικός χρήστης. Όμως μια τέτοια πρακτική θα ήταν καταδικασμένη να αποτύχει αφού υπάρχει μεγάλη πιθανότητα ένα νεο πακέτο ή μια αντικατάσταση ενός με μια νεότερη έκδοση του μπορεί να προκαλέσει πολλά προβλήματα καθιστώντας την έκδοση μη αξιόπιστη. Η προσέγγιση που ακολουθείται είναι η εξής προκειμένου να ξεπεραστεί αυτό το πρόβλημα είναι να υπάρχουν ταυτόχρονα τρεις εκδόσεις με τα ακόλουθα χαρακτηριστικά:
    • ασταθής έκδοση (unstable/sid) ονομάζουμε έναν κατάλογο σε ένα κατοπτρισμό στον οποίο ενσωματώνεται αρχικά οποιοδήποτε νεο πακέτο και νεες εκδόσεις πακέτων.Προφανώς αυτή η 'έκδοση' είναι ασταθής όχι μόνο σαν κατάλογος(γιατί αλλάζουν συνέχεια τα περιεχόμενα) του αλλά και γιατί το ΛΣ που αποτελείται από αυτά είναι μη-αξιόπιστο.
    • δοκιμαστική έκδοση (testing) Τα πακέτα στην ασταθή έκδοση θα δοκιμαστούν ως προς κάποιους ελέγχους ποιότητας και αξιοπιστίας και εφόσον τους περάσουν θα μετακινηθούν-αντιγραφούν σε έναν κατάλογο που συμφωνείται να περιέχει μια έκδοση που θα ονομάζεται δοκιμαστική. Πχ ένας βασικός έλεγχος είναι να ικανοποιούνται οι εξαρτήσεις ενός πακέτο στην testing έκδοση πριν μετακινηθεί σε αυτή. Ενώ αντίθετα θα μπορούσε να υπάρχει με το πρόβλημα αυτό στην unstable έκδοση!
    • σταθερή έκδοση (stable) Όταν ικανοποιηθούν κάποιες απαιτήσεις ποιότητας από τους διαχειριστές η έκδοση testing αντιγράφεται και προκύπτει η νέα stable έκδοση. Αυτή ονομάζεται σταθερή επειδή δεν ενσωματώνει πλεόν νέα λειτουργικότητα (παρά bugfixes και security updates) και επειδη δεν αλλάζει σημαντικά σαν αρχειοθήκη. Η πλειοψηφία τον πακέτων της παραμένουν στην ίδια έκδοση με εξαιρέσεις μερικά πακέτα που αντικαθιστόνται από νέες εκδόσεις που διορθώνουν σφάλματα και προβλήματα ασφαλείας.


  • πακέτο debian
    • δυαδικό πακέτο (binary package)
    • πηγαίο πακέτο (source package)
  • αναβάθμιση (upgrade)
  • ενημερώσεις ασφαλείας (security updates)
  • κατοπτριστής debian ονομάζεται ένας http/ftp εξυπηρετητής που περιέχει τις εκδόσεις του Debian. Μερικοί κατοπτρισμοί περιλαμβάνουν και εικόνες σε cd/dvd της σταθερής έκδοσης για την x86 αρχιτεκτονική. Ονομάζεται κατοπτριστής γιατί αποτελεί στην ουσία ένα αντίγραφο (από τα πολλά διαθέσιμα) του debian.Δείτε την λίστα των κατοπτρισμών debian
  • αρχειοθήκη debian (debian archive) ο χώρος/μέρος όπου βρίσκονται αποθηκευμένα όλα τα πακέτα debian ενός κατοπτριστή.
  • πηγή πακέτων (repository) Συνώνυμο της αρχειοθήκης
  • clean/fresh install (καθαρή εγκατάσταση;;)Μερικές φορές αν έχουμε εγκατεστημένη μια παλιά έκδοση και θέλουμε να κάνουμε αναβάθμιση σε ποιό καινούργια είναι προτιμότερω να σώσουμε τα δεδομένα μας και να κάνουμε μια ´καθαρή εγκατάσταση´ της νέας έκδοσης παρά να κάνουμε όλες τις διαδοχικές ενδιάμεσες αναβαθμίσεις.
  • main
  • contrib
  • non-free
  • είδωλο debian

Ανεπίσημες αρχειοθήκες[επεξεργασία]

Επειδή η εγκατάσταση και λειτουργία ενός apt εξυπηρετητή δεν είναι δύσκολη έχουν δημιουργηθεί πάρα πολλά αποθετήρια-αρχειοθήκες που περιέχουν πακέτα .deb . Μια λίστα αποθετηρίων μπορείτε να βρείτε στο www.apt-get.org. Επειδή είναι ανεπίσημα αποθετήρια δεν υπάρχει καμία εγγύηση ότι τυρούνται τα στανταρντ του debian εγχειρήματος, γι'αυτό πρέπει να επιλέγονται προσεχτικά. Εξαιτίας των περιορισμών που θέτουν οι διαχειριστές του εγχειρήματος debian προκειμένου να εξασφαλίσουν την ελευθερία του , είναι δύσκολο να ενσωματωθούν πακέτα αναπαραγωγέων πολυμέσων. Έτσι ο Christian Marillat, Debian παραγωγώς διαχειρίζεται ένα ανεπίσημο αποθετήριο το www.debian-multimedia.org.

Ανανεώσεις ασφαλείας[επεξεργασία]

Προσθέτωντας την παρακάτω πηγή στο αρχείο /etc/apt/sources.list προγράμματα όπως το update-manager, apt-get, synaptic μπορούν να βρίσκουν στον διαδίκτυο ανανεώσεις ασφαλείας πακέτων που έχουμε εγκατεστημένα στον υπολογίστη μας,

deb http://security.debian.org/ etch/updates main contrib non-free

Αν παραλείψουμε την πηγή αυτή θα ´χάσουμε´ τις ανανεώσεις ασφαλείας; Μάλλον όχι , αφού οι ανανεώσεις ασφαλείας πακέτων μαζί με ανανεώσεις σφαλμάτων πακέτων όταν φτάσουν ένα σύνολο που κρίνεται σημαντικό από τους διαχειριστές περνάνε στις δευτερεύουσες ανανεώσεις τις διανομής. Αυτό πρακτικά σημαίνει ότι αν έχουμε στο sources.list μόνο μια πηγή πχ

 deb http://ftp.de.debian.org/debian/ stable main contrib non-free

τότε όταν κυκλοφορήσει η νέα αυτή ανανέωση της διανομής (πχ 4.0r2) τότε αυτόματα το synaptic ή το update-manager θα μπορέσουν να κατεβάσουν συνολικά τις ανανέωσεις πακέτων που έχουμε εγκατεστημένα,αλλά το μειονέκτημα είναι ότι θα τις πάρουμε καθυστερημένα και όλες μαζί διαδικασία πιθανώς χρονοβόρα.

Δομή μιας αρχειοθήκης debian σε έναν κατοπτριστή[επεξεργασία]

Η βασική δομή της αρχειοθήκης debian από οθόνη www πλοηγού ελληνικού κατοπτριστή debian
Η δομή των εκδόσεων της αρχειοθήκης debian οθόνη www πλοηγού ελληνικού κατοπτριστή debian


Η εικόνα που ακολουθεί είναι στιγμιότυπο συνόδου κατά την σύνδεση σε κατοπτριστή debian φαίνεται καθαρά η βασική δομή του καταλόγου /debian/dists/ , και συγκεκριμένα πως τα ονόματα των εκδόσεων stable , testing , unstable είναι σύνδεσμοι σε άλλους κατάλογους.

εικόνα στιγμιότυπο από σύνοδο ftp πελάτη σε ελληνικό κατοπτριστή debian



εικόνα στιγμιότυπο από σύνοδο ftp πελάτη σε ελληνικό κατοπτριστή debian



Ένα τμήμα του αρχείου Packages.gz



Ένα τμήμα του αρχείου Packages.gz

Εδώ βλέπουμε τα πακέτα του freeciv πελάτη gtk που υπάρχουν στον κατάλογο pool του κατοπτριστή καθώς και τα πηγαία αρχεία. (έχω κρύψει τα αρχεία server,και άλλων αρχιτεκτωνικών για λόγους συνωστισμού και κατανόησης).


Είναι σημαντικό να καταλάβουμε τι υπάρχει στον κατάλογο pool . Καταρχάς χωρίζεται σε

  • main περιέχει ελεύθερα πακέτα
  • contrib πακέτα που χρησιμοποιούν και μη ελεύθερο κώδικα
  • non-free πακέτα που δεν είναι ελεύθερο

Έστω λοιπόν ο κατάλογος /debian/pool/main/f/freeciv. Η πρώτη σημαντική παρατήρηση (δες κα παραπάνω εικόνα) είναι ότι ο pool περιέχει πακέτα διαφορετικών εκδόσεων. Η δεύτερη σημαντική παρατήρηση είναι ότι περιέχει και πακέτα που με πηγαίο κώδικα της κάθε έκδοσης.

Τα τέσσερα αρχεία που ακολουθούν είναι στην stable διανομή. Αυτό μπορούμε να το διαπιστώσουμε αν κοιτάξουμε στον κατοπτριστή τα αρχεία /debian/dists/stable/main/binary-i386/Packages.gz /debian/dists/stable/main/source/Packages.gz (παρατηρήστε πως ο πηγαίος φάκελος μια έκδοση είναι κοινός για όλες τις αρχιτεκτονικές αφού ο πηγαίος κώδικας μπορεί να μεταγγλωτιστεί και να μας δώσει εκτελέσιμα πολλών αρχιτεκτονικών χάρη στον εκπληκτικό gcc!)

stable
 -rw-r-----   1 ftp      ftp        403172 Aug 22  2006 freeciv-client-gtk_2.0.8-3_i386.deb
 -rw-r-----   1 ftp      ftp         47681 Aug 19  2006 freeciv_2.0.8-3.diff.gz
 -rw-r-----   1 ftp      ftp      11179195 Mar  6  2006 freeciv_2.0.8.orig.tar.gz
 -rw-r-----   1 ftp      ftp      11179195 Mar  6  2006 freeciv_2.0.8.orig.tar.gz

Από τρία τελευταία αρχεία αυτό με κατάληξη .orig.tar.gz περιέχει τον κώδικα της έκδοσης 2.0.9-2 Αυτό με κατάληξη .diff.gz περιέχει τις διαφορές που αν εφαρμοστούν στο προηγούμενο θα μας δώσουν την ικανότητα να φτιάξουμε ένα πακέτο debian και αυτό με κατάληξη .dsc περιέχει πληφορίες του πακέτου πηγαίου κώδικα.


Τα τέσσερα αρχεία που ακολουθούν είναι στην testing διανομή. Αυτό μπορούμε να το διαπιστώσουμε αν κοιτάξουμε στον κατοπτριστή τα αρχεία /debian/dists/testing/main/binary-i386/Packages.gz /debian/dists/testing/main/source/Packages.gz

testing
-rw-r-----   1 ftp      ftp        401012 Apr 26  2007 freeciv-client-gtk_2.0.9-2_i386.deb
-rw-r-----   1 ftp      ftp         46966 Apr 26  2007 freeciv_2.0.9-2.diff.gz
-rw-r-----   1 ftp      ftp          1029 Apr 26  2007 freeciv_2.0.9-2.dsc
-rw-r-----   1 ftp      ftp      11673892 Apr  8  2007 freeciv_2.0.9.orig.tar.gz


Τα τέσσερα αρχεία που ακολουθούν είναι στην unstable διανομή. Αυτό μπορούμε να το διαπιστώσουμε αν κοιτάξουμε στον κατοπτριστή τα αρχεία /debian/dists/testing/unstable/binary-i386/Packages.gz /debian/dists/testing/unstable/source/Packages.gz

sid
-rw-r-----   1 ftp      ftp        381196 Oct 10 04:02 freeciv-client-gtk_2.0.9-3_i386.deb
-rw-r-----   1 ftp      ftp         41835 Oct 10 01:17 freeciv_2.0.9-3.diff.gz
-rw-r-----   1 ftp      ftp          1029 Oct 10 01:17 freeciv_2.0.9-3.dsc
-rw-r-----   1 ftp      ftp      11673892 Apr  8  2007 freeciv_2.0.9.orig.tar.gz


Εκτός όμως από τα εκτελέσιμα και πηγαία αρχεία των τριων κύριων διανομών υπάρχουν και δύο ακόμα διανομές. Η sarge που ήταν η σταθερή πριν από την etch και η πειραματική (experimental).

sarge
-rw-r-----   1 ftp      ftp        440948 Aug  4  2006 freeciv-client-gtk_2.0.1-1sarge2_i386.deb
-rw-r-----   1 ftp      ftp         45177 Aug  4  2006 freeciv_2.0.1-1sarge2.diff.gz
-rw-r-----   1 ftp      ftp           997 Aug  4  2006 freeciv_2.0.1-1sarge2.dsc
-rw-r-----   1 ftp      ftp         11476 Aug  4  2006 freeciv_2.0.1-1sarge2_all.deb


experimental
-rw-r-----   1 ftp      ftp        424134 Oct 19 15:02 freeciv-client-gtk_2.1.0~rc1-1_i386.deb
-rw-r-----   1 ftp      ftp         41353 Oct 19 01:47 freeciv_2.1.0~rc1-1.diff.gz
-rw-r-----   1 ftp      ftp          1041 Oct 19 01:47 freeciv_2.1.0~rc1-1.dsc
-rw-r-----   1 ftp      ftp      34219621 Oct 19 01:47 freeciv_2.1.0~rc1.orig.tar.gz


Ο κύκλος ζωής ενός πακέτο .deb[επεξεργασία]

Ένα πακέτο .deb πριν καταλήξει στην σταθερή έκδοση περνά από πολλά ενδιάμεσα στάδια. [εισερχόμενα πακέτα .deb]

Σελίδα παρακολούθησης μετακίνησης πακέτων[επεξεργασία]

http://release.debian.org/migration/

Το αρχείο /etc/apt/sources.list[επεξεργασία]

Ένα βασικό αρχείο διαμόρφωσης του συστήματός μας τα περιεχόμενα του οποίου πρέπει να συμπληρώνονται και να αλλάζουν με προσοχή αφού το εργαλεία αναπτυγμένης διαχείρισης πακέτων (APT) το χρησιμοποιούν σαν είσοδο κατά την εκτέλεσή τους προκειμένου να βρούν τα προς εγκατάσταση πακέτα να κάνουν ανανεώσεις , αναβαθμίσεις κτλ.


Άσκηση[επεξεργασία]

  • Βρείτε ποιό είναι το καταλληλότερο sources.list για σας.

Αποθετήριο backport[επεξεργασία]

Είναι πιθανό κάποιο πακέτο που μας ενδιαφέρει να έχει κυκλοφορήσει σε νέα έκδοση με κάποιo επιθυμητο χαρακταριστικό αλλά να μην είναι στο stable αποθετήριο. Στην περίπτωση αυτή πιθανώς να υπάρχει στο αποθετήριο backports το οποίο περιέχει ειδικά διαμοφωμένες τις νέες εκδόσεις ώστε να τρέχουν στην σταθερή διανομή. Έτσι δεν υπάρχει λόγος να διακινδυνεύσουμε να το εγκαταστήσουμε πχ από το δοκιμαστικό αποθετήριο (testing ή unstable) κάτι που θα δημιουργούσε πιθανώς προβλήματα εξαρτήσεων.

Οδηγίες χρήσης[επεξεργασία]

  1. Προσθέτετε την παρακάτω γραμμή deb http://www.backports.org/debian lenny-backports main contrib non-free στο αρχείο σας /etc/apt/sources.list. (Χρειάζεστε δικαιώματα διαχειριστή).
  2. Κατόπιν εκτελέστε την εντολή $apt-get update

Τα αποθετήρια backports πιθανώς να μην μπορούν να χρησιμοποιηθούν πχ μέσα από το synaptic όποτε κάντε την εγκατάσταση με μια από τις ακόλουθες εντολές:

 apt-get -t lenny-backports install “package”

ή με το aptitude

 aptitude -t lenny-backports install “package”

Αναβάθμιση πυρήνα[επεξεργασία]

Το αποθετήριο bacport είναι πολύ χρήσιμο όταν θέλουμε να διατηρήσουμε την έκδοση debian (πχ σταθερή) αλλά θέλουμε να έχουμε ποιό πρόσφατο πυρήνα αφού στο εγχείρημα debian η χρονική απόσταση ανάμεσα σε σταθερές εκδόσεις μπορεί να είναι 1-2 χρόνια οπότε αυτό μπορεί να μας δυσκολέψει αν πχ θέλουμε να μεταφέρουμε το σύστημα μας (την διαμέριση) σε άλλο σκληρό σε ποιό νεο υλικό . Στο σύστημα μου πχ είχα etch (2.6.18) και θέλω να εγκαταστήσω από το backport.org το πακέτο linux-image-2.6.26-bpo.1-686.

Το επιλέγω και κάνω εγκατάσταση κανονικά όπως με κάθε πακέτο.

Έχοντας προσθέσει το αποθετήριο backport στο synaptic και έχοντας κάνει ανανέωση βρίσκουμε και εγκαθιστούμε το νέο πυρήνα και κάνουμε επανεκκίνηση. Αν όλα έχουν πάει καλά μπορούμε να επιλέξουμε στο μενού του GNU GRUB κατά την επανεκκίνηση των νεο πυρήνα.

Αναβάθμιση[επεξεργασία]

Αναβάθμιση εντός έκδοσης[επεξεργασία]

Έχοντας εγκατεστημένη την σταθερή διανομή και έχοντας στο αρχείο sources.list προσδιορίσει μόνο τη σταθερή έκδοση από το αποθετήριο έχουμε έμμεσα προσδιορίσει τις δυνατότητες αναβάθμισης που έχει το σύστημά μας. Δηλαδή εφόσον είμαστε στη σταθερή έκδοση δεν μπορούμε να αναβαθμίσουμε ένα πακέτο στην τελευταία του έκδοση που πιθανός να συμπεριλαμβάνει καινούργια λειτουργικότητα αλλά έχουμε την δυνατότητα να κάνουμε αναβαθμίσεις ασφαλείας και αναβαθμίσεις που διορθώνουν κάποια σημαντικά σφάλματα.


Δίνωντας ανα τακτές περιόδους τις εντολές:

  • apt-get update
  • apt-get -u upgrade

μπορούμε να έχουμε εγκαταστημένα τα ποιό πρόσφατα πακέτα της σταθερής όμως έκδοσης. Είναι σημαντικό να μην το ξεχνάμε αυτό καθώτι σημασιολογικά η λέξη αναβάθμιση μπορεί να μας δημιουργεί μεγάλες προσδοκίες :-) αν διαβάζουμε συχνά για την νέα λειτουργικότητα που έχουν οι τελευταίες εκδόσεις των πακέτων μας και κάνουμε συγκρίσεις με φίλους που έχουν άλλες διανομές.

Αναβάθμιση σε καινούργια έκδοση[επεξεργασία]

Για μια αναβάθμιση σε μια νέα έκδοση πρέπει να προσέξτε τα εξής:

  • Δημιουργήστε αντίγραφο ασφαλείας τον δεδομένων που θεωρείται σημαντικά
  • Σε περίπτωση που κάνετε μικτή χρήση aptitude , apt-get πρέπει να προσέξτε να σβηστούν κατα λάθος πακέτα. Αυτό πάντως θα σας απασχολήσει μόνο αν κάνετε αναβάθμιση σε lenny.
  • Αλλάξτε το αρχείο /etc/apt/sources.list αλλάζωντας το όνομα της τρέχουσας διανομής με τη νέα.Πχ etch->lenny
  • aptitude update
  • apt-get install apt
  • aptitude install aptitude
  • aptitude safe-upgrade
  • aptitude dist-upgrade
  • Εγκατάσταση νεόυ πυρήνα

Η παραπάνω λίστα είναι ενδεικτική των κυριοτέρων βημάτων. Επιβάλλεται να διαβάσετε και τις σημειώσεις της έκδοσης στην οποία θέλετε να κάνετε αναβάθμιση. Αυτές θα τις βρείτε ξεκινώντας από την ιοτοδελίδα www.debian.org/releases .

Ένα δύσκολο σημείο είναι επίσης όταν έχετε κάνει κάποια αλλαγή σε κάποιο αρχείο ρυθμίσεων ,πχ php.ini ενός πακέτου. Τότε ο εγκαταστάστης θα σας δώσει τις επιλογές : Να εγκαταστεθεί το νέο αρχείο, να διατηρηθεί το υπάρχον, να εμφανιστούν οι διαφορές ανάμεσα στα δύο, να τεθεί η διεργασία εξέτασης της κατάστασης στο παρασκήνιο; Μια λύση είναι να κάνετε ένα αντίγραφο του ενλόγω αρχείου και να εγκατασταθεί το καινούργιο. Εδώ θα σας φανεί χρήσιμο και η εφαρμογή screen για να μην διακόψτε την αναβάθμιση σε ssh απομακρυσμένες συνδέσεις

Ασκήσεις[επεξεργασία]

  1. Συνδεθείτε στον κατοπτριστή που προτιμάτε και να βρείτε τα αντίστοιχα πακέτα των τεσσάρων εκδόσεων για ένα πακέτο που προτιμάτε.
  2. Μπορείτε να βρείτε ποιά αρχεία είναι τα security updates;
  3. Τι ακριβώς περιέχουν τα αρχεία με κατάληξη .changes; Πού βρίσονται;
  4. Βρες σε ποιά πακέτα ανήκουν τα αρχεία :
  • /bin/rm
  • /usr/bin/gnome-calculator
  1. Με τη βοήθεια του synaptic κατεβάστε το apt-file πακέτο και εν συνεχεία

χρησιμοποιώντας την εντολή apt-file βρείτε σε ποιά πακέτα ανήκουν τα αρχεία: gcc , php.ini , apache .

  1. Μπορείς να βρείς από ποιά πακέτα εξαρτάται το πακέτο χ και ποιά πακέτα

εξαρτώνται από'αυτό.