Στον σημερινό οδηγό του Arch Linux, θα συνεχίσουμε με το δεύτερο μέρος της σειράς μας σχετικά με την Δημιουργία πακέτων στο Arch Linux.

Το PKGBUILD όπως είπαμε είναι ένα αρχείο που περιγράφει το πως θα δημιουργηθεί το πακέτο, που θα εγκατασταθεί κλπ.

Σημείωση: Όλη σειρά οδηγών του Arch Linux Packaging είναι διαθέσιμη εδώ :

cerebrux.net/tag/arch-linux-packaging

Αυτά τα αρχεία μπορούν να δημοσιευτούν ελεύθερα σε ένα κεντρικό αποθετήριο που ονομάζεται Arch User Repository.

Advertisements

Τι είναι το AUR

Το Arch User Repository (AUR) είναι ένα κοινοτικό αποθετήριο για το Arch Linux. Περιέχει οδηγίες πακέτων PKGBUILDs που σου επιτρέπουν να δημιουργήσεις πακέτα με το makepkg και να εγκαταστήσεις με την βοήθεια του διαχειριστή πακέτων pacman.

Πως κάνουμε εγκατάσταση πακέτα από το AUR

Για να εγκαταστήσουμε πακέτα από το AUR χρειαζόμαστε σαν προαπαιτούμενο το base-devel group.

sudo pacman -S base-devel

Ιδιαίτερα στο AUR πρέπει να προσέχουμε για την αξιοπιστία του πακέτου καθώς όπως είπαμε είναι ένα κοινοτικό αποθετήριο το οποίο δεν υποστηρίζεται επίσημα από το Arch και ο καθένας μπορεί να ανεβάσει ένα πακέτο (όπως π.χ. γίνεται με τα PPA στο Ubuntu). Μια καλή πρακτική είναι να βλέπετε τα σχόλια ή και ακόμη να ελέγχετε το PKGBUILD μόνοι σας.

Έστω ότι θέλουμε να εγκαταστήσουμε το πακέτο που δημιουργήσαμε στο προηγούμενο άρθρο (το οποίο θα μάθουμε πως το ανεβάζουμε).

Έστω ότι θέλουμε να εγκαταστήσουμε το πακέτο που δημιουργήσαμε

Μια καλή πρακτική είναι να δημιουργήσουμε ένα φάκελο στο home directory με το όνομα build και εκεί να περιέχονται όλα τα πακέτα από τα aur που χρειαζόμαστε. Οπότε το φτιάχνουμε και αφού μπούμε μέσα κατεβάζουμε το αποθετήριο της εφαρμογής:

mkdir build
cd build
git clone https://aur.archlinux.org/ytd101.git

Ύστερα μέσα από το τερματικό πηγαίνουμε στον κατάλογο του πακέτου και τρέχουμε το makepkg για να το πακετάρει και να το εγκαταστήσει.

cd ytd101
makepkg -si

Ας αναλύσουμε λίγο τις παραμέτρους του makepkg:

  • -s (syncdeps): Εγκαθιστά όλες τις εξαρτήσεις που χρειάζονται για την δημιουργία του πακέτου.
  • -i (install): Εγκαθιστά ή αναβαθμίζει το πακέτο μέσω του διαχειριστή πακέτων (pacman).

Κάποιες επιπλέον χρήσιμες παράμετροι είναι οι εξής:

  • -c (clean): Διαγράφει τα αρχεία και τους καταλόγους μετά από μία επιτυχημένη δημιουργία του πακέτου. (srcdir, pkgdir).
  • -r (rmdeps): Διαγράφει όλες τις εξαρτήσεις που εγκαταστάθηκαν και δεν χρειάζονται πλέον για την λειτουργικότητα του πακέτου.

Πως αναβαθμίζουμε ένα πακέτο του AUR;

Για να αναβαθμίσουμε ένα πακέτο πρέπει να πάμε στο κατάλογο που βρίσκεται το PKGBUILD, να το ενημερώσουμε και να το ξάνα εγκαταστήσουμε.

cd build/ytd101 #(Φάκελος που περιέχει το PKGBUILD)
git pull #(Ενημέρωση πακέτου)
makepkg -si #(Εγκατάσταση ενημερωμένου πακέτου)

ΑUR Helpers: Αναγκαίο κακό

Τώρα θα μου πεις ¨Και εγώ κάθε φορά θα κάνω όλη αυτήν την διαδικασία για μια απλή εγκατάσταση ή μια αναβάθμιση;» και θα έχεις και δίκιο.

Ο επίσημος και προτεινόμενος τρόπος που μας λέει το ArchWiki είναι αυτός. Για την αυτοματοποίηση όμως όλης αυτής της διαδικασίας βγήκαν οι λεγόμενοι Aur Helpers.

Δουλειά τους είναι να απλοποιούν την διαδικασία. Για την ιστορία να πω πως ΔΕΝ υπάρχει ο καλύτερος aur helper. Σήμερα θα δούμε τον yay καθώς είναι και αυτός που χρησιμοποιώ εγώ. Η εγκατάσταση του θα γίνει όπως περιγράψαμε παραπάνω.

cd ~/build
git clone https://aur.archlinux.org/yay.git 
cd yay 
makepkg -si

Και πλέον έχουμε έναν Aur Helper.

Advertisements

Yay AUR Helper

Η σύνταξη του είναι ίδια με του pacman και επιπλέον έχει πρόσβαση και στα επίσημα αποθετήρια της διανομής. Με άλλα λόγια μπορούμε να το χρησιμοποιούμε αποκλειστικά χωρίς να χρειάζεται να χρησιμοποιούμε τον pacman για εγκατάσταση – αφαίρεση – αναβάθμιση πακέτων είτε είναι από τα official είτε από το AUR.

Μερικές από τις βασικές λειτουργίες του είναι:

Εγκατάσταση πακέτου

yay -S package

Ενημέρωση και αναβάθμιση

yay -Syyu

Αφαίρεση πακέτου

yay -Rcs package

Τέλος αξίζει να αναφέρουμε ότι η κοινότητα έχει φτιάξει και γραφικό περιβάλλον για την διαχείριση των πακέτων του Arch Linux εκ των οποίων το κορυφαίο είναι το Pamac (pamac-aur).

Επίλογος

Μάθαμε λοιπόν πως μπορούμε να κατεβάζουμε (είτε με το χέρι είτε με AUR helper) και να κάνουμε εγκατάσταση πακέτα που έχουν φτιάξει άλλοι. Σε επόμενο οδηγό θα μάθουμε πως ανεβάζουμε το δικό μας πακέτο στο AUR.

Παραπομπές: