Το portage έρχεται με κάποια επιπλέον εργαλεία που μπορεί να κάνουν την εμπειρία με το Gentoo ακόμη καλύτερη. Διαβάστε παρακάτω για να ανακαλύψετε πως θα χρησιμοποιήσετε το dispatch-conf και άλλα εργαλεία. 2 2010-10-04
dispatch-conf

Το dispatch-conf είναι ένα εργαλείο που βοηθάει στην συγχώνευση των αρχείων ._cfg0000_<name>. Τα ._cfg0000_<name> αρχεία δημιουργούνται από το portage όταν θέλει να γράψει πάνω από ένα αρχείο ή φάκελο που προστατεύονται από την μεταβλητή CONFIG_PROTECT.

Χρησιμοποιώντας το dispatch-conf, μπορείτε να συγχωνεύσετε τις αλλαγές στα αρχεία ρυθμίσεων παρακολουθώντας ταυτόχρονα όλες τις αλλαγές. Το dispatch-conf αποθηκεύει τις διαφορές μεταξύ των αρχείων ρυθμίσεων ως διορθώσεις (patches) ή χρησιμοποιώντας το σύστημα αναθεωρήσεων RCS. Αυτό σημαίνει ότι αν κάνετε κάποιο λάθος όταν ενημερώνετε ένα αρχείο ρυθμίσεων, μπορείτε να επαναφέρετε μια προηγούμενη έκδοση του αρχείου ρυθμίσεων οποιαδήποτε στιγμή.

Όταν χρησιμοποιείτε το dispatch-conf, μπορείτε να ζητήσετε να διατηρηθεί το αρχείο ρυθμίσεων ως έχει, να επεξεργαστείτε το τρέχον ή να συγχωνεύσετε τις αλλαγές διαδραστικά. Το dispatch-conf έχει μερικά επιπλέον χρήσιμα χαρακτηριστικά:

Σιγουρευτείτε πρώτα ότι επεξεργαστήκατε το αρχείο /etc/dispatch-conf.conf και δημιουργήσατε τον κατάλογο στον οποίο αναφέρεται η μεταβλητή περιβάλλοντος archive-dir.

# dispatch-conf

Όταν εκτελείτε το dispatch-conf, θα περνάτε από κάθε ενημερωμένο αρχείο ρυθμίσεων, ένα την φορά. Πατήστε u για να ενημερώσετε (αντικαταστήσετε) το τρέχον αρχείο ρυθμίσεων με το νέο και να συνεχίσετε στο επόμενο αρχείο. Πατήστε z για να διαγράψετε το νέο αρχείο ρυθμίσεων και να συνεχίσετε στο επόμενο αρχείο. Όταν όλα τα αρχεία ρυθμίσεων έχουν τακτοποιηθεί, το dispatch-conf θα τερματίσει. Μπορείτε επίσης να πατήσετε q για να το τερματίσετε οποιαδήποτε στιγμή.

Για περισσότερες πληροφορίες, δείτε τη σελίδα man του dispatch-conf. Σας πληροφορεί για το πως μπορείτε να συγχωνεύσετε τα τωρινά και τα καινούρια αρχεία ρυθμίσεων διαδραστικά, να επεξεργαστείτε τα νέα αρχεία ρυθμίσεων, να εξετάσετε τις διαφορές μεταξύ των αρχείων, και ακόμη περισσότερα.

$ man dispatch-conf
etc-update

Μπορείτε επίσης να χρησιμοποιήσετε το etc-update για να συγχωνεύσετε τα αρχεία ρυθμίσεων. Δεν είναι το ίδιο απλό να το χρησιμοποιήσετε όσο το dispatch-conf, ούτε το ίδιο πλήρες στα χαρακτηριστικά του, αλλά παρέχει μια διαδραστική εγκατάσταση συγχώνευσης και μπορεί να συγχωνεύει αυτόματα τις ασήμαντες αλλαγές.

