ΕΛ/ΛΑΚ | creativecommons.gr | mycontent.ellak.gr |
freedom

Νέα από τον πλανήτη…planet.ellak.gr: Πως βλέπω ποια αποθετήρια λογισμικού έχω στο σύστημά μου

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

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

Το αποτέλεσμα είναι όταν συμβεί (γιατί το πρόβλημα δεν είναι αν θα συμβεί σε εμάς αλλά το πότε θα συμβεί) μια διένεξη λογισμικού καθώς πάμε να το εγκαταστήσουμε, σηκώνουμε τα χέρια ψηλά. Αυτοί που δεν τα παρατάνε και ψάχνουν γιατί δημιουργήθηκε η διένεξη, συνήθως θα απευθυνθούν σε κάποια ελληνική κοινότητα για βοήθεια, όπως π.χ. η Ελληνική Κοινότητα Ubuntu είτε στο Facebook είτε στο Forum.

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

Πού βρίσκονται οι εγγραφές για τα αποθετήρια

Οι εγγραφές που γίνονται όταν προσθέτουμε κάποιο αποθετήριο πηγαίνουν στον φάκελο :

1
/etc/apt/

Οι προεπιλεγμένες από το σύστημα, είναι γραμμένες στο αρχείο:

1
/etc/apt/source.list

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

1
/etc/apt/sources.list.d

Ενώ, αυτά που είναι ενεργοποιημένα, κάνουν μια εγγραφή στον φάκελο:

1
/var/lib/apt/lists/

Πως βλέπουμε τα αποθετήρια από το γραφικό περιβάλλον

Αν θέλουμε να δούμε μέσα από γραφικό περιβάλλον ποια αποθετήρια υπάρχουν και ποια είναι ενεργά για εγκατάσταση λογισμικών και ενημερώσεων, τότε ανοίγουμε το Λογισμικό & Ενημερώσεις και πάμε στην καρτέλα, άλλο λογισμικό. Εναλλακτικά, μπορούμε να ανοίξουμε το Κέντρο Λογισμικού > Λογισμικό & Ενημερώσεις.

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

Πως βλέπουμε τα αποθετήρια από το τερματικό

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

Δυστυχώς δεν υπάρχει μια εντολή (ή δεν το έχω συναντήσει) που να δείχνει ποια είναι τα αποθετήρια που έχουμε και ποια από αυτά είναι ενεργά.

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

Τα συστατικά μας είναι η εντολή Grep, με παραμέτρους από Perl regular expression, και φυσικά τα αρχεία από τους φακέλους όπου βρίσκονται τα αποθετήρια.

Η τελική μορφή της εντολής είναι :

1
grep -Po "(?<=^deb\s).*?(?=#|$)" /etc/apt/{sources.list,sources.list.d/*.list} | while read ENTRY ; do echo $ENTRY; done

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

Δηλαδή μας εμφανίζει (απο αριστερά προς δεξιά) το αρχείο της εγγραφής και στην συνέχεια το αποθετήριο π.χ.

1
/etc/apt/sources.list:    http://archive.ubuntu.com/ubuntu zesty main restricted

Ο τρόπος που το κάνει αυτή η εντολή, σε γενικές γραμμές είναι:

  • χρησιμοποιεί το grep με την παράμετρο -Po (για να εκμεταλλευτεί τα regular expression της Perl)
  • ψάχνει μέσα στα αρχεία των φακέλων του /etc/apt/
  • για εγγραφές διευθύνσεων των αποθετηρίων ενώ ταυτόχρονα παραλείπει καθετί που δεν μας αφορά (π.χ. σχόλια κλπ)
  • και το κάνει αυτό σε κάθε αρχείο που συναντάει και στο τέλος μας εμφανίζει μια λίστα.

Όπως είπα και πριν, δεν πρόκειται να το θυμόμαστε αυτή την εντολή οπότε καλό είναι να ανοίξουμε ένα αρχείο απλού κειμένου και να το αντιγράψουμε εκεί. Έπειτα μπορούμε να το κάνουμε εκτελέσιμη εφαρμογή και να είναι διαθέσιμο ως προγραμματάκι στο σύστημά μας. Το τρόπο που το κάνουμε αυτό τον είδαμε στο άρθρο «Πως φτιάχνουμε δικές μας εντολές»

Επίλογος

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

Πηγή άρθρου: https://planet.ellak.gr/ Cerebrux

Leave a Comment

Social Media Auto Publish Powered By : XYZScripts.com