RPM και RPM

neos | Παρ, 01/22/2010 - 00:54 | 1' | 11

Μπορεί να είναι χαζή ερώτηση αλλά θα την κάνω.

Εχουν καμιά διαφορά τα πακέτα rpm του fedora από αυτά του mandriva ή του suse;

Εχω προσέξει σε καποια προγράμματα (π.χ skype) έχει αλλο λινκ για να το κατεβάσεις για fedora και αλλο για suse

Δηλαδη ο instaler του suse δεν μπορει να εγκαταστήσει το rpm του fedora;

Τα .deb γιατι δεν εχουν διαφορά;

 

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

MO: (ψήφοι: 0)

Σχόλια

Δυστηχώς υπάρχει διαφορά και στα deb αρχεία, όχι τόσο στο τρόπο κατασκευής όσο στα ποιοτικά χαρακτηριστικά, στον τρόπο μεταγλώττισης του πηγαίου κώδικα που περιέχουν τα πακέτα, στα path που εγκαθιστά κάθε διανομή τα διάφορα αρχεία( δεν ακολουθούν όλοι τον ίδιο δρόμο), ο compiler που χρησιμοποιήθηκε, η έκδοση της glibc βιβλιοθήκης που χρησιμοποιήθηκε κλπ. Δηλαδή, δεν έχει να κάνει με τις καταλήξεις rpm ή deb, αλλά με το περιεχόμενο. Γι'αυτό καλό θα ήταν να εγκαθιστάς πακέτα που έχουν χτιστεί για τη διανομή και την έκδοση που χρησιμοποείς, τουλάχιστον αυτό προτείνεται και από τους ίδιους τους devs της κάθε διανομής.

Μπορεί και να λέω βλακείες αλλά θα δοκιμάσω να απαντήσω.

Βασικά τα .deb δεν έχουν και μεγάλες διαφορές μιας και το ubuntu προέρχεται απο το debian, και με την σειρά τους τα Mint, Μονομάχος κ.ά απο το Ubuntu. Τα προγράμματα βρίσκονται στους ίδιους καταλόγους πάνω-κάτω. Συν το γεγονός οτι οι προδιαγραφές των .deb δεν εξελίσσονται τόσο πολύ.

Τώρα τα rpm είναι μια άλλη υπόθεση. Και οι τρεις διανομές είναι (ήταν και θα είναι) ανεξάρτητες. Η καθεμία χρησιμοποιεί άλλες προδιαγραφές για τα .rpm όσον αφορά αρκετά πράγματα. Πχ μπορεί να είναι διαφορετικός κατάλογος εγκατάστασης, άλλες εξαρτήσεις, άλλα options στο compile, με διαφορετική έκδοση του GCC. Το πιθανότερο βέβαια είναι να είναι οτι τα πακέτα είναι φτιαγμένα χρησιμοποιώντας διαφορετικές (πιο νέες ή πιο παλιές) εξαρτήσεις. Και επίσης τα .rpm εξελίσσονται αρκετά (πχ δύσκολα θα περάσεις πακέτο του SuSE 11.2 στο 10.3 αφού αρκετά πράγματα στο υποσύστημα των .rpm έχουν αλλάξει.)

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

Το πολύ σπαστικό πρόβλημα είναι όταν διάφορες εφαρμογές υπάρχουν μόνο σε .deb μορφή. Και πάλι για να στο κάνω λίγο πιο σαφές υπάρχει τρόπος να το μετατρέψεις σε .rpm αλλά με αμφίβολα αποτελέσματα (έχω και πρόσφατη εμπειρία) παρόλο που "θα έπρεπε" να δουλεύει. Αλλά μιλάμε για διαφορετικές διανομές.

Ελπίζω να μην είπα πολλές μπαρούφες.

Teddy] Συν το γεγονός οτι οι προδιαγραφές των .deb δεν εξελίσσονται τόσο πολύ.

Επειδή ασχολομαι αρκετό καιρό με την κατασκευή deb πακέτων, θα διαφωνήσω..

