Το Στέκι των Πληροφορικών

Γενικά => Τεχνική υποστήριξη => Linux => Μήνυμα ξεκίνησε από: giannisdag στις 17 Δεκ 2015, 08:35:05 ΠΜ

Τίτλος: Πώς μπορώ να εγκαταστήσω ένα πρόγραμμα που δεν υπάρχει στα αποθετήρια;
Αποστολή από: giannisdag στις 17 Δεκ 2015, 08:35:05 ΠΜ
Καλημέρα, θα ήθελα να ξέρω πως μπορώ να εγκαταστήσω μία εφαρμογή μέσω deb και στην συνέχεια να εγκατασταθεί στους clients μέσω διαμοιρασμού εικονικού δίσκου. Συγκεκριμένα οι εφαρμογές που θέλω να βάλω είναι το jmonkey engine και το blender στην πιο αναβαθμισμένη έκδοση από αυτή  που έχει το ubuntu. Ακολουθώντας τον οδηγό εγκατάστασης για το jmonkey engine το βάζει στον φάκελο /home/administrator ενώ το blender το έβαλα στον φάκελο /opt/. Που έπρεπε κανονικά να εγκατασταθούν στο usr/share ώστε να διαμοιραστούν ή γενικότερα που ορίζω ποια αρχεία διαμοιράζονται μέσω του εικονικού δίσκου; Επιπλέον αν υπάρχει η δυνατότητα να δημιουργούνται αυτόματα και τα link.
Τίτλος: Απ: Πώς μπορώ να εγκαταστήσω ένα πρόγραμμα που δεν υπάρχει στα αποθετήρια;
Αποστολή από: alkisg στις 17 Δεκ 2015, 10:16:44 ΠΜ
Ώρα για tutorial. :)
Γιάννη σου άλλαξα και τον τίτλο του θέματος στο πιο γενικό "Πώς μπορώ να εγκαταστήσω ένα πρόγραμμα που δεν υπάρχει στα αποθετήρια;"
...ακολουθώ τα παρακάτω, με τη σειρά που αναγράφονται.

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

1) Ψάχνουμε να το βρούμε σε νεότερες εκδόσεις του Ubuntu. Για παράδειγμα, για το blender, πηγαίνουμε στη σελίδα http://packages.ubuntu.com/blender και βλέπουμε ότι το Ubuntu 12.04 έχει το blender 2.62-1, ενώ το 16.04 έχει το blender 2.75.a+dfsg0-2ubuntu3. Αν αυτό το τελευταίο σας κάνει, μου λέτε να το αντιγράψω στο "Αποθετήριο ελέγχου ενημερώσεων ΣΕΠΕΗΥ" για την 12.04, και αν τυχόν ικανοποιηθούν οι εξαρτήσεις και γίνει compile (γιατί μπορεί να θέλει νεότερες βιβλιοθήκες που δεν υπάρχουν στην 12.04), το δοκιμάζετε να δείτε αν παίζει σωστά. Αν παίζει σωστά κι αν το θέλουν και οι περισσότεροι άλλοι συνάδελφοι, τότε το αντιγράφουμε και στο κανονικό "Αποθετήριο ενημερώσεων ΣΕΠΕΗΥ" για όλους.

2) Ψάχνουμε να το βρούμε σε άλλα PPA από τη σελίδα https://launchpad.net/+search. Αν κάποιος ανεξάρτητος developer έχει πακετάρει νέα έκδοση σε PPA, είναι υπόθεση λίγων κλικ να το αντιγράψουμε στο δικό μας αποθετήριο (βλ. προηγούμενη παράγραφο).

