Οι εγκατάσταση εφαρμογών στο Arch Linux όπως και σε άλλη διανομή, λειτουργεί με πακέτα τα οποία όταν γίνονται εγκατάσταση κουβαλάνε και κάποιες εξαρτήσεις μαζί τους. Ας δούμε πως κάνουμε απεγκατάσταση αυτά τα προγράμματα μαζί με τις εξαρτήσεις τους.
Όταν θέλουμε να απεγκαταστήσουμε κάποια στιγμή το συγκεκριμένο πακέτο οι εξαρτήσεις που είχαν έρθει μαζί με αυτό θα παραμείνουν, οι οποίες βέβαια δεν επηρεάζουν το σύστημα μας αν τις αφήσουμε ως έχουν, απλά πιάνουν χώρο στο δίσκο.
Ανακαλύπτοντας τις εξαρτήσεις ενός συγκεκριμένου πακέτο
Για να δούμε ποιες εξαρτήσεις φέρνει ένα πακέτο μαζί του θα χρησιμοποιήσουμε το pactree
. Για να το χρησιμοποιήσουμε θα πρέπει να εξασφαλίσουμε ότι το έχουμε εγκατεστημένο στο σύστημά μας:
sudo pacman -S pacman-contrib
Ας πάρουμε για παράδειγμα την περίπτωση που θέλουμε να δούμε ποιες εξαρτήσεις φέρει το lshw
(μια εφαρμογή πληροφοριών υλικού του υπολογιστή μας ) με τη βοήθεια του pactree:
pactree lshw
Εδώ βλέπουμε σε δεντροειδή μορφή (εξού και pactree από το package tree) τις εξαρτήσεις του lshw πακέτου.
Μπορούμε αν θέλουμε να δούμε τις εξαρτήσεις με μια πιο απλή μορφή, προσθέτοντας την παράμετρο -u στην εντολή:
pactree -u lshw
Επίσης αν θέλουμε μπορούμε να κάνουμε export την λίστα σε ένα αρχείο κειμένου πχ lshw.txt δίνοντας την παρακάτω εντολή:
pactree -u lshw > lshw.txt
Αφαιρώντας ένα πακέτο και όλες τις εξαρτήσεις του με τον pacman
Για να αφαιρέσουμε ένα πακέτο στο Arch με τον pacman ο πιο συνηθισμένος τρόπος είναι με την εντολή pacman -R (όνομα πακέτου)
αλλά όπως είπαμε και πιο πριν θα αφαιρέσει μόνο το συγκεκριμένο πακέτο χωρίς τις εξαρτήσεις του.
Αν θέλουμε όμως να αφαιρέσουμε ένα πακέτο με όλες τις εξαρτήσεις του καθώς και τα αντίγραφα ασφαλείας ρυθμίσεων του χρησιμοποιούμε την εντολή pacman -Rcns (όνομα πακέτου)
.
Στο δικό μας παράδειγμα για το πακέτο του lshw δίνουμε:
sudo pacman -Rcns lshw
όπου πατάμε enter
αν συμφωνούμε και βλέπουμε όπως στην παρακάτω εικόνα ότι το πακέτο lshw έχει αφαιρεθεί μαζί με όλες τις εξαρτήσεις του.
Αφαιρώντας πακέτα που δεν εξαρτώνται από άλλα πακέτα
Όπως αναφέραμε προηγουμένως όταν αφαιρούμε πακέτα με την εντολή pacman -R οι εξαρτήσεις του παραμένουν στον δίσκο μας, αν θέλουμε να δούμε πόσα και ποια είναι όλα αυτά τα “ορφανά” πακέτα χρησιμοποιούμε την εντολή :
pacman -Qdtq
Αυτά τα «ορφανά» πακέτα συνήθως είναι υποστηρικτικές βιβλιοθήκες που χρειάστηκαν από κάποιες εφαρμογές για να μεταγλωτιστούν στο σύστημά μας.
Στο δικό μου σύστημα βλέπουμε υπάρχουν 2 ορφανά πακέτα, αν θέλουμε να τα αφαιρέσουμε όλα εύκολα δίνουμε την συνδυαστική εντολή :
sudo pacman -R $(pacman -Qdtq)
Πατάμε πάλι enter και βλέπουμε όλα τα ορφανά πακέτα να έχουν αφαιρεθεί. Στο μέλλον, ίσως να δούμε να ξαναεμφανίζονται αυτά τα πακέτα μιας και μπορεί όπως είπαμε να είναι υποστηρικτικές για την μεταγλώτιση κάποιας εφαρμογής που κατεβάζουμε π.χ. από το AUR .
Έτσι μάθαμε λοιπόν σήμερα πως απεγκαθιστούμε ένα πακέτο με όλες τις εξαρτήσεις του με τη βοήθεια του pacman manager στο Arch linux και σε όλα τα παράγωγα του .