Jump to content

# Arch User Repository (Italiano)

From ArchWiki
Stato della traduzioneQuesto 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, forniti come dipendenze.

Nota I pacchetti presenti nell'AUR presumono che base-devel sia installato nell'ambiente di compilazione.

Dopodiché 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 il 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 repositore 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 (ing. 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 repositore alternativo archlinux/aur su GitHub, nel quale ogni pacchetto si trova nel proprio branch. Si consiglia di clonare singoli branch perché il repositore intero è troppo grande e scaricare ogni pacchetto durerebbe troppo tempo. Dunque si può 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 repositore (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 (ing. signature) in formato .sig oppure .asc fa parte dei file scaricabili insieme al PKGBUILD. Se dovesse essere il caso, si potrebbe ottenere una delle chiavi pubbliche elencate nella lista. 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! Si può chiedere aiuto nella mailing list o nel forum. Ci sono stati casi di codice maligno in pacchetti AUR. [3]

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` rileva e installa automaticamente tramite pacman tutti i pacchetti dai quali dipende il PKGBUILD prima di compilare quest'ultimo. Se il pacchetto dovesse dipendere da altri pacchetto AUR, questi andrebbero installati a mano in anticipo.
- `-i`/`--install` installa il pacchetto package nel caso possa essere 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.

Suggerimento Usare `git clean -dfx` per rimuovere tutti i file che non sono parte dell'indice 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-version-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 ed imballaggio. È consigliabile leggere gli articoli makepkg e Arch build system per ottenere altri dettagli.

### Installazione di aggiornamenti

Nella stessa directory in cui è situato il PKGBUILD del pacchetto in questione, si può aggiornare i file scaricati in precedenza dando

    $ git pull

e seguendo le stesse istruzioni di prima.

Attenzione L'AUR non è sostenuta ufficialmente, dunque ogni pacchetto installato proveniente da essa è di vostra responsabilità, e non viene gestito da pacman. Nel caso in cui pacchetti nei repositori ufficiali dovessere essere aggiornati, è necessario ricompilare i pacchetti AUR che dipendono da essi.

## Account

Questa sezione tratta degli account sul sito dell'AUR.

### Sospensione

Quando si modifica un utente come mantenitore di pacchetti, si può selezionare il campo suspended (it. 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 mantenitore di pacchetti, il campo inactive (it. inattivo) può essere selezionato. Utenti inattivi hanno la funzione di

- Mostrare la data nella quale quancuno fu marchiato come inattivo
- Calcolare il numero di mantenitori attivi

## 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.

### 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. Si può votare per tutti i pacchetti affinché essi vengano incorporati nel repositore ufficiale extra. Il numero di voti è uno dei criteri di selezione, dunque è nell'interesse di ognuno di votare.

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 in un terminale con aur-auto-vote-gitAUR.

Alternativamente, se si ha impostato 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

### Marchiare i pacchetti 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ò marchiare 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 mantenitore 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 qui.

Note I pacchetti VCS non sono considerati obsoleti quando cambia il campo `pkgver`; non marchiarli perché il mantenitore vi ignorerà dato che non è tenuto ad aggiornare il PKGBUILD solo per inserire il nuovo `pkgver`.

## Debugging il processo di compilazione

Nel caso di problemi, si controllino bene le seguenti cose:

1. Accertarsi che il proprio sistema sia stato aggiornato prima di compilare qualcosa.
2. Verificare di avere installato il pacchetto base-devel.
3. 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.
4. Provare ad usare la configurazione standard di `makepkg`.
5. 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 mantenitore (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 mantenitori 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 mantenitore di pacchetti) li vide e incorporò nel repositore.

Poi si istituì il "repositore 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 mantenitori dell'AUR furono chiamati utenti "fidati" (ing. Trusted User) prima di diventare mantenitori 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.

### Repositori Git per l'AUR3

L'archivio AUR su GitHub ha un repositore 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 sono i mantenitori di pacchetti?

Vedi See Arch terminology#Package maintainer (ing. Package Mantainer).

### Qual'è la differenza tra l'AUR e il repositore extra?

Il repositore 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 mantenitore, viene incorporato nel repositore extra, dal quale può essere installato con pacman.

### Foo nell'AUR è obsoleto; cosa faccio?

Vedi #Marchiare i pacchetti obsoleti.

Nel frattempo, puoi provare da solo ad aggiornare il pacchetto modificando il PKGBUILD sul tuo sistema. A volte non è necessario modificare il processo di compilazione ed imballaggio in modo tale che aggiornare le variabili `pkgver` o `source` è sufficiente.

### Foo nell'AUR non compila quando eseguo makepkg; cosa faccio?

Probabilmente si tratta di un errore banale, vedi #Debugging il 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 create 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 #Debugging il processo di compilazione.

### Come faccio ad inserire un PKGBUILD nel repositore extra?

In genere servono almeno 10 voti per fare incorporare qualcosa nel repositore extra. Tuttavia, spesso basta convincere un mantenitore ad appoggiare il pacchetto.

Raggiungere il numero minimo di voti non è l'unico criterio; ci deve essere un mantenitore di pacchetti disposto a sostenere il pacchetto in questione. I mantenitori non sono obbligati ad incorporare un pacchetto nel repositore 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 dovere compilare tutto a mano nella maniera descritta in questo articolo. Tuttavia questi programmi non sono appoggiati ufficialmente.

Altre informazioni sono reperibili tra le regole per incorporare pacchetti nel repositore 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 mantenitore e sia quindi stato incorporato nel repositore 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 repositore 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-aurAUR

## Vedi anche

- interfaccio web dell'AUR
- AUR Mailing List

Categories:

- About Arch (Italiano)
- Package development (Italiano)
- Package management (Italiano)

Arch User Repository (Italiano)
Add topic