Ένα από τα πράγματα που μου αρέσουν περισσότερο για το Arch Linux και τα παράγωγά του είναι το τεράστια ευκολία να δημιουργήσετε πακέτα που θα εγκατασταθούν αργότερα στο σύστημα, σε αντίθεση με τα γνωστά . Deb του Debian / Ubuntu / Linux Mint / etc που είναι χάος (και αν είναι βιβλιοθήκες δεν σας το λέω).
Ένα βασικό πρότυπο θα ήταν αυτό:
# Maintainer:
pkgname=
pkgver=
pkgrel=
pkgdesc=
arch=()
url=
license=()
groups=()
depends=()
makedepends=()
source=()
md5sums=()
build() {
...
}
package() {
...
}
Τώρα θα εξηγήσω κάθε παράμετρο:
- # Συντηρητής: Σε αυτό τοποθετείται το όνομα του συντηρητή του πακέτου
- pkgname: Το όνομα του πακέτου. Μπορεί να περιέχει μόνο γράμματα, αριθμούς, -, _ και +
- pkver: έκδοση πακέτου. pe 1.0.0
- pkgrel: αναθεώρηση του προγράμματος ή του πακέτου. pe 1
- pkgdesc: περιγραφή πακέτου.
- αψίδα: την αρχιτεκτονική του προγράμματος: μπορεί να είναι οποιοδήποτε (για όλους), i686 και x86_64, είναι για πακέτα που δεν απαιτούν μεταγλώττιση, όπως προγράμματα bash ή python. Εάν είναι ένα πρόγραμμα που το χρειάζεται (για παράδειγμα, προγράμματα σε C ή C ++), θα πρέπει να υποδείξετε το i686 εάν είναι για 32 bit ή x86_64 για 64 bit. Σε γενικές γραμμές, εάν είναι συμβατό και με τα δύο, έχει ρυθμιστεί (i686, x86_64)
- url: το url στην επίσημη σελίδα του προγράμματος. Συνιστάται να το βάλετε.
- άδεια: την άδεια προγράμματος. π.χ. GPL3
- ομάδες: τις ομάδες στις οποίες ανήκει το πακέτο. ομάδες = ('σύστημα')
- Εξαρτάται: Σε αυτό υποδεικνύουμε τα πακέτα που χρειάζονται για την εκτέλεση του προγράμματος. pependens = ("python2" pygtk ")
- εξαρτημένα: τις εξαρτήσεις που απαιτούνται μόνο για τη μεταγλώττιση του πακέτου. Εάν πρόκειται να κατεβάσετε τον κωδικό από έναν διαχειριστή έκδοσης, συνιστάται να τον τοποθετήσετε. pe: makedepends = ('git')
- πηγή: Σε αυτό υποδεικνύουμε τα αρχεία που είναι απαραίτητα για τη δημιουργία του πακέτου. Κατά γενικό κανόνα, είναι η διεύθυνση URL του πακέτου που περιέχει τον κώδικα, μια ενημερωμένη έκδοση κώδικα, ένα αρχείο .desktopt, εικονίδια κ.λπ. pe: πηγή = (pacsyu.desktop)
- md5sums: εδώ είναι τα αθροίσματα md5 των αρχείων που αναφέρονται στην πηγή. Για να μάθουμε ποια τρέχουμε από ένα τερματικό στο φάκελο όπου βρίσκεται το PKGBUILD (έχοντας γράψει τις διαδρομές αρχείων στην πηγή) makepkg -g και τα ποσά θα εμφανιστούν στην οθόνη.
Είναι επίσης δυνατό να χρησιμοποιήσετε άλλα ποσά όπως το sh1. - χτίζω: σε αυτή τη λειτουργία θα βάλουμε το απαιτούμενες εντολές για να προχωρήσουμε στη μεταγλώττιση του λογισμικού. Εάν δεν είναι απαραίτητο να μεταγλωττιστεί μόνο η ακόλουθη λειτουργία είναι απαραίτητη)
- πακέτο: σε αυτήν την άλλη λειτουργία, οι εντολές εγκατάστασης προγράμματος θα πάνε. Για παράδειγμα, εάν συντάσσουμε τον κώδικα C εδώ, η εγκατάσταση του make θα πάει.
Και για να τελειώσουμε πρέπει απλώς να εκτελέσουμε makepkg για να επαληθεύσετε ότι το πακέτο έχει δημιουργηθεί.
Όπως μπορείτε να δείτε, είναι δύσκολο για εμάς. Τότε σας αφήνω με μερικές επιπλέον παραμέτρους του makepkg:
- -Εγώ: Δίνει εντολή στο makepkg να εγκαταστήσει το πακέτο μετά τη δημιουργία του.
- -μικρό: Εγκαταστήστε τις εξαρτήσεις πακέτων εάν βρίσκονται στα αποθετήρια.
- -ΦΑ: Εάν υπάρχει ήδη ένα πακέτο με αυτό το όνομα, έκδοση και αναθεώρηση με αυτήν την παράμετρο, σας λέμε να το αντικαταστήσετε.
- -ντο: Καθαρίστε τους φακέλους εργασίας (pkg και πηγή) μόλις τελειώσετε.
- -Ρ: Επανασυσκευάστε το πακέτο χωρίς να χρειάζεται να μεταγλωττιστεί ξανά.
Συνιστώ να δείτε περισσότερα αρχεία PKGBUILD για να δείτε περισσότερα παραδείγματα, να εκτελέσετε την εντολή makepkg -η για να δείτε τις υπόλοιπες παραμέτρους του προγράμματος, εκτός από το να δείτε το επίσημη τεκμηρίωση makepkg στο Arch Linux Wiki τι μπορείς να βρεις Aquí
Πολύ καλά …
Μπορείτε να κάνετε ένα πακέτο .exe να διαχειριστεί (μεταγλώττιση) σε ένα πακέτο Arch;
Όπως για παράδειγμα ο διάσημος διαχειριστής λήψεων Mipony ??
Από όσο γνωρίζω, δεν είναι δυνατό, να θυμάστε ότι το .exe είναι δυαδικά και όχι πηγαίος κώδικας. Αλλά υπάρχει το JDownloader.
Όπως λέτε, δεν μπορείτε να μεταγλωττίσετε εκ νέου επειδή είναι δυαδικός κώδικας.
Μπορείτε να δημιουργήσετε ένα πακέτο που το εγκαθιστά και να το εκτελεί με κρασί, όπως και το πακέτο στο AUR του γνωστού προγράμματος P2P Ares.
κάποιος χρησιμοποιεί linux και χάνει το Myponi… jijijijiji
Το jDownloader είναι σε Java και είναι γνωστό σε όλους ότι η java προκαλεί καρκίνο του πνεύμονα ...
ενδιαφέρον, θα έπρεπε να δοκιμάσουμε πακέτα, νομίζω ότι θα τείνω να κάνω αυτό από το qbittorrent hahaha υπάρχει ήδη στο yaourt, αλλά έχοντας τη δική σας έκδοση δεν θα είναι κακό να δοκιμάσετε, ευχαριστώ για τις πληροφορίες, χαιρετισμούς
Καλή είσοδος, +1
Θέλω να προσθέσω ότι είναι επίσης πιο εύκολο να δημιουργηθούν και να συντηρηθούν από το Gentoo ebuilds!
Όσον αφορά το Debian, πιστεύω ότι αυτή η διανομή θα αυξήσει το μειονέκτημά της απλώς εκσυγχρονίζοντας ή μετεγκαθιστώντας σε ένα πιο σύγχρονο σύστημα διαχείρισης πακέτων και πακέτων, δεν ξέρω πότε θα γίνει η τελευταία ενημέρωση του σετ dpkg / apt, αλλά η ιδέα θα έπρεπε ήδη 15 χρόνια και η αλήθεια είναι ότι σήμερα είναι αναχρονιστική.
Σας ευχαριστώ πολύ, μόλις πρόσφατα, το έψαχνα στο wiki και δεν είχα καταλάβει τη δομή (ήθελα να ενημερώσω το PlayonLinux) αλλά ακόμα παραιτήθηκα ... υπάρχουν πράγματα στα οποία θα ήθελα να έχω ένας βοηθός ή κάτι τέτοιο (μην με πυροβολείτε) αλλά ακόμα ... απουσία εργαλείων με την πάροδο του χρόνου θα δω αν δημιουργώ
Χάρη στον οδηγό σας ξεκίνησα να δημιουργώ το PKGBUILD του Zeya (http://web.psung.name/zeya/), μόλις το τελειώσω, το ανεβάζω στο AUR 🙂
Συμφωνώ απολύτως, πριν από λίγο καιρό προσπάθησα να δημιουργήσω ένα πακέτο για το Ubuntu και δεν μπόρεσα να βρω κατανοητές πληροφορίες για το πώς να φτιάξω ένα, στο τέλος εγκατέλειψα και εγκατέστησα το πρόγραμμα περίπου.
Το ίδιο πρόγραμμα για το Arch μου πήρε λιγότερο από 5 λεπτά για να βάλω το πακέτο μαζί.
Και δεν είμαι σίγουρος, αλλά νομίζω ότι τα RPM είναι ελαφρώς πιο εύκολα από τα DEB, αλλά είναι πιο δύσκολο από το Arch.
Πολύ καλό και εύκολο, και για το .deb δεν είναι τόσο δύσκολο, καλά για το iOS
αφορά
Νομίζω ότι αυτό θα με εξυπηρετούσε πριν από λίγο καιρό όταν ανέβασα το πρώτο μου PKGBUILD στο AUR 🙂
Μπορεί κάποιος να εξηγήσει τι είναι για μένα, είμαι νέος και δεν ξέρω αν αυτό με βοηθά να εγκαταστήσω ένα πακέτο .deb αλλά τοπικά στο manjaro, ένα παιχνίδι για να είμαι ακριβής. Ναι, λειτουργεί;
Μόλις έγραψα ένα άλλο άρθρο σχετικά με τον τρόπο δημιουργίας πακέτων για arch / manjaro από πακέτα .deb
https://blog.desdelinux.net/archlinux-crear-paquetes-multiplataforma-y-desde-paquetes-deb/
Ναι, το είχα ήδη δει, αλλά είμαι πολύ μυθιστόρημα και δεν καταλαβαίνω αν δεν είναι μόνο αυτή η γραμμή
cd "$ {srcdir} /"
tar xvzf data.tar.gz -C.
cp -r usr $ {pkgdir}
τι έχεις πίσω
αν [«$ {CARCH}» = 'x86_64 ′]; τότε
ΑΡΧΗ = 'amd64'
md5sums=(‘192a0a222893d59d95f00c34f3c8a674’)
εξαρτάται = ("openal" lib32-openal ")
elif ["$ {CARCH}" = 'i686 ′]; τότε
ΑΡΧΗ = "i386"
md5sums=(‘047c670443124193c5cc3dd54da99925’)
εξαρτάται = («ανοιχτό»)
fi
πηγή = ("http://www.unaurl.com/files/$[reference.$ARCH.deb")
Δεν το καταλαβαίνω, φαίνεται πολύ περίπλοκο, είναι κοινά βήματα ή το πρώτο μέρος
cd "$ {srcdir} /"
tar xvzf data.tar.gz -C.
cp -r usr $ {pkgdir}
μπορεί να γίνει μόνο του για τη μετατροπή .deb. .tar.gz;