Εγκατάσταση 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. Διαβάστε αυτό το άρθρο για να μάθετε περισσότερα