Thursday 7 February 2008

Alien - Mετατροπή πακέτων σε πακέτα άλλης διανομής

Πολλές φόρες ψάχνουμε απεγνωσμένα για ένα πρόγραμμα ή παιχνίδι, και διαπιστώνουμε οτι δεν υπάρχει για την διανομή μας. Τις περισσότερες φορές μπορούμε άπλα να κάνουμε compile τον κώδικα και μετά φτιάχνουμε και το πακέτο της διανομής μας το εγκαθιστάμε και ξεμπερδεύουμε.

Σε κάποιες άλλες φάσεις βαριόμαστε να κάνουμε compile ή το compile του εν λόγω προγράμματος είναι πολύ χρονοβόρο κτλ

Εκεί έρχεται να δώσει την απάντηση στο πρόβλημα μας το Alien. Με το Alien μπορούμε να μετατρέπουμε deb πακέτα σε rpm και το αντίστροφο.

Ξεκινάμε με την εγκατάσταση του alien και του fakeroot (με το fakeroot δεν χρειάζεται να φτιάξουμε το πακέτο σαν root)

Στο ubuntu αυτό γίνεται ως εξής:
sudo apt-get install alien fakeroot

Μέτα μπορούμε να ξεκινήσουμε την μετατροπή πακέτων:

->απο .rpm σε .deb
fakeroot alien --to-deb package.rpm
ή
fakeroot alien package.rpm

-> απο .deb σε .rpm
fakeroot alien --to-rpm package.deb

Πλέον μπορούμε να εγκαταστήσουμε τo πακέτο με το αντίστοιχο εργαλείο εγκατάστασης της διανομής μας.
Στο ubuntu πχ.

sudo dpkg -i πακετο.deb (για την εγκατάσταση)
sudo apt-get install -f (για να βεβαιωθούμε οτι ολά τα dependencies ειναι σωστά)

ΥΓ1. Για περισσότερες πληροφορίες και χρήσεις των alien, fakeroot δείτε τα manpages τους:
man alien
man fakeroot

ΥΓ2. Διαφορετικές διανομές χρησιμοποιούν διαφορετικά dependency trees, μπορεί λοιπόν το alien πακέτο να εγκατασταθεί άλλα παρολαυτά να μην δουλέψει ή να χρειάζεται επιπλέον alien πακέτα.

ΥΓ3. Μπορούμε να απεγκαταστήσουμε κανονικά τα alien πακέτα με το εργαλείο εγκατάστασης της διανομής μας.
Στο ubuntu για παράδειγμα αν το πακετο λεγοταν πχ package_0.0.3-1.deb απ εγκαθιστούμε με:

sudo apt-get remove package

Keywords: alien,fakeroot,convert,install,debian,deb,rpm,packages

No comments: