Το εργαλείο dpkg
Για την εγκατάσταση ή απεγκατάσταση των πακέτων, το βασικό εργαλείο είναι η εντολή dpkg. Αυτή αναλαμβάνει να κάνει τους ελέγχους για τις εξαρτήσεις των πακέτων, να τοποθετήσει τα αρχεία στις σωστές τους θέσεις, να εκτελέσει πιθανά σενάρια κελύφους για τη ρύθμιση ή απορύθμιση του πακέτου και να εκκινήσει ακόμη κάποια προγράμματα-δαίμονες (daemons).
Βασικές λειτουργίες
Το εργαλείο dpkg έχει σχεδιαστεί για χρήση από την γραμμή εντολών του κελύφους μόνον. Για το λόγο αυτό δέχεται μια πληθώρα από επιλογές και παραμέτρους. Στο παρόν κείμενο, θα αναφερθούμε μόνο στις πιο σημαντικές από αυτές.
Γενικά η σύνταξη είναι η εξής:
dpkg [OPTIONS] ACTION packagename | filename
όπου packagename το όνομα του πακέτου ενώ filename το όνομα του αρχείου κάποιου πακέτου (όπως αναφέρθηκε σε προηγούμενη παράγραφο), ACTION το είδος της εργασίας που θέλουμε να πραγματοποιήσουμε με το πακέτο και ως επιλογές έχουμε τις εξής:
|
Επιλογές
|
Λειτουργία
|
|
-B --auto-deconfigure |
Όταν απεγκαθιστούμε κάποιο πακέτο, το dpkg αυτομάτως απορυθμίζει (deconfigure) όσα πακέτα εξαρτώνται από αυτό. |
| --force-depends | Η ομάδα των επιλογών --force-*, επιβάλει στο dpkg την εργασία που του δώσαμε, ακόμη και αν οι συνθήκες αποτρέπουν κάτι τέτοιο. Η συγκεκριμένη --force-depends, επιβάλει την εγκατάσταση/απεγκατάσταση ενός πακέτου ακόμη και αν δεν ικανοποιούνται οι εξαρτήσεις των υπολοίπων πακέτων με την εργασία αυτή. |
| --force-overwrite | Η επιλογή αυτή αντικαθιστά αρχεία στο σύστημα που παρέχονται από άλλο πακέτο. |
| --force-downgrade | Εγκαθιστά το πακέτο ακόμη και αν είναι εγκατεστημένη νεώτερη έκδοση. |
| --force-conflicts | Εγκαθιστά το πακέτο ακόμη και αν είναι ασύμβατο με κάποιο άλλο εγκατεστημένο. |
| --force-all | Χρησιμοποιεί όλες τις παραπάνω και ακόμη περισσότερες επιλογές --force-xxx. Αποφύγετε τη χρήση της επιλογής αυτής. |
| --no-act | Προσποιείται τη διαδικασία χωρίς στην πραγματικότητα να κάνει κάποια εγκατάσταση/απεγκατάσταση στο σύστημα. |
Γενικά οι επιλογές --force-* θα πρέπει να αποφεύγονται, καθώς είναι πολύ εύκολο να καταστρέψετε το σύστημά σας με κάποια λάθος εγκατάσταση ή απεγκατάσταση κάποιου βασικού πακέτου.
Ως ACTION μπορούμε να χρησιμοποιήσουμε μία από τις ακόλουθες:
|
Εργασία
|
Λειτουργία
|
|
-i --install |
Εγκαθιστά το πακέτο που περιέχεται στο αρχείο filename. |
|
-r --remove |
Απεγκαθιστά το πακέτο packagename (σημ. Χρειάζεται μόνο το όνομα του πακέτου). Η απεγκατάσταση εννοεί την διαγραφή και όλων των αρχείων του πακέτου πλην των αρχείων παραμετροποίησης (configuration files) τα οποία διατηρούνται για πιθανή μελλοντική χρήση. |
| --purge | Όπως η -r, αλλά διαγράφει και τα αρχεία παραμετροποίησης. |
| --configure | Ολοκληρώνει την εγκατάσταση κάποιου πακέτου που για κάποιο λόγο δεν είχε ολοκληρώσει την εγκατάστασή του. |
|
-l --list |
Παρουσιάζει τη λίστα των εγκατεστημένων πακέτων (δέχεται μια κανονική παράσταση ως παράμετρο). |
|
-s --status |
Παρουσιάζει πληροφορίες για κάποιο εγκατεστημένο πακέτο. |
|
-S --search |
Αναζητά το εγκατεστημένο πακέτο που περιέχει το ζητούμενο αρχείο. |
|
-L --list-contents |
Παρουσιάζει τη λίστα των αρχείων ενός εγκατεστημένου πακέτου. |
|
-C --audit |
Εμφανίζει τα πακέτα των οποίων η εγκατάσταση δεν έχει ολοκληρωθεί και αν είναι δυνατόν εμφανίζει τις αιτίες. |
|
-c --contents |
Εμφανίζει τη λίστα των αρχείων του πακέτου που περιέχεται στο αρχείο filename (αντίστοιχη της -L). |
|
-I --info |
Εμφανίζει πληροφορίες για το πακέτο που περιέχεται στο αρχείο filename (αντίστοιχη της -s). |
Ακολουθούν μερικά παραδείγματα της χρήσης του dpkg.
Για να μάθουμε ποια πακέτα υπάρχουν στο Debian διαθέσιμα, των οποίων το όνομα αρχίζει με vim:
# dpkg -l 'vim*' Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed |/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad) ||/ Name Version Description +++-============================-============================-================= ii vim 6.1-320+1 Vi IMproved - enhanced vi editor pn vim-gtk <none> (no description available) pn vim-perl <none> (no description available) pn vim-python <none> (no description available) un vim-rt <none> (no description available) pn vim-ruby <none> (no description available) pn vim-scripts <none> (no description available) pn vim-tcl <none> (no description available) un vim-tiny <none> (no description available) un vim-tty <none> (no description available)
Αντίθετα, για μάθουμε ποιο πακέτο του vim είναι εγκατεστημένο στο σύστημά μας μπορούμε να χρησιμοποιήσουμε την εξής:
# dpkg -l |grep vim ii vim 6.1-320+1 Vi IMproved - enhanced vi editor
Για να διαγράψουμε το πακέτο elvis (ένας κειμενογράφος τύπου vi), μπορούμε να γράψουμε το εξής:
# dpkg -r elvis
Για να εγκαταστήσουμε ένα πακέτο:
# dpkg -i vim_4.5-3.deb
Μια χρήσιμη εντολή σε περίπτωση που έχουμε υποψίες για κάποια πακέτα, π.χ. μπορεί να μην έχουν εγκατασταθεί σωστά, ή μπορεί το σύστημα να μας έχει ειδοποιήσει ανάλογα, είναι ο συνδυασμός της configure και της --audit. Στην ουσία, ολοκληρώνει την εγκατάσταση όλων των πακέτων που δεν έχουν για κάποιο λόγο εγκατασταθεί πλήρως.
# dpkg --configure --audit
Η παρακάτω εντολή θα μας δώσει το εξής αποτέλεσμα (αν φυσικά είναι εγκατεστημένος ο vim):
# dpkg -s vim Package: vim Status: install ok installed Priority: optional Section: editors Installed-Size: 14848 Maintainer: Luca Filipozzi <lfilipoz@debian.org> Version: 1:6.1-320+1 Replaces: vim-rt, vim-tiny (<< 6.0), vim-perl (<< 6.0), vim-python (<< 6.0), vim-tcl (<< 6.0), vim-tty (<< 6.0), vim-gtk (<< 6.0) Provides: editor, vim-rt Depends: libc6 (>= 2.3.1-1), libgpmg1 (>= 1.19.6-1), libncurses5 (>= 5.3.20021109-1) Pre-Depends: dpkg (>= 1.6.8) Suggests: ctags Conflicts: vim-rt, vim-tiny (<< 6.0), vim-perl (<< 6.0), vim-python (<< 6.0), vim-tcl (<< 6.0), vim-tty (<< 6.0), vim-gtk (<< 6.0) Conffiles: /etc/vim/gvimrc b0b75c84c84ac6a3397316a6e0876f97 /etc/vim/vimrc 6ad2e5a7195e1d055392627a9fe42ec5 Description: Vi IMproved - enhanced vi editor Vim is an almost compatible version of the UNIX editor Vi. Many new features have been added: multi level undo, syntax highlighting, command line history, on-line help, filename completion, block operations, folding, unicode support, etc.
Το ίδιο αποτέλεσμα θα έχουμε αν εκτελέσουμε την εντολή:
# dpkg --info vim_4.5-3.deb
Εκτελώντας την εντολή dpkg με παράμετρο -L, θα μας τυπώσει τη λίστα αρχείων του vim:
# dpkg -L vim /. /usr /usr/bin /usr/bin/vim /usr/bin/vimtutor /usr/bin/xxd /usr/share /usr/share/man ...
Και το ίδιο αποτέλεσμα θα έχουμε με την εντολή:
# dpkg -c vim_4.5-3.deb
Αν υποθέσουμε ότι θέλουμε να μάθουμε σε ποιο (εγκατεστημένο) πακέτο βρίσκεται κάποιο συγκεκριμένο αρχείο, μπορούμε να χρησιμοποιήσουμε την εξής εντολή:
# dpkg -S /usr/bin/vim vim: /usr/bin/vim
Περισσότερες πληροφορίες για την εντολή dpkg μπορείτε να βρείτε στη σελίδα οδηγιών της.
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