Az egyik dolog, ami az Arch Linuxban és annak származékaiban tetszik a legjobban, az a óriási könnyedség csomagok létrehozására, amelyeket később a rendszerre lehet telepíteni, ellentétben az ismertekkel . Deb a Debian / Ubuntu / Linux Mint / stb., ami káosz (és ha könyvtárak, akkor nem is mondom el).
Alapsablon a következő lenne:
# Maintainer:
pkgname=
pkgver=
pkgrel=
pkgdesc=
arch=()
url=
license=()
groups=()
depends=()
makedepends=()
source=()
md5sums=()
build() {
...
}
package() {
...
}
Most elmagyarázom az egyes paramétereket:
- # Fenntartó: Ebben szerepel a csomag fenntartójának neve
- PKGNAME: A csomag neve. Csak betűket, számokat, -, _ és + tartalmazhat
- PKVER: csomag verzió. pe 1.0.0
- PKGREL: a program vagy csomag áttekintése. pe 1
- PKGDESC: csomag leírása.
- boltív: a program architektúrája: lehet bármilyen (mindenki számára), i686 és x86_64, bármilyen olyan csomaghoz, amely nem igényel fordítást, mint például a bash vagy a python program. Ha olyan programra van szüksége, amelyre szüksége van (például C vagy C ++ nyelven írt programok), akkor az i686-ot kell megadnia, ha 32 bites, vagy x86_64 64 bites. Általában, ha kompatibilis mindkettővel, akkor be van állítva (i686, x86_64)
- url: az URL a program hivatalos oldalára. Célszerű megfogalmazni.
- engedély száma: a programengedélyt. pl. GPL3
- csoport: azok a csoportok, amelyekhez a csomag tartozik. csoportok = ('rendszer')
- attól függ: benne megadjuk azokat a csomagokat, amelyek a program futtatásához szükségesek. pependens = ('python2' 'pygtk')
- attól függ: a csak a csomag fordításához szükséges függőségek. Ha a kódot le kell tölteni egy verziókezelőből, célszerű feltenni. pe: makedepends = ('git')
- forrás: benne a csomag létrehozásához szükséges fájlokat jelezzük. Általános szabály, hogy a csomag URL-je tartalmazza a kódot, a javítást, a .desktopt fájlt, az ikonokat stb. pe: forrás = (pacsyu.desktop)
- md5összegek: itt vannak a forrásban feltüntetett fájlok md5 összegei. Annak megismerése, hogy melyiket futtatjuk egy terminálról abban a mappában, ahol a PKGBUILD található (miután a fájl útvonalait a forrásba írtuk) makepkg -g és az összegek megjelennek a képernyőn.
Lehetőség van más összegek felhasználására is, például sh1. - épít: ebbe a függvénybe tesszük a a szoftver fordításához szükséges parancsok. Ha nem szükséges csak a következő függvény összeállítása)
- csomag: ebben a másik funkcióban a program telepítési parancsai mennek. Például, ha itt C kódot fordítunk, akkor a make install menni fog.
És a befejezéshez csak végre kell hajtanunk makepkg a csomag létrehozásának ellenőrzése.
Mint láthatja, nehéz nekünk. Akkor hagyok néhány extra paramétert a Makepkg:
- -én: Utasítja a makepkg-t, hogy telepítse a csomagot a létrehozása után.
- -s: Telepítse a csomagfüggőségeket, ha azok a tárakban vannak.
- -F: Ha már van ilyen nevű csomag, verzió és verzió ezzel a paraméterrel, akkor azt javasoljuk, hogy írja felül.
- -c: Miután elkészült, tisztítsa meg a működő mappákat (pkg és forrás).
- -A: Csomagolja újra a csomagot anélkül, hogy újra kellene fordítania.
Több PKGBUILD fájl megtekintését javasoljuk, hogy további példákat láthasson, hajtsa végre a parancsot makepkg -h a program többi paraméterének megtekintéséhez, a makepkg hivatalos dokumentáció az Arch Linux Wikiben mit találhat itt
Nagyon jó …
Tud-e egy .exe csomagot kezelni (fordítani) egy Arch csomagra?
Mint például a híres letöltéskezelő Mipony ??
Amennyire tudom, hogy ez nem lehetséges, ne feledje, hogy az .exe bináris fájlok, és nem forráskód. De van JDownloader.
Ahogy mondod, nem fordíthatod le az exe-t, mivel ez bináris kód.
Létrehozhat egy csomagot, amely telepíti és végrehajtja a Wine programmal, csakúgy, mint a jól ismert Ares P2P program AUR-jában található csomagot.
valaki használja a linuxot, és hiányzik neki Myponi ... jijijijiji
A jDownloader Java-ban van, és mindenki számára jól ismert, hogy a java tüdőrákot okoz ...
érdekes, tesztelnünk kellene a csomagokat. Azt hiszem, hajlandó leszek megcsinálni a qbittorrent fájlt. hahaha, ez már létezik a yaourt-ban, de a saját verziót nem lesz rossz tesztelni, köszönöm az információkat, üdvözleteket.
Jó bemenet, +1
Hozzá akarom tenni, hogy ezeket is könnyebb létrehozni és karbantartani, mint a Gentoo ebuild-eket!
A Debian kapcsán úgy gondolom, hogy ez a disztróció csak a korszerűsítéssel vagy a korszerűbb csomag- és csomagkezelő rendszerre történő áttéréssel óriási mértékben növelné hátrányát, nem tudom, mikor lesz a dpkg / apt készlet utolsó frissítése, de a koncepciónak már 15 éve van, és az igazság az, hogy ma anakronisztikus.
Köszönöm szépen, tettem egy keveset, miközben kerestem a wikiben, és még nem értettem a struktúrát (frissíteni akartam a PlayonLinux-ot), de mégis feladtam ... vannak dolgok, amelyekben szeretnék legyen asszisztensed vagy valami hasonló (ne lőj le), de mégis ... eszközök hiányában idővel meglátom, hozok-e létre
Útmutatójának köszönhetően elkezdtem létrehozni Zeya PKGBUILD-jét (http://web.psung.name/zeya/), amint befejezem, feltöltöm az AUR-ba 🙂
Teljesen egyetértek, egy ideje megpróbáltam létrehozni egy csomagot az Ubuntu számára, és nem sikerült érthető információkat találnom az elkészítéséről, végül felhagytam és durván telepítettem a programot.
Ugyanez a program az Arch-nál kevesebb, mint 5 percig tartott, mire a csomagot összeállítottam.
És nem vagyok benne biztos, de azt gondolom, hogy az RPM valamivel könnyebb elvégezni, mint a DEB, de nehezebb, mint az Arch.
Nagyon jó és egyszerű, és ami a .deb fájlt illeti, ez nem is olyan nehéz, nos az iOS-nél sem
Üdvözlet
Azt hiszem, ez már egy ideje szolgálta volna, amikor feltöltöttem az első PKGBUILD-t az AUR-ba
Meg tudná valaki magyarázni, hogy mi ez nekem, új vagyok, és nem tudom, hogy ez segít-e egy .deb csomag telepítésében, de helyileg a manjaro-ban, egy egészen pontos játéknak. Igen, működik?
Éppen egy újabb cikket írtam arról, hogyan készíthetünk csomagokat az arch / manjaro számára .deb csomagokból
https://blog.desdelinux.net/archlinux-crear-paquetes-multiplataforma-y-desde-paquetes-deb/
Igen, már láttam, de nagyon újszerű vagyok, és nem értem, ha nemcsak ez a vonal
cd "$ {srcdir} /"
tar xvzf adatok.tar.gz -C.
cp -r usr $ {pkgdir}
ami mögötted van
ha [«$ {CARCH}» = 'x86_64 ′]; azután
ARCH = 'amd64'
md5sums=(‘192a0a222893d59d95f00c34f3c8a674’)
függ = ('openal' 'lib32-openal')
elif ["$ {CARCH}" = 'i686 ′]; azután
ARCH = 'i386'
md5sums=(‘047c670443124193c5cc3dd54da99925’)
függ = ('nyílt')
fi
forrás = ("http://www.unaurl.com/files/$ trackmaster. $ ARCH.deb")
Nem értem, nagyon összetettnek tűnik, közös lépések vagy az első rész
cd "$ {srcdir} /"
tar xvzf adatok.tar.gz -C.
cp -r usr $ {pkgdir}
egyedül végezhető el a .deb konvertálásához. .tar.gz?