[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ next ]


APT HOWTO (Obsolete Documentation)
Chapter 5 - Παίρνοντας πληροφορίες για πακέτα.


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

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

Έχουμε ένα αριθμό μέσων για μια τέτοια λειτουργία. Αρχίζουμε με το apt-cache. Το πρόγραμμα αυτό χρησιμοποιείται από το σύστημα APT για τη διατήρηση της βάσης δεδομένων του. Θα ρίξουμε μόνο μια γρήγορη ματιά σε μερικές από τις πιο πρακτικές του εφαρμογές.


5.1 Ανακαλύπτοντας ονόματα πακέτων

Ας υποθέσουμε ότι, θέλετε να θυμηθείτε τις παλιές καλές μέρες του Atari 2600. Θέλετε να χρησιμοποιήσετε το APT για να εγκαταστήσετε έναν εξομοιωτή Atari, για να κατεβάσετε μερικά παιχνίδια. Μπορείτε να εκτελέσετε:

     # apt-cache search atari
     atari-fdisk-cross - Partition editor for Atari (running on non-Atari)
     circuslinux - The clowns are trying to pop balloons to score points!
     madbomber - A Kaboom! clone
     tcs - Character set translator.
     atari800 - Atari emulator for svgalib/X/curses
     stella - Atari 2600 Emulator for X windows
     xmess-x - X binaries for Multi-Emulator Super System

Βρίσκουμε μερικά πακέτα που σχετίζονται με αυτό που ψάχνουμε, μαζί με σύντομες περιγραφές. Για περισσότερες πληροφορίες για ένα συγκεκριμένο πακέτο, μπορείτε στη συνέχεια να εκτελέσετε:

     # apt-cache show stella  
     Package: stella
     Priority: extra
     Section: non-free/otherosfs
     Installed-Size: 830
     Maintainer: Tom Lear <tom@trap.mtview.ca.us>
     Architecture: i386
     Version: 1.1-2
     Depends: libc6 (>= 2.1), libstdc++2.10, xlib6g (>= 3.3.5-1)
     Filename: dists/potato/non-free/binary-i386/otherosfs/stella_1.1-2.deb
     Size: 483430
     MD5sum: 11b3e86a41a60fa1c4b334dd96c1d4b5
     Description: Atari 2600 Emulator for X windows
      Stella is a portable emulator of the old Atari 2600 video-game console
      written in C++.  You can play most Atari 2600 games with it.  The latest
      news, code and binaries for Stella can be found at:
      http://www4.ncsu.edu/~bwmott/2600

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

     # apt-cache show lilo
     Package: lilo
     Priority: important
     Section: base
     Installed-Size: 271
     Maintainer: Russell Coker <russell@coker.com.au>
     Architecture: i386
     Version: 1:21.7-3
     Depends: libc6 (>= 2.2.1-2), debconf (>=0.2.26), logrotate
     Suggests: lilo-doc
     Conflicts: manpages (<<1.29-3)
     Filename: pool/main/l/lilo/lilo_21.7-3_i386.deb
     Size: 143052
     MD5sum: 63fe29b5317fe34ed8ec3ae955f8270e
     Description: LInux LOader - The Classic OS loader can load Linux and others
      This Package contains lilo (the installer) and boot-record-images to
      install Linux, OS/2, DOS and generic Boot Sectors of other OSes.
      .
      You can use Lilo to manage your Master Boot Record (with a simple text screen)
      or call Lilo from other Boot-Loaders to jump-start the Linux kernel.
     
     Package: lilo
     Status: install ok installed
     Priority: important
     Section: base
     Installed-Size: 190
     Maintainer: Vincent Renardias <vincent@debian.org>
     Version: 1:21.4.3-2
     Depends: libc6 (>= 2.1.2)
     Recommends: mbr
     Suggests: lilo-doc
     Description: LInux LOader - The Classic OS loader can load Linux and others
      This Package contains lilo (the installer) and boot-record-images to
      install Linux, OS/2, DOS and generic Boot Sectors of other OSes.
      .
      You can use Lilo to manage your Master Boot Record (with a simple text screen)
      or call Lilo from other Boot-Loaders to jump-start the Linux kernel.

Σημειώστε ότι το πρώτο στη λίστα είναι το διαθέσιμο πακέτο και το δεύτερο είναι το ήδη εγκατεστημένο. Για περισσότερες γενικές πληροφορίες για ένα πακέτο, μπορείτε να χρησιμοποιήσετε:

     # apt-cache showpkg penguin-command
     Package: penguin-command
     Versions: 
     1.4.5-1(/var/lib/apt/lists/download.sourceforge.net_debian_dists_unstable_main_binary-i386_Packages)(/var/lib/dpkg/status)
     
     Reverse Depends: 
     Dependencies: 
     1.4.5-1 - libc6 (2 2.2.1-2) libpng2 (0 (null)) libsdl-mixer1.1 (2 1.1.0) libsdl1.1 (0 (null)) zlib1g (2 1:1.1.3) 
     Provides: 
     1.4.5-1 - 
     Reverse Provides:

