Hits : 2614
http://paco.sourceforge.net/doc/README
Paco is a source code package organizer for Unix/Linux systems.
latest version: 2.0.7 (30/08/2009)
Ο καλύτερος τρόπος για να εγκαταστήσεις ένα πρόγραμμα και κυρίως μία υπηρεσία είναι όταν
μεταγλωττίζεις τον πηγαίο κώδικα της εφαρμογής σύμφωνα με τις ανάγκες που πρέπει να καλύψεις.
Δυστυχώς όμως όταν πραγματοποιείς την εγκατάσταση ενός προγράμματος από τον πηγαίο κώδικά του,
δεν γνωρίζεις ποια είναι τα ακριβή αρχεία που εγκαταστήθηκαν στο μηχάνημά σου και που ακριβώς πέρασαν.
Το λογισμικό paco (PACkage Organizer) καταγράφει (wraps) το αποτέλεσμα (τις αλλαγές στο σύστημα αρχείων)
που προκύπτει από την εγκατάσταση ενός προγράμματος από τον πηγαίο του κώδικα. Τα περισσότερα
προγράμματα που γίνονται εγκατάσταση από πηγαίο κώδικα πραγματοποιούν την εγκατάσταση στο σύστημα
αρχείων με την εντολή make install. Το λογισμικό paco έχει την δυνατότητα καταγραφής σε μορφή logs
όλων των αρχείων που γίνονται εγκατάσταση καθώς και την ακριβή διαδρομή τους.
Μερικές από τις δυνατότητες που έχει είναι οι εξής:
Κι εδώ γινόμαστε διαχειριστές:
Και για να καταγράψουμε και την εγκατάσταση του paco:
Με τις παραπάνω εντολές έχουμε εγκαταστήσει το paco στον υπολογιστή μας.
ΥΠΟΣΗΜΕΙΩΣΗ:
Η επιλογή disable-gpaco ΔΕΝ μας κάνει εγκατάσταση του gui εργαλείου του paco.
Ο λόγος που ΔΕΝ το χρησιμοποιώ είναι γιατί θέλει πλήθος από gtk libraries.
Default Path of paco logs: /var/log/paco/
Για να δούμε εάν δουλεύει μπορούμε (και καλό είναι) να το χρησιμοποιήσουμε
στην μόλις εγκατεστημένη εφαρμογή μας, δλδ το ίδιο το paco.
Ως διαχειριστές πληκτρολογούμε:
Για να ελέγξουμε ότι η εγκατάσταση πραγματοποιήθηκε και πλέον έχει γίνει καταγραφή
όλων των αρχείων του προγράμματος πληκτρολογούμε τις παρακάτω εντολές:
Το πρόγραμμα paco διατηρεί μία βάση την οποία πρέπει να ενημερώνουμε συχνά (τουλάχιστον ανά 7 ημέρες).
Με αυτό τον τρόπο πραγματοποιείται ο συγχρονισμός του αρχείου καταγραφής με το σύστημα αρχείων για
το πρόγραμμα που έχουμε ήδη καταγράψει. Εάν για παράδειγμα ένα αρχείο έχει συμπιεστεί (bzip / gzip) θα το
εντοπίσει επίσης. Η εντολή για να πραγματοποιήσουμε update για όλα τα logs (δλδ για όλα τα προγράμματα
που έχουμε καταγράψει) είναι η εξής:
Επίσης είναι αρκετά χρήσιμο να μπει ένα cronjob ώστε να γίνεται αυτόματα:
ή εναλλακτικά:
Φυσικά ο λόγος που έχουμε εγκαταστήσει το paco είναι για να καταγράφουμε τις εγκαταστάσεις μας
και να είμαστε σε θέση να βλέπουμε και να ενημερώνουμε ανά πάσα στιγμή τυχόν αλλαγές. Για να μπορέσουμε
να δούμε όλα τα προγράμματα που έχουμε καταγράψει πληκτρολογούμε:
Με αυτό τον τρόπο θα δούμε το σύνολο των προγραμμάτων σε λίστα. Εάν επιθυμούμε να δούμε σε μία μονο στήλη
τα αποτελέσματα της παραπάνω εντολής τότε χρειάζεται να πληκτρολογήσουμε το εξής:
Από τα πιο χρήσιμα και λειτουργικά options που έχει το paco είναι ότι μπορούμε να ταξινομήσουμε την λίστα με το λογισμικό που έχουμε εγκαταστήσει
με βάση την ημερομηνία (και εάν θέλουμε και την ώρα). Έτσι εάν χρησιμοποιούμε προγράμματα από κάποιο version control ή δεν έχουμε καταγράψει
το πρόγραμμα με βάση την έκδοσή του, μπορούμε εύκολα να δούμε με μια ματιά πότε πραγματοποιήσαμε την εγκατάσταση του προγράμματος.
Για να το κάνουμε αυτό, πολύ απλά γράφουμε:
Το αποτέλεσμα είναι κάτι σαν το παρακάτω:
... 28-Aug-2009 08:01 xarchiver.git 28-Aug-2009 15:38 mirage.svn 04-Sep-2009 10:51 mousepad-nick_0_3 07-Sep-2009 08:52 ristretto.git 07-Sep-2009 09:07 glib-2.21.6 07-Sep-2009 09:09 xfce4-clipman-plugin.git 07-Sep-2009 09:21 libsoup.git 07-Sep-2009 09:26 midori.git 07-Sep-2009 10:35 pidgin-2.6.2 08-Sep-2009 09:23 paco-2.0.7 ...
Μέχρι στιγμής έχουμε δει πως μπορούμε να συγχρονίσουμε την βάση των εγκατεστημένων προγραμμάτων
και πως να δούμε όλα τα προγράμματα που έχουμε εγκαταστήσει. Φυσικά το πιο σημαντικό από όλα είναι
να εντοπίσουμε όλα τα αρχεία τα οποία εγκαταστήθηκαν για ένα συγκεκριμένο πρόγραμμα. Για να γίνει αυτό
χρειάζεται να πληκτρολογήσουμε την παρακάτω εντολή:
Η παραπάνω εντολή θα μας εμφανίσει όλα τα αρχεία που έχουμε καταγράψει κατά την εγκατάσταση. Δηλώνει όμως ότι
έχουμε εγκατεστημένο μόνο μία έκδοση του παραπάνω προγράμματος. Πιο σωστά πρέπει να γράψουμε το εξής:
Εάν θέλουμε να δούμε πόσα αρχεία έχουμε εγκαταστήσει για ένα πρόγραμμα:
Εάν θέλουμε να δούμε ποια είναι η έκδοση του προγράμματος που έχουμε εγκαταστήσει ή εάν έχουμε εγκαταστήσει και
καταγράψει παραπάνω από 2 εκδόσεις χρειάζεται να κάνουμε expand το όνομα από την βάση. Αυτό γίνεται εύκολα ως εξής:
Εάν θέλουμε να δούμε μήπως υπάρχει κάποιο αρχείο το οποίο «μοιραζόμαστε» με ένα άλλο πρόγραμμα:
και γενικά εάν θέλουμε να δούμε για ένα πρόγραμμα το αρχείο το οποίο «μοιραζόμαστε»
με άλλο πρόγραμμα:
Και τελικά εάν θέλουμε να δούμε και το μέγεθος του αρχείου που «μοιραζόμαστε»:
Παρακάτω θα περιγράψω μερικά από τα πιο σημαντικά option του paco.
Ημερομηνία εγκατάστασης:
Ημερομηνία και ώρα:
Μέγεθος που έχουν καταλάβει τα εγκαταστημένα αρχεία:
Μέγεθος κάθε αρχείου:
Πληροφορίες εγκατεστημένου προγράμματος:
ή εάν υπάρχουν παραπάνω από μία εκδόσεις:
Πληροφορίες ρύθμισης (είναι το configuration από τον πηγαίο κώδικα):
Μετά από κάθε update της database του paco, μπορεί να εντοπιστεί κάποιο αρχείο να λείπει (πιθανά κάποιο λανθασμένο rm):
Με την παρακάτω εντολή βλέπουμε τον αριθμό που λείπουν:
βλέπουμε λείπει ένα αρχείο, για να δούμε ποιο:
Για να γίνει η καταγραφή και εγκατάσταση ενός προγράμματος χρειάζεται να
ενεργοποιήσουμε την παράμετρο -l (log) στο paco. Εάν θέλουμε να δώσουμε
εμείς το όνομα της καταγραφής στην βάση του paco τότε χρησιμοποιούμε την παράμετρο
-p (package) και στην συνέχεια το όνομα που θέλουμε. Εάν θέλουμε να πάρει το όνομα
του καταλόγου τότε χρειάζεται να χρησιμοποιήσουμε την παράμετρο -D (dirname).
Για να γίνουνε όλα αυτά κατανοητά δείτε τα παρακάτω παραδείγματα:
όπου θα κάνει την καταγραφή με όνομα αρχείου open-ldap v2.3.39
ή εναλλακτικά:
όπου θα γίνει η καταγραφή με όνομα: openldap-2.3.39
Για να απεγκαταστήσουμε ένα πρόγραμμα και ταυτόχρονα να διαγραφούν όλα τα αρχεία
τα οποία καταγράφτηκαν κατά την εγκατάσταση πληκτρολογούμε:
ΠΡΟΣΟΧΗ:
Εάν υπάρχουν αρχεία τα οποία χρησιμοποιούνται από άλλο πρόγραμμα και έχουν καταγραφεί μέσω του paco ΔΕΝ
θα διαγραφούν και αυτά. Οπότε το έταιρο πρόγραμμά μας να συνεχίσει να λειτουργεί. Υπάρχει βέβαια παράμετρος
που διαγράφει και τα share files αλλά καλύτερα να την ψάξει κανείς μόνος του.
Εάν για οποιοδήποτε λόγο θέλει κάποιος να διαγράψει το αρχείο καταγραφής μίας εγκατάστασης από την βάση που
χρησιμοποιεί το πρόγραμμα paco τότε υπάρχει η παράμετρος -U (unlog) και παράδειγμα χρήσης είναι το εξής:
Όταν έχουμε εγκαταστήσει ένα πρόγραμμα χωρίς την χρήση του paco
και θέλουμε να περάσουμε ένα νέο πρόγραμμα στην βάση του paco τότε
απλά τρέχουμε την εντολή find. Παράδειγμα:
οπότε στην συνέχεια:
Πως μπορεί κανείς να κάνει αναβάθμιση του λογισμικού paco με το πρόγραμμα paco !
Κατεβάζουμε την νέα έκδοση του paco, έστω λοιπόν ότι έχουμε την έκδοση paco-2.0.3
και θέλουμε να αναβαθμίσουμε στην έκδοση 2.0.7:
εύκολο !
Έαν έχετε κάνει την εγκατάσταση του paco με την επιλογή στο configuration enable-scripts τότε
έχετε εγκαταστήσει το pacoball. Το pacoball μας δίνει την δυνατότητα να πάρουμε ένα αντίγραφο της
εγκατάστασής από ένα πρόγραμμα που καταγράψαμε και εγκαταστήσαμε μέσω του paco. Αυτό μας δίνει
την ευκολία και του backup αλλά και την άμεση δημιουργία ενός πακέτου που μπορεί να χρησιμοποιηθεί
σε παρόμοια εγκατεστημένη διανομή (ειδικά σε συστήματα mirroring ή production που δεν έχουν compiler
και τα πάντα γίνονται στο development μηχάνημα !!!). Παράδειγμα χρήσης είναι το εξής:
$ paco -x rsnapshot rsnapshot-1.3.0 $ paco -f rsnapshot rsnapshot-1.3.0: /opt/dnl/rsnapshot-1.3.0/rsnapshot.1 /usr/local/bin/rsnapshot /usr/local/bin/rsnapshot-diff /usr/local/etc/rsnapshot.conf.default /usr/local/share/man/man1/rsnapshot.1 $ pacoball -b rsnapshot-1.3.0 $ ls -l rsnapshot-1.3.0.paco.tar.bz2 -rw-r--r-- 1 ebal ebal 53988 2007-12-11 23:19 rsnapshot-1.3.0.paco.tar.bz2 $ tar jtvf rsnapshot-1.3.0.paco.tar.bz2 -rw-r--r-- ebal/ebal 37328 2007-07-14 23:39 opt/dnl/rsnapshot-1.3.0/rsnapshot.1 -rwxr-xr-x root/root 200992 2007-07-14 23:39 usr/local/bin/rsnapshot -rwxr-xr-x root/root 7456 2007-07-14 23:39 usr/local/bin/rsnapshot-diff -rw-r--r-- root/root 7051 2007-07-14 23:39 usr/local/etc/rsnapshot.conf.default -rw-r--r-- root/root 37328 2007-07-14 23:39 usr/local/share/man/man1/rsnapshot.1 -rw-r--r-- root/root 626 2007-12-09 01:02 var/log/paco/rsnapshot-1.3.0
Με την εντολή superapaco μπορείς να καταγράψεις την εγκατάσταση ενός
ώστε τα αρχεία τους να προστεθούν στην βάση δεδομένων του paco. Είναι μία καλή λύση
ώστε να μπορούμε να εντοπίσουμε ένα αρχείο το οποίο μπορεί να είναι share από διαφορετικά προγράμματα.
Απλή η χρήση του :
και βλέπουμε ότι ενημερώθηκε η βάση ως: