Arch User Repository (Italiano)

Stato della traduzione
Questo articolo è la versione tradotta di
Arch User Repository
. Data dell'ultima traduzione: 2024-01-19. Se ci sono
cambiamenti
nella versione inglese, è possibile dare una mano a sincronizzarne la traduzione.
Articoli correlati
AUR Cleanup Day
AUR helpers
AUR submission guidelines
Aurweb RPC interface
Creating packages
Official repositories
Package Maintainer guidelines
Unofficial user repositories
.SRCINFO
L'
Arch User Repository
(AUR) è un deposito di contributi della comunità per gli utenti di
Arch Linux
. Contiene descrizioni dei pacchetti (
PKGBUILD
) che permettono di compilare un pacchetto dal sorgente usando
makepkg
e poi installarlo tramite
pacman
. L’AUR è stato creato per organizzare e condividere nuovi pacchetti dalla comunità e per facilitare l'inclusione dei pacchetti più popolari nel repository
extra
. Questa pagina spiega come gli utenti possano accedere e utilizzare l'AUR.
Un buon numero di nuovi pacchetti che entrano nei repository ufficiali inizia dall'AUR. Qui gli utenti possono contribuire con i propri pacchetti (
PKGBUILD
e file correlati). La comunità dell'AUR ha la possibilità di
votare
per i pacchetti lì presenti. Se un pacchetto diventa abbastanza popolare — a condizione che abbia una licenza compatibile e una buona tecnica di pacchettizzazione — può essere inserito nel repository
extra
, divenendo quindi direttamente accessibile tramite
pacman
o dall'
Arch build system
.
Attenzione
I pacchetti AUR sono prodotti dagli utenti. Questi
PKGBUILD
sono del tutto non ufficiali e non sono stati verificati in modo accurato. Qualsiasi utilizzo dei file forniti avviene a proprio rischio.
Nota
Se si intende usare il repository AUR, è
altamente raccomandato
iscriversi alla
mailing list di Arch aur-general
, che in passato è stata usata per gli avvisi di sicurezza.
[1]
[2]
Come iniziare
È possibile cercare e scaricare i
PKGBUILD
dall'
interfaccia web dell'AUR
. Questi
PKGBUILD
possono essere compilati in pacchetti installabili usando
makepkg
, e quindi installati usando
pacman
.
Accertarsi che
base-devel
sia installato
.
Dare un'occhiata alle risposte a
domande comuni
.
Valutare se sia necessario personalizzare le impostazioni nel file
/etc/makepkg.conf
per ottimizzare la compilazione sul proprio sistema prima di iniziare a compilare pacchetti dall'AUR. Un significativo miglioramento nei tempi di pacchettizzazione può essere ottenuto su sistemi con processori multi-core adeguando la variabile
MAKEFLAGS
, usando più core per la compressione o semplicemente scegliando un diverso algoritmo di compressione. Si possono anche abilitare ottimizzazioni del compilatore specifiche per l'hardware in uso attraverso la variabile
CFLAGS
. Informazioni aggiuntive sono reperibili nella sezione
makepkg#Optimization
.
È inoltre possibile interagire con l'AUR attraverso SSH se si attiva
l'autenticazione SSH
: digitare
ssh aur@aur.archlinux.org help
per ottenere l'elenco dei comandi disponibili.
Installazione e aggiornamento di pacchetti
Installare pacchetti dall'AUR è un processo relativamente semplice. Fondamentalmente:
Scaricare i file necessari alla compilazione, incluso il
PKGBUILD
e gli altri file se necessari, come unità
systemd
e patch (spesso non il codice reale).
Verificare che il file
PKGBUILD
o gli altri file di accompagnamento non siano pericolosi o inaffidabili.
Dare il comando
makepkg
nella directory in cui sono salvati i file. Questo comando scaricherà il codice, lo compilerà e lo inscatolerà in un pacchetto.
Dare il comando
pacman -U
package_file
per installare il pacchetto nel proprio sistema.
Prerequisiti
Innanzitutto si deve verificare che gli strumenti necessari siano disponibili
installando
base-devel
: questo
meta pacchetto
contiene
make
e altri strumenti necessari per la compilazione da sorgente, elencati come dipendenze.
Nota
I pacchetti presenti nell'AUR presumono che
base-devel
sia installato nell'ambiente di compilazione.
Quindi si scelga una directory nella quale compilare i pacchetti. Una directory di compilazione è semplicemente una directory dove il pacchetto sarà costruito o "compilato" da sorgente. Gli esempi nelle prossime sezioni useranno
~/builds
come directory di compilazione.
Ottenere i file di compilazione
Una volta identificato il pacchetto nell'AUR, per esempio attraverso il campo di ricerca in alto alla
home page dell'AUR
e cliccando sul suo nome nella lista dei risultati, leggere con attenzione la descrizione del pacchetto per accertarsi che si tratti veramente di ciò che si cerca. Si presti attenzione alla data di aggiornamento e si leggano tutti i commenti situati in fondo alla pagina.
Esistono diversi modi di acquisire i file per la compilazione del pacchetto:
Clonare il repository
git
, situato sotto
Package Details
come
Git Clone URL
nella pagina AUR del pacchetto. Questo è il metodo consigliato, dato che è facile ottenere aggiornamenti del  pacchetto, dando semplicemente il comando
git pull
.
$ git clone https://aur.archlinux.org/
nome_pacchetto
.git
Scaricare un'istantanea (in inglese:
snapshot
), cliccando sul link
Download snapshot
nella sezione
Package Actions
sulla destra della pagina, oppure dando il seguente comando in un terminale:
$ curl -L -O https://aur.archlinux.org/cgit/aur.git/snapshot/
nome_pacchetto
.tar.gz
Nota
Il file
snapshot
è compresso e va estratto, preferibilmente in una directory apposita per questo lavoro, dando:
tar -xvf
nome_pacchetto
.tar.gz
Usare il repository alternativo
archlinux/aur su GitHub
, nel quale ogni pacchetto si trova nel proprio
branch
. Si consiglia di clonare singoli branch perché il repository intero è troppo grande e scaricare ogni pacchetto durerebbe troppo tempo. Dunque si possono clonare le parti rilevanti nei seguenti modi:
Dare
git clone --single-branch
:
$ git clone --branch
nome_pacchetto
--single-branch https://github.com/archlinux/aur.git
Eseguire un
clone parziale
del repository (dando
git clone --depth=1
) e
reperire i
branch
di interesse selettivamente
:
$ git clone --depth=1 https://github.com/archlinux/aur.git; cd aur
$ git remote set-branches --add origin
nome_pacchetto
$ git fetch
$ git checkout
nome_pacchetto
Ottenere una chiave pubblica PGP se necessario
Si controlli se il file di firma (in inglese:
signature
) in formato
.sig
oppure
.asc
fa parte dei file scaricati insieme al
PKGBUILD
. Se dovesse essere il caso, scaricare una delle chiavi pubbliche elencate nella lista
validpgpkeys
del PKGBUILD. Altre informazioni si possono trovare nella sezione
makepkg#Signature checking
.
Compilazione del pacchetto
Entrare nella directory in cui si trova il file
PKGBUILD
relativo al pacchetto in questione.
$ cd
package_name
Attenzione
Controllare bene il file
PKGBUILD
, tutti i file
.install
e qualunque altro file parte del pacchetto e accertarsi che non vi siano comandi pericolosi o nocivi. Se in dubbio, non compilare il pacchetto e
chiedere aiuto
nella mailing list o nel forum. Ci sono stati casi di codice maligno in pacchetti AUR.
[3]
[4]
Leggere i contenuti dei file scaricati. Per esempio, l'impaginatore
less
può essere usato per leggere il
PKGBUILD
, dando:
$ less PKGBUILD
Suggerimento
Quando si aggiorna un pacchetto, può essere utile vedere che cosa è cambiato.
Per vedere ciò che è cambiato dall'ultimo commit
git
, si dia
git show
.
Per veder vere ciò che è cambiato dall'ultimo commit in formato
vimdiff
, si dia
git difftool @~..@ --tool=vimdiff
. Il vantaggio di
vimdiff
è che si può vedere il contenuto di ogni file insieme a indicatori su che cosa è cambiato.
Una volta confermato il contenuto dei file, eseguire il programma
makepkg
come utente normale (non-privilegiato o admin). Le seguenti opzioni possono essere utili:
-s
/
--syncdeps
risolve e installa automaticamente tramite
pacman
tutte le dipendenze necessarie per il
PKGBUILD
prima della compilazione. Se il pacchetto dovesse dipendere da altri pacchetti AUR, questi andrebbero installati a mano in anticipo.
-i
/
--install
installa il pacchetto nel caso venga compilato correttamente. Questo completa automaticamente anche il prossimo passo, che altrimenti andrebbe fatto a mano.
-r
/
--rmdeps
rimuove pacchetti installati e richiesti per la compilazione, che non sono più necessari una volta che questa è terminata. Tuttavia verranno riscaricati e installati quando si aggiorna il pacchetto.
-c
/
--clean
ripulisce (ovvero rimuove) i file temporanei prodotti dalla compilazione, che non sono più necessari al termine dell'operazione. Potrebbe comunque essere necessario reinstallare queste dipendenze la prossima che volta che il pacchetto sarà aggiornato.
Suggerimento
Usare
git clean -dfx
per rimuovere tutti i file che non sono tracciati da
git
. Questo rimuove sia i file temporanei menzionati sopra, che i risultati di compilazioni precedenti.
Installazione del pacchetto
A questo punto il pacchetto può essere installato con pacman:
# pacman -U
nome_pacchetto
-
versione
-
architettura
.pkg.tar.zst
Nota
Se si modifica la variabile
PKGEXT
in
makepkg.conf
, il nome del pacchetto prodotto potrebbe essere leggermente diverso.
Queste indicazioni sono solo un breve riassunto del processo di compilazione. È
altamente
consigliato leggere gli articoli
makepkg
e
Arch build system
per ulteriori dettagli.
Suggerimento
Si può usare
makepkg --packagelist
per ottenere la lista dei nomi dei pacchetti generati dopo la compilazione.
Aggiornare i pacchetti
Nella directory contenente il
PKGBUILD
del pacchetto è necessario anzitutto aggiornare i file e ottenere i cambiamenti dando
$ git pull
e seguendo le stesse istruzioni di prima su compilazione e installazione.
Tenere aggiornati i pacchetti
L'AUR non è sostenuta ufficialmente, per cui
è compito dell'utente
tenere aggiornati i pacchetti provenienti da lì. Se vengono aggiornati i pacchetti dei repository ufficiali, è l'utente che dovrà ricompilare tutti pacchetti AUR che dipendono da quelle librerie aggiornate. Lo strumento
checkrebuild
e l'
aggancio (hook)
rebuild-detector
del pacchetto
rebuild-detector
possono dare una mano a identificare i pacchetti che necessitano di ricompilazione.
Stato dell'ccount
Sospensione
Quando si modifica un utente come
Manutentore di pacchetti
, si può attivare il campo Suspended (in italiano:
sospeso
), che sospende l'utente in questione.
Quando un utente viene sospeso, non può:
Effettuare il login su
https://aur.archlinux.org
;
Ricevere notifiche;
Interagire con l'interfaccia git.
Inattività
Quando si modifica il proprio account oppure l'account di un altro utente in qualità di
Manutentore di pacchetti
, si può attivare il campo Inactive (in italiano:
inattivo
). Gli account inattivi sono usati per due ragioni:
Mostrare la data nella quale qualcuno è stato marcato come inattivo nella sua pagina dell'account;
generare un conteggio aggiornato dei
Manutentori di pacchetti
attivi in base al loro stato di inattività alle nuove proposte.
Feedback
Commentare i pacchetti
Il
portale web dell'AUR
offre agli utenti la possibilità di dare consigli e suggerimenti su come migliorare il
PKGBUILD
.
Suggerimento
Evitare di caricare modifiche del codice sorgente o del
PKGBUILD
nella sezione commenti, dato che queste diventano velocemente obsolete e richiedono spazio inutilmente. Si possono offrire cambiamenti e correzioni per email alla persona incaricata di mantenere il pacchetto, o caricare i cambiamenti su
pastebin
.
Python-Markdown
è uno strumento che descrive la sintassi
Markdown
con la quale si può formattare i commenti.
Note
Questa implementazione ha alcune sporadiche
differenze
con le
regole ufficiali di sintassi
.
Gli hash dei commit al repository
Git
del pacchetto e i riferimenti ai ticket
Flyspray
vengono convertiti in collegamenti in modo automatico.
I commenti lunghi vengono compressi e possono essere espansi su richiesta.
Votare per i pacchetti
Una delle attività più semplici per
tutti
gli utenti Arch è di consultare l'AUR e
votare
per i propri pacchetti preferiti utilizzando l'interfaccia web. Tutti i pacchetti possono essere adottati da un Package Maintainer per l'inclusione nel
repository extra
e il conteggio dei voti è uno degli aspetti considerati in quel processo di inclusione: votare è nell'interesse di tutti!
Ci si può registrare sul
sito AUR
per ottenere l'opzione "Vote for this package" (it. "Vota per questo pacchetto"). Una volta effettuata la registrazione è possibile votare anche da un terminale con
aur-auto-vote-git
AUR
.
Alternativamente, se si è impostata
l'autenticazione SSH per l'AUR
, si può votare direttamente usando la propria chiave SSH, evitando di dover salvare o digitare la password AUR.
$ ssh aur@aur.archlinux.org vote
nome_pacchetto
Marcare i pacchetti come obsoleti
Nel caso in un pacchetto sia obsoleto, ovvero ci dovesse essere una versione più recente, ma questa non sia ancora stata messa a disposizione nell'AUR, si può marcare il pacchetto come
out-of-date
, dando un riassunto del motivo, preferibilmente inserendo dei link all'annuncio dell'aggiornamento, oppure del file
tarball
della nuova versione.
Si dovrebbe anche provare a informare il manutentore direttamente per email. Nel caso non si ottenga risposta dopo
due settimane
, si può richiedere che il pacchetto venga riconosciuto come
orfano
. Più informazioni sono disponibili in
AUR submission guidelines#Requests
.
Note
I pacchetti VCS
non sono considerati obsoleti quando cambia il campo
pkgver
; non marcateli perché il manutentore vi ignorerà dato che non è tenuto ad aggiornare il PKGBUILD solo per inserire il nuovo
pkgver
.
Debug del processo di compilazione
Nel caso di problemi, si controllino bene le seguenti cose:
Accertarsi che il proprio sistema
sia stato aggiornato
prima di compilare qualcosa.
Verificare di avere installato il pacchetto
base-devel
.
Usare
makepkg
con l'opzione
-s
per rilevare e installare tutti i pacchetti da cui dipende il pacchetto che si desidera compilare prima di iniziare il processo.
Provare ad usare la
configurazione standard
di
makepkg
.
Consultare
Makepkg#Troubleshooting
per problemi comuni.
In caso di problemi quando si compila un pacchetto, leggere prima i contenuti del file
PKGBUILD
ed i commenti sulla sua pagina AUR.
È possibile che un
PKGBUILD
non funzioni per nessuno. Se non si dovesse essere in grado di capire cosa causi il problema oppure come risolverlo, si contatti il manutentore (ad esempio scrivendo un commento nel quale si descrive il problema. Si può anche chiedere aiuto nel forum
AUR Issues, Discussion & PKGBUILD Requests
.
Il motivo può non essere banale. Impostazioni personalizzate nelle
CFLAGS
,
LDFLAGS
e
MAKEFLAGS
possono provocare errori. Per evitare problemi causati da impostazioni personalizzate, si provi a compilare pacchetti in un ambiente
chroot pulito
. Se il processo dovesse ancora fallire in un chroot pulito, si tratta probabilmente di un problema all'interno del
PKGBUILD
.
Creating packages#Checking package sanity
contiene informazioni sull'utilizzo del comando
namcap
. Per ottenere un controllo dei contenuti di un
PKGBUILD
, si carichi il file nella mailing list
aur-general
, così altri manutentori di pacchetti e utenti AUR possono passare in revisione i contenuti. Lo stesso si può ottenere caricando il file sul
forum
, o chiedendo aiuto nella
chat IRC
#archlinux-aur
sul network
Libera Chat
.
Inserire pacchetti
Gli utenti possono distribuire i propri
PKGBUILD
nell'AUR. Per istruzioni si consulti le
linee guida
per la distribuzione di pacchetti nell'AUR.
Traduzione dell'interfaccia web
È possibile creare e mantenere traduzioni del
portale web AUR
. Si consulti il documento
i18n.md
per istruzioni.
Storia
All'inizio vi fu
ftp://ftp.archlinux.org/incoming
, e gli utenti contribuirono semplicemente caricando i
PKGBUILD
ed i file ausiliari necessari insieme al pacchetto compilato ed imballato direttamente sul server. Il pacchetto e tutti i file associati ad esso rimanevano lì finché un utente "fidato" (oggi conosciuto
manutentore di pacchetti
) li vide e incorporò nel repository.
Poi si istituì il "repository per utenti fidati" (ing.
Trusted User Repository
), nel quale certi membri della comunità ottennero il permesso di caricare i propri programmi affinché essi venissero distribuiti fra la comunità. L'AUR espanse questo sistema con lo scopo di renderlo più flessibile e accessibile. Infatti, i manutentori dell'AUR furono chiamati utenti "fidati" (ing.
Trusted User
) prima di diventare manutentori di pacchetti.
Tra il 2015-06-08 ed il 2015-08-08, l'AUR venne aggiornata dalla versione 3.5.1 alla versione 4.0.0, nella quale fu introdotto l'utilizzo dei repositori Git per il fine di pubblicazione dei
PKGBUILD
. I pacchetti esistenti vennero migrati nella nuova infrastruttura o rimossi.
Repository Git per pacchetti AUR3
L'
archivio AUR
su GitHub ha un repository per ogni pacchetto che si trovava sull'AUR versione 3 all'epoca della migrazione. Esiste anche l'archivio alternativo
aur3-mirror
che offre la stessa cosa.
Domande frequenti
Che tipologia di pacchetti sono permessi nell'AUR?
I pacchetti nell'AUR sono semplicemente degli script che contengono istruzione su come generare pacchetti imballati che possono essere installati da parte di
pacman
. Nella maggior parte dei casi, qualunque tipo di pacchetto è permesso, anche se sottoposto alle
linee di guida
dei pacchetti AUR, purché la distribuzione del pacchetto sia permessa dalla licenza del contenuto. In altri casi, ad esempio quando non è permesso pubblicare un link di download, ovvero è vietato ridistribuire il contenuto, si può solo pubblicare il nome senza link nel PKGBUILD, in modo tale che solo utenti che siano già in possesso del codice sorgente siano in grado di compilare ed installare il pacchetto. In caso di dubbi, chiedete.
Come faccio a votare per pacchetti nell'AUR?
Vedi
#Votare per i pacchetti
.
Chi è un manutentore di pacchetti?
Si veda
Arch terminology#Package maintainer
.
Qual'è la differenza tra l'AUR e il repository extra?
Il repository utenti Arch è dove tutti i
PKGBUILD
vengono caricati da utenti e membri della comunità. Questi non sono ufficiali e vanno compilati a mano con
makepkg
. Quando un
PKGBUILD
diventa molto popolare e ottiene l'appoggio di un
manutentore
, viene incorporato nel repository
extra
, dal quale può essere installato con
pacman
.
Foo nell'AUR è obsoleto; cosa faccio?
Vedi
#Marcare i pacchetti come obsoleti
.
Nel frattempo, si può provare da soli ad aggiornare il pacchetto modificando il
PKGBUILD
sul proprio sistema. A volte non è necessario modificare il processo di compilazione o di pacchettizzazione, nel qual caso è sufficiente semplicemente aggiornare
pkgver
o l'array
source
.
Foo nell'AUR non compila quando eseguo makepkg; cosa faccio?
Probabilmente si tratta di un errore banale, vedi
#Debug del processo di compilazione
.
ERROR: One or more PGP signatures could not be verified!; cosa faccio?
Probabilmente non hai incorporato le chiavi pubbliche nel tuo portachiavi digitale personale. Vedi
Makepkg#Signature checking
per dettagli.
Come faccio a creare un PKGBUILD?
Consulta l'articolo
AUR submission guidelines#Rules of submission
, poi vedi le istruzioni in
creating packages
.
Ho un PKGBUILD che vorrei pubblicare; c'è qualcuno che può verificare che non abbia commesso errori?
Ci sono diversi luoghi dove chiedere, vedi
#Debug del processo di compilazione
.
Come faccio ad inserire un PKGBUILD nel repository extra?
In genere servono almeno 10 voti per spostare qualcosa nel repository
extra
. Tuttavia, spesso basta convincere un manutentore ad appoggiare il pacchetto.
Raggiungere il numero minimo di voti non è l'unico criterio; ci deve essere un manutentore di pacchetti disposto a sostenere il pacchetto in questione. I manutentori non sono obbligati ad incorporare un pacchetto nel repository
extra
soltanto perché ha raggiunto molti voti.
Spesso, se un pacchetto molto popolare rimane nell'AUR, è per uno di questi motivi:
Arch Linux possiede già un'altra versione del pacchetto in uno dei repositori ufficiali.
La licenza proibisce la ridistribuzione.
Si tratta di un
AUR helper
, ovvero di un programma che scarica ed installa pacchetti AUR, evitando di dover compilare tutto a mano nella maniera descritta in questo articolo. Tuttavia questi programmi
non sono supportati
per definizione.
Altre informazioni sono reperibili
Regole per incorporare pacchetti nel repository extra
.
Come faccio ad accelerare processi di compilazione?
Vedi
Makepkg#Improving build times
.
Qual'è la differenza tra i pacchetti foo e foo-git?
Molti pacchetti AUR provengono da versioni complete dette "stabili", oppure da versioni in sviluppo "instabili". Quest'ultime in genere hanno un
suffisso
che descrive il
sistema di controllo versione
in utilizzo e non sono pensate per essere usate normalmente, tuttavia possono contenere nuove funzioni o correzioni di bug. Questi pacchetti scaricano soltanto il nuovo codice sorgente ed il loro
pkgver()
non riflette aggiornamenti. È per lo stesso motivo che questi pacchetti non possono verificare la propria autenticità tramite il confronto di checksum.
Vedi anche
System maintenance#Use proven software packages
.
Perché foo è scomparso dall'AUR?
È possibile che il pacchetto sia stato adottato da un
manutentore
e sia quindi stato incorporato nel
repository extra
.
È anche possibile che il pacchetto sia stato rimosso perché violava le
regole di distribuzione nell'AUR
. Controlla gli archivi
aur-requests
per sapere il motivo della rimozione.
Nota
Il repository
git
di un pacchetto che è stato rimosso in genere rimane accessibile. Vedi
AUR submission guidelines#Requests
per dettagli.
Come faccio a sapere se uno dei pacchetti che ho installato è scomparso dall'AUR?
Il modo più semplice di controllare è di verificare il codice HTTP della pagina AUR dei pacchetti in questione:
$ comm -23 <(pacman -Qqm | sort) <(curl
https://aur.archlinux.org/packages.gz
| gzip -cd | sort)
Come faccio a vedere una lista di tutti i pacchetti AUR?
https://aur.archlinux.org/packages.gz
Utilizza
aurpkglist
del pacchetto
python3-aur
AUR
Ulteriori risorse
Interfaccia web dell'AUR
AUR Mailing List