Πώς να μεταγλωττίσετε πακέτα λογισμικού σε Linux

Μία από τις πιο δύσκολες προσαρμογές για τους χρήστες που αλλάζουν από Windows σε Linux είναι η ιδέα ότι δεν είναι έτοιμο κάθε κομμάτι λογισμικού που θέλετε να εγκαταστήσετε. Σε αντίθεση με τους χρήστες των Windows(Windows) , οι οποίοι (στις περισσότερες περιπτώσεις) λαμβάνουν λογισμικό προσυσκευασμένο σε πρόγραμμα εγκατάστασης EXE ή αρχείο ZIP , οι χρήστες (ZIP)Linux συχνά πρέπει να μεταγλωττίσουν τα δικά τους πακέτα λογισμικού.

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

Λήψη αρχείων πηγής(Downloading Source Files)

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

Είναι πιο πιθανό, ωστόσο, να προσπαθείτε να μεταγλωττίσετε ένα πακέτο λογισμικού σε Linux από άλλον προγραμματιστή. Δημοφιλείς ιστότοποι κοινής χρήσης κώδικα όπως το Github σάς επιτρέπουν να προβάλετε και να κατεβάσετε τον πηγαίο κώδικα(view and download the source code) για πακέτα, τον οποίο μπορείτε στη συνέχεια να μεταγλωττίσετε. Μπορείτε να χρησιμοποιήσετε το GIT , το δημοφιλές σύστημα ελέγχου εκδόσεων, για να κατεβάσετε τα αρχεία προέλευσης στον υπολογιστή σας.

Μπορείτε επίσης να κατεβάσετε τον πηγαίο κώδικα απευθείας από έργα ανοιχτού κώδικα όπως το VLC . Αυτά συνήθως έρχονται σε μορφή συμπιεσμένου αρχείου(compressed file format) όπως το TAR.GZ(TAR.GZ) , το οποίο μπορείτε να εξαγάγετε στο τερματικό χρησιμοποιώντας την εντολή tar . Για παράδειγμα, η εκτέλεση της εντολής tar -xzvf source.tar.gz θα εξαγάγει ένα αρχείο tarball με το όνομα source.tar.gz .

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

Εγκατάσταση του Build-Essential σε Linux(Installing Build-Essential On Linux)

Τα εργαλεία και το λογισμικό που περιέχονται στο build-essential πακέτο απαιτούνται για κάθε είδους λογισμικό που μεταγλωττίζεται σε λειτουργικά συστήματα Linux , ανεξάρτητα από τη γλώσσα προγραμματισμού του πηγαίου κώδικα σας. 

Ως βασικό πακέτο, το build-essential (ή πακέτα με παρόμοια ονομασία) θα πρέπει να είναι διαθέσιμα στο αποθετήριο λογισμικού για τη διανομή Linux σας . Το ισοδύναμο του build-essential σε διανομές που βασίζονται στο Arch Linux ονομάζεται base-devel , το οποίο περιλαμβάνει πολλά από τα ίδια εργαλεία.

Οι οδηγίες εγκατάστασης για το build-essential θα διαφέρουν επίσης, ανάλογα με τη διανομή Linux σας . Για παράδειγμα, σε λειτουργικά συστήματα που βασίζονται στο Ubuntu και στο Debian, μπορείτε να εγκαταστήσετε το build-essential ανοίγοντας ένα παράθυρο τερματικού και πληκτρολογώντας sudo apt install build-essential .

Η εγκατάσταση του build-essential θα εγκαταστήσει επίσης τις εξαρτήσεις του, όπως το πακέτο g++Μόλις ολοκληρωθεί αυτή η διαδικασία, μπορείτε να προχωρήσετε στη διαμόρφωση του πακέτου πηγής Linux πριν το μεταγλωττίσετε.

Εκτελέστε την εντολή Configure(Run The Configure Command)

Ο πηγαίος κώδικας για τα μεγάλα πακέτα περιέχει συνήθως ένα σενάριο διαμόρφωσης . (configure)Η εκτέλεση αυτής της δέσμης ενεργειών θα ελέγξει τη διανομή Linux για τα βασικά πακέτα που χρειάζεται ο πηγαίος κώδικας για να μπορεί να μεταγλωττίσει σωστά.

Για να εκτελέσετε τη δέσμη ενεργειών ρύθμισης παραμέτρων, εισαγάγετε τον φάκελο για τον πηγαίο κώδικα που έχετε εξαγάγει χρησιμοποιώντας την εντολή cd . Από εκεί, πληκτρολογήστε ./configure στο τερματικό, πατώντας enter για να το εκτελέσετε.

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

Σε ορισμένες περιπτώσεις, μπορείτε να μεταγλωττίσετε και να διαμορφώσετε πακέτα λογισμικού, ακόμα κι αν το σενάριο ρύθμισης παραμέτρων έχει εντοπίσει ένα πακέτο ή δυνατότητα που λείπει. Το σενάριο ρύθμισης παραμέτρων για το VLC (που φαίνεται παραπάνω) έχει προσφέρει μια λύση στα πακέτα γλωσσών προγραμματισμού Lua που λείπουν , προτείνοντάς το να το εκτελέσετε ξανά με τη σημαία –disable-lua για να το παρακάμψετε.

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

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

Εγκαταστήστε τα πακέτα εξάρτησης που λείπουν(Install Missing Dependency Packages)

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

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

Αφού μάθετε ποιο είναι το πακέτο που λείπει, χρησιμοποιήστε το πρόγραμμα εγκατάστασης πακέτου για τη διανομή Linux για να το εγκαταστήσετε. Για παράδειγμα, σε λειτουργικά συστήματα που βασίζονται στο Ubuntu και στο Debian, η εκτέλεση του (Ubuntu)sudo apt install package-name θα εγκαταστήσει ένα πακέτο.

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

Πώς να κάνετε μεταγλώττιση σε Linux(How to Compile on Linux)

Το πακέτο build-essential περιέχει το make , το αυτόματο εργαλείο που χρησιμοποιείται για να ξεκινήσει η μεταγλώττιση του πηγαίου κώδικα σε λογισμικό που μπορείτε να εκτελέσετε στον υπολογιστή σας. Χρησιμοποιεί το αρχείο makefile , που διαμορφώθηκε και δημιουργήθηκε από την προηγούμενη εντολή configure , η οποία περιέχει τις συγκεκριμένες οδηγίες που απαιτούνται για τη μεταγλώττιση του πακέτου σας.

Για να ξεκινήσετε τη μεταγλώττιση του πηγαίου κώδικα, ανοίξτε ένα τερματικό και χρησιμοποιήστε την εντολή cd για να εισαγάγετε τον σωστό φάκελο. (cd)Όταν είστε έτοιμοι, πληκτρολογήστε make για να ξεκινήσετε τη μεταγλώττιση του πακέτου σας.

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

Για να το κάνετε αυτό, πληκτρολογήστε sudo make install στο τερματικό. Το πακέτο θα εγκατασταθεί στον υπολογιστή σας Linux , έτοιμο να το ανοίξετε και να το χρησιμοποιήσετε όπως οποιοδήποτε άλλο λογισμικό.

Εγκατάσταση νέου λογισμικού σε Linux(Installing New Software On Linux)

Η γνώση του τρόπου μεταγλώττισης πακέτων λογισμικού στο Linux μπορεί να σας βοηθήσει να εγκαταστήσετε λιγότερο γνωστό λογισμικό. Τα μεγάλα λειτουργικά συστήματα όπως το Ubuntu και το Devian(Devian) έχουν μεγάλα αποθετήρια λογισμικού διαθέσιμα στους χρήστες, οπότε αν δεν θέλετε να μεταγλωττίσετε το λογισμικό σας, δοκιμάστε να βρείτε και να εγκαταστήσετε νέο λογισμικό χρησιμοποιώντας τον διαχειριστή πακέτων.

Εάν μετακινείστε από τα Windows(Windows) , μπορείτε επίσης να εγκαταστήσετε λογισμικό Windows σε Linux(install Windows software on Linux) για να συνεχίσετε να χρησιμοποιείτε τις αγαπημένες σας εφαρμογές μόνο για Windows.



About the author

Εργάζομαι ως σύμβουλος για τη Microsoft. Ειδικεύομαι στην ανάπτυξη εφαρμογών για κινητά για συσκευές Apple και Android και ασχολούμαι επίσης με την ανάπτυξη εφαρμογών για Windows 7. Η εμπειρία μου με smartphone και Windows 7 με κάνει ιδανικό υποψήφιο για αυτή τη θέση.



Related posts