Εγκατάσταση 2019 Arch Linux σε διακομιστή Vultr
Εισαγωγή Το Arch Linux έχει μικρότερο, αλλά ακόμα ισχυρό, ακόλουθο από τις πιο δημοφιλείς διανομές. Η φιλοσοφία του είναι αρκετά διαφορετική, με πλεονεκτήματα α
Στο Arch Linux, τα επίσημα αποθετήρια είναι: core, extra και κοινότητα. Αυτά τα πακέτα έχουν ήδη μεταγλωττιστεί και εγκαθίστανται μέσω pacman
. Ως επί το πλείστον, οι γενικοί χρήστες μπορούν να αγνοήσουν ότι αυτά τα 3 επίσημα αποθετήρια είναι ξεχωριστά. Το Core περιέχει τα πιο κρίσιμα πακέτα, όπως τον πυρήνα, τη διαδικασία εκκίνησης, τη δικτύωση, τη διαχείριση πακέτων, το openssh και ούτω καθεξής. Έχει επίσης αυστηρότερες απαιτήσεις για πιο ενδελεχή δοκιμή πριν από την κυκλοφορία νέων εκδόσεων. Το Extra περιέχει άλλα δημοφιλή πακέτα που δεν είναι τόσο κρίσιμα, όπως διακομιστή X, διαχειριστές παραθύρων ή προγράμματα περιήγησης ιστού. Η κοινότητα περιέχει λιγότερο δημοφιλή πακέτα. Μόνο οι Αξιόπιστοι χρήστες (περίπου 60 ενεργοί χρήστες που ψηφίστηκαν από άλλους Αξιόπιστους χρήστες) έχουν πρόσβαση για να κάνουν αλλαγές στα επίσημα αποθετήρια.
Το 2019, υπάρχουν περίπου 11.000 πακέτα στα επίσημα αποθετήρια, στη διεύθυνση https://www.archlinux.org/packages . Ωστόσο, υπάρχουν πολλά άλλα προγράμματα διαθέσιμα στο Linux. Άρα, υπάρχει το AUR (Arch Linux User Repository), ώστε οποιοσδήποτε χρήστης του Arch να μπορεί να προσθέσει ένα νέο πρόγραμμα και να γίνει ο συντηρητής του ή να υιοθετήσει ένα "ορφανό" πακέτο χωρίς τρέχοντα συντηρητή. Υπάρχουν περίπου 55.000 πακέτα στο AUR, στη διεύθυνση https://aur.archlinux.org/ .
Υπάρχουν 3 κρίσιμες διαφορές με το AUR:
PKGBUILD
, ένα σενάριο φλοιού για αυτόματη δημιουργία του πακέτου, όχι μεταγλωττισμένα δυαδικά. (Μερικές φορές περιέχει επίσης μικρές ενημερώσεις κώδικα κειμένου ή εγκατάσταση/αναβάθμιση/απεγκατάσταση σεναρίων κελύφους). Αυτό έχει κάνει τρομερή δουλειά επιτρέποντας σε οποιονδήποτε χρήστη να συνεισφέρει, ενώ μειώνει την πιθανότητα κάποιος να μπορεί να διανείμει κακόβουλο κώδικα. Η κοινότητα του Arch εξακολουθεί να είναι αρκετά χρήσιμη σχετικά με προβλήματα με πακέτα AUR, αλλά σημειώνεται ότι η χρήση τους γίνεται με δική σας ευθύνη. Επειδή το μόνο που παρέχει είναι ένα PKGBUILD
, είναι τελικά δική σας ευθύνη να ελέγξετε ένα PKGBUILD
που πρόκειται να χρησιμοποιήσετε. (Σύμφωνο, πολλοί χρήστες δεν το κάνουν αυτό και απλώς βασίζονται σε άλλους για να παρακολουθούν.)pacman
δεν αλληλεπιδρά άμεσα με το AUR, είναι δική σας ευθύνη να ενημερώσετε τα πακέτα AUR. Όταν αναβαθμίζετε περιοδικά ολόκληρο το σύστημά σας μέσω pacman
, δεν θα πραγματοποιεί αυτόματη λήψη ενημερώσεων σε PKGBUILD
αρχεία AUR , μεταγλώττιση και εγκατάσταση για εσάς.Αν και αυτό το άρθρο εστιάζει στη δημιουργία πακέτων από το AUR, οι ίδιες τεχνικές μπορούν να χρησιμοποιηθούν για να δημιουργήσετε μόνοι σας πακέτα από τα επίσημα αποθετήρια.
PKGBUILD
Σε σύγκριση με ένα .spec
αρχείο που χρησιμοποιούν πολλές άλλες διανομές, το a PKGBUILD
είναι ένα σύντομο και απλό σενάριο φλοιού. Αν και ορισμένα πακέτα είναι πιο περίπλοκα, μπορεί απλώς να είναι παρόμοια με τα ακόλουθα:
pkgname=NAME
pkgver=VERSION
pkgrel=1
pkgdesc='DESCRIPTION'
url=http://example.com/
arch=('x86_64')
license=('GPL2')
source=(http://example.com/downloads/${pkgname}-${pkgver}.tar.gz)
sha256sums=('f0a90db8694fb34685ecd645d97d728b880a6c15c95e7d0700596028bd8bc0f9')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure
make
}
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
make install
}
Αυτό το έγγραφο αναφέρεται σε:
PKGNAME
: Το όνομα ενός πακέτουPKGVER
: Η έκδοση ενός πακέτου (σχεδόν πάντα αντιστοιχεί στον αριθμό έκδοσης του upstream)PKGREL
: Η Arch "έκδοση" του PKGBUILD
για ένα συγκεκριμένο PKGVER
(συνήθως 1, αλλά αυξάνεται εάν χρειάζεται να γίνουν αλλαγές σε ένα PKGBUILD
μεταξύ των εκδόσεων ανάντη)ARCH
: Οι αρχιτεκτονικές στις οποίες μπορεί να κατασκευαστεί το πακέτο (κάπως κληρονομιά, καθώς τα επίσημα αποθετήρια του Arch Linux υποστηρίζουν μόνο "x86_64" (CPU 64-bit), αλλά τα πακέτα AUR μπορούν ακόμα να υποστηρίζουν "i686" (CPU 32-bit) ή "οποιαδήποτε" ο χαρακτηρισμός αρχιτεκτονικής δεν έχει σημασία)PKGBUILD/ETC
: Οποιαδήποτε αρχεία βρίσκονται στο αποθετήριο AUR. το PKGBUILD
, και οποιεσδήποτε άλλες μικρές ενημερώσεις κώδικα κειμένου ή εγκατάσταση/αναβάθμιση/απεγκατάσταση σεναρίων κελύφους. Δεν περιλαμβάνει αρχεία ανοδικής ροής στη source
συστοιχία.Αν και το AUR έχει αποδειχθεί εξαιρετικά αξιόπιστο, είναι καλή ιδέα να κοιτάξετε ένα PKGBUILD/ETC
για να βεβαιωθείτε ότι λαμβάνει την πηγή από ένα μέρος που είστε πρόθυμοι να εμπιστευτείτε. (για παράδειγμα, μια επίσημη τοποθεσία ανοδικής ροής, η οποία μπορεί να είναι από το github - αλλά όχι μόνο το αποθετήριο github κάποιου τυχαίου ατόμου που δεν σχετίζεται με το πακέτο upstream). και ότι PKGBUILD/ETC
δεν περιέχει κανέναν ύποπτο κωδικό.
PKGBUILD/ETC
Εάν τα επίσημα αποθετήρια δεν περιέχουν ένα πακέτο που θέλετε να εγκαταστήσετε, αναζητήστε το στη διεύθυνση https://aur.archlinux.org/ . Ας ελπίσουμε ότι θα διαπιστώσετε ότι αυτό που ψάχνετε υπάρχει, είναι ενημερωμένο και διατηρείται.
Ο καλύτερος τρόπος για να αποκτήσετε το PKGBUILD/ETC
από το AUR είναι να το κλωνοποιήσετε μέσω git
.
Εγκαταστήστε git
, εάν δεν είναι ήδη:
# pacman -S git
Χρησιμοποιήστε τη "URL Git Clone" που εμφανίζεται στον ιστότοπο AUR για αυτό το πακέτο:
$ git clone https://aur.archlinux.org/fslint.git
Μπείτε στον κατάλογο και δείτε τα περιεχόμενά του. (Όλα που αναφέρονται εδώ, εκτός από . .. .git
είναι τα PKGBUILD/ETC
):
$ cd <PKGNAME>
$ ls -a
. .. .git PKGBUILD .SRCINFO
Εάν εξετάσετε το PKGBUILD
, ελπίζουμε ότι θα δείτε ότι χρησιμοποιεί τον επίσημο πηγαίο κώδικα και εκτελεί τυπικά βήματα για τη δημιουργία ενός πακέτου, επομένως φαίνεται αξιόπιστο. Το .SRCINFO
μόνο περιέχει τις πληροφορίες που εμφανίζονται στον ιστότοπο σχετικά με το πακέτο, επομένως δεν είναι ανησυχητικό. Εάν υπάρχουν άλλα αρχεία εδώ, δεν παρέχονται (απευθείας) από το upstream, επομένως τα αρχεία και ο τρόπος χρήσης τους PKGBUILD
θα πρέπει να εξεταστούν, για να βεβαιωθείτε ότι δεν περιέχουν τίποτα ύποπτο.
Αν και απαιτείται πολύ λιγότερο συχνά, μπορείτε να δημιουργήσετε ένα πακέτο ήδη στα επίσημα αποθετήρια, να συμπεριλάβετε μια νέα ενημέρωση κώδικα, να δημιουργήσετε μια νεότερη έκδοση κ.λπ.
Λάβετε PKGBUILD/ETC
από τον πυρήνα και τα επιπλέον αποθετήρια:
$ git clone --single-branch --branch "packages/<PKGNAME>" git://git.archlinux.org/svntogit/packages.git "<PKGNAME>"
Από το αποθετήριο της κοινότητας:
$ git clone --single-branch --branch "packages/<PKGNAME>" git://git.archlinux.org/svntogit/community.git "<PKGNAME>"
PKGBUILD/ETC
Εάν κυκλοφορήσει μια αναβάθμιση PKGBUILD/ETC
, μπορείτε να επιστρέψετε σε αυτόν τον κατάλογο που δημιουργήθηκε με τη χρήση git clone
και να τις ενημερώσετε:
$ git pull
Στη συνέχεια, μεταγλωττίστε ξανά και αναβαθμίστε το πακέτο χρησιμοποιώντας τη μέθοδο της επιλογής σας, παρακάτω.
Υπάρχουν πολλοί τρόποι μεταγλώττισης πακέτων. Τελικά, τα πάντα χρησιμοποιούν makepkg
. Υπάρχουν 2 επίσημα υποστηριζόμενοι τρόποι:
makepkg
, ανατρέξτε στη διεύθυνση https://www.vultr.com/docs/using-makepkg-on-arch-linux .makepkg
σε καθαρό chroot
, ανατρέξτε στη διεύθυνση https://www.vultr.com/docs/using-devtools-on-arch-linux .Υπάρχουν πολλά βοηθητικά προγράμματα AUR, (όπως το makepkg
περιτύλιγμα), που δεν υποστηρίζονται επίσημα από το Arch, όπως aurutils
, yay
, και τα πρόσφατα διακοπείσα aurman
και yaourt
. Ακόμα κι αν χρησιμοποιείτε ένα από αυτά τα άλλα βοηθητικά προγράμματα, συνιστάται να εξοικειωθείτε με τους επίσημα υποστηριζόμενους τρόπους για να είστε πιο αποτελεσματικοί όταν κάτι πάει στραβά.
Το υπόλοιπο αυτού του εγγράφου θα χρησιμοποιηθεί YOUR BUILDER
για να σημαίνει οποιαδήποτε μέθοδο επιλέξετε.
Μπορείτε να ρυθμίσετε ένα τοπικό αποθετήριο ώστε να είναι μια κεντρική τοποθεσία για όλα τα πακέτα που δημιουργείτε.
Τοποθετήστε το τοπικό αποθετήριο όπου θέλετε:
# mkdir /archLocalRepo
Εκτελέστε YOUR BUILDER
χωρίς καμία αυτόματη επιλογή εγκατάστασης και αντιγράψτε το πακέτο στο τοπικό σας αποθετήριο.
# cp <PKGNAME>-<PKGVER>-<PKGREL>-<ARCH>.pkg.tar.xz /archLocalRepo
Προσθέστε το νέο πακέτο στο ευρετήριο του αποθετηρίου:
# repo-add /archLocalRepo/archLocalRepo.db.tar.gz /archLocalRepo/<PACKAGE-FILE-NAME>
Για να αφαιρέσετε ένα πακέτο από το ευρετήριο του αποθετηρίου και το ίδιο το αρχείο πακέτου:
# repo-remove /archLocalRepo/archLocalRepo.db.tar.gz <PKGNAME>
# rm /archLocalRepo/<PACKAGE-FILE-NAME>
Εάν πρέπει να αντικαταστήσετε ένα υπάρχον αρχείο πακέτου, πρέπει να αφαιρέσετε ξεχωριστά αυτό που αντικαθίσταται και, στη συνέχεια, να προσθέσετε το νέο. Δεν μπορείτε απλώς να αντιγράψετε το νέο αρχείο πάνω από το παλιό.
Διαμορφώστε τις παραμέτρους pacman
για να χρησιμοποιήσετε το τοπικό σας αποθετήριο, με επεξεργασία /etc/pacman.conf
και προσθέστε τα ακόλουθα στο τέλος:
[archLocalRepo]
SigLevel = Optional TrustAll
Server = file:///archLocalRepo
Πρέπει να έχετε pacman
ανανεώσει τις γνώσεις του για το αποθετήριο, (συμπεριλαμβανομένου του τοπικού σας), τις βάσεις δεδομένων. για να δείτε τα πακέτα που έχετε προσθέσει σε αυτό:
# pacman -Sy
Στη συνέχεια, μπορείτε να εγκαταστήσετε το πακέτο, με διαφορετικό τρόπο από ό,τι αν ήταν σε επίσημο αποθετήριο:
# pacman -S <PKGNAME>
Σημειώστε ότι εάν το πακέτο είναι απλώς μια εξάρτηση ενός άλλου πακέτου που πρόκειται να εγκαταστήσετε, δεν χρειάζεται να το εγκαταστήσετε απευθείας. Όταν εγκαταστήσετε αυτό το άλλο πακέτο, pacman
θα βρείτε και θα εγκαταστήσετε αυτόματα τα πακέτα εξαρτήσεων στο τοπικό σας αποθετήριο.
Από προεπιλογή, YOUR BUILDER
μεταγλωττίζεται χρησιμοποιώντας ένα μόνο νήμα. Σε συστήματα πολλαπλών CPU, μπορείτε να επιτρέψετε τη χρήση πολλαπλών νημάτων όπου είναι δυνατόν. Το σύστημα κατασκευής θα μεταγλωττίσει τμήματα του πηγαίου κώδικα παράλληλα όταν μπορεί. Μερικές φορές τα μέρη του κώδικα απαιτούν άλλα μέρη με τα οποία αλληλεπιδρά να έχουν ήδη μεταγλωττιστεί, επομένως δεν θα βλέπετε πάντα να χρησιμοποιούνται τόσα νήματα όσα επιτρέπονται. Επεξεργασία /etc/makepkg.conf
.
Για να επιτρέψετε τη χρήση όσων νημάτων έχετε εικονικούς πυρήνες, προσθέστε τα εξής:
MAKEFLAGS="-j$(nproc)"
Σημείωση: Αυτό θα εκτελεί την εντολή nproc
κάθε φορά, επομένως θα χρησιμοποιεί πάντα τον τρέχοντα αριθμό πυρήνων, σε περίπτωση που αναβαθμίσετε τον διακομιστή σας Vultr
Για να επιτρέψετε τη χρήση πολλών εικονικών πυρήνων, αλλά όχι όλων, ώστε να μειωθεί ο αντίκτυπος στη συνολική απόδοση του συστήματος, προσθέστε έναν συγκεκριμένο αριθμό. Για παράδειγμα, εάν έχετε 24 πυρήνες, θα μπορούσατε να επιτρέψετε τη χρήση 21:
MAKEFLAGS="-j21"
Ο καθορισμός περισσότερων νημάτων από τον αριθμό των εικονικών πυρήνων που έχετε θα μειώσει την απόδοση.
Είναι αρκετά σπάνιο, αλλά τα συστήματα κατασκευής ορισμένων πακέτων έχουν προβλήματα με την παράλληλη μεταγλώττιση, λόγω του ότι δεν ορίζουν σωστά τις εξαρτήσεις μεταξύ των τμημάτων του κώδικα. Συνήθως, τα PKGBUILD
αρχεία αυτών των πακέτων θα το χειριστούν αυτό για εσάς επικαλώντας το make -j1
, το οποίο αντικαθιστά την προεπιλογή που έχετε ορίσει. Εάν το χρειάζεται και λείπει, αναφέρετέ το στον συντηρητή του πακέτου Arch.
Ένας PKGBUILD
πίνακας πηγών μπορεί να περιέχει .asc
ή .sig
αρχεία. Συχνά περιλαμβάνονται με τη χρήση επέκτασης του σιδερώματος bash, επομένως είναι εύκολο να τα χάσετε:
source=("http://example.com/downloads/${pkgname}-${pkgver}.tar.gz{,.sig}")
Εάν κάποια από αυτές τις μορφές αρχείων υπογραφής περιλαμβάνεται στον πίνακα προέλευσης, YOUR BUILDER
επιχειρεί αυτόματα να επαληθεύσει την υπογραφή του αρχείου προέλευσης ανάντη. Το κλειδί PGP της υπογραφής πρέπει να βρίσκεται στο μπρελόκ του χρήστη. Διαφορετικά, θα ματαιωθεί με το σφάλμα:
==> Verifying source file signatures with gpg...
<SOURCE-FILE> ... FAILED (unknown public key 1234567890ABCDEF)
==> ERROR: One or more PGP signatures could not be verified!
Είναι σημαντικό να κατανοήσετε ότι το κλειδί GPG μπορεί να εμφανιστεί με διάφορους τρόπους. Το δακτυλικό του αποτύπωμα είναι 40 δεκαεξαδικοί χαρακτήρες και είναι αυτό που πρέπει πάντα να χρησιμοποιείτε. Ένα μεγάλο αναγνωριστικό κλειδιού είναι τα τελευταία 16 ψηφία και ένα σύντομο αναγνωριστικό κλειδιού είναι τα τελευταία 8 ψηφία. Αν και το μικρότερο είναι βολικό, επιτρέπει διπλότυπα που ακυρώνουν ολόκληρο το σκεπτικό πίσω από την επαλήθευση υπογραφών. Ακόμη χειρότερα, είναι γνωστό ότι οι εισβολείς δημιουργούν πλαστά κλειδιά που ταιριάζουν με κλειδιά μικρότερου μήκους για προγραμματιστές υψηλού προφίλ.
Εάν δεν έχετε δοκιμάσει ήδη να δημιουργήσετε το πακέτο, κατεβάστε τις πηγές που θα περιλαμβάνουν το αρχείο υπογραφής: (Αν δοκιμάσατε να δημιουργήσετε, θα είναι ήδη εκεί)
$ makepkg --nobuild --noextract
Για να λάβετε το πλήρες δακτυλικό αποτύπωμα:
$ gpg <ASC-OR-SIG-FILENAME>
...
gpg: using RSA key 155D3FC500C834486D1EEA677FD9FCCB000BEEEE
...
Στην ιδανική περίπτωση, θα πρέπει να επαληθεύσετε αυτό το δακτυλικό αποτύπωμα από το upstream. Για να είναι ασφαλές, το upstream θα πρέπει να δίνει τα κλειδιά των συντηρητών του κάπου στον ιστότοπό του ή στην πηγή. Η απλή αναζήτηση του κλειδιού σε έναν διακομιστή κλειδιού δεν κάνει τίποτα. Ένας εισβολέας μπορεί εύκολα να υποβάλει ένα ψεύτικο κλειδί, επειδή οι διακομιστές κλειδιών δεν επαληθεύουν την αυθεντικότητα. Τα κλειδιά μπορούν να υπογραφούν από άλλα κλειδιά, επομένως εάν έχετε ήδη ένα κλειδί που εμπιστεύεστε, θα πρέπει να είστε αρκετά ασφαλείς να εμπιστεύεστε τυχόν κλειδιά που έχουν υπογράψει.
Αυτό μπορεί να είναι αρκετή δουλειά, ειδικά όταν η upstream δεν δημοσιεύει το δακτυλικό τους αποτύπωμα ή το τοποθετεί κάπου που είναι εύκολο να βρεθεί. Το PKGBUILD
θα περιέχει έναν validpgpkeys
πίνακα, ο οποίος προστέθηκε από τον συντηρητή Arch. Εάν το πακέτο είναι επίσημο αποθετήριο, αυτό σημαίνει ότι ένας αξιόπιστος χρήστης το τοποθέτησε εκεί και θα πρέπει να είστε αρκετά ασφαλείς να εμπιστεύεστε οτιδήποτε αναφέρεται στη συστοιχία. Εάν το πακέτο βρίσκεται στο AUR, θυμηθείτε ότι σημαίνει απλώς ότι άλλος χρήστης του Arch το τοποθέτησε εκεί. Εάν ανησυχείτε να το εμπιστευτείτε, μπορείτε πάντα να κοιτάξετε τον χρήστη για να δείτε τι έχει κάνει στο παρελθόν με το Arch.
Για να προσθέσετε το δακτυλικό αποτύπωμα στο μπρελόκ σας:
$ gpg --recv-keys <FINGERPRINT>
Τώρα μπορείτε να εκτελέσετε το YOUR BUILDER
, και θα εμπιστευτεί το δακτυλικό αποτύπωμα.
AUR πακέτα με ονόματα που τελειώνουν -git
, -svn
, -bzr
ή -hg
είναι αναπτυξιακές εκδόσεις, οι οποίες χρησιμοποιούν ανάντη της τελευταίας σύστημα ελέγχου εκδόσεων δεσμευτούν αντί προς τα πάνω είναι τελευταία έκδοση. Για παράδειγμα, α-git
Το πακέτο θα χρησιμοποιούσε την πιο πρόσφατη δέσμευση του upstream στον κύριο κλάδο (ή τον ισοδύναμο κλάδο του.) Αυτό είναι ιδανικό για την εκτέλεση διορθώσεων σφαλμάτων και νέων λειτουργιών που δεν έχουν κυκλοφορήσει ακόμη και όταν εργάζεστε με ανοδική ροή σε ένα σφάλμα που αναφέρετε, συμπεριλαμβανομένου του εάν πρέπει να επαληθεύσετε για αυτούς ότι δεν είναι σφάλμα που έχει διορθωθεί από μια δέσμευση που δεν έχει ακόμη κυκλοφορήσει. Αυτά τα πακέτα θα πρέπει να θεωρούνται δυνητικά ασταθή. Τούτου λεχθέντος, δυστυχώς, μερικές φορές δεν υπάρχει εναλλακτική λύση, επειδή ορισμένοι συντηρητές upstream δεν προσθέτουν ποτέ ετικέτες σε εκδόσεις ή κάνουν υπερβολικό μεγάλο διάστημα μεταξύ των εκδόσεων προσθήκης ετικετών και περιμένουν από όλους να χρησιμοποιήσουν την πιο πρόσφατη δέσμευσή τους. Ανάλογα με το πακέτο, μπορεί να είστε το πρώτο άτομο που θα δοκιμάσει να εκτελέσει αυτό το commit. Ανάλογα με τους upstream προγραμματιστές, η τελευταία τους δέσμευση μπορεί να μην έχει καν μεταγλωττιστεί,
Είναι σημαντικό να κατανοήσουμε ένα κοινό λάθος. Μην επισημαίνετε ένα πακέτο ανάπτυξης AUR ως μη ενημερωμένο απλώς και μόνο επειδή εμφανίζει έναν αριθμό παλιάς έκδοσης! Τα PKGBUILD
αρχεία πακέτων ανάπτυξης περιέχουν μια πρόσθετη λειτουργία pkgver()
, η οποία χρησιμοποιείται για την αυτόματη ανάλυση ενός ενημερωμένου PKGVER
από τον πηγαίο κώδικα του upstream. Μια κοινή μορφή για ένα -git
πακέτο είναι <TYPICAL-VERSION-NUMBER>.r<COMMITS-SINCE-LAST-RELEASE>.<GIT-COMMIT>-<PKGREL>
. Ένα πακέτο μπορεί να αναφέρεται στο AUR ως 5.0.0.r102.8d7b42ac21-1
, επειδή αυτό PKGBUILD
περιέχει. Όμως, όταν δημιουργείτε ένα πακέτο, YOUR BUILDER
θα ενημερώνεται αυτόματα PKGVER
για να αντικατοπτρίζει τον πηγαίο κώδικα που λάβατε πρόσφατα. Στην πραγματικότητα, εάν έχουν κυκλοφορήσει πολλές νέες εκδόσεις, αλλά τίποτα δεν έχει αλλάξει στη διαδικασία κατασκευής, μια τέτοια PKGBUILD
λίστα μιας παλιάς έκδοσης θα μπορούσε να οδηγήσει στην κατασκευή κάτι πολύ νεότερο, όπως π.χ.9.1.2.r53.2c9a41b723-1
. Για αυτά τα πακέτα, η έκδοση που αναφέρεται στον ιστότοπο είναι απλώς η πιο πρόσφατη έκδοση τη στιγμή που ο συντηρητής AUR χρειάστηκε για τελευταία φορά να ενημερώσει το PKGBUILD
.
Οι συντηρητές AUR ΔΕΝ υποτίθεται ότι απλώς ενημερώνουν το PKGVER
για να αντικατοπτρίζουν τις νέες εκδόσεις. Υποτίθεται ότι το κάνουν μόνο όταν τα νεότερα upstream commit απαιτούν πράγματι κάτι άλλο για PKGBUILD
να αλλάξει.
Επισημάνετε ένα αναπτυξιακό πακέτο AUR μόνο αν γνωρίζετε ότι κάτι δεν πάει καλά. Δηλαδή, δοκιμάσατε πραγματικά να το χρησιμοποιήσετε και αποτυγχάνει να μεταγλωττίσει ή να αναλύσει ένα σωστά μορφοποιημένο νέο PKGVER
. Μερικές φορές συμβαίνουν πράγματα που αναγκάζουν τον συντηρητή AUR να ενημερώσει το PKGBUILD
, όπως οι εξαρτήσεις upstream αλλάζουν, οι configure
επιλογές αλλάζουν, οι νέες εκδόσεις GCC εντοπίζουν σφάλματα στον πηγαίο κώδικα που δεν έκαναν οι προηγούμενες, οι τοποθεσίες αποθήκευσης ανάντη αλλάζουν ή οι προγραμματιστές upstream θα αλλάξουν εκεί που η τυπική τους έκδοση βρίσκεται μέσα στον πηγαίο κώδικα σπάζοντας τοPKGVER
συνάρτηση ανάλυσης. Κατανοήστε ότι ακόμα και αν αποτύχει η μεταγλώττιση ή η λειτουργία του, αυτό μπορεί είτε να σημαίνει ότι ο συντηρητής AUR πρέπει να κάνει αλλαγές στη διαδικασία κατασκευής του ή μπορεί να είναι ένα πρόβλημα με τον πηγαίο κώδικα για το οποίο ο συντηρητής AUR δεν έχει καμία ευθύνη.
Βεβαιωθείτε ότι έχετε διαβάσει την ενότητα "Αναπτυξιακά πακέτα AUR" παραπάνω, προτού αναφέρετε ότι ένα πακέτο δεν είναι ενημερωμένο!
Εάν η ανοδική ροή έχει κυκλοφορήσει μια νεότερη έκδοση για ένα πακέτο που δεν είναι αναπτυξιακό από το PKGBUILD
, μπορείτε να κάνετε κλικ στην επιλογή "Επισήμανση πακέτου μη ενημερωμένο" και να πληκτρολογήσετε ένα μήνυμα στον συντηρητή. Χρησιμοποιήστε το https://packages.archlinux.org για επίσημα πακέτα αποθετηρίου και το https://aur.archlinux.org για πακέτα AUR. Ένα χρήσιμο μήνυμα θα ήταν ο αριθμός της νέας έκδοσης και ίσως ένας σύνδεσμος προς την ανακοίνωση κυκλοφορίας ή τον πηγαίο κώδικα. Η δυνατότητα επισήμανσης στέλνει αυτόματα το μήνυμά σας με email στον συντηρητή.
Σε ένα πακέτο AUR, εάν δεν υπάρξει απάντηση μετά από 2 εβδομάδες, μπορείτε να κάνετε κλικ στο "Υποβολή αιτήματος" με τον τύπο "Orphan", εάν θέλετε να ζητήσετε από έναν αξιόπιστο χρήστη να αφαιρέσει τον τρέχοντα συντηρητή και να καταστήσει το πακέτο ορφανό, εάν ο συντηρητής δεν ανταποκρίνεται στο ορφανό αίτημα. Γενικά, οι άνθρωποι υποβάλλουν ορφανά αιτήματα μόνο εάν είναι σε θέση και επιθυμούν να αναλάβουν το πακέτο και κατά προτίμηση μόνο εάν έχουν ήδη λειτουργικό ρεύμα PKGBUILD
.
Στο μεταξύ, συχνά μπορείτε να ενημερώσετε μόνοι σας ένα παρωχημένο πακέτο. Συχνά χρειάζεται μόνο να αλλάξετε το α PKGBUILD
, ενημερώνοντας τον PKGVER
στον νέο αριθμό έκδοσης και τα ποσά ακεραιότητας ενημερώνονται. Υπάρχει ένα πρόγραμμα updpkgsums
σε πακέτο pacman-contrib
, το οποίο υπολογίζει αυτόματα τα αθροίσματα και τα ενημερώνει στο PKGBUILD
για εσάς. Αξίζει να ελέγξετε τις σημειώσεις έκδοσης του upstream, για να δείτε αν αναφέρουν ότι κάτι πρέπει να αλλάξει κατά τη διαδικασία εγκατάστασης της νέας έκδοσης. Μερικές φορές οι αλλαγές ανάντη απαιτούν περισσότερες αλλαγές ή επισκευές στο PKGBUILD/ETC
. Συχνά η source
συστοιχία ενσωματώνεται PKGVER
σε αυτήν, επομένως συχνά δεν χρειάζεται καν ενημέρωση.
Εισαγωγή Το Arch Linux έχει μικρότερο, αλλά ακόμα ισχυρό, ακόλουθο από τις πιο δημοφιλείς διανομές. Η φιλοσοφία του είναι αρκετά διαφορετική, με πλεονεκτήματα α
Το Vultr σάς παρέχει την εκπληκτική λειτουργικότητα που σας επιτρέπει να χρησιμοποιείτε τη δική σας προσαρμοσμένη εικόνα εκτός από τα εξαιρετικά τους πρότυπα, που σας επιτρέπουν να τρέξετε
Το πακέτο Devtools δημιουργήθηκε αρχικά για αξιόπιστους χρήστες για τη σωστή δημιουργία πακέτων για τα επίσημα αποθετήρια. Ωστόσο, μπορεί να χρησιμοποιηθεί από απλό χρήστη
Εάν χρησιμοποιείτε απευθείας το makepkg, μολύνει κάπως το σύστημά σας. Πρέπει να εγκατασταθεί η ομάδα πακέτων βασικής ανάπτυξης. Με αυτόν τον τρόπο, από προεπιλογή, χρειάζονται μόνο εξαρτήσεις
Προϋποθέσεις Ένας διακομιστής Vultr με ενημερωμένο Arch Linux (δείτε αυτό το άρθρο.) Πρόσβαση Sudo. Οι εντολές που απαιτούνται για να εκτελεστούν ως root έχουν το πρόθεμα # και ένα
Προϋποθέσεις Ένας διακομιστής Vultr που εκτελεί ενημερωμένο Arch Linux (δείτε αυτό το άρθρο.) Ένας διακομιστής web που λειτουργεί, είτε Apache είτε Nginx Sudo Απαιτούνται εντολές πρόσβασης t
Το Preface Arch Linux είναι μια διανομή γενικής χρήσης, γνωστή για την τεχνολογία αιχμής και την ευέλικτη διαμόρφωση. Με στιγμιότυπα Btrfs, μπορούμε να τραβήξουμε
Στο Arch Linux, τα επίσημα αποθετήρια είναι: core, extra και κοινότητα. Αυτά τα πακέτα έχουν ήδη μεταγλωττιστεί και εγκαθίστανται μέσω του pacman. Εμπρός
Αυτό το σεμινάριο εξηγεί πώς να ρυθμίσετε έναν διακομιστή Minecraft χρησιμοποιώντας το Spigot στο Arch Linux. Αυτό το σεμινάριο προϋποθέτει ότι είστε κανονικός χρήστης (not-root) και έχετε
Προϋποθέσεις Ένας διακομιστής Vultr με ενημερωμένο Arch Linux (δείτε αυτό το άρθρο.) Πρόσβαση Sudo. Οι εντολές που απαιτούνται για εκτέλεση ως root έχουν το πρόθεμα #. Th
Προϋποθέσεις Ένας διακομιστής Vultr που λειτουργεί με ενημερωμένο Arch Linux. Δείτε αυτόν τον οδηγό για περισσότερες πληροφορίες. Πρόσβαση Sudo. Οι εντολές που απαιτούνται για εκτέλεση ως root ar
Προϋποθέσεις Ένας διακομιστής Vultr που εκτελεί ενημερωμένο Arch Linux (δείτε αυτό το άρθρο.) Ένας διακομιστής ιστού που λειτουργεί, είτε πρόσβαση Apache είτε Nginx Sudo: Οι εντολές απαιτούν
Προϋποθέσεις Ένας διακομιστής Vultr που εκτελεί ενημερωμένο Arch Linux (δείτε αυτό το άρθρο.) Ένας διακομιστής ιστού που λειτουργεί, είτε πρόσβαση Apache είτε Nginx Sudo: Οι εντολές απαιτούν
Προϋποθέσεις Ένας διακομιστής Vultr με ενημερωμένο Arch Linux (δείτε αυτό το άρθρο.) Ένας διακομιστής ιστού που λειτουργεί, είτε με πρόσβαση Apache είτε Nginx Sudo. Οι εντολές απαιτούν
Αυτό το σεμινάριο εξηγεί πώς να ρυθμίσετε έναν διακομιστή Mumble (Murmur) στο Arch Linux. Ό,τι γίνεται σε αυτό το σεμινάριο γίνεται ως χρήστης root. Εγκατάσταση α
Αυτό το σεμινάριο εξηγεί πώς να ρυθμίσετε έναν διακομιστή Counter-Strike: Global Offensive στο Arch Linux. Αυτό το σεμινάριο προϋποθέτει ότι έχετε συνδεθεί με τυπική χρήση
Αυτό το σεμινάριο εξηγεί πώς να ρυθμίσετε έναν διακομιστή Team Fortress 2 στο Arch Linux. Υποθέτω ότι έχετε συνδεθεί με έναν λογαριασμό χρήστη που δεν είναι root που έχει πρόσβαση sudo
Προϋποθέσεις Ένας διακομιστής Vultr με ενημερωμένο Arch Linux (δείτε αυτό το άρθρο.) Πρόσβαση Sudo: Οι εντολές που απαιτούνται για να εκτελεστούν ως root έχουν το πρόθεμα # και ένα
Προϋποθέσεις Ένας διακομιστής Vultr με ενημερωμένο Arch Linux (δείτε αυτό το άρθρο) Πρόσβαση Sudo: Οι εντολές που απαιτούνται για να εκτελεστούν ως root έχουν το πρόθεμα # και ένα
Η Τεχνητή Νοημοσύνη δεν είναι στο μέλλον, είναι εδώ ακριβώς στο παρόν Σε αυτό το blog Διαβάστε πώς οι εφαρμογές Τεχνητής Νοημοσύνης έχουν επηρεάσει διάφορους τομείς.
Είστε επίσης θύμα των επιθέσεων DDOS και έχετε μπερδευτεί σχετικά με τις μεθόδους πρόληψης; Διαβάστε αυτό το άρθρο για να λύσετε τις απορίες σας.
Μπορεί να έχετε ακούσει ότι οι χάκερ κερδίζουν πολλά χρήματα, αλλά έχετε αναρωτηθεί ποτέ πώς κερδίζουν τέτοια χρήματα; ας συζητήσουμε.
Θέλετε να δείτε επαναστατικές εφευρέσεις της Google και πώς αυτές οι εφευρέσεις άλλαξαν τη ζωή κάθε ανθρώπου σήμερα; Στη συνέχεια, διαβάστε στο blog για να δείτε τις εφευρέσεις της Google.
Η ιδέα των αυτοκινούμενων αυτοκινήτων να βγαίνουν στους δρόμους με τη βοήθεια της τεχνητής νοημοσύνης είναι ένα όνειρο που έχουμε εδώ και καιρό. Όμως, παρά τις πολλές υποσχέσεις, δεν φαίνονται πουθενά. Διαβάστε αυτό το blog για να μάθετε περισσότερα…
Καθώς η Επιστήμη εξελίσσεται με γρήγορους ρυθμούς, αναλαμβάνοντας πολλές από τις προσπάθειές μας, αυξάνονται και οι κίνδυνοι να υποβάλλουμε τον εαυτό μας σε μια ανεξήγητη Ιδιότητα. Διαβάστε τι σημαίνει η μοναδικότητα για εμάς.
Οι μέθοδοι αποθήκευσης των δεδομένων εξελίσσονται μπορεί να είναι από τη γέννηση των Δεδομένων. Αυτό το ιστολόγιο καλύπτει την εξέλιξη της αποθήκευσης δεδομένων με βάση ένα infographic.
Διαβάστε το ιστολόγιο για να μάθετε διαφορετικά επίπεδα στην Αρχιτεκτονική Μεγάλων Δεδομένων και τις λειτουργίες τους με τον απλούστερο τρόπο.
Σε αυτόν τον ψηφιακό κόσμο, οι έξυπνες οικιακές συσκευές έχουν γίνει κρίσιμο μέρος της ζωής. Ακολουθούν μερικά εκπληκτικά οφέλη των έξυπνων οικιακών συσκευών σχετικά με το πώς κάνουν τη ζωή μας να αξίζει και να απλοποιείται.
Πρόσφατα, η Apple κυκλοφόρησε το macOS Catalina 10.15.4 μια συμπληρωματική ενημέρωση για την επιδιόρθωση προβλημάτων, αλλά φαίνεται ότι η ενημέρωση προκαλεί περισσότερα προβλήματα που οδηγούν σε bricking των μηχανών mac. Διαβάστε αυτό το άρθρο για να μάθετε περισσότερα