3) Ψάχνουμε το .deb από αλλού, είτε από το Debian, π.χ. http://packages.debian.org/blender, είτε από τη σελίδα του κατασκευαστή κλπ. Αν έχουμε το .deb, τότε μπορεί να εγκατασταθεί ανοίγοντάς το με τον απλό τρόπο, μέσα από τον firefox, και μετά θα ανοίξει με το κέντρο λογισμικού,
αλλά καλύτερα να το εγκαταστήσουμε από κονσόλα για να είμαστε πιο σίγουροι ότι ικανοποιούνται οι εξαρτήσεις και να βλέπουμε τα μηνύματα λάθους:
Κώδικας (Bash) [Επιλογή]

# Λήψη του πακέτου είτε με τον firefox είτε με εντολή wget:
wget http://selida/paketo.deb
# Εγκατάσταση του βοηθητικού προγράμματος gdebi, αν δεν υπάρχει ήδη:
sudo apt-get install gdebi-core
# Εγκατάσταση του πακέτου μαζί με τις εξαρτήσεις του:
sudo gdebi paketo


4) Αν δεν βρούμε .deb αλλά έναν γενικό installer με οδηγίες του τύπου "sudo bash install-my-app.sh", τότε κάνουμε τον σταυρό μας και το τρέχουμε με sudo για να εγκατασταθεί για όλους τους χρήστες. Είναι πιθανό μετά να μην μπορεί να γίνει uninstall. Κάποιοι βέβαια μπορεί να υποστηρίζουν και παράμετρο uninstall, "sudo bash install-my-app.sh uninstall".
Αυτές οι εφαρμογές (και κάποιες της προηγούμενης παραγράφου) μπορεί να μπουν σε περίεργη θέση, π.χ. στο /opt. Δεν μας πειράζει, μετά από δημοσίευση εικονικού δίσκου θα είναι διαθέσιμες για τους clients.

5) Τέλος είναι κάποιες εφαρμογές είτε χωρίς installer, που λένε "κάνε unzip και τρέξε το εκτελέσιμο", είτε με installer μόνο για τον τρέχοντα χρήστη. Αυτές πάνε κάτω από το /home/username. Οι εφαρμογές αυτές, είτε με LTSP είτε χωρίς, δεν είναι διαθέσιμες σε άλλους χρήστες, παρά μόνο στον χρήστη που έκανε την εγκατάσταση. Σε αυτό περιλαμβάνονται και οι εφαρμογές που τρέχουμε με Wine, του τύπου "Windows-App-Setup.exe".
Γι' αυτές, εάν τυχόν είναι τύπου "portable app", μπορούμε να δοκιμάσουμε να τις αντιγράψουμε εμείς στο /usr/share/paketo. Στο περίπου οι εντολές έχουν ως εξής:
Κώδικας (Bash) [Επιλογή]

# Σύνδεση ως διαχειριστής
sudo -i
# Μετάβαση στο φάκελο που είναι το πακέτο.
cd /home/administrator/Λήψεις
# Αν έχουμε κάτι σε Wine, θα είναι μάλλον στο:
cd /home/administrator/.wine/drive_c/Program\ Files
# Αντιγραφή του φακέλου στο /usr/share και ταυτόχρονη μετονομασία του
# σε κάτι με πεζά λατινικά, χωρίς κενά και αριθμούς
cp -r paketo_me_periergo_onoma /usr/share/paketo
exit

Στη συνέχεια συνδέεστε ως κάποιος άλλος χρήστης στον server, πηγαίνετε στο /usr/share/paketo, και δοκιμάζετε να το εκτελέσετε. Αν εκτελεστεί τότε όλα καλά, μπορείτε να μου ζητήσετε οδηγίες για το πώς θα μπει στα μενού φτιάχνοντας ένα αρχείο /usr/share/applications/paketo.desktop. :)


Για τις περιπτώσεις (4) και (5), αν τελικά το πρόγραμμα παίζει σωστά, και αν οι προγραμματιστές του επιτρέπουν αναδιανομή, και αν ενδιαφέρει αρκετά σχολεία, μπορείτε να ανοίξετε εδώ ένα θέμα και να μου πείτε να το πακετάρω σε .deb και να το βάλω στο αποθετήριο.