Difference between revisions of "Pacman (Italiano)"
m (→Risoluzione di problemi: don't know why it doesn't create a paragraph here...) |
(→Risoluzione di problemi: update translation) |
||
Line 432: | Line 432: | ||
{{FAQ | {{FAQ | ||
|question=Come posso fare in modo che pacman usi la mia configurazione per un proxy? | |question=Come posso fare in modo che pacman usi la mia configurazione per un proxy? | ||
− | |answer=Assicurarsi che le pertinenti variabili d'ambiente ({{ic|$http_proxy}}, {{ic|$ftp_proxy}} ecc.) siano configurate. Se si usa pacman con [[sudo (Italiano)|sudo]], bisogna configurare sudo affinché [[sudo (Italiano)#Variabili d'ambiente |passi queste variabili a pacman]]. | + | |answer=Assicurarsi che le pertinenti variabili d'ambiente ({{ic|$http_proxy}}, {{ic|$ftp_proxy}} ecc.) siano configurate. Se si usa pacman con [[sudo (Italiano)|sudo]], bisogna configurare sudo affinché [[sudo (Italiano)#Variabili d'ambiente |passi queste variabili a pacman]].}} |
− | }} | + | |
+ | {{FAQ | ||
+ | |question=Come reinstallare tutti i pacchetti, mantenendo memoria di quali pacchetti sono installati esplicitamente e quali come dipendenze? | ||
+ | |answer={{ic|sudo pacman -S $(pacman -Qeq) && sudo pacman -S --asdeps $(pacman -Qdq)}}}} | ||
== Altre risorse == | == Altre risorse == | ||
* [[Common Applications/Utilities (Italiano)#Pacman GUI frontends]] | * [[Common Applications/Utilities (Italiano)#Pacman GUI frontends]] |
Revision as of 03:41, 14 July 2013
zh-CN:Pacman zh-TW:Pacman Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary heading Template:Article summary link Template:Article summary link Template:Article summary link Template:Article summary link Template:Article summary end
Il gestore di pacchetti pacman è uno dei punti di forza di Arch Linux. Combina un semplice formato di pacchetti binari con un facile sistema di compilazione dei pacchetti. pacman rende possibile gestire facilmente i pacchetti, siano essi presi dai repository ufficiali di Arch o compilati dall'utente stesso.
Pacman può tenere un sistema aggiornato sincronizzando le liste di pacchetti con il server principale. Questo modello server/client permette all'utente anche di scaricare/installare pacchetti con un semplice comando, completi di tutte le dipendenze richieste.
Pacman è sviluppato in C, e utilizza il formato .pkg.tar.xz
.
Configurazione
La configurazione di Pacman è situata in /etc/pacman.conf
. Questo è il file su cui l'utente configura il programma per farlo funzionare nel modo desiderato. Ulteriori informazioni riguardo il file di configurazione possono essere trovate in man pacman.conf.
Opzioni generali
Le opzioni generali si trovano nella sezione [options]
. Consultare la pagina di man o nel pacman.conf
predefinito per ulteriori informazioni.
Evitare l'aggiornamento di un pacchetto
Per evitare che un pacchetto venga aggiornato, specificarlo nell'apposita stringa:
IgnorePkg=linux
Per ignorare l'aggiornamento di più pacchetti, separarli con uno spazio, oppure utilizzare ulteriori linee IgnorePkg
.
Evitare l'aggiornamento di un gruppo di pacchetti
Così come per un singolo pacchetto, è possibile ignorare l'aggiornamento anche dei pacchetti che sono individuati da un gruppo:
IgnoreGroup=gnome
Evitare l'installazione di file nel sistema
Per evitare l'installazione di specifici file o cartelle, elencarle con NoExtract
. Ad esempio, per evitare l'installazione delle unità di systemd, usare:
NoExtract=usr/lib/systemd/system/*
Repository
In questa sezione si può definire quali repository usare, come specificato in /etc/pacman.conf
. Possono essere specificati direttamente qui oppure aggiunti da un altro file (ad esempio /etc/pacman.d/mirrorlist
), rendendo così necessario mantenere una sola lista. Consultare questo articolo per la configurazione dei mirror.
/etc/pacman.conf
#[testing] #SigLevel = PackageRequired #Include = /etc/pacman.d/mirrorlist [core] SigLevel = PackageRequired Include = /etc/pacman.d/mirrorlist [extra] SigLevel = PackageRequired Include = /etc/pacman.d/mirrorlist #[community-testing] #SigLevel = PackageRequired #Include = /etc/pacman.d/mirrorlist [community] SigLevel = PackageRequired Include = /etc/pacman.d/mirrorlist # If you want to run 32 bit applications on your x86_64 system, # enable the multilib repositories as required here. #[multilib-testing] #SigLevel = PackageRequired #Include = /etc/pacman.d/mirrorlist #[multilib] #SigLevel = PackageRequired #Include = /etc/pacman.d/mirrorlist # An example of a custom package repository. See the pacman manpage for # tips on creating your own repositories. #[custom] #SigLevel = Optional TrustAll #Server = file:///home/custompkgs
Sicurezza dei pacchetti
Pacman 4 supporta i pacchetti firmati, aggiungendo così un ulteriore livello di sicurezza. SigLevel
può essere usato a livello globale o configurato per ogni repository. La configurazione di default, SigLevel = Required DatabaseOptional
, abilita la verifica delle firme per tutti i pacchetti a livello globale: questo comportamento può essere cambiato definendo SigLevel
per ogni repository come mostrato sopra. Per ulteriori dettagli sulle firme dei pacchetti e la loro verifica, consultare pacman-key.
Uso
Ciò che segue è solo una piccola parte delle oeprazioni che pacman può eseguire. Per avere altri esempi, consultare man pacman. Per un'introduzione, leggere pacman - An Introduction.
Installare pacchetti
Installare pacchetti specifici
Per installare o aggiornare un singolo pacchetto o una lista di pacchetti (incluse le dipendenze), dare il seguente comando:
# pacman -S nome_pacchetto1 nome_pacchetto2 ...
Qualche volta ci sono più versioni di uno stesso pacchetto in differenti repository, ad esempio, [extra] e [testing]. Per installare la versione precedente bisogna specificare il nome del repository:
# pacman -S extra/nome_pacchetto
Installare gruppi di pacchetti
Alcuni pacchetti appartengono ad un gruppo, e possono essere installati contemporaneamente. Per esempio, il comando:
# pacman -S gnome
chiederà di selezionare i pacchetti del gruppo gnome che si desidera installare.
In alcuni casi un gruppo contiene un grande numero di pacchetti, e tra questi si potrebbero voler selezionare o deselezionare solamente pochi. Invece di dover digitare tutti i numeri eccetto quelli indesiderati, può essere più semplice selezionare o escludere pacchetti o intervalli di pacchetti con la seguente sintassi:
Enter a selection (default=all): 1-10 15
che selezionerà per l'installazione i pacchetti da 1 a 10 e 15, oppure:
Enter a selection (default=all): ^5-8 ^2
che selezionerà per l'installazione tutti i pacchetti eccetto da 5 a 8, né 2.
Si possono visualizzare quali pacchetti appartengono al gruppo gnome eseguendo:
# pacman -Sg gnome
È inoltre possibile visitare https://www.archlinux.org/groups/ per vedere quali gruppi di pacchetti sono disponibili.
--needed
.Rimuovere i Pacchetti
Per rimuovere un singolo pacchetto, lasciando tutte le sue dipendenze installate:
# pacman -R nome_pacchetto
Per rimuovere tutte le dipendenze del pacchetto che non sono usate da nessun'altro pacchetto installato:
# pacman -Rs nome_pacchetto
Per rimuovere un pacchetto, le sue dipendenze e tutti i pacchetti che da esso dipendono:
# pacman -Rsc nome_pacchetto
Per rimuovere un pacchetto richiesto da un altro pacchetto, senza rimuovere il pacchetto dipendente:
# pacman -Rdd nome_pacchetto
Pacman salva i file di configurazione importanti durante la rimozione di determinate applicazioni e li rinomina con l'estensione: .pacsave
. Per evitare che questi file di backup siano creati utilizzare l'opzione -n
:
# pacman -Rn nome_pacchetto
Aggiornare il sistema
Pacman può aggiornare tutti i pacchetti del sistema con un solo comando. Questo processo può durare parecchio tempo, in relazione a quanto aggiornato è il sistema. Questo comando può sincronizzare i database dei repository ed aggiornare i pacchetti del sistema (eccetto i pacchetti "locali" che non si trovano nei repository configurati):
# pacman -Syu
Pacman è un potente strumento di gestione dei pacchetti, ma non è progettato per gestire e risolvere automaticamente ogni possibile problema. Consultare The Arch Way se non fosse ben chiara la filosofia KISS alla base di Arch. Piuttosto, gli utenti devono essere attenti e assumersi la responsabilità della manutenzione del proprio sistema. Quando si esegue un aggiornamento del sistema, è essenziale che gli utenti leggano tutte le informazioni generate dall'output di pacman ed usino il proprio buon senso. Se un file di configurazione modificato dall'utente deve essere aggiornato per una nuova versione di un pacchetto, pacman creerà un file .pacnew
per evitare di sovrascrivere la configurazione modificata dall'utente. Sarà poi chiesto all'utente di fondere i due file. Questo richiede un intervento manuale dell'utente, ed è buona prassi farlo immediatamente dopo aver aggiornato o rimosso un pacchetto. Leggere Pacnew and Pacsave Files per avere maggiori informazioni.
Prima di un aggiornamento è caldamente consigliato leggere le ultime notizie sulla home page di Arch Linux (o iscriversi al feed RSS, alla mailing list arch-announce, o seguire @archlinux su Twitter): quando gli aggiornamenti richiedono interventi straordinari dell'utente (più di quanto sia esplicitamente richiesto dalle istruzioni fornite da pacman), verrà aggiunta una segnalazione nelle Ultime Notizie.
Se si incontrano problemi che non possono essere risolti con queste istruzioni, assicurarsi di cercare nei forum. È probabile che altri abbiano avuto il medesimo problema ed abbiano pubblicato la soluzione per risolverlo.
Interrogare il database dei pacchetti
Pacman può interrogare il database locale dei pacchetti con l'opzione -Q
; vedere:
$ pacman -Q --help
e può interrogare i database sincronizzati con l'opzione -S
; vedere:
$ pacman -S --help
Pacman può cercare pacchetti nel database, sia in base al nome del pacchetto che alla sua descrizione:
$ pacman -Ss stringa1 stringa2 ...
Per cercare i pacchetti già installati:
$ pacman -Qs stringa1 stringa2 ...
Per visualizzare informazioni dettagliate su un determinato pacchetto:
$ pacman -Si pacchetto
Per i pacchetti installati localmente:
$ pacman -Qi pacchetto
Con la doppia opzione -i
si visualizza anche l'elenco dei file di backup e il loro stato di modifica:
$ pacman -Qii pacchetto
Per recuperare un elenco dei file installati da un pacchetto:
$ pacman -Ql pacchetto
Per i pacchetti non installati, usare pkgfile.
Si può anche interrogare il database per sapere a quale pacchetto appartiene un determinato file nel sistema:
$ pacman -Qo /percorso/al/nome_del_file
Per elencare tutti i pacchetti non più necessari come dipendenze (orfani):
$ pacman -Qdt
Per mostrare l'albero delle dipendenze di un pacchetto:
$ pactree pacchetto
Per elencare tutti i pacchetti che dipendono da uno specifico pacchetto già installato, usare whoneeds
da pkgtools:
$ whoneeds pacchetto
Comandi addizionali
Aggiornare il sistema e installare una lista di pacchetti (one-liner):
# pacman -Syu pacchetto1 pacchetto2 ...
Scaricare un pacchetto senza installarlo:
# pacman -Sw pacchetto
Installare un pacchetto "locale" che non proviene da un repository remoto (ad esempio il pacchetto viene dall'AUR):
# pacman -U /percorso/al/pacchetto/nomepacchetto-versione.pkg.tar.xz
Installare un pacchetto "remoto" (non dai repository definiti in pacman.conf):
# pacman -U http://www.example.com/repo/example.pkg.tar.xz
Per ripulire la cache dei pacchetti scaricati ed attualmente non installati (/var/cache/pacman/pkg
):
# pacman -Sc
Svuota completamente l'intera cache dei pacchetti:
# pacman -Scc
Gli aggiornamenti parziali non sono supportati
Arch Linux è rolling release, e le nuove versioni delle librerie saranno aggiunte al repository. Gli sviluppatori e i Trusted Users ricompileranno conseguentemente tutti i pacchetti interessati nei repository. Se sono stati installati localmente dei pacchetti (come quelli da AUR), sarà necessario ricompilarli da soli quando le loro dipendenze ricevono modifiche a livello soname.
Ciò significa che gli aggiornamenti parziali non sono supportati. Non usare pacman -Sy pacchetto
o equivalenti, come pacman -Sy
e poi pacman -S pacchetto
. Aggiornare sempre il sistema prima di installare un pacchetto, specialmente se precedentemente è stata eseguita una sincronizzazione con i repository. Si dovrebbe anche, per lo stesso motivo, essere molto attenti quando si usano IgnorePkg
e IgnoreGroup
.
Se si esegue un aggiornamento parziale e i binari smettono di funzionare perché non riescono a trovare le librerie corrette, non provare a risolvere semplicemente creando dei link simbolici. Le librerie ricevono modifiche soname quando non sono retrocompatibili. Un semplice pacman -Syu
ad un mirror ben sincronizzato risolverà il problema, a meno che pacman stesso sia corrotto.