Και για να βρείτε απλά τα πακέτα από τα οποία εξαρτάται:

     # apt-cache depends penguin-command
     penguin-command
       Depends: libc6
       Depends: libpng2
       Depends: libsdl-mixer1.1
       Depends: libsdl1.1
       Depends: zlib1g

Συνοψίζοντας, έχουμε ένα εύρος όπλων τα οποία μπορούμε να χρησιμοποιήσουμε ώστε να βρούμε το όνομα ενός πακέτου που θέλουμε.


5.2 Χρησιμοποιώντας την dpkg για να βρούμε ονόματα πακέτων

Ένας τρόπος για να εντοπίσετε το όνομα ενός πακέτου είναι να ξέρετε το όνομα ενός σημαντικού αρχείου που βρίσκεται μέσα στο πακέτο αυτό. Για παράδειγμα, για να βρείτε το πακέτο που παρέχει ένα συγκεκριμένο ".h" αρχείο που χρειάζεστε για μεταγλώττιση μπορείτε να εκτελέσετε:

     # dpkg -S stdio.h
     libc6-dev: /usr/include/stdio.h
     libc6-dev: /usr/include/bits/stdio.h
     perl: /usr/lib/perl/5.6.0/CORE/nostdio.h

ή:

     # dpkg -S /usr/include/stdio.h
     libc6-dev: /usr/include/stdio.h

Για να βρείτε τα ονόματα των πακέτων που είναι εγκατεστημένα στο σύστημά σας, πράγμα χρήσιμο,αν θέλετε να καθαρίσετε τον σκληρό σας δίσκο, μπορείτε να εκτελέσετε:

     # dpkg -l | grep mozilla
     ii  mozilla-browse 0.9.6-7        Mozilla Web Browser

Το πρόβλημα με αυτήν την εντολή είναι ότι μπορεί να ¨σπάσει¨ το όνομα του πακέτου. Στο παραπάνω παράδειγμα, το πλήρες όνομα του πακέτου είναι mozilla-browser. Για να το διορθώσετε αυτό, μπορείτε να χρησιμοποιήσετε τη μεταβλητή περιβάλλοντος COLUMNS με τον ακόλουθο τρόπο:

     [kov]@[couve] $ COLUMNS=132 dpkg -l | grep mozilla
     ii  mozilla-browser             0.9.6-7                     Mozilla Web Browser - core and browser

ή την περιγραφή ή μέρος της με αυτόν τον τρόπο:

     # apt-cache search "Mozilla Web Browser"
     mozilla-browser - Mozilla Web Browser

5.3 Πως να εγκαταστήσετε πακέτα ¨κατά βούληση¨

Μεταγλωττίζετε ένα πρόγραμμα και, ξαφνικά, μπουμ! Υπάρχει σφάλμα γιατί χρειάζεται ένα .h αρχείο που δεν έχετε. Το πρόγραμμα auto-apt μπορεί να σας σώσει από τέτοια σενάρια. Σας ζητάει να εγκαταστήσει πακέτα εάν αυτά χρειάζονται, σταματώντας την αντίστοιχη διαδικασία και συνεχίζοντας την όταν το πακέτο είναι εγκατεστημένο.

Αυτό που κάνετε, βασικά, είναι να εκτελέσετε:

     # auto-apt run command

Όπου `command' είναι η εντολή που θα εκτελεστεί και που πιθανώς να χρειαστεί κάποιο μη διαθέσιμο αρχείο. Για παράδειγμα:

     # auto-apt run ./configure

Τότε θα σας ζητήσει να εγκαταστήσει τα απαραίτητα πακέτα και θα καλέσει το apt-get αυτόματα. Αν εκτελείτε το X, ένα γραφικό περιβάλλον θα αντικαταστήσει το προεπιλεγμένο περιβάλλον κειμένου.

Το auto-apt διατηρεί βάσεις δεδομένων που χρειάζεται να είναι διαρκώς ενημερωμένες ώστε αυτό να λειτουργεί αποτελεσματικά. Αυτό επιτυγχάνεται με την εκτέλεση των εντολών auto-apt update, auto-apt updatedb και auto-apt update-local.


5.4 Πώς να ανακαλύψετε σε ποιό πακέτο ανήκει ένα αρχείο

Αν θέλετε να εγκαταστήσετε ένα πακέτο, και δεν μπορείτε να βρείτε πώς λέγεται ψάχνοντας με την εντολή apt-cache, αλλά ξέρετε το όνομα αρχείου του ίδιου του προγράμματος, ή κάποιο άλλο όνομα αρχείου που ανήκει στο πακέτο, τότε μπορείτε να χρησιμοποιήσετε την εντολή apt-file για να βρείτε το όνομα του πακέτου. Αυτό γίνεται με τον ακόλουθο τρόπο:

     $ apt-file search filename

Δουλεύει όπως η dpkg -S, αλλά θα σας δείξει ακόμα και πακέτα που δεν είναι εγκατεστημένα αλλά περιέχουν το αρχείο. θα μπορούσε ακόμα να χρησιμοποιηθεί για να βρείτε ποιά πακέτα περιέχουν απαραίτητα αρχεία που λείπουν όταν μεταγλωττίζετε προγράμματα, αν και η χρήση της auto-apt είναι μια πολύ καλύτερη μέθοδος για την επίλυση τέτοιων προβλημάτων, δείτε τον τομέα Πως να εγκαταστήσετε πακέτα ¨κατά βούληση¨, Section 5.3.

Μπορείτε ακόμα να παρουσιάσετε σε λίστα τα περιεχόμενα ενός πακέτου, εκτελώντας:

     $ apt-file list packagename

Το apt-file διατηρεί μια βάση δεδομένων της οποίας τα αρχεία περιέχονται σε όλα τα πακέτα, όπως κάνει και το auto-apt και πρέπει να παραμένει ενημερωμένη. Αυτό γίνεται εκτελώντας:

     # apt-file update

Από προεπιλογή, το apt-file χρησιμοποιεί την ίδια βάση δεδομένων που χρησιμοποιεί το auto-apt, δείτε τον τομέα Πως να εγκαταστήσετε πακέτα ¨κατά βούληση¨, Section 5.3.


5.5 Πως να παραμένετε ενημερωμένοι για τις αλλαγές στα πακέτα.

Κάθε πακέτο εγκαθιστά στο δικό του κατάλογο τεκμηρίωσης (/usr/share/doc/packagename) ένα αρχείο που λέγεται changelog.Debian.gz και περιέχει λίστα των αλλαγών που έχουν γίνει στο πακέτο από την τελευταία έκδοσή του. Μπορείτε να διαβάσετε τα αρχεία αυτά με τη βοήθεια του zless, αλλά δεν είναι και πολύ εύκολο, μετά από μία ολοκληρωτική αναβάθμιση του συστήματος, να ψάχνετε τα αρχεία αλλαγών για κάθε αναβαθμισμένο πακέτο.

Υπάρχει τρόπος να αυτοματοποιήσετε αυτή την εργασία με τη χρήση ενός εργαλείου που λέγεται apt-listchanges. Για να ξεκινήσουμε πρέπει να γίνει εγκατάσταση του πακέτου apt-listchanges. Κατά τη διάρκεια της εγκατάσταση, το Debconf θα ρυθμίσει το πακέτο. Απαντήστε στις ερωτήσεις όπως θέλετε.

Η επιλογή "Should apt-listchanges be automatically run by apt?" είναι πολύ χρήσιμη επειδή παρουσιάζει λίστα των αλλαγών που γίνονται σε κάθε πακέτο που εγκαθίσταται από το apt κατά τη διάρκεια μιας αναβάθμισης και σας επιτρέπει να τις αναλύσετε πρίν συνεχίσετε. Η επιλογή "Should apt-listchanges prompt for confirmation after displaying changes?" είναι χρήσιμη γιατί σας ρωτάει αν θέλετε να συνεχίσετε την εγκατάσταση αφού διαβάσετε τη λίστα των αλλαγών. Αν δηλώσετε ότι δεν επιθυμείτε να συνεχίσετε το apt-listchanges θα βγάλει σφάλμα και το apt θα ματαιώσει την εγκατάσταση.

Μόλις το apt-listchanges εγκατασταθεί, όποτε θα "κατεβάζονται"πακέτα από το διαδίκτυο (ή μέσω CD ή από mounted δίσκο) από το apt θα εμφανίζει τις λίστες των αλλαγών που γίνονται σε αυτά τα πακέτα προτού γίνει η εγκατάστασή τους.


[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ next ]


APT HOWTO (Obsolete Documentation)

1.8.5 - July 2003

Gustavo Noronha Silva kov@debian.org
Aπόδοση στα Ελληνικά Στεφανάτος Κώστας costas@step.gr