Έχουν τόσο μεγάλη διαφορά τα debάκια μεταξύ τους? Θυμάμαι όσο έπαιζα με τον Μονομάχο το είχα ξεσκίσει το ζήτημα.. Έβαζα ότι να'ναι και ξεκίναγαν τα περισσότερα. Α, εκτός των άλλων τα προγράμματα είναι σπασμένα στα ίδια πακέτα. Τα rpmάκια καμία σχέση, πολύ πιο αυστηρό compile και εξαρτήσεις, σπασμένα διαφορετικά σε πακετάκια μεταξύ των διανομών και άλλα τέτοια. (έκανα καφρίλες βέβαια και εγώ...).

Αυτή την εντύπωση έχω.

Κοιταξε, οι προδιαγραφές των deb πακέτων αλλάζουν συνεχώς και εξελίσσονται, τoυλάχιστον από το debian. Οι θυγατρικές, δεν είμαι τόσο σίγουρος ότι ακολουθούν κατά γράμμα τις προδιαγραφές που ορίζει κάθε τόσο η "μαμά". Tώρα ότι τυχαίνει να δουλεύουν είναι άλλο ζήτημα...

Τα rpm αλλάζουν πιο συχνά specifications, ειδικότερα στο πως τα χρησιμοποιούν οι package managers yum,yast, zypper και αυτό του mandriva, εκεί ίσως να βρίσκεται η διαφωνία μας. Πχ νομίζω οτι δεν μπορείς να περάσεις (επίσημα) πακέτα του suse 11.2 στο 11.1.

Αντιθέτως όλα τα .deb δουλεύουν με το apt-get (σωστά δεν τα λέω;;). Παράδειγμα πρόσφατο, έχω περάσει τον μισό Xorg, και νέο kernel απο πακέτα του 9.10 και ppa, στον Μονομάχο (9.04) χωρίς πρόβλημα.

Ο Μονομάχος είναι respin του Ubuntu, γι'αυτό δεν έχεις πρόβλημα. Θέλω να πω, δεν είναι αυτονομη διανομή όπως το ubuntu.

Δηλαδή πού καταλήγουμε;

Οτι συνήθως όταν δίνονται .deb στη σελίδα κάποιου προγράμματος είναι φτιαγμένα για debian οπότε το αν δουλεύουν στις υπόλοιπες διανομές ή όχι εξαρτάται απο το κατα πόσο το Ubuntu και άλλοι ακολουθούν τις προδιαγραφές της μαμάς debian; Και επειδή πάνω-κάτω αυτό συμβαίνει, δουλεύουν;

 

 

Τα έχεις μπερδέψει λίγο. Το ότι έχει κατάληξη deb είναι μόνο η κορυφή του παγόβουνου. Ολα τα deb αρχεία δεν είναι ίδια και δεν φτιάχνονται όλα για το debian. Υπάρχουν πολλά repos που ακολουθούν το τρόπο που πακετάρει το Ubuntu παρά αυτό του debian. Αυτά τα πακέτα μπορεί να δουλέψουν και στο debian αλλά μπορεί και όχι... Δεν είναι δεδομενο. Και φυσικά ισχύει και το αντίστροφο. Απλώς το Ubuntu, κρατά κάποια συμβατότητα με το debian.

Μεταξύ DEB για Debian και DEB για Ubuntu υπάρχουν κάποιες διαφορές προδιαγραφών, όπως και μεταξύ των RPM για τις διάφορες διανομές.

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

Παραδείγματα:

* Μπορεί να έχω compilaρει την εφαρμογή μου με (εγκατεστημένο με το χέρι) Qt4.6 σε Debian και μετά να φτιάξω πακέτο DEB. Αυτό το πακέτο θα παίζει μόνο σε συστήματα σαν το δικό μου. Ούτε καν σε Debian Unstable.

* Μπορει να έχω compilάρει μια εφαρμογή με Qt 3.x σε Debian Stable. Η ίδια εφαρμογή δεν θα παίζει σε Ubuntu.

* To αντίστροφο. Πακέτο deb από Ubuntu δεν θα παίζει 99% στο Debian Stable.

Κρίμα, που έγινε έτσι, ο καθένας κάνει οτι γουστάρει. Αν δεν υπήρχαν αυτές οι ασυμβατότητες και οι παραλλαγές, πραγματικά το Linux θα ήταν το ΝΟΥΜΕΡΟ 1 στα λειτουργικά συστήματα, και θα είχε εκθρονίσει την πρωτοκαθεδρία της M$.