[Howto] Luo Arch Linux -ohjelmistopaketteja ja johdannaisia

Yksi niistä asioista, joista pidän eniten Arch Linuxista ja sen johdannaisista, on valtava helppous luoda paketteja, jotka asennetaan myöhemmin järjestelmään, toisin kuin tunnetut debytantti Debian / Ubuntu / Linux Mint / jne. on kaaos (ja jos ne ovat kirjastoja, en edes sano sinulle).

Peruspohja olisi tämä:

# Maintainer:
pkgname=
pkgver=
pkgrel=
pkgdesc=
arch=()
url=
license=()
groups=()
depends=()
makedepends=()
source=()
md5sums=()

build() {
...
}
package() {
...
}

Nyt selitän jokaisen parametrin:

  • # Ylläpitäjä: Siihen laitetaan paketin ylläpitäjän nimi
  • pkgname: Paketin nimi. Se voi sisältää vain kirjaimia, numeroita, -, _ ja +
  • pkver: pakettiversio. pe 1.0.0
  • pkgrel: ohjelman tai paketin tarkastelu. pe 1
  • pkgdesc: paketin kuvaus.
  • kaari: ohjelman arkkitehtuuri: se voi olla mikä tahansa (kaikille), i686 ja x86_64, mikä tahansa paketeille, jotka eivät vaadi kääntämistä, kuten bash- tai python-ohjelmille. Jos kyseessä on ohjelma, joka sitä tarvitsee (esimerkiksi C- tai C ++ - ohjelmat), sinun on ilmoitettava i686, jos se on 32 bittiä, tai x86_64 64 bittiä varten. Jos se on yhteensopiva molempien kanssa, se asetetaan yleensä (i686, x86_64)
  • url: URL-osoite ohjelman viralliselle sivulle. On suositeltavaa laittaa se.
  • Lisenssi: ohjelman lisenssi. esim. GPL3
  • ryhmään: ryhmät, joihin paketti kuuluu. ryhmät = ('järjestelmä')
  • riippuu: siinä ilmoitamme paketit, joita tarvitaan ohjelman suorittamiseen. pependens = ('python2' 'pygtk')
  • riippuu: riippuvuudet, joita tarvitaan vain paketin kääntämiseen. Jos koodi ladataan versionhallinnasta, on suositeltavaa laittaa se. pe: makedepends = ('git')
  • Lähde: siinä ilmoitamme paketin luomiseen tarvittavat tiedostot. Yleensä paketin URL-osoite sisältää koodin, korjaustiedoston, .desktopt-tiedoston, kuvakkeet jne. pe: lähde = (pacsyu.desktop)
  • md5 summat: tässä ovat lähteessä ilmoitettujen tiedostojen md5-summat. Jos haluat tietää, mitkä suoritamme terminaalista kansiossa, jossa PKGBUILD on (kirjoitettuaan tiedostopolut lähteeseen) makepkg -g ja summat näkyvät näytöllä.
    On myös mahdollista käyttää muita summia, kuten sh1.
  • rakentaa: tähän toimintoon laitamme komennot, joita tarvitaan ohjelmiston kääntämiseen. Jos kokoamista ei ole tarpeen, tarvitaan vain seuraava toiminto)
  • paketti: tässä muussa toiminnossa ohjelman asennuskomennot menevät. Esimerkiksi jos koomme tässä C-koodia, make-asennus menisi.

Ja lopuksi meidän on vain suoritettava makepkg varmistaaksesi, että paketti on luotu.
Kuten näette, se on meille vaikeaa. Sitten jätän sinulle joitain lisäparametreja makepkg:

  • -minä: Käskee makepkg: tä asentamaan paketin sen luomisen jälkeen.
  • -s: Asenna pakettiriippuvuudet, jos ne ovat arkistoissa.
  • -F: Jos tällä parametrilla on jo paketti, jolla on nimi, versio ja versio, käskemme sinua korvaamaan sen.
  • -c: Puhdista työkansiot (pkg ja lähde), kun olet valmis.
  • -A: Pakkaa paketti uudelleen ilman kompilointia.

