[Advcomparch] Πρόβλημα στο building των sescutils σε Ubuntu και workaround
Michalis Makaronides
makmichalis at gmail.com
Mon Jun 16 01:25:16 EEST 2008
Όπως έχει αναφερθεί και προηγουμένως, παρουσιάζονται διάφορα προβλήματα
κατά την εκτέλεση των 5 build scripts σε Ubuntu. Συγκεκριμένα, ακόμα και
αν αλλάξει το #!/bin/sh σε #!/bin/bash στην αρχή των scripts, η εκτέλεση
του 3ου εξ' αυτών αποτύγχανε στον υπολογιστή μου σε Ubuntu 8.04.
Παρέκαμψα αυτό το πρόβλημα με τον τρόπο που περιγράφεται παρακάτω, τον
οποίο και αναφέρω με σκοπό να βοηθήσω όσους τυχόν βρεθούν σε παρόμοια
κατάσταση.
* Πριν την εκτέλεση των scripts και αφού γίνουν οι απαιτούμενες
αλλαγές σ' αυτά, εκτελούνται οι ακόλουθες εντολές σ' ένα
τερματικό:
sudo -i (Νέο shell με δικαιώματα root)
cd /bin
mv sh sh.bak (Backup παλιού συνδέσμου)
ln -s bash /bin/sh (Νέος σύνδεσμος που ορίζει να χρησιμοποιείται
το bash αντί του dash όποτε χρειάζεται το sh)
* Μία εκτέλεση του "ls -al sh*" στον φάκελο /bin θα πρέπει να
δίνει (ενδεχομένως μεταξύ άλλων)
lrwxrwxrwx 1 root root 4 2008-06-16 01:08 sh -> bash
(Αυτό μας ενδιαφέρει)
lrwxrwxrwx 1 root root 4 2008-06-16 00:57 sh.bak -> dash
lrwxrwxrwx 1 root root 4 2008-06-10 17:26 sh.distrib -> bash
* Στο σημείο αυτό κλείνουμε το τερματικό (κλείσιμο παραθύρου ή
Ctrl+D - δεν είναι σωστή πρακτική να δουλεύουμε με δικαιώματα
root αν δε χρειάζεται) και εκτελούμε τα scripts.
* Αφού ολοκληρωθεί η διαδικασία και προκειμένου να επανέλθει το
σύστημα στην αρχική του κατάσταση, εκτελούμε τις ακόλουθες
ενέργειες:
sudo -i
cd /bin
mv sh.bak sh (Επαναφορά αρχικού συνδέσμου)
* Τώρα πια η εκτέλεση του "ls -al sh*" στον φάκελο /bin θα πρέπει
να δίνει:
lrwxrwxrwx 1 root root 4 2008-06-16 01:12 sh -> dash (Επανήλθε στην
αρχική του κατάσταση)
lrwxrwxrwx 1 root root 4 2008-06-10 17:26 sh.distrib -> bash
Οι αλλαγές αυτές χρειάζεται να εκτελεστούν μία φορά. Στη συνέχεια η
μεταγλώττιση των προγραμμάτων γίνεται κανονικά όπως ορίζεται στη σελίδα
του μαθήματος.
More information about the Advcomparch
mailing list