Re: Εγκατάσταση προγραμμάτων με μεταγλώττιση του πηγαίου κώδικα και... απεγκατάσταση!
Konstantinos Togias
ktogias at math.upatras.gr
Wed Mar 12 22:10:48 GMT 2008
2008/3/12 Nikos Alexandris <nikos.alexandris at uranus.uni-freiburg.de>:
> Κάμποσο καιρό παιδεύομαι να μάθω τα μυστικά της εγκατάστασης
> προγραμμάτων από τον πηγαίο κώδικα. Αν έχει κάποιος έμπειρος χρόνο ας
> διορθώσει/ συμπληρώσει τις παρακάτω πληροφορίες απλά για την σωστή μας
> ενημέρωση.
>
> Εν τάχει...
>
> Βασική ορολογία:
>
> Πηγαίος κώδικας (source code)=γλώσσα υψηλού επιπέδου, εύκολα κατανοητή
> από τον άνθρωπο
>
> Μεταγλώττιση (compilation)="μετάφραση" σε γλώσσα μηχανής... δηλαδή σε
> δυαδικά ψηφία (0 και 1)
>
> Εγκατάσταση (install)=ουσιαστικά τοποθέτηση των επιμέρους προγραμμάτων
> στους "σωστούς" καταλόγους, διασυνδέσεις μεταξύ
> αρχείων-προγραμμάτων-βιβλιοθηκών κ.λπ.
... έτσι ώστε να είναι λειτουργικά.
> Η διαδικασία:
>
> Η διαδικασία είναι, συνήθως, η ίδια και αποτελείται από 3 βήματα: 1.
> ρύθμιση (configuration) διαφόρων παραμέτρων για την μεταγλώττιση, 2. η
> ίδια η μεταγλώττιση (compilation) και 3. η εγκατάσταση (install).
>
> Το πρώτο βήμα απαιτεί προσοχή διότι πολλές φορές πρέπει να οριστούν
> "χειροκίνητα" πολλές παράμετροι: π.χ. σε ποιον κατάλογο βρίσκονται οι
> τάδε βιβλιοθήκες, αν είναι επιθυμητή η υποστήριξη για το τάδε
> πακέτο/οδηγό... κ.λπ. κ.λπ. κ.λπ.
>
> .
>
> Αυτό που πάντα με βασάνιζε αλλά ποτέ δεν έψαξα είναι η απεγκατάσταση. Σε
> μερικά πακέτα υπάρχει και κάποιο αρχείο με οδηγίες για "uninstall" και
> βάσει αυτών μπορούν να διαγραφούν τα προγράμματα/ αρχεία που έχουν
> εγκατασταθεί.
>
> Τι γίνεται όμως όταν δεν υπάρχει κάτι τέτοιο. Και, από την μικρή μου
> εμπειρία, πάρα πολλά πακέτα δεν προσφέρουν αυτές τις οδηγίες ή κάποιο
> "προγραμματάκι" για την απεγκατάσταση. Τι κάνει κανείς σε αυτή την
> περίπτωση;
>
> Κάπου διάβασα ότι αν τελικά διαπιστωθεί ότι δεν υπάρχει η δυνατότητα για
> αυτόματη απεγκατάσταση, τότε... "μπορείς ν' αρχίσεις να τραβάς τα μαλλιά
> σου"!
>
> Η διαδικασία θα πρέπει να γίνει βήμα-προς-βήμα διαγραφή όλων των
> σχετικών αρχείων που έχουν εγκατασταθεί στο σύστημα!
>
> Ιδέες, προτάσεις, εναλλακτικές στρατηγικές για λιγότερο μπλέξιμο;
>
Πολλές φορές αρκεί ένα
make uninstall
από τον κατάλογο που βρίσκεται ο πηγαίος κώδικας. Έστω και αν δεν
αναφέρεται ρητά στο readme, πολλές φορές έχει οριστεί διαδικασία
uninstall στο makefile, που απλά διαγράφει από το σύστημα τα αρχεία
που αντιγράφηκαν με το make install.
Στην περίπτωση που το πρόγραμμα αποτελείται από ένα μόνο εκτελέσιμο
δυαδικό αρχείο (αρκετά συχνή περίπτωση), τότε είναι εύκολη και η
διαγραφή του αρχείου αυτού από το σύστημα με το χέρι (πχ. με rm
/usr/local/bin/lala). Το ίδιο ακριβώς θα έκανε και ένα uninstall
script.
Τέλος από την εμπειρία μου σπάνια έχει χρειαστεί να απεγκαταστήσω
κάποιο πρόγραμμα που εγκατέστησα σε linux. Στο linux δεν υπάρχουν
registries και άλλα τέτοια περίεργα πράγματα που κάνουν άλλα
λειτουργικά πιο αργά και ασταθή όταν αυξάνεται ο αριθμός των
εγκατεστημένων εφαρμογών. Οι μόνοι βασικοί λόγοι να ενδιαφερθεί
κάποιος για uninstall κάποιου προγράμματος είναι είτε για να
ελευθερώσει χώρο στο δίσκο, είτε για ασφάλεια να μην θέλει να έχει
εκτελέσιμα που δεν χρειάζονται και θα μπορούσαν να χρησιμοποιηθούν από
έναν υποτιθέμενο εισβολέα.
> Ευχαριστώ,
>
> Νίκος
>
>
>
> --
> Ubuntu-gr mailing list
> Ubuntu-gr at lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-gr
>
--
Konstantinos Togias
Dipl.-Math., M.Sc.
Research Academic Computer Technology Institute
More information about the Ubuntu-gr
mailing list