Εδώ υπάρχει ένα παράδειγμα από ένα φανταστικό πρόγραμμα και το πακέτο του:

Σχετικά έγγραφα
Προγραμματισμός Διαχείρισης Συστημάτων ΙΙ

Open eclass Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης

Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης eclass 1.7. Οδηγίες Αναβάθμισης (Upgrade) Αθήνα, 16 Μαρτίου Εισαγωγή

Εγκατάσταση αρχείων βιβλιοθήκης VHOPE και VHOPE

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Πλατφόρµα Ασύγχρονης Τηλεκπαίδευσης eclass 2.0. Οδηγίες Αναβάθµισης (Upgrade) Αθήνα, 1 Ιουνίου Εισαγωγή

Εγκατάσταση και δοκιμή προγραμμάτων για προγραμματισμό στη C

Εγκατάσταση Joomla 1. Στο Π.Σ.Δ. ( 2. Τοπικά 3. Σε δωρεάν Server

Σύντομη περιγραφή 5. Για να ξεκινήσετε 6. Οι οθόνες του προγράμματος 8. Εγκατάσταση προγράμματος 6 Δημιουργία κωδικών χρήστη 7

Εισαγωγή...1 Το κοινό αυτού του βιβλίου...2 Οι συμβάσεις που χρησιμοποιούνται στο βιβλίο...3

Μπορείτε τα δείτε βιντεάκι με τη διαδικασία εδώ:

Λειτουργικό Σύστημα Linux ~ Μια σύντομη εισαγωγή

Μια καλή επιλογή θα ήταν (χωρίζοντας τις λέξεις με παύλα -) ή

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές

Εγχειρίδιο συμπίεσης / αποσυμπίεσης αρχείων με το λο ογισμικό WinRAR Υπηρεσία Πληροφορικών Συστημάτων Τομέας Συστημάτων ΥΠΣ ΕΔ/70 21/11/2012

1. Βασικές Λειτουργίες των Windows

Εφαρμογές Πληροφορικής

Εγχειρίδιο του επεξεργαστή ρυθμίσεων

Προγραμματισμός Διαχείρισης Συστημάτων ΙΙ

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή

Διαχειριστικό σύστημα ονομάτων χώρου

Academia Financials Γενική Λογιστική ΠΕΡΙΕΧΟΜΕΝΑ

Περιεχόμενα. Λίγα λόγια από το συγγραφέα Windows Vista Επιφάνεια εργασίας Γραμμή εργασιών... 31

Tο περιβάλλον Code::Blocks

Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ

Ενηµερώσεις λογισµικού Οδηγός χρήσης

Προγραμματιστικό Περιβάλλον

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ

Εργασία-3: Παρουσίαση Εργασίας. Ομάδα Α. Προετοιμασία Αναφοράς

Μάθημα 4ο. Προγράμματα

6 Εισαγωγή στο Wordpress 3.x

Αναζήτηση στον Ιστό. Πληκτρολόγηση του URL: στο πλαίσιο αναζήτησης του Mozilla Firefox. Enter ή κλικ στο Αναζήτηση

29 Μαρτίου Οδηγός Χρήσης VPN. Πανεπιστήμιο Κύπρου Τμήμα Πληροφορικής. Ομάδα Τεχνικής Υποστήριξης Υπεύθυνος: Ανδρέας Κασενίδης. Έκδοση 4.

GreekLUG Ελεύθερο Λογισμικό & Λογισμικό Ανοικτού Κώδικα

Οδηγίες Λειτουργίας. Ιστοσελίδα εφαρμογών

Εργαστηριακή εισήγηση. «Ψηφιακή τάξη και Linux Ubuntu: ξεκίνημα, χρήση, τεκμηρίωση, πλεονεκτήματα»

Βασική εγκατάσταση Asterisk σε Linux

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Οδηγίες Λειτουργίας Ιστοσελίδα εφαρμογών

Οδηγός αναβάθμισης των Windows 8 βήμα προς βήμα ΕΜΠΙΣΤΕΥΤ ΚΟ 1/53

Λειτουργικά Συστήματα Ι - Εργαστήριο

Ηλεκτρολογικό Σχέδιο στο AutoCAD

Ενηµερώσεις λογισµικού Οδηγός χρήσης

Συνοπτικός οδηγός χρήσης της πλατφόρμας ασύγχρονης τηλεεκπαίδευσης. Καθηγητή

Οδηγός Χρήσης για Mac

Unity Editor #02 Κεντρικό Μενού: File, Build Settings και Build & Run

Βρίγκας Μιχαήλ Α.Μ.744 Μπράχος Χ. Ευάγγελος Α.Μ.795

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

Οδηγίες για την εγκατάσταση του πακέτου Cygwin

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης

MANAGER SIDE BAR. Μία άλλη λειτουργία είναι το ξυπνητήρι. Μπορείτε να ορίσετε τον χρόνο υπενθύμισης. Μετά την λήξη του χρόνου θα ειδοποιηθείτε ηχητικά

Δημιουργία ιστοσελίδας με. Wordpress - Βασικές λειτουργίες

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Tο περιβάλλον Code::Blocks

Vodafone Business Connect

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Boot Camp Οδηγός εγκατάστασης και διαμόρφωσης

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

Λειτουργικά Συστήματα (Λ/Σ)

Διαδικασία εγκατάστασης και ρύθμισης AUA-VPN για Mac OS X (10.4+)

Αλλαγή προσανατολισμού εγγράφου σε κατακόρυφο ή οριζόντιο, αλλαγή μεγέθους σελίδας

Προγραμματισμός Ι. Εργαστήριο 1 ο Περιβάλλον Εργασίας. Νικόλαος Δ. Τσελίκας Κυριακή Θ. Σεκλού

Tο περιβάλλον Code::Blocks

Τα Windows Πολύ Απλά και Πολύ Σύντομα

Οδηγός Χρήσης για Windows

Εργαστήριο 4 Ασκήσεις: Διαχείριση Δικτύου (nmap, iptables) και Προχωρημένες Εντολές Unix (grep, ps, cut, find)

Άνοιγμα (και κλείσιμο) της εφαρμογής Εγγράφου Κειμένου

Κοινή χρήση πόρων με τα Windows XP

Κεφάλαιο 1: Έναρξη...3

Ενημέρωση σε Windows 8.1 από τα Windows 8

Οδηγός αναβάθμισης των Windows 8 βήμα προς βήμα ΕΜΠΙΣΤΕΥΤΙΚΟ 1/53

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy

5.1.1 Περιγραφή των συστατικών τμημάτων ενός γραφήματος

qemu img create linux.img f raw 2G

Οδηγίες Χρήσης Εφαρμογής

1. Τα τμήματα της επιφάνειας εργασίας των Windows

Ενημερώσεις λογισμικού Οδηγός χρήσης

Ενημερώσεις λογισμικού Οδηγός χρήσης

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

Active Directory Users and Computers. Τεχνικός Δικτύων & Τηλεπικοινωνιών - Διαχείριση Δικτύων ΙΙ

Smart Notebook Software Installer 2014 ΟΔΗΓΟΣ ΕΓΚΑΤΑΣΤΑΣΗΣ

Εγχειρίδιο του Accerciser, έκδοση 0.2.0

4.1 Άνοιγμα υπάρχοντος βιβλίου εργασίας

Διαχειριστικό σύστημα πακέτων φιλοξενίας

CYGWIN Οδηγίες Χρήσης (Συγγραφέας: Γιώργος ούκας)

Λειτουργικά Συστήματα (Λ/Σ)

./mydiz {-c -a -x -m -d -p -j} <archive-file> <list-of-files/dirs>

Εισ. Στην ΠΛΗΡΟΦΟΡΙΚΗ. Διάλεξη 4 η. Βασίλης Στεφανής

Περιεχόμενα. Μέρος 1: Βασικές έννοιες της πληροφορικής Πρόλογος... 11

Μαθαίνω τα Νοήματα. Περιβάλλον Διδασκαλίας Βασικού Λεξιλογίου της Ελληνικής Νοηματικής Γλώσσας. Οδηγός Εγκατάστασης. Ευίτα Φωτεινέα, Ελένη Ευθυμίου

Με την αλλαγή των μεταβλητών σελιδοποίησης αυτόματα ρυθμίζετε το νέο όριο για τα άρθρα και τα αποτελέσματα αναζήτησης.

PowerPoint Ένα εργαλείο παρουσίασης

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ & ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΑΝΑΠΤΥΞΗΣ BloodShed Dev-C++

Σελίδες Βοήθειας - Υπηρεσία Ψηφιακών Πιστοποιητικών - Υπηρεσία Εγκατάσταση Πιστοποιητικών Αρχής Πιστοποίησης (ROOT CA)

Κεφάλαιο 2.3: Ρυθμίσεις των Windows

Ο Οδηγός γρήγορης εκκίνησης

Transcript:

Κεφάλαιο 18: Διαχείριση Πακέτων στο Slackware Ένα πακέτο λογισμικού (software package) είναι ένα σύνολο από σχετικά προγράμματα που είναι έτοιμα για εγκατάσταση. Όταν κατεβάζετε ένα αρχείου πηγαίου κώδικα, πρέπει να το ρυθμίσετε, να το μεταγλωττίσετε, και να το εγκαταστήσετε με το χέρι. Με το πακέτο λογισμικού, αυτό έχει ήδη γίνει για εσάς. Το μόνο που πρέπει να κάνετε είναι να εγκαταστήσετε το πακέτο. Ένα άλλο εύχρηστο χαρακτηριστικό της χρήσης πακέτων λογισμικού είναι η εύκολη απεγκατάσταση και αναβάθμιση τους, όταν το επιθυμείτε. Το Slackware έρχεται με προγράμματα για όλες τις ανάγκες διαχείρισης πακέτων. Μπορείτε να εγκαταστήσετε, να αφαιρέσετε, να αναβαθμίσετε, να δημιουργήσετε, και να εξετάσετε πακέτα πολύ εύκολα. Υπάρχει ένας μύθος που συνεχίζετε από τότε που πρωτοεμφανίσθηκε ο Διαχειριστής Πακέτων του RedHat (RedHat Package Manager), ότι το Slackware δεν έχει κάποιο εργαλείο διαχείρισης πακέτων. Αυτό απλά δεν θα μπορούσε να ήταν πιο μακριά από την πραγματικότητα. Το Slackware πάντα περιελάμβανε έναν διαχειριστή πακέτων, ακόμα και πριν την ύπαρξη του RedHat. Μπορεί να μην είναι τόσο πλήρες ή πανταχού παρόν σαν τα rpm, το pkgtool και τα σχετικά με αυτό προγράμματα είναι όμως εξίσου καλά στην εγκατάσταση πακέτων ως rpm. Η αλήθεια για το pkgtool δεν είναι ότι δεν υπάρχει, αλλά ότι δεν κάνει κανένα έλεγχο εξαρτήσεων (dependency checking). Προφανώς πολλοί άνθρωποι από κοινότητα του Linux πιστεύουν ότι ένας διαχειριστής πακέτων πρέπει εξορισμού να περιλαμβάνει έλεγχο εξαρτήσεων. Λοιπόν, για αυτό απλά δεν τίθεται θέμα, εφόσον το Slackware σχεδόν πάντα δεν κάνει κάτι τέτοιο. Αυτό δεν λέει ότι τα πακέτα του Slackware δεν έχουν εξαρτήσεις, αλλά ότι ο διαχειριστής πακέτων δεν κάνει έλεγχο για αυτές. Ο έλεγχος εξαρτήσεων έχει αφεθεί στον διαχειριστή του συστήματος, και αυτός είναι ο τρόπος που μας αρέσει. 18.1 Περίληψη της Μορφής των Πακέτων Πριν την εκμάθηση των εργαλείων, πρέπει να αποκτήσετε οικειότητα με την μορφή των πακέτων του Slackware. Στο Slackware, ένα πακέτο είναι απλά ένα αρχείο tar που έχει συμπιεστεί με το gzip. Τα πακέτα είναι έτσι φτιαγμένα ώστε να αποσυμπιέζονται στον κατάλογο root. Εδώ υπάρχει ένα παράδειγμα από ένα φανταστικό πρόγραμμα και το πακέτο του:./ usr/ usr/bin/ usr/bin/makehejaz usr/doc usr/doc/makehajaz-1.0/ usr/doc/makehajaz-1.0/copying usr/doc/makehajaz-1.0/readme usr/man usr/man/man1 usr/man/man1/makehejaz.1.gz install/ install/doinst.sh Το σύστημα πακέτων θα αποσυμπιέσει και θα τοποθετήσει αυτό το αρχείο στον κατάλογο

root και θα το εγκαταστήσει. Θα δημιουργηθεί μία εγγραφή στη βάση δεδομένων των πακέτων που θα περιέχει τα περιεχόμενα αυτού του πακέτου έτσι ώστε να μπορείτε να το αφαιρέσετε ή να το αναβαθμίσετε αργότερα. Σημειώστε τον υποκατάλογο install/. Είναι ένας ειδικός κατάλογος που μπορεί να περιέχει ένα αρχείο διαταγών μετά-εγκατάστασης (post-installation) που ονομάζεται doinst.sh. Εάν το σύστημα πακέτων βρει το αρχείο, θα το εκτελέσει μετά την εγκατάσταση του πακέτου. Άλλα αρχεία διαταγών μπορούν να ενσωματωθούν στα πακέτα, αλλά αυτά περιγράφονται αναλυτικά στην παράγραφο 18.3.2 παρακάτω. 18.2 Εργαλεία Πακέτων Υπάρχουν τέσσερα βασικά εργαλεία για την διαχείριση πακέτων. Εκτελούν εγκατάσταση, απεγκατάσταση, και αναβαθμίσεις των πακέτων. pkgtool Το pkgtool(8) είναι ένα πρόγραμμα οδηγούμενο από μενού που επιτρέπει την εγκατάσταση και την απεγκατάσταση πακέτων. Το βασικό μενού φαίνεται στο σχήμα Σχήμα 18-1. Σχήμα 18-1. Το βασικό μενού του pkgtool Η εγκατάσταση γίνετε από το τρέχον κατάλογο, από άλλο κατάλογο, ή από δισκέτες. Απλά επιλέξτε την μέθοδο εγκατάστασης που θέλετε και το pkgtool θα ψάξει αυτή την τοποθεσία αυτή για πακέτα προς εγκατάσταση. Μπορείτε επίσης να δείτε μία λίστα από τα εγκατεστημένα πακέτα, όπως φαίνεται στο Σχήμα 18-2.

Σχήμα 18-2. Η κατάσταση εμφάνισης (view mode) του pkgtool Εάν θέλετε να αφαιρέσετε πακέτα, επιλέξτε την επιλογή απεγκατάστασης και θα σας παρουσιαστεί μία λίστα επιλογών (checklist) με όλα τα εγκατεστημένα πακέτα. Σημειώστε αυτά που θέλετε να αφαιρέσετε και πατήστε OK. Το pkgtool θα τα αφαιρέσει. Κάποιοι χρήστες προτιμούν αυτό το εργαλείο από αυτά της γραμμής εντολών. Ωστόσο, πρέπει να σημειωθεί ότι τα εργαλεία γραμμής εντολών προσφέρουν πολύ περισσότερες επιλογές. Επίσης, η δυνατότητα αναβάθμισης πακέτων προσφέρεται μόνο μέσο των εργαλείων γραμμής εντολών. Installpkg Το installpkg(8) χειρίζεται την εγκατάσταση νέων πακέτων στο σύστημα. Η σύνταξη του είναι: # installpkg επιλογή όνομα_πακέτου Τρεις επιλογές παρέχονται στο installpkg. Μόνο μία μπορεί να χρησιμοποιείτε κάθε φορά. Πίνακας 18-1. Επιλογές του isntallpkg Επιλογή Αποτελέσματα -m Εκτελεί μία λειτουργία makepkg στο τρέχον κατάλογο. -warn Δείχνει τι θα συμβεί εάν εγκαταστήσετε το συγκεκριμένο πακέτο. Αυτό είναι χρήσιμο για συστήματα παραγωγής ώστε να βλέπετε ακριβώς τι θα γίνει πριν εγκαταστήσετε κάτι. -r Επαναληπτικά εγκαθιστά όλα τα πακέτα από τρέχον κατάλογο και κάτω. Το όνομα του πακέτου μπορεί να είναι μάσκα (wildcard), το όποιο θα χρησιμοποιείται σαν μάσκα αναζήτησης όταν εγκαθιστά επαναληπτικά. Εάν αλλάξετε την μεταβλητή περιβάλλοντος ROOT πριν το installpkg, αυτός ο κατάλογος θα χρησιμοποιηθεί σαν κατάλογος root. Αυτό είναι χρήσιμο για την εγκατάσταση νέων οδηγών συσκευών για τον κατάλογο root. Τυπικά θα προσαρτηθούν στο /mnt ή σε κάτι άλλο από το /. Η βάση δεδομένων των εγκατεστημένων πακέτων είναι αποθηκευμένη στο /var/log/packages. Οι εγγραφές είναι στην πραγματικότητα απλά αρχεία κειμένου, ένα για

κάθε πακέτο. Εάν το πακέτο έχει κάποιο αρχείο διαταγών μετά-εγκατάστασης, θα είναι γραμμένο στο /var/log/scripts/. Μπορείτε να ορίσετε διάφορα πακέτα ή να χρησιμοποιήσετε μάσκες κειμένου για όνομα πακέτου. Να θυμάστε ότι το installpkg δεν θα σας ενημερώσει εάν γράφετε πάνω από κάποιο εγκατεστημένο πακέτο. Απλά θα το εγκαταστήσει από πάνω από το παλιό. Εάν θέλετε να εξασφαλίσετε ότι τα παλιά αρχεία από το προηγούμενο πακέτο έχουν αφαιρεθεί με ασφάλεια, χρησιμοποιήστε το upgradepkg. removepkg Το removepkg(8) χειρίζεται την αφαίρεση των εγκατεστημένων πακέτων από το σύστημα. Η σύνταξη του είναι όπως φαίνεται παρακάτω: # removepkg επιλογή όνομα_πακέτου Τέσσερις επιλογές παρέχονται για το removepkg. Μόνο μία μπορεί να χρησιμοποιείτε κάθε φορά. Πίνακας 18-2. Επιλογές του removepkg Επιλογή -copy Αποτελέσματα Το πακέτο αντιγράφετε στον προστατευμένο κατάλογο πακέτων. Αυτό δημιουργεί ένα δέντρο από το αυθεντικό πακέτο χωρίς να το αφαιρεί. -keep Αποθηκεύει προσωρινά τα αρχεία που δημιουργήθηκαν κατά την αφαίρεση. Είναι χρήσιμο μόνο για χρήση debugging. -preserve Το πακέτο αφαιρείτε, αλλά αντιγράφεται στον προστατευμένο κατάλογο πακέτων την ίδια στιγμή. -warn Δείχνει το τι θα συμβεί εάν αφαιρέσετε το πακέτο. Εάν αλλάξετε την μεταβλητή περιβάλλοντος ROOT πριν το removepkg, αυτός ο κατάλογος θα χρησιμοποιηθεί σαν κατάλογος root. Αυτό είναι χρήσιμο για την εγκατάσταση νέων οδηγών συσκευών για τον κατάλογο root. Τυπικά θα προσαρτηθούν στο /mnt ή σε κάτι άλλο από το /. Το removepkg κοιτάει στα εγκαταστημένα πακέτα και αφαιρεί μόνο τα μοναδικά, για το πακέτο που ορίσατε αρχεία. Θα ελέγξει επίσης για το αρχείο διαταγών μετά-εγκατάστασης για το συγκεκριμένο πακέτο και θα διαγράψει οποιοδήποτε συμβολικό σύνδεσμο δημιουργήθηκε από αυτό. Κατά την διαδικασία αφαίρεσης, μία αναφορά κατάστασης εμφανίζεται. Μετά την εγκατάσταση, η εγγραφή στη βάση δεδομένων πακέτων μεταφέρεται στο /var/log/removed_packages και το αρχείο μετά-εγκατάστασης μεταφέρεται στο /var/log/removed_scripts. Όπως και στο installpkg, μπορείτε να ορίσετε διάφορα πακέτα ή να χρησιμοποιήσετε μάσκες κειμένου για το όνομα του πακέτου. upgradepkg Το upgrade(8) θα αναβαθμίσει ένα εγκατεστημένο πακέτου του Slackware. Η σύνταξη του

είναι όπως φαίνεται παρακάτω: # upgradepkg όνομα_πακέτου # upgradepkg όνομα_παλιού_πακέτου%όνομα_νέου_πακέτου Το upgradepkg δουλεύει εγκαθιστώντας το νέο πακέτο και μετά αφαιρώντας το παλιό πακέτο έτσι ώστε τα παλιά αρχεία να μην υπάρχουν στο σύστημα. Εάν το όνομα του αναβαθμισμένου πακέτου έχει αλλάξει, χρησιμοποιήστε τη σύνταξη με το σύμβολο επί τις εκατό για να ορίσετε το παλιό πακέτο (αυτό που είναι εγκατεστημένο) και το νέο πακέτο (η αναβάθμιση του παλιού). Εάν αλλάξετε την μεταβλητή περιβάλλοντος ROOT πριν το upgradepkg, αυτός ο κατάλογος θα χρησιμοποιηθεί σαν κατάλογος root. Αυτό είναι χρήσιμο για την εγκατάσταση νέων οδηγών συσκευών για τον κατάλογο root. Τυπικά θα προσαρτηθούν στο /mnt ή σε κάτι άλλο από το /. Το upgradepkg δεν είναι άψογο. Πάντα πρέπει να κρατάτε αντίγραφα ασφαλείας από τα αρχεία διαμόρφωσης (configuration files). Εάν διαγραφούν ή ξαναγραφτούν, χρειάζεστε ένα αντίγραφο από τα αυθεντικά για λόγους επιδιόρθωσης. Όπως και στο installpkg και στο removepkg, μπορείτε να ορίσετε διάφορα πακέτα ή να χρησιμοποιήσετε μάσκες κειμένου για το όνομα του πακέτου. rpm2tgz/rpm2targz Ο διαχειριστής πακέτων του Red Hat είναι ένα δημοφιλές σύστημα πακέτων που είναι διαθέσιμο σήμερα. Πολλές διανομές λογισμικού προσφέρουν τα προϊόντα τους σε μορφή RPM. Εφόσον αυτό δεν είναι η φυσική σε εμάς μορφή, δεν προτείνουμε στους ανθρώπους να βασίζονται σε αυτά. Ωστόσο, κάποια πράγματα είναι διαθέσιμα μόνο σε RPM (ακόμα και ο πηγαίος κώδικας). Παρέχουμε ένα πρόγραμμα που θα μετατρέπει τα RPM πακέτα στη φυσική σε εμάς μορφή.tgz. Αυτό θα σας επιτρέψει να αποσυμπιέζετε τα πακέτα (πιθανότατα με το exlodepkg) σε ένα προσωρινό κατάλογο και να ελέγχετε τα περιεχόμενα τους. Το πρόγραμμα rpm2tgz θα δημιουργήσει ένα πακέτο του Slackware με επέκταση.tgz, ενώ το rpm2targz δημιουργεί ένα αρχείο με επέκταση.tar.gz. 18.3 Δημιουργία Πακέτων Η δημιουργία πακέτων στο Slackware μπορεί να είναι είτε εύκολη ή δύσκολη. Δεν υπάρχει συγκεκριμένη μέθοδος για την κατασκευή πακέτων. Η μόνη προδιαγραφή είναι ότι το πακέτο πρέπει να είναι σε αρχείο tar συμπιεσμένο με gzip και εάν υπάρχει κάποιο αρχείο διαταγών μετά-εγκατάστασης, πρέπει να βρίσκεται στο /install/doinst.sh. Εάν ενδιαφέρεστε για την δημιουργία πακέτων για το σύστημα σας ή για ένα δίκτυο που διαχειρίζεστε, πρέπει να ρίξετε μια ματιά στα διάφορα αρχεία διαταγών μέσα στο δέντρο πηγής (source tree) του Slackware. Υπάρχουν διάφορες μέθοδοι που χρησιμοποιούμε για την δημιουργία πακέτων.

explodepkg Το explodepkg(8) θα κάνει το ότι κάνει και το installpkg για να αποσυμπιέσει το πακέτο, αλλά δεν το εγκαθιστά πραγματικά και δεν το καταγράφει στην βάση δεδομένων των πακέτων. Απλά το αποσυμπιέζει στο τρέχον κατάλογο. Εάν δείτε στο πηγαίο δέντρο του Slackware, θα δείτε πως χρησιμοποιούμε αυτή την εντολή για πακέτα πλαισίου (framework). Αυτά τα πακέτα περιέχουν έναν σκελετό για το πως θα πρέπει το τελικό πακέτο να μοιάζει. Κρατάνε όλα τα απαραίτητα ονόματα αρχείων (μηδενικού μήκους, zero-length), τα δικαιώματα, και τις ιδιοκτησίες. Τα αρχεία διαταγών κατασκευής (build scripts) θα αντιγράψουν τα περιεχόμενα του πακέτου από τον πηγαίο κατάλογο στον κατάλογο δημιουργίας του πακέτου. makepkg Το makepkg(8) θα πακετάρει το τρέχον κατάλογο σε ένα σωστό πακέτο του Slackware. Θα ψάξει το δέντρο για οποιοδήποτε συμβολικό σύνδεσμο και θα προσθέσει ένα κομμάτι δημιουργίας (creation block) στο αρχείο μετά-εγκατάστασης για να τα δημιουργήσει κατά την εγκατάσταση του πακέτου. Επίσης μας προειδοποιεί για οποιοδήποτε αρχείο μηδενικού μήκους στο δέντρο του πακέτου. Αυτή η εντολή τυπικά τρέχει αφού έχετε δημιουργήσει το δέντρο του πακέτου. Αρχεία Διαταγών SlackBuild Τα πακέτα του Slackware είναι κατασκευασμένα με πολλούς διαφορετικούς τρόπους λόγω αναγκών. Δεν είναι όλα τα πακέτα γραμμένα από τους προγραμματιστές τους για να μεταγλωττίζονται με τον ίδιο τρόπο. Πολλά έχουν επιλογές κατά την διάρκεια της μεταγλώττισης που δεν περιλαμβάνονται όλα στα πακέτα που χρησιμοποιεί το Slackware. Πιθανόν να χρειάζεστε λίγο από αυτή την λειτουργικότητα, τότε πρέπει να μεταγλωττίσετε το πακέτο σας. Ευτυχώς για πολλά πακέτα του Slackware, μπορείτε να βρείτε τα αχρεία διαταγών SlackBuild στον πηγαίο κώδικα του πακέτου. Λοιπόν τι είναι τα αρχεία διαταγών SlackBuild; Τα αρχεία διαταγών SlackBuild είναι εκτελέσιμα αρχεία διαταγών που μπορείτε να εκτελείτε ως root για να ρυθμίσετε, να μεταγλωττίσετε, και να δημιουργήσετε πακέτα του Slackware. Μπορείτε ελεύθερα να αλλάξετε αυτά τα αρχεία στον πηγαίο κατάλογο και να τα τρέξετε για να δημιουργήσετε τις δικές σας εκδόσεις από τα προκαθορισμένα πακέτα του Slackware. 18.4 Δημιουργία Ετικετών και Tagfiles (για εγκατάσταση) Το πρόγραμμα εγκατάστασης του Slackware χειρίζεται την εγκατάσταση των πακέτων λογισμικού στο σύστημά σας. Υπάρχουν αρχεία που λένε στο πρόγραμμα εγκατάστασης ποια πακέτα πρέπει να εγκατασταθούν, ποια είναι προαιρετικά, και ποια είναι επιλεγμένα από το σύστημα για το πρόγραμμα εγκατάστασης. Ένα tagfile είναι στον πρώτο κατάλογο σειράς λογισμικού (software series directory) και ονομάζεται tagfile. Αυτό έχει μια λίστα από τα πακέτα σε αυτόν το δίσκο και την κατάσταση τους. Η κατάσταση μπορεί να είναι:

Πίνακας 18-3. Επιλογές Κατάστασης Tagfile Επιλογή ADD SKP REC OPT Ερμηνεία Το πακέτο απαιτείται για τη σωστή λειτουργία του συστήματος. Το πακέτο θα παραληφθεί αυτόματα. Το πακέτο δεν απαιτείται, αλλά προτείνεται. Το πακέτο είναι προαιρετικό. Η μορφή είναι απλή: όνομα_πακέτου: κατάσταση Ένα πακέτο σε κάθε γραμμή. Τα αυθεντικά tagfiles για κάθε σειρά λογισμικού αποθηκεύονται ως tagfile.org. Έτσι εάν χαλάσετε το δικό σας, μπορείτε να επαναφέρετε το αυθεντικό. Πολλοί διαχειριστές προτιμούν να γράφουν τα δικά τους tagfiles και να ξεκινούν την εγκατάσταση και να επιλέγουν full. Το πρόγραμμα εγκατάστασης θα διαβάσει τα tagfiles και θα εκτελέσει την εγκατάσταση ανάλογα με τα περιεχόμενα. Εάν χρησιμοποιήσετε το REC ή το OPT, ένα πλαίσιο διαλόγου θα παρουσιαστεί στο χρήστη ρωτώντας τον εάν θέλει ή εάν δεν θέλει να χρησιμοποιήσει κάποιο συγκεκριμένο πακέτο. Για αυτό, προτείνεται να χρησιμοποιείτε μόνο ADD και SKP όταν γράφετε tagfiles για αυτοματοποιημένες εγκαταστάσεις. Σιγουρευτείτε ότι τα tagfiles σας είναι γραμμένα στην ίδια τοποθεσία με τα αυθεντικά. Ή μπορείτε να καθορίσετε ένα δικό σας μονοπάτι για το tagfile εάν έχετε δικά σας tagfiles.