Πως προσθέτουμε PPA αποθετήρια λογισμικού στο Debian 8

Παρότι τα PPA είναι φτιαγμένα για τις Ubuntu διανομές με σκοπό να παρέχουν νέες εκδόσεις λογισμικών που δεν είναι διαθέσιμα στην έκδοση του Ubuntu, είναι το ίδιο εύκολο να τα προσθέσει κανείς και στο Debian 8 Stable.

Εισαγωγή

Σε περίπτωση που κάποιο λογισμικό έχει πακεταριστεί σε .deb αρχεία αλλά δεν είναι διαθέσιμο στα επίσημα αποθετήρια του Debian ενώ είναι διαθέσιμο σε PPA του Ubuntu μπορούμε να το προσθέσουμε και στο Debian 8. Υπάρχουν 2 πράγματα που πρέπει να προσέξτε:

  1. Κάθε έκδοση Debian έχει «συγγενικά πακέτα» με ένα Ubuntu LTS. Π.χ. το Ubuntu 12.04 με το Debian 7, το Ubuntu 14.04 με το Debian 8 και το Ubuntu 16.04 θα έχει συγγενικά πακέτα με το Debian 9 κλπ.
  2. Δεν είναι όλα τα PPA συμβατά με το Debian διότι τα περισσότερα είναι χτισμένα με εξαρτήσεις του Ubuntu και πολλές φορές αυτά δεν είναι ίδια με του Debian.

Μέθοδος 1 – Αυτόματη Προσθήκη

Μπορούμε να αυτοματοποιήσουμε την διαδικασία εισαγωγής αποθετηρίων με την χρήση της εντολής add-apt-repository. Για να γίνει αυτό, κάνουμε εγκατάσταση το πακέτο software-properties-common

sudo apt install software-properties-common

Προσθήκη αποθετηρίου

Τώρα μπορούμε να προσθέσουμε ένα αποθετήριο όπως το κάνουμε και στο Ubuntu:

sudo add-apt-repository ppa:<όνομα πρότζεκτ/έκδοση>

Στο παράδειγμα παρακάτω, θα χρησιμοποιήσουμε ένα αποθετήριο λογισμικού για το λογισμικό που έχω φτιάξει, το uCareSystem. Επειδή από την μια, το λογισμικό δεν είναι διαθέσιμο στα επίσημα αποθετήρια του Debian, αλλά από την άλλη είναι συμβατό με το Debian 8 μπορούμε να προσθέσουμε το αποθετήριο του για να λαμβάνουμε και ενημερώσεις για νέες εκδόσεις:

sudo add-apt-repository ppa:utappia/stable -y

η διαδικασίες που εκτελεί αυτόματα η εντολή add-apt-repository είναι :

  1. Ελέγχει αν υπάρχει το αποθετήριο
  2. Εισάγει τα κλειδιά ψηφιακής υπογραφής
  3. Δημιουργεί ένα ξεχωριστό αρχείο στον φάκελο /etc/apt/sources.list.d/ με την διευθέτηση του αποθετηρίου.

Ωραία τώρα απλά ενημερώνουμε την λίστα με τα διαθέσιμα πακέτα:

sudo apt update
....
Err http://ppa.launchpad.net jessie/main amd64 Packages
404 Not Found
Hit http://ftp.gr.debian.org jessie/main Translation-en
Hit http://security.debian.org jessie/updates/main Translation-en
Hit http://ftp.gr.debian.org jessie/non-free Translation-en
Ign http://ppa.launchpad.net jessie/main Translation-en_GB
Ign http://dl.google.com stable/main Translation-en
Ign http://ppa.launchpad.net jessie/main Translation-en
Hit http://security.debian.org jessie/updates/non-free Translation-en
W: Failed to fetch http://ppa.launchpad.net/utappia/stable/ubuntu/dists/jessie/main/binary-amd64/Packages 404 Not Found

E: Some index files failed to download. They have been ignored, or old ones used instead.

