Πώς να εκτελέσετε εφαρμογές 32 bit στο Linux 64 bit
Οι περισσότερες διανομές Linux έχουν εκδόσεις 64-bit για επεξεργαστές x86_64, όπως το AMD Athlon II ή το Intel Xeon. Δεδομένου ότι αυτές οι διανομές διατηρούν τα δικά τους αποθετήρια πακέτων, συνήθως παρέχουν δυαδικά πακέτα για όλες τις υποστηριζόμενες εφαρμογές τους. Εάν είστε εντελώς ικανοποιημένοι με την εξωτμηματική εγκατάστασή σας στο Linux, ίσως να μην χρειαστεί ποτέ να εκτελέσετε ένα πρόγραμμα 32-bit.
Ορισμένα εμπορικά λογισμικά Linux, ειδικά παιχνίδια, παρέχουν μόνο εκδόσεις 32 bit. Σε αυτές τις σπάνιες περιπτώσεις, θα χρειαστεί να διαμορφώσετε τη μηχανή 64-bit για να εκτελέσετε λογισμικό 32 bit.
Εγκαταστήστε τις βιβλιοθήκες 32-bit
Επειδή οι επεξεργαστές x86_64 σχεδιάζονται πάνω από την τεχνολογία x86, είναι ακόμα σε θέση να υποστηρίζουν προγράμματα 32-bit χωρίς εξομοίωση υλικού, όπως αυτό που θα χρειαστείτε για να εκτελέσετε προγράμματα x86 σε περιβάλλον PowerPC ή Sparc. Στο Linux, το μόνο που χρειάζεται να κάνετε είναι να εγκαταστήσετε τις απαραίτητες βιβλιοθήκες λογισμικού για να εκτελέσετε το λογισμικό 32 bit. Ευτυχώς, πολλές διανομές Linux συσκευάζουν αυτές τις βιβλιοθήκες για εσάς. Στο Ubuntu, για παράδειγμα, το πακέτο ονομάζεται ia32-libs . Για να το εγκαταστήσετε, απλά ανοίξτε ένα παράθυρο τερματικού και πληκτρολογήστε:
sudo apt-get εγκατάσταση του ia32-libs
Μπορείτε επίσης να το εγκαταστήσετε γραφικά από το Synaptic ή το Kpackagekit στο Kubuntu.
Μόλις εγκατασταθούν, εφαρμογές όπως το Skype και παιχνίδια όπως το World of Padman θα πρέπει να λειτουργούν χωρίς περαιτέρω ρυθμίσεις.
Θέματα GTK
Όταν εκτελείτε προγράμματα 32 bit σε περιβάλλον 64 bit, το Ubuntu εξακολουθεί να αναζητά τους προεπιλεγμένους κινητήρες GTK. Αυτό θα σας προκαλέσει ένα λάθος όπως αυτό: "λάθος κλάση ELF". Αυτός ο τύπος σφάλματος μπορεί να είναι ιδιαίτερα ενοχλητικός σε εφαρμογές όπως το Chromium, η νέα έκδοση ανοιχτού κώδικα του προγράμματος περιήγησης Google Chrome.
Το Ubuntu εγκαθιστά στην πραγματικότητα την προεπιλεγμένη έκδοση 32 bit των μηχανών GTK στο /usr/lib32/gtk-2.0, αλλά αυτό που ανακάλυψα στην περίπτωσή μου ήταν ότι GTK θέματα όπως αυτό που χρησιμοποιούσα, qtcurve, δεν βρέθηκαν σε αυτόν τον κατάλογο . Το αποτέλεσμα ήταν πραγματικά άσχημο πρόγραμμα GTK.
Η γρήγορη λύση ήταν να κάνετε τα εξής:
1. Βρείτε το πακέτο 32-bit του θέματος που χρησιμοποιείτε. Στην περίπτωσή μου, έψαξα πακέτα Ubuntu.
2. Κατεβάστε το πακέτο και εξαγάγετε τα περιεχόμενά του όπως θα κάνατε με ένα κανονικό συμπιεσμένο αρχείο.
3. Βρείτε το αρχείο βιβλιοθήκης για το θέμα. Για το qtcurve βρέθηκε στο / / download-directory / usr / lib / gtk-2.0 / 2.10.0 / engines / libqtcurve.so .
4. Αντιγράψτε τη βιβλιοθήκη στον κατάλογο lib32:
sudo cp ~ / κατεβάσετε-κατάλογο / usr / lib / gtk-2.0 / 2.10.0 / engines / libqtcurve.so /usr/lib32/gtk-2.0/2.10.0/engines/
Για το Chromium, αυτό ήταν το μόνο που απαιτήθηκε επειδή το σενάριο εκκίνησης του Chromium είχε ήδη διαμορφωθεί για να εξετάσει το /usr/lib32/gtk-2.0 . Εάν το σενάριο εκκίνησης του προγράμματος που εκτελείτε δεν κοιτάζει εκεί, αλλά αντίθετα κοιτάζει στο /usr/lib/gtk-2.0, θα πρέπει να τροποποιήσετε τη δέσμη ενεργειών εκκίνησης ή να εξάγετε μια μεταβλητή περιβάλλοντος πριν ξεκινήσετε ανοίγοντας ένα παράθυρο τερματικού και πληκτρολογώντας :
εξαγωγή της εφαρμογής GTK_PATH = / usr / lib32 / gtk-2.0
Εάν δεν υπάρχει δέσμη ενεργειών εκκίνησης για το πρόγραμμα, θα μπορούσατε να δημιουργήσετε ένα με το παραπάνω σύνολο μεταβλητών περιβάλλοντος.
Αν αποτύχει όλος ο άλλος
Έχω βρει κάποιες εφαρμογές, όπως το Boxee, αρνούνται να συμπεριφέρονται όμορφα σε ένα περιβάλλον 64-bit κάτω από οποιεσδήποτε κανονικές συνθήκες, ακόμα και με εγκατεστημένο το ia32-libs. Η μόνη βιώσιμη εναλλακτική λύση, εκτός από το να χτυπάς τη μηχανή 64-bit σου ή να τσαλακώνεις το λογισμικό, είναι να την τρέχεις σε περιβάλλον chroot. Αυτό δημιουργεί κυριολεκτικά μια ολόκληρη έκδοση 32 bit του λειτουργικού σας συστήματος μέσα σε έναν κατάλογο στον υπολογιστή σας. Θα χρειαστεί περισσότερος χώρος από την απλή εγκατάσταση μερικών βιβλιοθηκών, αλλά διασφαλίζει ότι όλα τα 32-bit στοιχεία, συμπεριλαμβανομένων των ενοτήτων πυρήνα γραφικών 3D, έχουν εγκατασταθεί.
Μπορείτε να διαβάσετε έναν οδηγό για τη ρύθμιση ενός chroot 32-bit στα φόρουμ του Ubuntu.