Ωστόσο, αντίθετα με το dispatch-conf, το etc-updateδεν διατηρεί τις παλιές εκδόσεις των αρχείων ρυθμίσεων. Μόλις ενημερώσετε ένα αρχείο, η παλιά έκδοση εξαφανίζεται μια και καλή! Οπότε να είστε πολύ προσεκτικοί, καθώς η χρήση του etc-update είναι σημαντικά λιγότερο ασφαλές από ότι η χρήση του dispatch-conf.

# etc-update

Μετά τη συγχώνευση-εγκατάσταση των ξεκάθαρων αλλαγών, θα εμφανιστεί μια λίστα με τα προστατευμένα αρχεία που είναι σε κατάσταση αναμονής για ενημέρωση. Στο κάτω μέρος θα εμφανίζονται οι πιθανές επιλογές:

Please select a file to edit by entering the corresponding number.
              (-1 to exit) (-3 to auto merge all remaining files)
                           (-5 to auto-merge AND not use 'mv -i'):

Αν εισάγετε -1, το etc-update θα τερματίσει και θα διακόψει οποιεσδήποτε αλλαγές. Αν εισάγετε -3 ή -5, όλα τα αρχεία ρυθμίσεων που εμφανίζονται στη λίστα θα αντικατασταθούν με τις νεότερες εκδόσεις. Είναι λοιπόν ιδιαίτερα σημαντικό να επιλέξετε πρώτα τα αρχεία ρυθμίσεων που δεν πρέπει να ενημερωθούν αυτόματα. Αυτό γίνεται απλά με την εισαγωγή του αριθμού που εμφανίζεται στα αριστερά του αρχείου ρυθμίσεων.

Για παράδειγμα, επιλέγουμε το αρχείο ρυθμίσεων /etc/pear.conf:

Beginning of differences between /etc/pear.conf and /etc/._cfg0000_pear.conf
[...]
End of differences between /etc/pear.conf and /etc/._cfg0000_pear.conf
1) Replace original with update
2) Delete update, keeping original as is
3) Interactively merge original with update
4) Show differences again

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

Δεν έχει νόημα σε αυτό το σημείο να δούμε με περισσότερες λεπτομέρειες τη διαδραστική συγχώνευση-εγκατάσταση. Για λόγους πληρότητας, θα δούμε μια λίστα με τις πιθανές εντολές που μπορείτε να χρησιμοποιήσετε κατά τη διάρκεια της διαδραστικής διαδικασίας συγχώνευσης-εγκατάστασης των δύο αρχείων. Βλέπετε δύο γραμμές (την αρχική και τη νέα προτεινόμενη) και ένα σύμβολο προτροπής (prompt) στο οποίο εισάγετε μία από τις ακόλουθες εντολές:

ed:     Edit then use both versions, each decorated with a header.
eb:     Edit then use both versions.
el:     Edit then use the left version.
er:     Edit then use the right version.
e:      Edit a new version.
l:      Use the left version.
r:      Use the right version.
s:      Silently include common lines.
v:      Verbosely include common lines.
q:      Quit.

Όταν τελειώσετε με την ενημέρωση των σημαντικότερων αρχείων ρυθμίσεων, μπορείτε να προχωρήσετε στην αυτόματη ενημέρωση των υπολοίπων. Το etc-update θα τερματίσει όταν δεν βρει περισσότερα αρχεία ρυθμίσεων προς ενημέρωση.

quickpkg

Με το quickpkg μπορείτε να δημιουργήσετε αρχεία (archives) των πακέτων που είναι ήδη εγκατεστημένα στο σύστημά σας. Τα αρχεία αυτά μπορούν να χρησιμοποιηθούν ως πακέτα προ-κτισίματος (prebuilt packages). Η εκτέλεση του quickpkg είναι απλή διαδικασία: απλά προσθέστε τα ονόματα των πακέτων για τα οποία θέλετε να δημιουργήσετε τα αρχεία.

Για παράδειγμα, για να δημιουργήσετε αρχεία των curl, orange, και procps:

# quickpkg curl orange procps

Τα πακέτα προ-κτισίματος αποθηκεύονται στον κατάλογο $PKGDIR (εξ' ορισμού /usr/portage/packages/). Αυτά τα πακέτα τοποθετούνται στον κατάλογο $PKGDIR/<κατηγορία>.