Όπα τι έγινε τώρα εδώ…. μας λέει ότι ναι μεν βρήκα το αποθετήριο PPA στο project Utappia, παρόλα αυτά δεν βρήκα Jessie πακέτα… Χμμμμ ας το διερευνήσουμε λίγο το θέμα να δούμε τι πήγε στραβά.

Ας κοιτάξουμε λίγο το αποθετήριο που προστέθηκε στον φάκελο /etc/apt/sources.list.d/ βλέποντας το περιεχόμενο (ls) του φακέλου και μετά το επίμαχο αποθετήριο (cat):

ls -l /etc/apt/sources.list.d/

utappia-stable-jessie.list
utappia-stable-jessie.list.save

Ωραία, ας δούμε τι περιέχει αυτό το αρχείο:

cat /etc/apt/sources.list.d/utappia-stable-jessie.list

deb http://ppa.launchpad.net/utappia/stable/ubuntu jessie main
# deb-src http://ppa.launchpad.net/utappia/stable/ubuntu jessie main

Α μάλιστα, όπως βλέπετε, ψάχνει για έκδοση jessie και δεν το βρίσκει. Όπως είπαμε, είναι λογικό αυτό και με βάση την συγγένεια που αναφέραμε στην αρχή, μπορούμε να το διορθώσουμε αυτό αλλάζοντας το όνομα jessie του Debian 8 σε trusty που είναι του Ubuntu 14.04:

Πρώτα, ας πάρουμε ένα αντίγραφο του αρχείου, μην γίνει και καμιά στραβή:

sudo cp /etc/apt/sources.list.d/utappia-stable-jessie.list /etc/apt/sources.list.d/utappia-stable-jessie.list-old

Τώρα, πάμε να αντικαταστήσουμε κάθε λέξη jessie στο αρχείο με την λέξη trusty:

sudo sed -i 's/jessie/trusty/g' /etc/apt/sources.list.d/utappia-stable-jessie.list

Ας επιβεβαιώσουμε ότι έγινε η αλλαγή κοιτώντας πάλι το αρχείο:

cat /etc/apt/sources.list.d/utappia-stable-jessie.list
deb http://ppa.launchpad.net/utappia/stable/ubuntu trusty main
# deb-src http://ppa.launchpad.net/utappia/stable/ubuntu trusty main

Για να ξανά ενημερώσουμε την λίστα των πακέτων μας:

sudo apt update
....
Get:1 http://ppa.launchpad.net trusty InRelease [16.0 kB]
Get:2 http://ppa.launchpad.net trusty/main amd64 Packages [913 B]
Get:3 http://ppa.launchpad.net trusty/main Translation-en [724 B]
....

Τώρα πρέπει να είναι μια χαρά, οπότε μπορούμε να κάνουμε εγκατάσταση το uCareSystem-Core που είναι διαθέσιμο στο αποθετήριο:

sudo apt install ucaresystem-core

prosthiki-ppa-debian

Τώρα μπορείτε να χρησιμοποιήσετε και το uCareSystem για συντήρηση του Debian 8.

Μέθοδος 2 – Χέρι χεράκι

Η manual μέθοδος περιλαμβάνει ουσιαστικά τις ενέργειες που κάνει αυτόματα το add-apt-repository αλλά τις κάνουμε με το χέρι. Ας το δούμε πάλι με το αποθετήριο του uCareSytem Core.

  1. Πάμε στο αποθετήριο : https://launchpad.net/~utappia/+archive/ubuntu/stable
  2. Κάνουμε κλικ στο πράσινο βελάκι που λέει «Technical details about this PPA«
  3. Έπειτα κλικ στο «Choose your distribution» και επιλέγουμε την αντίστοιχη συγγένεια, ήτοι Trusty
  4. Αντιγράφουμε τις δύο γραμμές και τις κάνουμε επικόλληση, όχι σε ξεχωριστό αρχείο αλλα στο αρχείο /etc/apt/sources.list

prosthiki-ppa-debian-source-list

Μένει τώρα να εισάγουμε την ψηφιακή υπογραφή για το αποθετήριο (είναι στο σημείο που λέει Signing key στην σελίδα του αποθετηρίου):

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EBC8F9FD

Τέλος δίνουμε :