Suosittelen nähdä lisää PKGBUILD-tiedostoja nähdäksesi lisää esimerkkejä, suorita komento makepkg -h nähdäksesi muut ohjelman parametrit, lisäksi makepkg: n virallinen dokumentaatio Arch Linux -wikissä mitä löydät täällä


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.

  1.   jamin-Samuel dijo

    Oikein hyvä …

    Voiko .exe-pakettia hallita (kääntää) Arch-pakettiin?

    Kuten esimerkiksi kuuluisa lataushallinta mypony ??

    1.    asianmukainen dijo

      Sikäli kuin tiedän, se ei ole mahdollista, muista, että .exe ovat binäärejä eikä lähdekoodia. Mutta siellä on JDownloader.

    2.    v3on dijo

      joku käyttää linuxia ja kaipaa Myponia… jijijijiji

      jDownloader on java, ja kaikkien tiedetään hyvin, että java antaa keuhkosyöpää ...

  2.   maitomainen28 dijo

    mielenkiintoista, meidän olisi testattava paketteja. Luulen, että olen taipuvainen tekemään qbittorrentista. hahaha on jo olemassa yaourtissa, mutta oma versio ei ole huono testata, kiitos tiedoista, terveisiä

  3.   MSX dijo

    Hyvä panos, +1
    Haluan lisätä, että niitä on myös helpompi luoda ja ylläpitää kuin Gentoon ebuildeja!

    Debianin osalta luulen, että tämä jakelu nostaisi haittoja valtavasti vain modernisoimalla tai siirtymällä nykyaikaisempaan paketti- ja paketinhallintajärjestelmään, en tiedä, milloin dpkg / apt-sarjan viimeisin päivitys tulee olemaan, mutta käsitteen pitäisi olla jo helposti 15 vuotta ja totuus on, että tänään on anakronistinen.

  4.   Mätät87 dijo

    Paljon kiitoksia, etsin äskettäin sitä wikistä, enkä ollut ymmärtänyt rakennetta (halusin päivittää PlayonLinux-version), mutta luovuin silti ... on asioita, joissa haluaisin olla avustaja tai jotain sellaista (älä ammu), mutta silti ... jos työkaluja ei ole ajan myötä, näen luonko mitään

    1.    MSX dijo

      Oppaasi ansiosta aloitin Zeyan PKGBUILD (http://web.psung.name/zeya/), heti kun olen valmis, lataan sen AUR: iin 🙂

  5.   hypersayan_x dijo

    toisin kuin Debianin / Ubuntu / Linux Mint / etc: n tunnettu .deb, joka on sotku

    Täysin samaa mieltä, yritin jonkin aikaa sitten luoda paketin Ubuntulle, ja oli mahdotonta löytää ymmärrettävää tietoa sen tekemisestä, lopulta luopuin ja asennin ohjelman karkeasti.
    Sama ohjelma Archille kesti alle 5 minuuttia paketin kokoamiseen.
    Enkä ole varma, mutta mielestäni RPM on hieman helpompi tehdä kuin DEB, mutta vaikeampaa kuin Arch.

  6.   Hakkari775 dijo

    Erittäin hyvä ja helppo, ja .deb: n osalta se ei ole niin vaikeaa, hyvin kuin iOS: lle

    terveiset

  7.   Carlos dijo

    Luulen, että tämä olisi palvellut minua jonkin aikaa sitten, kun ladoin ensimmäisen PKGBUILD-tiedostoni AUR: iin 🙂

  8.   clerafel dijo

    Voisiko joku selittää minulle, mikä se on, olen uusi, enkä tiedä, auttaako tämä minua asentamaan .deb-paketin, mutta paikallisesti manjaroon, tarkalleen peliin. Kyllä se toimii?