compile μιας εφαρμογής

Sinusoid | Πέμ, 05/08/2008 - 15:05 | 1' | 8

Συγχαρητήρια για τη σελίδα κ' το περιοδικό σας.

Μόλις άρχισα να μαθαίνω τo linux με διανομή Ubuntu 8.04. Aκολούθησα τα βήματα που έχετε για compile μιας εφαρμογής από τον κώδικα της κ' μου βγάζει το εξής στην προσπάθεια μου να εγκαταστήσω το lutelwall:

tar: foo-1.2.3.tar.gz: Δεν είναι δυνατή open: No such file or directory
tar: Το σφάλμα δεν είναι επανορθώσιμο: τερματισμός τώρα
tar: Child returned status 2
tar: Καθυστέρησε το σφάλμα εξόδου από προηγούμενα σφάλματα
georg@Sinousoid440Hz:~$
georg@Sinousoid440Hz:~$ cd foo-1.2.3
bash: cd: foo-1.2.3: No such file or directory

επίσης ένα άλλο λάθος που βγάζει λέει για το elog κάτι.....

Δώσε αστέρια!

MO: (ψήφοι: 0)

Σχόλια

Καλώς ήλθες Sinusoid :-)

Το foo-1.2.3.tar.gz είναι ένα τυχαίο όνομα αρχείου. Πρέπει να το αντικαταστήσεις με το αντίστοιχο της εφαρμογής που κατέβασες (πχ lutelwall.tar.gz).

Ερωτήσεις:
Γιατί θέλεις να κάνεις compile ??
Είδες αν υπάρχει ήδη στα repos για να το εγκαταστήσεις με τον package manager της διανομής σου ??

Αν δεν υπάρχει, κοίταξε από εκεί που το κατέβασες, αν έχει έτοιμο πακέτο για για τη διανομή σου (πχ deb ή rpm ή άλλο). Θα απλοποιήσει πολύ τα πράγματα, αλλά και πάλι πρέπει να ψάχνεις μόνος σου για εξαρτήσεις.

Το συμπέρασμα:
Δεν εγκαθιστάς το Firestarter καλύτερα !!
δες αυτό το Thread:
http://www.linuxinsider.gr/forum/firewall-0

ευχαριστώ πολύ, τώρα όμως που εγκαθιστώ μια εφαρμογή με το synaptic, μόλις τελειώνει η εγκατάσταση βγάζει:

E: elog: η υποδιεργασία post-installation script επέστρεψε κατάσταση λάθους 1

μήπως έχω κάνει καμια βλακεία ανεπανόρθωτη;

Δεν υπάρχει βλακεία (ανεπανόρθωτη υπάρχει :-))

Πες μου τι έκανες τελικά??
Τι firewall εγκατέστησες και πως ??

Επίσης θα επιμείνω στο εξής:

dimitris]Στην ερώτησή σου, η απάντηση είναι η εξής: αν δεν τρέχεις κάποιον server (Apache, MySQL, Samba, κοκ) ή κάποιο άλλο πρόγραμμα που ανοίγει ports, τότε συνήθως δεν χρειάζεσαι καν firewall. Αν κάνει απλά desktop χρήση του Linux, τότε δεν έχεις πρόβλημα.

Καλησπερα κ ευχαριστω για την βοηθεια.

Τελικα ετρεχα καποιον σερβερ χωρις να το ξερω εκανα νεα εκατασταση του λινουξ και ολα οκ...μεχρι στιγμης εχω το firestarter.
Ξερω τα λινουξ ειναι πολυ πιο ασφαλη απο τα γουιντος. Αμα δεν βαλω τειχος προστασιας δεν θαχω κανενα προβλημα απολυτως?
Γιατι κατεβαζω παρα πολλα απο ιντερνετ,τορεντς κ.τ.λ.
Ενεργοποιησα κ μια καρτα γραφικων νβιντια 6600,αλλα μου φαινεται οτι ετρεχε καλυτερα με την απλη.
Καταπληκτικο το περιβαλλον του ουμπουντου κ τρεχει κ καποια προγραμματα που ειναι για γουιντος!!!

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

εγκαθιστουσα καποιες εφαρμογες και οταν εκανα επανεκινηση στο ντουαλ μπουτ που εχω στην αρχη(εχω κ τα γουιντος) προστεθηκε η επιλογη ubuntu as server...ενω απτην αρχη εκανα χρηση ντεσκτοπ.περιεργο..

προσπαθω παλι να κανω compile σε μια εφαρμογη και μου βγαζει τα εξης:

root@sinusoid440Hz:~# cd ~
root@sinusoid440Hz:~# tar xvzf IanniX-0.640b-SRC-LittleEndian.tar.gz
tar: IanniX-0.640b-SRC-LittleEndian.tar.gz: Δεν είναι δυνατή open: No such file or directory
tar: Το σφάλμα δεν είναι επανορθώσιμο: τερματισμός τώρα
tar: Child returned status 2
tar: Καθυστέρησε το σφάλμα εξόδου από προηγούμενα σφάλματα
root@sinusoid440Hz:~#

Ακολουθησα τα βηματα οπως γραφουν οι οδηγιες

Καταρχήν please μην κάνεις διπλά post.

1. Κάθε χρήστης έχει ένα δικό του home directory. Αυτό βρίσκεται στον υποκατάλογο /home/ΤοΌνομαΤουΧρήστη και συμβολίζεται ως ~. Δηλαδή αν κάνω login σ'ένα pc με username luckyb, το home μου είναι το /home/luckyb και στην κονσόλα μπορώ να μεταφερθώ σ'αυτό με την εντολή "cd ~":

luckyb@luckyb:/usr/bin$ cd ~
luckyb@luckyb:~$   (δηλαδή: luckyb@luckyb:/home/luckyb$ )

Εξαίρεση αποτελεί το home directory του υπερχρήστη (su ή root) το οποίο βρίσκεται στον υποκατάλογο /root:

root@luckyb:/usr/bin# cd ~
root@luckyb:~#   (δηλαδή: root@luckyb:/root#)

2. To δολάριο ($) σημαίνει ότι δουλεύεις ως απλός χρήστης, ενώ το καγκελάκι (#) ως root.

3. Το αρχείο IanniX-0.640b-SRC-LittleEndian.tar.gz είναι ένα συμπιεσμένο αρχείο (βλέπε zip για windowz). Αποσυμπιέζεται με την εντολή tar, αλλά και από γραφικό περιβάλλον (κάνεις δεξί κλικ επάνω του και extract here). Για να το αποσυμπιέσεις με την tar πρέπει να πας πρώτα στον υποκατάλογο που το'χεις σώσει. Αν αυτός είναι το home σου, τότε θα δώσεις την εντολή που έδωσες(cd ~), αλλά ως απλός χρήστης. Μπορείς να δεις τα περιεχόμενα του directory στο οποίο βρίσκεται με "$ls" ή "$ls -la".

4. Δεν χρειάζεται να δίνεις εντολές ως root στην κοσνόλα, παρά μόνο όταν δίνεις την εντολή εγκατάστασης (make install)

5. Σωτήριο στην κονσόλα είναι το πλήκτρο tab. Ξεκινάς και γράφεις το όνομα του αρχείου (το οποίο είναι σιδηρόδρομος) και μετά τους 2-3 πρώτους χαρακτήρες πάτα tab. Θα συμπληρωθεί αυτόματα.

6. Με το compile θα μπλέξεις άσχημα. Δεν έχουμε αποσυμπιέσει καν το αρχείο κι έχουμε προβλήματα. Που να δεις μετά με τις εξαρτήσεις τι έχει να γίνει. Η προτιμώμενη σειρά εγκατάστασης ενός προγράμματος έχει ως εξής:
α. Με τον package manager της διανομής.
β. Αν δεν υπάρχει στα repos και πρέπει να το κατεβάσουμε από το web, τότε καλύτερα να βρούμε αντίστοιχο πακέτο της διανομής μας (πχ .deb για ubuntu
γ. Αν δεν υπάρχει ούτε έτοιμο πακέτο τότε ψάχνουμε για άλλο πρόγραμμα που κάνει την ίδια δουλειά και υπάρχει στα repos.
δ. Αν δεν υπάρχει κάτι αντίστοιχο κι εμείς θέλουμε οπωσδήποτε ΑΥΤΟ τότε κάνουμε compile.

Δεν θέλω να σε αποθαρρύνω. Δεν θα αργήσει η περίοδος που θα κάνεις compile για πρωϊνό. Για αρχή ρίξε μια ματιά στα FAQ του forum, θα σου φανούν πολύ χρήσιμα.

Wish u luck