Jedna z vecí, ktorá sa mi na Arch Linuxu a jeho derivátoch páči najviac, je obrovská ľahkosť vytvoriť balíčky, ktoré sa na rozdiel od známych neskôr nainštalujú do systému deb systému Debian / Ubuntu / Linux Mint / etc, to je chaos (a ak sú to knižnice, tak vám to ani nehovorím).
Základná šablóna by bola táto:
# Maintainer:
pkgname=
pkgver=
pkgrel=
pkgdesc=
arch=()
url=
license=()
groups=()
depends=()
makedepends=()
source=()
md5sums=()
build() {
...
}
package() {
...
}
Teraz vysvetlím každý parameter:
- # Správca: V ňom je uvedené meno správcu balíka
- názov balíka: Názov balíka. Môže obsahovať iba písmená, číslice, -, _ a +
- pkver: verzia balíka. pe 1.0.0
- pkgrel: preskúmanie programu alebo balíka. pe 1
- pkgdesc: popis balenia.
- oblúk: architektúra programu: môže to byť akákoľvek (pre všetkých), i686 a x86_64, akákoľvek pre balíky, ktoré nevyžadujú kompiláciu, ako sú programy bash alebo python. Ak to program vyžaduje (napríklad programy v C alebo C ++), musíte označiť i686, ak je to pre 32 bitov, alebo x86_64 pre 64 bitov. Všeobecne platí, že ak je kompatibilný s oboma, je nastavený (i686, x86_64)
- url: adresa URL oficiálnej stránky programu. Je vhodné to povedať.
- Licencia: licenciu programu. napr. GPL3
- skupiny: skupiny, do ktorých balík patrí. groups = ('system')
- záleží: v ňom označujeme balíčky, ktoré sú potrebné na vykonanie programu. pependens = ('python2' pygtk ')
- vykonané výdavky: závislosti, ktoré sú potrebné iba na zostavenie balíka. Ak sa má kód stiahnuť z správcu verzií, je vhodné ho vložiť. pe: makedepends = ('git')
- Zdroj: v ňom označíme súbory potrebné na vytvorenie balíka. Spravidla ide o adresu URL balíka, ktorý obsahuje kód, opravu, súbor .desktopt, ikony atď. pe: source = (pacsyu.desktop)
- súčasti md5: Tu je súčet MD5 súborov označených v zdroji. Ak chcete vedieť, ktoré spustíme z terminálu v priečinku, kde je PKGBUILD (po napísaní cesty k súboru v zdroji) makepkg -g a sumy sa zobrazia na obrazovke.
Je tiež možné použiť iné sumy, ako napríklad sh1. - stavať: do tejto funkcie vložíme príkazy potrebné na vykonanie kompilácie softvéru. Ak nie je potrebné kompilovať, je nevyhnutná iba nasledujúca funkcia)
- balíček: v tejto ďalšej funkcii budú prebiehať inštalačné príkazy programu. Napríklad ak tu kompilujeme kód C, urobila by sa inštalácia make.
A na záver musíme len popraviť makepkg na overenie, či je balík vygenerovaný.
Ako vidíte, je to pre nás ťažké. Potom vám ponechám niekoľko ďalších parametrov hmotnosť:
- -Joj: Príkaz makepkg na inštaláciu balíka po jeho vytvorení.
- -s: Nainštalujte si závislosti balíkov, ak sú v úložiskách.
- -F: Ak už existuje balík s týmto názvom, verziou a revíziou s týmto parametrom, hovoríme vám, aby ste ho prepísali.
- -vs: Po dokončení vyčistite pracovné priečinky (bal. A zdroj).
- -A: Znovu zabaľte balík bez nutnosti novej kompilácie.
Odporúčam vidieť viac súborov PKGBUILD, aby ste videli viac príkladov, vykonajte príkaz makepkg -h okrem parametrov programu vidieť aj ostatné parametre programu oficiálna dokumentácia makepkg na Arch Linux Wiki čo nájdete tu
Veľmi dobre …
Je možné spravovať (kompilovať) balík .exe do balíka Arch?
Napríklad slávny správca sťahovania mypony ??
Pokiaľ viem, nie je to možné, nezabudnite, že súbory .exe sú binárne súbory a nie zdrojový kód. Existuje ale JDownloader.
Ako hovoríte, nemôžete prekompilovať exe, pretože ide o binárny kód.
Môže byť vytvorený balík, ktorý ho nainštaluje a vykoná pomocou Wine, rovnako ako balík v AUR známeho P2P programu Ares.
niekto používa linux a chýba mu Myponi ... jijijijiji
jDownloader je v jave a je dobre známe, že java spôsobuje rakovinu pľúc ...
zaujímavé, museli by sme otestovať balíčky Myslím, že budem mať sklon robiť ten z qbittorrent hahaha už vo vašom yaourt existuje, ale mať svoju vlastnú verziu nebude zlé testovať, ďakujem za informácie, pozdravy
Dobrý vstup, +1
Chcem dodať, že sú tiež jednoduchšie na vytváranie a údržbu ako Gentoo ebuilds!
Pokiaľ ide o Debian, myslím si, že toto distro by enormne zvýšilo svoj handicap iba modernizáciou alebo prechodom na modernejší balík a systém správy balíkov, neviem, kedy bude posledná aktualizácia sady dpkg / apt, ale koncept by už mal mať ľahko 15 rokov a pravdou je, že dnešok je anachronický.
Ďakujem pekne, trochu som to hľadal na wiki a nepochopil som štruktúru (chcel som aktualizovať PlayonLinux), ale aj tak som to vzdal ... sú veci, v ktorých by som chcel mať asistenta alebo niečo podobné (nestrieľajte ma), ale aj tak ... pri absencii nástrojov v priebehu času uvidím, či nejaké vytvorím
Vďaka tvojmu sprievodcovi som začal vytvárať Zeyin PKGBUILD (http://web.psung.name/zeya/), akonáhle to dokončím, nahrám to na AUR 🙂
Úplne súhlasím, pred chvíľou som sa pokúsil vytvoriť balík pre Ubuntu a nebolo možné nájsť zrozumiteľné informácie o tom, ako ho vytvoriť. Nakoniec som to vzdal a program som zhruba nainštaloval.
Rovnaký program pre Archa mi trval menej ako 5 minút.
A nie som si istý, ale myslím si, že otáčky sú o niečo ľahšie ako DEB, ale ťažšie ako Arch.
Veľmi dobré a ľahké a pokiaľ ide o súbor .deb, nie je to také ťažké, ani pre iOS
pozdravy
Myslím, že by mi to pred časom poslúžilo, keď som nahral svoj prvý PKGBUILD na AUR 🙂
Môže mi niekto vysvetliť, o čo mi ide, som nový a neviem, či mi to pomôže nainštalovať balík .deb, ale lokálne v manjaro, čo je presná hra. Áno, funguje to?
Práve som napísal ďalší článok o tom, ako vytvárať balíčky pre arch / manjaro z balíkov .deb
https://blog.desdelinux.net/archlinux-crear-paquetes-multiplataforma-y-desde-paquetes-deb/
Áno, už som to videl, ale som veľmi románový a nerozumiem, ak to nie je len tento riadok
cd "$ {srcdir} /"
tar xvzf data.tar.gz -C.
cp -r usr $ {pkgdir}
čo máš za sebou
if [«$ {CARCH}» = 'x86_64 ′]; potom
ARCH = 'amd64'
md5sums=(‘192a0a222893d59d95f00c34f3c8a674’)
závisí = ('otvorený' 'lib32-otvorený')
elif ["$ {CARCH}" = 'i686 ′]; potom
ARCH = 'i386'
md5sums=(‘047c670443124193c5cc3dd54da99925’)
závisí = ('otvorené')
fi
source = ("http://www.unaurl.com/files/$ trackmaster. $ ARCH.deb")
Nerozumiem tomu, vyzerá to veľmi zložito, sú to spoločné kroky alebo prvá časť
cd "$ {srcdir} /"
tar xvzf data.tar.gz -C.
cp -r usr $ {pkgdir}
dá sa urobiť sám pre prevod .deb. .tar.gz?