Arch-käyttäjien arkisto (Arch User Repository, AUR) on Arch-käyttäjien yhteisöllinen arkisto. Se sisältää pakettikuvauksia (PKGBUILDs), joiden avulla voit kääntää paketin lähdekoodista makepkg:llä ja asentaa sen sitten pacmanilla. AUR luotiin järjestämään ja jakamaan yhteisön uusia paketteja ja nopeuttamaan suosittujen pakettien sisällyttämistä yhteisön arkistoon. Tämä dokumentti selittää, miten käyttäjät voivat päästä AUR:iin ja hyödyntää sitä.
Hyvin moni uusista paketeista, jotka tulevat virallisiin arkistoihin, alkaa AUR:sta. Käyttäjät voivat tuoda AUR:iin omia pakettikoostumuksiaan (PKGBUILD
ja niihin liittyviä tiedostoja). AUR-yhteisöllä on mahdollisuus äänestää paketeista AUR:ssa. Jos paketista tulee tarpeeksi suosittu – edellyttäen, että sillä on yhteensopiva lisenssi ja hyvä pakkaustekniikka – se voidaan viedä yhteisön arkistoon (johon pääsee suoraan käsiksi pacmanilla tai abs:llä).
PKGBUILD
ovat täysin epävirallisia, eikä niitä ole tarkistettu perusteellisesti. Tarjottujen tiedostojen käyttö tapahtuu omalla vastuullasi.Aloittaminen
Käyttäjät voivat etsiä ja ladata PKGBUILD-paketteja AUR:n web-käyttöliittymästä. Nämä PKGBUILD
voidaan rakentaa asennettaviksi paketeiksi makepkg:llä, minkä jälkeen ne asennetaan pacmanilla.
- Varmista, että base-devel-pakettiryhmä on asennettu kokonaisuudessaan (
pacman -S --needed base-devel
). - Katsele #FAQ:sta vastauksia yleisimpiin kysymyksiin.
- Voit ehkä säätää
/etc/makepkg.conf
optimoidaksesi rakentamisprosessin järjestelmääsi vastaavaksi ennen pakettien rakentamista AUR:stä. Merkittävä parannus pakettien rakentamisaikoihin voidaan saavuttaa järjestelmissä, joissa on moniydinprosessorit, säätämällä muuttujaaMAKEFLAGS
, käyttämällä useita ytimiä pakkaamiseen tai käyttämällä eri pakkausalgoritmia. Käyttäjät voivat myös ottaa käyttöön laitteistokohtaiset kääntäjän optimoinnit muuttujanCFLAGS
avulla. Katso lisätietoja kohdasta makepkg#Vinkkejä ja niksejä.
AUR:n kanssa voi olla vuorovaikutuksessa myös SSH:n kautta: kirjoita ssh [email protected] help
saadaksesi luettelon käytettävissä olevista komennoista.
Historiaa
Alussa oli ftp://ftp.archlinux.org/incoming
, ja ihmiset osallistuivat lataamalla palvelimelle yksinkertaisesti PKGBUILD:in, tarvittavat lisätiedostot ja itse rakennetun paketin. Paketti ja siihen liittyvät tiedostot pysyivät siellä, kunnes joku pakettien ylläpitäjä näki ohjelman ja otti sen käyttöön.
Silloin syntyivät Trusted User Repositoryt. Tietyt yhteisön henkilöt saivat isännöidä omia arkistojaan kaikkien käytettäväksi. AUR laajeni tältä pohjalta tavoitteenaan tehdä siitä sekä joustavampi että käyttökelpoisempi. Itse asiassa AUR:n ylläpitäjiin viitataan edelleen nimellä TUs (Trusted Users).
Välillä 2015-06-08 ja 2015-08-08 AUR siirtyi versiosta 3.5.1 versioon 4.0.0, jolloin otettiin käyttöön Git-tietovarastojen käyttö PKGBUILD
:ien julkaisemiseen.Olemassa olevista paketeista luovuttiin, elleivät niiden ylläpitäjät siirtäneet niitä manuaalisesti uuteen infrastruktuuriin.
Git-arkistot AUR3-paketeille
GitHubin AUR-arkistossa on arkisto jokaiselle paketille, joka oli AUR 3:ssa siirtymähetkellä.Vaihtoehtoisesti on olemassa aur3-mirror-arkisto, joka tarjoaa saman.
Pakettien asentaminen ja päivittäminen
Pakettien asentaminen AUR:stä on suhteellisen yksinkertainen prosessi. Pohjimmiltaan:
- Hanki build-tiedostot, mukaan lukien PKGBUILD ja mahdollisesti muita tarvittavia tiedostoja, kuten systemd-yksiköt ja korjaukset (usein ei varsinaista koodia).
- Varmista, että
PKGBUILD
ja sen mukana tulevat tiedostot eivät ole pahantahtoisia tai epäluotettavia. - Ajoita
makepkg -si
hakemistossa, johon tiedostot on tallennettu. Tämä lataa koodin, ratkaisee riippuvuudet pacmanilla, kääntää sen, paketoi sen ja asentaa paketin.
Edellytykset
Varmista ensin, että tarvittavat työkalut on asennettu asentamalla base-devel-ryhmä kokonaisuudessaan, joka sisältää make:n ja muut työkalut, joita tarvitaan lähdekoodista kääntämiseen.
--needed
asentaessasi base-devel-ryhmää ohittaaksesi jo olemassa olevat paketit sen sijaan, että asentaisit ne uudelleen.Valitse seuraavaksi sopiva rakentamishakemisto. Rakennushakemisto on yksinkertaisesti hakemisto, jossa paketti tehdään tai ”rakennetaan”, ja se voi olla mikä tahansa hakemisto. Seuraavien osioiden esimerkeissä käytetään rakennushakemistona ~/builds
.
Hanki rakennustiedostot
Löydä paketti AUR:sta. Tämä tehdään AUR:n etusivun yläosassa olevan hakukentän avulla. Napsauttamalla sovelluksen nimeä hakuluettelossa avautuu paketin tietosivu. Lue kuvaus läpi varmistaaksesi, että kyseessä on haluttu paketti, huomioi, milloin paketti on viimeksi päivitetty, ja lue mahdolliset kommentit.
Paketin rakennustiedostojen hankkimiseen on useita menetelmiä:
- Klooneeraa sen git-tietovarasto, joka on merkitty AUR-sivun ”Package Details” -kohdassa ”Git Clone URL”. Tämä on suositeltavin tapa, jonka etuna on, että saat helposti päivitykset pakettiin
git pull
kautta.
$ git clone https://aur.archlinux.org/package_name.git
- Lataa tilannekuva joko napsauttamalla ”Lataa tilannekuva” -linkkiä ”Package Actions” -kohdassa sen AUR-sivun oikeassa reunassa tai päätelaitteessa:
$ curl -L -O https://aur.archlinux.org/cgit/aur.git/snapshot/package_name.tar.gz
tar -xvf package_name.tar.gz
Hanki tarvittaessa julkinen PGP-avain
Tarkista, onko .sig- tai .asc-muotoinen allekirjoitustiedosto osa PKGBUILD-lähdeluetteloa, jos näin on, hanki jokin PKGBUILD validpgpkeys -luettelossa olevista julkisista avaimista. Katso lisätietoja kohdasta makepkg#Allekirjoitusten tarkistus.
Paketin rakentaminen ja asentaminen
Vaihda hakemistot hakemistoon, jossa on paketin PKGBUILD.
$ cd package_name
PKGBUILD
, kaikki .install-tiedostot ja kaikki muut paketin git-arkiston tiedostot haitallisten tai vaarallisten komentojen varalta. Jos olet epävarma, älä rakenna pakettia ja kysy neuvoa foorumeilta tai postituslistalta. Paketeista on löydetty haitallista koodia ennenkin. Katsele kaikkien toimitettujen tiedostojen sisältö. Jos haluat esimerkiksi tarkastella PKGBUILD
pager lessin avulla, tee:
$ less PKGBUILD
- Voit tarkastella muutoksia viimeisimmän git-toimituksen jälkeen käyttämällä
git show
. - Voit tarkastella muutoksia viimeisimmän toimituksen jälkeen vimdiffin avulla, tee
git difftool @~..@ vimdiff
. Vimdiffin etuna on, että näet jokaisen tiedoston koko sisällön sekä indikaattorit siitä, mikä on muuttunut.
Tehdään paketti. Kun olet vahvistanut tiedostojen sisällön manuaalisesti, suorita makepkg normaalikäyttäjänä:
$ makepkg -si
-
-s
/--syncdeps
ratkaisee ja asentaa mahdolliset riippuvuudet automaattisesti pacmanilla ennen rakentamista. Jos paketti on riippuvainen muista AUR-paketeista, sinun on asennettava ne ensin manuaalisesti. -
-i
/--install
asentaa paketin, jos sen rakentaminen onnistuu. Vaihtoehtoisesti rakennetun paketin voi asentaapacman -U package_name.pkg.tar.zst
:llä.
Muut hyödylliset liput ovat
-
-r
/--rmdeps
poistaa rakentamisaikaiset riippuvuudet rakentamisen jälkeen, koska niitä ei enää tarvita. Nämä riippuvuudet saatetaan kuitenkin joutua asentamaan uudelleen, kun pakettia seuraavan kerran päivitetään. -
-c
/--clean
siivoaa väliaikaiset rakennusaikaiset rakennustiedostot rakentamisen jälkeen, koska niitä ei enää tarvita. Näitä tiedostoja tarvitaan yleensä vain debugattaessa rakentamisprosessia.
Pakettien päivittäminen
Paketin PKGBUILD:in sisältävässä hakemistossa sinun on ensin päivitettävä tiedostot ja muutokset komennolla
$ git pull
Sitten suorita
$ makepkg -si
paketin päivittämiseksi.
Palaute
Pakettien kommentointi
AUR-verkkokäyttöliittymässä on kommentointimahdollisuus, jonka avulla käyttäjät voivat antaa parannusehdotuksia ja palautetta PKGBUILD-avustajalle.
PKGBUILD
:ien liittämistä kommenttiosioon: ne vanhentuvat nopeasti ja vievät vain turhaan paljon tilaa. Lähetä sen sijaan nämä tiedostot sähköpostitse ylläpitäjälle tai käytä vaikka pastebinia.Python-Markdown tarjoaa Markdownin perussyntaksin kommenttien muotoiluun.
- Tämässä toteutuksessa on ajoittain eroja virallisiin syntaksisääntöihin.
- Kommitoi hasheja paketin Git-tietovarastoon, ja viittaukset Flyspray-lipukkeisiin muutetaan automaattisesti linkeiksi.
- Pitkät kommentit suljetaan ja niitä voidaan laajentaa tarvittaessa.
Pakettien äänestäminen
Yksi kaikkien Arch-käyttäjien helpoimmista aktiviteeteista on selata AUR:ää ja äänestää suosikkipakettejaan online-käyttöliittymän avulla. Kaikki paketit voivat tulla hyväksytyiksi TU:n toimesta yhteisön arkistoon sisällyttämistä varten, ja äänten määrä on yksi näkökohta tässä prosessissa; on kaikkien edun mukaista äänestää!
Kirjoittaudu AUR:n verkkosivulle saadaksesi ”Äänestä tätä pakettia” -vaihtoehdon, kun selaat paketteja. Kirjautumisen jälkeen on myös mahdollista äänestää komentoriviltä aurvoteAUR:lla, aurvote-gitAUR:lla tai aur-auto-vote-gitAUR:lla.
Vaihtoehtoisesti, jos olet ottanut käyttöön ssh-tunnistautumisen, voit äänestää suoraan komentoriviltä ssh-avaimesi avulla. Tämä tarkoittaa, että sinun ei tarvitse tallentaa tai kirjoittaa AUR-salasanaasi.
$ ssh [email protected] vote package_name
Pakettien merkitseminen vanhentuneiksi
Ensiksi sinun tulisi merkitä paketti vanhentuneeksi ilmoittamalla yksityiskohtaiset tiedot siitä, miksi paketti on vanhentunut, mieluiten sisältäen linkit julkaisuilmoitukseen tai uuden julkaisun tar-palloon.
Sinun tulisi myös yrittää tavoittaa ylläpitäjä suoraan sähköpostitse. Jos ylläpitäjä ei vastaa kahden viikon kuluttua, voit tehdä orpopyynnön. Katso lisätietoja kohdasta AUR:n lähetysohjeet#Pyynnöt.
pkgver
muuttuu, eikä niitä pidä tässä tapauksessa merkitä.Pakettien rakentamisprosessin vianmääritys
- Varmista rakentamisympäristösi ajantasaisuus päivittämällä se ennen minkään rakentamista.
- Varmistaudu, että sinulla on asentunut base-devel-ryhmä.
- Käytä
-s
-vaihtoehtoa yhdessämakepkg
:n kanssa tarkistaaksesi ja asentaaksesi kaikki tarvittavat riippuvuudet ennen rakentamisen aloittamista. - Kokeile makepkg:n oletuskonfiguraatiota.
- Katso Makepkg#Vianmääritys tavallisista ongelmista.
Jos sinulla on ongelmia jonkin paketin rakentamisessa, lue ensin sen PKGBUILD ja sen AUR-sivun kommentit.
On mahdollista, että PKGBUILD
on rikki kaikille. Jos et saa sitä itse selville, ilmoita asiasta ylläpitäjälle (esim. kirjoittamalla saamasi virheet AUR-sivun kommentteihin). Voit myös hakea apua AUR Issues, Discussion & PKGBUILD Requests -foorumilta.
Syy ei ehkä sittenkään ole triviaali. Mukautetut CFLAGS
, LDFLAGS
ja MAKEFLAGS
voivat aiheuttaa virheitä. Välttääksesi tietyn järjestelmäkonfiguraatiosi aiheuttamat ongelmat, rakenna paketit puhtaassa chrootissa. Jos rakentaminen epäonnistuu edelleen puhtaassa chrootissa, ongelma on todennäköisesti PKGBUILD
.
Katso Pakettien luominen#Pakettien terveellisyyden tarkistaminen namcap
käytöstä. Jos haluat, että PKGBUILD
tarkistetaan, lähetä se aur-general-postituslistalle saadaksesi palautetta TU:lta ja muilta AUR:n jäseniltä tai Creating & Modifying Packages -foorumille. Voit myös hakea apua IRC-kanavalta #archlinux-aur Freenodessa.
Pakettien lähettäminen
Käyttäjät voivat jakaa PKGBUILDeja Arch-käyttäjärekisterin avulla. Katso lisätietoja AUR:n lähettämisohjeista.
Web-käyttöliittymän käännös
Katso AUR:n lähdepuussa olevaa i18n.txt-tiedostoa, jossa on tietoa AUR:n web-käyttöliittymän käännöksen luomisesta ja ylläpidosta.
Kysymys
Minkälaiset paketit ovat sallittuja AUR:ssa?
AUR:ssa olevat paketit ovat pelkkiä ”build-skriptejä”, eli reseptejä binäärien rakentamiseen pacmania varten. Useimmissa tapauksissa kaikki on sallittua hyödyllisyys- ja laajuusohjeiden mukaisesti, kunhan noudatat sisällön lisenssiehtoja. Muissa tapauksissa, joissa mainitaan, että ”et saa linkittää” latauksiin, eli sisältöön, joka ei ole uudelleenjakokelpoinen, voit käyttää lähteenä vain itse tiedostonimeä. Tämä tarkoittaa ja edellyttää, että käyttäjillä on rajoitettu lähdekoodi jo rakennushakemistossa ennen paketin rakentamista. Kun olet epävarma, kysy.
Miten voin äänestää paketteja AUR:ssa?
Katso #Pakettien äänestäminen.
Mikä on Trusted User / TU?
Luotettu käyttäjä, lyhyesti TU, on henkilö, joka on valittu valvomaan AUR:ää ja yhteisön arkistoa. He ovat niitä, jotka ylläpitävät suosittuja PKGBUILDeja yhteisössä ja yleisesti pitävät AUR:n toiminnassa.
Mitä eroa on Arch-käyttäjien arkiston ja yhteisön arkiston välillä?
Arch-käyttäjien arkistoon tallennetaan kaikki käyttäjien lähettämät PKGBUILDit, jotka on rakennettava manuaalisesti makepkg:llä. Kun PKGBUILD
t saavat tarpeeksi yhteisön kiinnostusta ja TU:n tuen, ne siirretään yhteisön arkistoon (jota TU:t ylläpitävät), jonne binääripaketit voidaan asentaa pacmanilla.
Foo AUR:ssa on vanhentunut; mitä minun pitäisi tehdä?
Katso #Pakettien merkitseminen vanhentuneiksi.
Sillä välin voit kokeilla päivittää paketin itse muokkaamalla PKGBUILDia paikallisesti. Joskus päivitykset eivät vaadi muutoksia rakentamis- tai pakettiprosessiin, jolloin pelkkä pkgver
– tai source
-määrityksen päivittäminen riittää.
AUR:ssa oleva Foo ei käänny, kun suoritan makepkg:n; mitä minun pitäisi tehdä?
Sinulta jää luultavasti jotain triviaalia huomaamatta, katso #Paketin rakentamisprosessin vianmääritys.
ERROR: Yhtä tai useampaa PGP-allekirjoitusta ei voitu todentaa!!!; mitä minun pitäisi tehdä?
Hyvin todennäköisesti sinulla ei ole henkilökohtaisessa avaimenperässäsi tarvittavia julkisia avaimia ladattujen tiedostojen todentamiseen. Katso lisätietoja kohdasta Makepkg#Signature checking.
Miten luon PKGBUILDin?
Katso AUR:n lähetysohjeet#Säännöt lähettämisestä ja katso sitten kohta Pakettien luominen.
Minulla on PKGBUILD, jonka haluaisin lähettää; voisiko joku tarkistaa sen, onko siinä virheitä?
Pakettisi lähettämiseen tarkistettavaksi on käytettävissä useita kanavia; katso #Paketin rakentamisprosessin vianmääritys.
Miten saada PKGBUILD yhteisön arkistoon?
Yleensä vaaditaan vähintään 10 ääntä, jotta jokin asia siirtyy yhteisöön. Kuitenkin, jos TU haluaa tukea pakettia, se löytyy usein arkistosta.
Vaaditun minimiäänimäärän saavuttaminen ei ole ainoa vaatimus, vaan on oltava TU, joka haluaa ylläpitää pakettia. TU:lta ei vaadita paketin siirtämistä yhteisön arkistoon, vaikka sillä olisi tuhansia ääniä.
Käytännössä kun erittäin suosittu paketti pysyy AUR:ssa, se johtuu siitä, että:
- Arch Linuxilla on jo toinen versio paketista arkistoissa
- Sen lisenssi kieltää sen uudelleenjakelun
- Se auttaa hakemaan käyttäjien lähettämiä PKGBUILDeja. AUR-avustajat eivät ole määritelmän mukaan tuettuja.
Katso myös Säännöt yhteisön repoon tuleville paketeille.
Miten voin nopeuttaa toistuvia rakentamisprosesseja?
Katso Makepkg#Käännösaikojen parantaminen.
Mitä eroa on foo- ja foo-git-paketeilla?
Monista AUR-paketeista on olemassa ”vakaa” julkaisuversio ja ”epävakaa” kehitysversio. Kehityspaketeissa on yleensä versionhallintajärjestelmää kuvaava loppuliite, eikä niitä ole tarkoitettu säännölliseen käyttöön, mutta ne saattavat tarjota uusia ominaisuuksia tai virhekorjauksia. Koska nämä paketit lataavat vain viimeisimmän saatavilla olevan lähdekoodin, kun suoritat makepkg
, niiden pkgver()
AUR:ssä ei heijasta upstream-muutoksia. Samoin nämä paketit eivät voi suorittaa aitouden tarkistussummaa millekään VCS-lähteelle.
Katso myös Järjestelmän ylläpito#Käytä hyväksi havaittuja ohjelmistopaketteja.
Miksi foo on kadonnut AUR:sta?
On mahdollista, että jokin TU on hyväksynyt paketin ja se on nyt yhteisön arkistossa.
Paketit voidaan poistaa, jos ne eivät täyttäneet toimitussääntöjä. Katso poiston syy aur-requests-arkistosta.
Jos paketti oli aiemmin olemassa AUR3:ssa, sitä ei ehkä ole siirretty AUR4:ään. Katso AUR3-pakettien #Git-tietovarastot, joissa nämä ovat säilyneet.
Miten saan selville, onko jokin asentamani paketti kadonnut AUR:sta?
Yksinkertaisin tapa on tarkistaa paketin AUR-sivun HTTP-tila:
$ comm -23 <(pacman -Qqm | sort) <(curl https://aur.archlinux.org/packages.gz | gzip -cd | sort)
Miten saan luettelon kaikista AUR-paketeista?
- Käytä
aurpkglist
from python3-aurAUR
Katso myös
- AUR-verkkokäyttöliittymä
- AUR-sähköpostilista
- DeveloperWiki:AUR-siivouspäivä