sudo apt update

για να δει το σύστημα μας την προσθήκη του αποθετηρίου.

Διαγραφή αποθετηρίου

Για να διαγράψετε ένα αποθετήριο απλά διαγράφετε το αρχείο του PPA (αν ακολουθήσατε την μέθοδο 1) η σβήνετε τις εγραφφές από το αρχείο source.list (αν ακολουθήσατε την μέθοδο 2). Έπειτα μπορείτε να διαγράψετε το κλειδί που εισάγατε :

Πρώτα εντοπίστε το :

apt-key list

έπειτα διαγράψτε το

sudo apt-key del EBC8F9FD

ενημερώστε την λίστα πακέτων για τις αλλαγές που κάνατε

sudo apt update

Τέλος, μπορείτε να εντοπίσετε ποια πακέτα δεν χρειάζονται πλέον για να τα απεγκαταστήσετε :

aptitude search '?obsolete'

Εδώ θέλει λίγο προσοχή, από την λίστα που θα δείτε για το ποια πακέτα θα απεγκαταστήσετε.

Επίλογος

Σε γενικές γραμμές, αυτή την διαδικασία μπορείτε να ακολουθήσετε για όλα τα αποθετήρια του Launchpad. Παρόλα αυτά, η προσθήκη αποθετηρίων για πολύ μικρά projects και για τα οποία δεν υπάρχει επίσημη έκδοση τους στα αποθετήρια του Debian μπορεί να μην προκαλεί πρόβλημα, αλλά για μεγαλύτερα ίσως καλύτερα να τα αποφύγετε.

Αν όμως, κάποιο project παρέχει αποθετήριο και το χρειάζεστε καλό είναι να ελέγξετε το περιεχόμενο του αποθετηρίου και τα πακέτα που περιέχει για να δείτε αν κάτι από αυτά «συγκρούεται» με αυτά του Debian.

3 thoughts on “Πως προσθέτουμε PPA αποθετήρια λογισμικού στο Debian 8

    • Τον λόγο τον ανέφερα στο άρθρο. Στο παράδειγμα, χρησιμοποιώ ένα προγραμματάκι το οποίο το έχω γράψει εγώ και έχω δημιουργήσει ένα PPA για εύκολη εγκατάσταση/αναβάθμισή αυτού του script. Η για παράδειγμα να χρειάζεσαι κάποια τελευταία έκδοση Java το οποίο δεν υπάρχει σε επίσημα αποθετήρια του Debian.

    • Ουδείς τέλειος, ακόμη και το debian θέλει τις προσθήκες του προκειμένου να το φέρει κάποιος στα μέτρα του. Δεν ξέρω αν τώρα υπάρχει στα αποθετήρια αλλά προ 10ετίας μια διανομή με τα βασικά της αποθετήρια δεν έπαιζε ούτε mp3. Ειδικά με τις GPL που ερχότανε μαζί δεν μπορούσες να κάνεις σχεδόν τίποτα out of the box γιατί τα απαιτούμενα πακέτα (multimedia,DVD ripping κτλ) εμπίπτουν στις συνθήκες περί free software που όριζε η εκάστοτε GPL. Αυτά για την ιστορία.

      Από τη στιγμή που κάποιος ασχολείται ή θα ασχοληθεί με linux, λογικό είναι να θέλει να δοκιμάσει και να σκαλίσει αυτά τα πράγματα🙂

Απορίες, παρατηρήσεις, ιδέες... Ελεύθερα ! Πες την άποψή σου... έστω και Ανώνυμα:

Εισάγετε τα παρακάτω στοιχεία ή επιλέξτε ένα εικονίδιο για να συνδεθείτε:

Λογότυπο WordPress.com

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό WordPress.com. Αποσύνδεση / Αλλαγή )

Φωτογραφία Twitter

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Twitter. Αποσύνδεση / Αλλαγή )

Φωτογραφία Facebook

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Facebook. Αποσύνδεση / Αλλαγή )

Φωτογραφία Google+

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Google+. Αποσύνδεση / Αλλαγή )

Σύνδεση με %s