Το σύστημα APT
Έχουμε ήδη αναφέρει ότι για να εγκαταστήσουμε ένα πακέτο λογισμικού με την εντολή dpkg, θα πρέπει πρώτα να το μεταφέρουμε με κάποιον τρόπο στον υπολογιστή μας μαζί με όλες τις εξαρτήσεις του και ύστερα να το εγκαταστήσουμε, αφού φυσικά εγκαταστήσουμε πρώτα τις εξαρτήσεις του. Κάτι τέτοιο είναι αρκετά χρονοβόρο, κουραστικό και επιρρεπές σε λάθη.
Για το σκοπό αυτό, δημιουργήθηκε το εργαλείο APT (Advanced Package Tool) το οποίο αυτοματοποιήσε όλες τις διαδικασίες εγκατάστασης ενός πακέτου και πλέον μπορεί να γίνει ολόκληρη εγκατάσταση ή ανανέωση συστήματος με μια μόνο εντολή!
Η ευκολία που παρέχει το APT έγκειται στο ότι αναλαμβάνει όλα τα στάδια της εγκατάστασης, από τη μεταφόρτωση του πακέτου και όλων των εξαρτήσεων από μία ή περισσότερες πηγές που θα του ορίσουμε, την εγκατάσταση των πακέτων με τη σωστή σειρά προτεραιότητας, καθώς και τη μετέπειτα ρύθμιση του κάθε πακέτου.
Για τη χρήση του συστήματος APT, υπάρχουν κατά κύριο λόγο τέσσερις εντολές: apt-setup, apt-cdrom, apt-cache και apt-get. Οι δύο πρώτες ρυθμίζουν τις πηγές των πακέτων του APT, η apt-cache προσφέρει τρόπους αναζήτησης πακέτων μέσα στην βάση δεδομένων του APT, ενώ η apt-get χρησιμοποιείται για τη μεταφόρτωση και εγκατάσταση των πακέτων.
Τη χρήση της apt-setup την είδαμε κατά την εγκατάσταση του Debian στο κεφ. 6 (σελ. ). Συνοπτικά αναφέρουμε ότι επιλέγετε τη λίστα των πιθανών πηγών πακέτων λογισμικού, από διευθύνσεις δικτυακών τόπων (URLs) σε μορφή HTTP ή FTP, από συστήματα αρχείων ακόμη και από CD-ROM. Στην τελευταία περίπτωση, η apt-setup εκτελεί την apt-cdrom. Τέλος, δίνεται η δυνατότητα χειροκίνητης καταχώρησης μιας πηγής.
Γενικά, δε χρειάζεται να εκτελείτε απευθείας την apt-cdrom, καθώς η apt-setup παρέχει την ίδια λειτουργία με πιο φιλικό τρόπο.
Το αρχείο sources.list
Το σύστημα APT διατηρεί τη λίστα με τις διαθέσιμες πηγές πακέτων λογισμικού στο αρχείο παραμετροποίησής του /etc/apt/sources.list. Αυτό το αρχείο τροποποιούν οι εντολές apt-cdrom και apt-setup όταν προστίθεται μια νέα πηγή. Όσον αφορά πηγές δικτύου, είναι δυνατή η πρόσθεσή τους χειροκίνητα στο αρχείο. Για τα CD είναι απαραίτητη η χρήση της εντολής apt-cdrom. Ιδού ορισμένες από τις προκαθορισμένες πηγές, όπως αυτές είναι καθορισμένες στο αρχείο sources.list:
deb http://ftp.de.debian.org/debian/ woody main non-free contrib deb http://ftp.de.debian.org/debian/ woody main non-free contrib deb http://non-us.debian.org/debian-non-US woody/non-US main contrib non-free deb-src http://non-us.debian.org/debian-non-US woody/non-US main contrib non-free deb http://security.debian.org/ stable/updates main contrib non-free
Το πρώτο πεδίο μπορεί να είναι deb ή deb-src δηλώνοντας έτσι ότι η πηγή είναι πηγή έτοιμων μεταγλωττισμένων πακέτων για την αρχιτεκτονική του υπολογιστή μας, ή αντίστοιχα σε μορφή πηγαίου κώδικα, αν θέλουμε να τα κατασκευάσουμε μόνοι μας.
Το δεύτερο πεδίο είναι η διεύθυνση URL του δικτυακού τόπου (μέσω http/ftp) ή της διαδρομής αρχείων (π.χ. σε κάποιο σύστημα αρχείων) από όπου θα λαμβάνει τα πακέτα η εντολή apt-get. Για τις διαδρομές αρχείων θα πρέπει να χρησιμοποιηθεί το πρόθεμα file:. Σημειώστε ότι σε κάθε περίπτωση θα πρέπει να διατηρήσετε την ίδια ακριβώς δομή δέντρου αρχείων με μια επίσημη πηγή Debian, διαφορετικά τα πακέτα δε θα είναι προσβάσιμα από το σύστημα APT.
Ως τρίτο πεδίο δηλώνουμε την έκδοση της διανομής (π.χ. woody, testing, unstable) ή/και την υποομάδα (non-US, updates).
Τέλος, τα τελευταία πεδία ορίζουν τις ομάδες πακέτων, όπως τις αναφέραμε στο κεφ. 1. Υπάρχουν τρεις ομάδες πακέτων, η κύρια ομάδα (main), η συνεισφερόμενη (contrib) και η ομάδα μή ελεύθερου λογισμικού (non-free).
Αναζήτηση με την apt-cache
Όσον αφορά την apt-cache, αυτή είναι ένας πιο εύκολος τρόπος να αναζητήσουμε διαθέσιμα πακέτα στο Debian, αν και έχει και άλλες χρήσεις. Είναι πιο εύκολο να δούμε τη χρήση της με ένα παράδειγμα. Ας υποθέσουμε ότι χρειαζόμαστε ένα πρόγραμμα που να μπορεί να απεικονίσει μετεωρολογικά δεδομένα (!) αλλά δε ξέρουμε ποιο ή ακόμη αν υπάρχει κάτι τέτοιο στο Debian.
# apt-cache search weather visual vis5d - Visualizes data made by numerical weather models etc. vis5d-doc - Documentation for the Vis5D visualization system
Βλέπουμε ότι όντως υπάρχει κάποιο πακέτο vis5d, μαζί με το πακέτο οδηγιών του. Μπορούμε να μάθουμε πληροφορίες για αυτό το πακέτο και να δούμε αν ταιριάζει στις ανάγκες μας:
# apt-cache show vis5d Package: vis5d Priority: optional Section: science Installed-Size: 6984 Maintainer: Torsten Landschoff <torsten@debian.org> Architecture: i386 Version: 5.2abeta5-3 Depends: libc6 (>= 2.2.4-4), libgl1, netcdfg3 (>= 3.5.0-1), xlibs (>> 4.1.0) Suggests: vis5d-doc Filename: pool/main/v/vis5d/vis5d_5.2abeta5-3_i386.deb Size: 1222796 MD5sum: e860cc618efc77a48204d2727263cf3a Description: Visualizes data made by numerical weather models etc. Vis5D is a software system for visualizing data made by numerical weather models and similar sources. Vis5D works on data in the form of a five-dimensional rectangle. . The Vis5D system includes the vis5d visualization program, several programs for managing and analyzing five-dimensional data grids, and instructions and utilities for converting your data into its file format.
Εγκατάσταση με την apt-get
Από ό,τι βλέπουμε το πρόγραμμα ίσως να είναι αυτό που χρειαζόμαστε. Δε μένει παρά να το εγκαταστήσουμε για να το δοκιμάσουμε. Αν χρησιμοποιούμε κάποια πηγή πακέτων λογισμικού στο Internet, θα πρέπει να είμαστε συνδεδεμένοι για να μπορούμε να τη χρησιμοποιήσουμε. Για παράδειγμα αν στην εγκατάσταση ρυθμίσαμε κάποιο είδος σύνδεσης PPP, μπορούμε να την ενεργοποιήσουμε ως εξής (
# pon <provider> # apt-get install vis5d vis5d-doc Reading Package Lists... Done Building Dependency Tree... Done The following NEW packages will be installed: vis5d vis5d-doc 0 packages upgraded, 2 newly installed, 0 to remove and 16 not upgraded. Need to get 4893kB/4893kB of archives. After unpacking 10.9MB will be used. Do you want to continue? [Y/n] Get:1 http://ftp.de.debian.org testing/main vis5d 5.2abeta5-3 [1223kB] Get:2 http://ftp.de.debian.org testing/main vis5d-doc 5.2abeta5-3 [3670kB] Fetched 4893kB in 10m49s (7533B/s) Selecting previously deselected package vis5d. (Reading database ... 107053 files and directories currently installed.) Unpacking vis5d (from .../vis5d_5.2abeta5-3_i386.deb) ... Selecting previously deselected package vis5d-doc. Unpacking vis5d-doc (from .../vis5d-doc_5.2abeta5-3_all.deb) ... Setting up vis5d (5.2abeta5-3) ... Setting up vis5d-doc (5.2abeta5-3)
Η εντολή apt-get, όπως βλέπουμε αναλαμβάνει τη μεταφόρτωση των απαραίτητων αρχείων και μας πληροφορεί για το απαραίτητο μέγεθος μεταφόρτωσης (4.9 MB περίπου) και το τελικό μέγεθος των εγκατεστημένων αρχείων. Πριν προχωρήσει στη διαδικασία μας ρωτάει αν θέλουμε να συνεχίσουμε, ίσως π.χ. για να αλλάξουμε τα πακέτα προς εγκατάσταση.
Κατά τη διάρκεια της μεταφόρτωσης μας πληροφορεί για το συνολικό ποσοστό ολοκλήρωσης, για το ποσοστό ολοκλήρωσης του συγκεκριμένου αρχείου που μεταφορτώνεται, για την ταχύτητα μεταφοράς δεδομένων και για τον απομένοντα χρόνο.
Μετά την ολοκλήρωση, το apt-get πραγματοποιεί οποιεσδήποτε ρυθμίσεις πακέτων είναι απαραίτητες και εγκαθιστά τα αρχεία στις σωστές τους θέσεις. Αν υπάρχει κάποιο πρόβλημα, θα προσπαθήσει να δώσει όσον το δυνατόν πιο αναλυτικές οδηγίες για την επίλυσή του. Συνήθως, τα προβλήματα που παρουσιάζονται είναι λόγω ασυμβατότητας των εξαρτήσεων των πακέτων.
Έχει ολοκληρωθεί έτσι η εγκατάσταση του πακέτου μας και μπορούμε να το δοκιμάσουμε!
# vis5d LAMPS.v5d
(Το LAMPS.v5d βρίσκεται συμπιεσμένο στον κατάλογο /usr/share/doc/vis5d/examples).
Το συγκεκριμένο παράδειγμα είχε σκοπό απλώς να μας δείξει μια συνηθισμένη διαδικασία αναζήτησης και εγκατάστασης κάποιου εξειδικευμένου πακέτου. Το Debian περιέχει περίπου 8900 πακέτα και το πιθανότερο είναι ότι παρέχει κάποιο πακέτο για τις περισσότερες εργασίες, όσο εξειδικευμένες και αν είναι. Το σημαντικό είναι η σωστή αναζήτηση με τη χρήση του εργαλείου apt-cache.
Άλλες λειτουργίες
Πέρα από την αναζήτηση και την εγκατάσταση, τα εργαλεία apt-cache και apt-get δέχονται και άλλες επιλογές και εντολές, που ρυθμίζουν ανάλογα και την δράση των ίδιων των εργαλείων. Η σύνταξή τους ακολουθεί τους γνωστούς κανόνες:
apt-cache [options] [command] apt-get [options] [command]
Μερικές από τις πιο σημαντικές αναφέρονται στους ακόλουθους πίνακες:
Εντολή apt-cache
|
Επιλογές
|
Λειτουργία
|
|
-i --important |
Εμφανίζει μόνο τα σημαντικά πακέτα (αυτά που έχουν χαρακτηρισμό προτεραιότητας important). |
|
-f --full |
Εμφανίζει όλα τα χαρακτηριστικά κάθε πακέτου. |
|
-a --all-versions |
Εμφανίζει όλες τις διαθέσιμες εκδόσεις κάθε πακέτου. |
| --names-only | Η αναζήτηση θα γίνει χρησιμοποιώντας μόνο τα ονόματα των πακέτων. Το προκαθορισμένο είναι να χρησιμοποιείται και το πεδίο της περιγραφής των πακέτων. |
| --all-names | Σε συνδυασμό με την εντολή pkgnames, εμφανίζει όλα τα πακέτα, ακόμη και τα εικονικά. |
|
Εντολές
|
Λειτουργία
|
| show packagename | Εμφανίζει πληροφορίες για το πακέτο packagename. Αντίστοιχο με τη dpkg --print-avail. |
| showpkg packagename | Εμφανίζει πληροφορίες για το πακέτο packagename, με έμφαση στις πληροφορίες για τις εξαρτήσεις. Παρέχει τις ανάστροφες εξαρτήσεις (reverse depends) του πακέτου, δηλαδή μια λίστα με τα ονόματα των πακέτων που εξαρτώνται από το πακέτο packagename. |
| search pattern | Αναζήτηση στο ευρετήριο των πακέτων χρησιμοποιώντας την κανονική παράσταση pattern. |
| depends packagename | Εμφανίζει τα ονόματα των πακέτων που εξαρτώνται από το πακέτο packagename. |
| stats | Εμφανίζει στατιστικά για το πλήθος των διαθέσιμων πακέτων. |
| pkgnames [prefix] | Εμφανίζει τα ονόματα όλων των πακέτων. Αν δοθεί το prefix, η λίστα περιορίζεται στα πακέτα των οποίων το όνομα αρχίζει με prefix. |
| unmet | Εμφανίζει τη λίστα με τις μη ικανοποιημένες εξαρτήσεις πακέτων στο σύστημα. |
Και ακολουθεί ο αντίστοιχος πίνακας για την apt-get.
|
Επιλογές
|
Λειτουργία
|
|
-d --download-only |
Πραγματοποιεί μόνο τη μεταφόρτωση των πακέτων, όχι την εγκατάσταση. |
|
-f --fix-broken |
Αν η apt-get διαπιστώσει ότι στο σύστημα υπάρχουν μη ικανοποιημένες εξαρτήσεις πακέτων (δηλαδή είναι εγκατεστημένο κάποιο πακέτο, χωρίς να είναι εγκατεστημένα και τα πακέτα από τα οποία εξαρτάται), θα προσπαθήσει να δράσει ανάλογα για να ικανοποιήσει αυτές τις εξαρτήσεις. Αυτό σημαίνει, είτε εγκατάσταση κάποιων επιπλέον πακέτων ή αν δεν είναι αυτό δυνατόν, απεγκατάσταση των προβληματικών πακέτων. Χρησιμοποιείται σε συνδυασμό με την install ή remove. |
|
-m --ignore-missing --fix-missing |
Αγνοεί τα προβλήματα από πακέτα που παρουσιάζουν πρόβλημα κατά την εγκατάσταση (κάποιο χαλασμένο αρχείο, προβληματική ρύθμιση, κλπ) και συνεχίζει με τα υπόλοιπα πακέτα. |
| --no-download | Απενεργοποιεί οποιαδήποτε επιπλέον μεταφόρτωση και προσπαθεί να χρησιμοποιήσει τα ήδη μεταφορτωμένα πακέτα. |
|
-s --simulate --just-print --dry-run --recon --no-act |
Προσποιείται τη διαδικασία χωρίς στην πραγματικότητα να κάνει κάποια εγκατάσταση/απεγκατάσταση στο σύστημα. |
|
-u --show-upgraded |
Εμφανίζει και τα επιπλέον πακέτα που πρόκειται να εγκατασταθούν, συνήθως λόγω εξαρτήσεων. |
| --force-yes | Επιβάλει την εγκατάσταση των πακέτων, ακόμη και αν δεν ικανοποιούνται οι απαραίτητες συνθήκες (εξαρτήσεις, συμβατότητα, αντικατάσταση υπαρχόντων αρχείων). Θα πρέπει να χρησιμοποιηθεί με την δέουσα προσοχή. |
| --purge | Όταν διαγράφεται ένα πακέτο να γίνεται πλήρης διαγραφή και των αρχείων παραμετροποίησής του (configuration files). |
|
Εντολές
|
Λειτουργία
|
| update | Ανανεώνει την βάση δεδομένων των πακέτων λογισμικού του Debian. Εκτός αν χρησιμοποιήτε κάποια στατική πηγή (π.χ. CD-ROM) θα πρέπει να ανανεώνετε συχνά τους καταλόγους των πακέτων που παρέχονται από κάθε πηγή, για να ενημερώνετε το σύστημά σας για τυχόν ανανεωμένο λογισμικό. |
| upgrade | Πραγματοποιεί τη διαδικασία της ανανέωσης όλων των πακέτων για τα οποία υπάρχει διαθέσιμη ανανεωμένη έκδοση. |
| dist-upgrade | Όπως συμβαίνει συνήθως με μια νέα έκδοση της διανομής, η ανανέωση είναι τόσο ριζική που δε μπορεί να επιτευχθεί μόνο με τη χρήση της apt-get upgrade. Η dist-upgrade χρησιμοποιεί έξυπνους μηχανισμούς για να γίνει η μετάβαση με όσο το δυνατόν λιγότερα προβλήματα. |
| install packages | Εγκαθιστά τα πακέτα packages. |
| remove packages | Απεγκαθιστά τα πακέτα packages. |
| source packages | Μεταφορτώνει τον πηγαίο κώδικα των πακέτων packages. Χρησιμεύει όταν θέλετε να δημιουργήσετε μια τροποποιημένη έκδοση κάποιου υπάρχοντος πακέτου για δικές σας ανάγκες. |
| check | Εκτελεί κάποια απλά διαγνωστικά σχετικά με μη ικανοποιούμενες εξαρτήσεις. |
Οι apt-get και apt-cache παρέχουν και περισσότερες πιο προχωρημένες λειτουργίες. Για περισσότερες πληροφορίες θα πρέπει να ανατρέξετε στις οδηγίες των εντολών.
# man apt-get # man apt-cache
Active forum topics
- Wake up from suspend mode failed
- Οργάνωση στις μεταφράσεις των ελληνικών στο Debian.
- απορια σχετικα με nvidia440
- πρόβλημα εγκατάστασης nvidia driver GTS250.
- kernel 2.6.38 για squeeze
- Gnome3
- 2 μήνες σπασμένο το upgrade σε unstable [SOLVED]
- Οι χρήστες του Internet Explorer είναι χαζοί;
- Debian Lenny + Nvidia drivers
- εγκατασταση usb cosmote
New forum topics
Νέοι χρήστες
- kountp
- Adonthegreat
- giorgos_m
- prodromos
- airmaik
Οι πιο πρόσφατες καταχωρίσεις blog.
- Fosscomm 2012
- armhf officially into Debian!
- back from UDS/Linaro Connect...
- FTF is over, Linaro Interview
- straight from FTF 2011, San Antonio...
- Όσο μεγαλώνεις μαθαίνεις...
- Emdebian 2011 Sprint report, Genesi Europe store goes online...
- Θεσσαλονίκη - open source ERP workshop
- Χρήσιμο URL για Flash Cards και Linux filesystems
- Cambridge, UK, ARM HQ for Emdebian 2011 Sprint