Viena no lietām, kas man visvairāk patīk Arch Linux un tās atvasinājumiem, ir milzīgs vieglums lai izveidotu paketes, kuras vēlāk jāinstalē sistēmā, atšķirībā no zināmajām deb Debian / Ubuntu / Linux Mint / etc, tas ir haoss (un, ja tās ir bibliotēkas, es jums to nesaku).
Bāzes veidne būtu šāda:
# Maintainer:
pkgname=
pkgver=
pkgrel=
pkgdesc=
arch=()
url=
license=()
groups=()
depends=()
makedepends=()
source=()
md5sums=()
build() {
...
}
package() {
...
}
Tagad es paskaidrošu katru parametru:
- # Uzturētājs: Tajā tiek ievietots paketes uzturētāja vārds
- pkgname: Iepakojuma nosaukums. Tajā var būt tikai burti, cipari, -, _ un +
- pkver: paketes versija. pe 1.0.0
- pkgrel: programmas vai paketes pārskatīšana. pe 1
- pkgdesc: iepakojuma apraksts.
- arka: programmas arhitektūra: tā var būt jebkura (ikvienam), i686 un x86_64, kas ir jebkura pakotnēm, kurām nav nepieciešama kompilācija, piemēram, bash vai python programmām. Ja tā ir programma, kurai tā nepieciešama (piemēram, programmas C vai C ++), jums jānorāda i686, ja tas paredzēts 32 bitiem, vai x86_64 - 64 bitiem. Parasti, ja tas ir saderīgs ar abiem, tas ir iestatīts (i686, x86_64)
- url: URL uz programmas oficiālo lapu. Ieteicams to ievietot.
- licence: programmas licence. piemēram, GPL3
- grupas: grupas, kurām pieder pakete. grupas = ('sistēma')
- atkarīgs: tajā mēs norādām paketes, kas nepieciešamas programmas izpildei. pependens = ('python2' 'pygtk')
- ir atkarīgs: atkarības, kas nepieciešamas tikai pakotnes sastādīšanai. Ja kodu vēlaties lejupielādēt no versiju pārvaldnieka, ieteicams to ievietot. pe: makedepends = ('git')
- avots: tajā mēs norādām paketes izveidei nepieciešamos failus. Parasti pakotnes URL satur kodu, ielāpu, .desktopt failu, ikonas utt. pe: avots = (pacsyu.desktop)
- md5summas: šeit ir avotā norādīto failu md5 summas. Lai uzzinātu, kurus palaižam no termināļa mapē, kur atrodas PKGBUILD (faila ceļus ierakstot avotā) makepkg -g un summas parādīsies ekrānā.
Ir iespējams izmantot arī citas summas, piemēram, sh1. - būvēt: šajā funkcijā mēs ievietosim komandas, kas nepieciešamas programmatūras sastādīšanai. Ja nav nepieciešams apkopot, nepieciešama tikai šāda funkcija)
- pakete: šajā citā funkcijā darbosies programmas instalēšanas komandas. Piemēram, ja mēs šeit apkopojam C kodu, veiktu make install.
Un, lai pabeigtu, mums vienkārši jāizpilda makepkg lai pārbaudītu, vai pakotne ir ģenerēta.
Kā redzat, mums tas ir grūti. Tad es jums atstāju dažus papildu parametrus makepkg:
- -es: Uzdod makepkg instalēt pakotni pēc tās izveides.
- -s: Instalējiet pakotnes atkarības, ja tās atrodas krātuvēs.
- -F: Ja jau ir pakete ar šo nosaukumu, versiju un pārskatīšanu ar šo parametru, mēs iesakām to pārrakstīt.
- -pret: Kad esat pabeidzis, notīriet darba mapes (pkg un avotu).
- -A: Pārsaiņojiet paketi bez atkārtotas kompilēšanas.
Es iesaku redzēt vairāk PKGBUILD failu, lai redzētu vairāk piemēru, izpildiet komandu makepkg -h lai redzētu pārējos programmas parametrus, papildus redzētu makepkg oficiālā dokumentācija Arch Linux Wiki ko jūs varat atrast šeit
Ļoti labi …
Vai varat pakļaut .exe pakotni pārvaldīt (kompilēt) Arch pakotnei?
Piemēram, piemēram, slavenais lejupielāžu pārvaldnieks Mifonija ??
Cik es zinu, ka nevarat, atcerieties, ka .exe ir bināri faili, nevis avota kods. Bet ir JDownloader.
Kā jūs sakāt, exe nevar pārkompilēt, jo tas ir binārs kods.
Var izveidot pakotni, kas to instalē un izpilda ar Wine, tāpat kā labi pazīstamās P2P programmas Ares pakete AUR.
kāds lieto linux un pietrūkst Myponi… jijijijiji
jDownloader ir java, un visiem ir labi zināms, ka java izraisa plaušu vēzi ...
interesanti, mums būtu jāpārbauda paketes. Es domāju, ka es būšu sliecies darīt to, kas nāk no qbittorrent hahaha jau pastāv yaourt, bet, ja jums ir sava versija, nebūs slikti pārbaudīt, paldies par informāciju, sveicienus.
Labs ieguldījums, +1
Es vēlos piebilst, ka tos ir arī vieglāk izveidot un uzturēt nekā Gentoo ebuilds!
Kas attiecas uz Debianu, es domāju, ka šis izkropļojums ārkārtīgi palielinātu savu handikapu, tikai modernizējot vai pārejot uz modernāku pakotņu un pakotņu pārvaldības sistēmu, es nezinu, kad būs pēdējais dpkg / apt kopas atjauninājums, bet koncepcijai jau vajadzētu būt 15 gadi un patiesība ir tāda, ka šodien ir anahroniska.
Liels paldies, pavisam nesen es to meklēju wiki, un es nebiju sapratis struktūru (es gribēju atjaunināt PlayonLinux), bet es tomēr atteicos ... ir lietas, kurās es vēlētos, lai man būtu palīgs vai kaut kas tamlīdzīgs (nenošaujiet mani), bet tomēr ... ja laika gaitā nav rīku, es redzēšu, vai es tos izveidoju
Pateicoties jūsu ceļvedim, es sāku veidot Zejas PKGBUILD (http://web.psung.name/zeya/), tiklīdz to pabeidzu, es augšupielādēju to AUR 🙂
Pilnīgi piekrītu, pirms kāda laika es mēģināju izveidot pakotni Ubuntu, un man nebija iespējams atrast saprotamu informāciju par to, kā to izveidot, galu galā es atteicos un instalēju programmu aptuveni.
Tā pati programma Arch man prasīja mazāk nekā 5 minūtes, lai saliktu paketi.
Un es neesmu pārliecināts, bet es domāju, ka RPM ir nedaudz vieglāk izdarīt nekā DEB, bet grūtāk nekā Arch.
Ļoti labi un viegli, un, kas attiecas uz .deb, tas nav tik grūti, labi, ka iOS
Sveicieni
Es domāju, ka tas man būtu noderējis pirms kāda laika, kad augšupielādēju savu pirmo PKGBUILD AUR
Vai kāds man var pateikt, kas tas ir, es esmu jauns, un es nezinu, vai tas man palīdz instalēt .deb pakotni, bet lokāli manjaro, precīzāk sakot, spēli. Jā, tas darbojas?
Es tikko uzrakstīju vēl vienu rakstu par to, kā izveidot paketes arch / manjaro no .deb pakotnēm
https://blog.desdelinux.net/archlinux-crear-paquetes-multiplataforma-y-desde-paquetes-deb/
Jā, es to jau biju redzējis, bet esmu ļoti romāns un nesaprotu, ja ne tikai šī līnija ir
CD "$ {srcdir} /"
darva xvzf dati.tar.gz -C.
cp -r usr $ {pkgdir}
kas tev ir aiz muguras
ja [«$ {CARCH}» = 'x86_64 ′]; pēc tam
ARCH = 'amd64'
md5sums=(‘192a0a222893d59d95f00c34f3c8a674’)
atkarīgs = ('openal' 'lib32-openal')
elif ["$ {CARCH}" = 'i686 ′]; pēc tam
ARCH = 'i386'
md5sums=(‘047c670443124193c5cc3dd54da99925’)
atkarīgs = ('atklāts')
fi
avots = ("http://www.unaurl.com/files/$ trackmaster. $ ARCH.deb")
Es to nesaprotu, tas izskatās ļoti sarežģīti, tie ir kopīgi soļi vai pirmā daļa
CD "$ {srcdir} /"
darva xvzf dati.tar.gz -C.
cp -r usr $ {pkgdir}
to var izdarīt atsevišķi, lai pārveidotu .deb. .tar.gz?