venerdì 26 aprile 2013

Pacman: Guida alla Configurazione

Talvolta dopo l'aggiornamento di Chakra Linux, l'output del terminale mostra avvisi relativi a pacman.conf, in questa guida cercheremo di analizzare le voci che compongono tale file.


Il gestore di pacchetti pacman combina un semplice formato di pacchetti binari con un facile sistema di compilazione dei pacchetti rendendo possibile la gestione degli stessi, siano essi presi dai repository ufficiali o compilati dall'utente stesso.

Pacman può mantenere un sistema aggiornato sincronizzando le liste di pacchetti con il server principale. Questo modello server/client permette di scaricare/installare pacchetti con un semplice comando, completi di tutte le dipendenze richieste.

CONFIGURARE PACMAN


Il file di configurazione di Pacman è situato in /etc/pacman.conf, questo file permette di configurare il programma per farlo funzionare nel modo desiderato. Generalmente non si ha bisogno di modificare questo file, a meno che non si voglia abilitare i repositories unstable e testing oppure aggiungere un repository personalizzato.

Tuttavia è possibile attivare interessanti features semplicemente modificando il file di configurazione.

Nel seguito saranno spiegati i parametri di configurazione contenuti in un tipico file /etc/pacman.conf.


Prima di procedere a qualsiasi modifica di tale file, consiglio vivamente di creare una copia di backup dello stesso onde evitare di ritrovarsi a non poter aggiornare il proprio sistema, cosa abbastanza grave per una distribuzione half-rolling come Chakra.

OPZIONI GENERALI

Questa sezione presenta percorsi per i quali se commentati pacman utilizzerà i valori di default elencati.

Se si desidera utilizzare percorsi differenti, decommentare (cancellando #) e aggiornare i percorsi.

#RootDir = /

La directory predefinita per l'installazione, tale percorso va cambiato nel caso in cui si desideri installare un pacchetto su una partizione temporanea montata che è "proprietà" di un altro sistema, o per un chroot di installazione.

#DBPath = /var/lib/pacman/

Definisce il percorso predefinito della directory del database di primo livello, la maggior parte degli utenti non necessita di modificafre il percorso.

#CacheDir = /var/cache/pacman/pkg/

Definisce il percorso predefinito della directory di cache dei pacchetti. È possibile specificare più directory per la cache, queste saranno utilizzate nell'ordine in cui sono specificate nel file.

Se un file non viene trovato in una qualsiasi directory di cache, verrà scaricato dalla prima directory della cache con accesso in scrittura.

#LogFile = /var/log/pacman.log

Definisce il percorso predefinito del file di log di pacman

HoldPkg = pacman glibc pacman-helpme

Se un utente tenta di rimuovere un pacchetto tra quelli elencati dopo l'opzione HoldPkg, pacman chiederà conferma prima di procedere.

#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u

#XferCommand = /usr/bin/curl -C - %u > %o


Opzioni utili se si necessita di impostazioni per i proxy più avanzate rispetto a quelle native di pacman.

#CleanMethod = KeepInstalled

Se impostato su KeepInstalled (impostazione predefinita), il comando
sudo pacman -Sc pulirà la cache dai pacchetti non più installati (non presenti nel database locale).

Se impostato KeepCurrent, il comando
sudo pacman -Sc pulirà la cache dai pacchetti obsoleti (non presenti in alcun database di sincronizzazione).

Il secondo comportamento è utile quando la cache dei pacchetti è condivisa tra più macchine, in cui i database locali sono solitamente diversi, ma il database di sincronizzazione in uso potrebbe essere lo stesso.

Se vengono specificati entrambi i valori, i pacchetti vengono puliti solo se non installati in locale e non presenti in alcun database di sincronizzazione noto.

#UseDelta = 0.7

Scaricare ove possibile delta files in luogo di pacchetti completi. Richiede che sia installato il programma xdelta3.

Architecture = auto

Se impostato, pacman consentirà solo l'installazione di pacchetti dell' architettura specificata (i686, x86_64).

Il valore auto utilizzerà l'architettura del sistema fornito dal comando

uname -m.

Se non impostato, non saranno effettuati controlli sull'architettura.

GESTIONE AGGIORNAMENTI

#IgnorePkg =

Indicare in corrispondenza di tale stringa i pacchetti per i quali si desidera evitare l'aggiornamento.

Per ignorare l'aggiornamento di più pacchetti, separarli con uno spazio, oppure utilizzare ulteriori linee IgnorePkg.

#IgnoreGroup =

Indicare in corrispondenza di tale stringa il gruppo a cui appartengono una serie di pacchetti per i quali si desidera inibire l'aggiornamento.

#NoUpgrade =

Tutti i file elencati con una direttiva NoUpgrade non saranno mai modificati durante le operazioni di installazione o aggiornamento dei pacchetti, i nuovi file saranno installati con estensione .pacnew.

#NoExtract =

Indicare in corrispondenza di tale stringa, specifici file o cartelle di cui si desidera evitare l'installazione. E' un'opzione utile nel caso in cui non si desidera installare una parte specifica di un determinato pacchetto.

Ad esempio, per evitare l'installazione delle unità di systemd, si dovrebbe usare la sintassi:

NoExtract=usr/lib/systemd/system/*

ALTRE OPZIONI (disabilitate di default)

#UseSyslog

Se decommentata attiva la gestione dei log dei messaggi di azione attraverso syslog (). Questa opzione inserirà le voci di log in /var/log/.

#ShowSize

Visualizza la dimensione dei singoli pacchetti con le modalità --sync e --query.

#Color

Se decommentata consente la visione dell'output di pacman a colori.

#TotalDownload

Se decommentata, durante il download saranno visualizzate la quantità scaricata, velocità di download e la percentuale di completamento dell'intero download, piuttosto che la percentuale di ciascun singolo pacchetto. La barra di avanzamento indicherà comunque esclusivamente l'avanzamento del download del pacchetto corrente.

#CheckSpace

Se decommentata, pacman esegue un controllo approssimativo dello spazio disponibile su disco prima di installare i pacchetti.

#VerbosePkgLists

Se decommentata, pacman visualizza il nome, la versione e la dimensione dei pacchetti da installare.


REPOSITORIES

L'ultima sezione del file pacman.conf è dedicata ai repositories, qui possono essere abilitati, disabilitati o aggiunti i repositories desiderati dall'utente.

I repositories che di default saranno abilitati in una tradizionale installazione di Chakra sono:

core: le fondamenta del sistema

platform: pacchetti addizionali e le dipendenze della KDE Software Compilation

desktop: pacchetti della KDE Software Compilation e strumenti di Chakra

apps: Ulteriori applicazioni KDE/Qt

games: giochi e pacchetti relativi

lib32: pacchetti per x86_64 compilati con librerie i686

L'ultima sezione del file pacman.conf presenterà dunque le seguenti stringhe decommentate:

[lib32]
Include = /etc/pacman.d/mirrorlist

[core]
Include = /etc/pacman.d/mirrorlist

[platform]
Include = /etc/pacman.d/mirrorlist

[desktop]
Include = /etc/pacman.d/mirrorlist

[apps]
Include = /etc/pacman.d/mirrorlist

[games]
Include = /etc/pacman.d/mirrorlist


Chakra non dispone esclusivamente dei repositories stabili difatti prima di essere spostati nei repositories stabili, alcuni pacchetti hanno bisogno di essere testati e vengono quindi inseriti nei repositories di testing.

I repositories testing attualmente disponibili sono i seguenti:

testing: Pacchetti generali che in futuro saranno spostati nei repositories stabili

lib32-testing: Pacchetti x86_64 compilati con librerie i686, che in futuro saranno spostati nei repositories stabili.

Per passare al repository testing, è necessario modificare /etc/pacman.conf aggiungendo prima di tutti gli altri repositories la seguente stringa:

[testing]
Include = /etc/pacman.d/mirrorlist


Fatto questo è sufficiente dare da terminale

sudo pacman -Syu

Ci sono alcune applicazioni e alcuni software che sono ancora considerati instabili, tuttavia sono ugualmente inclusi in Chakra. Oltre ai pacchetti instabili esistono pure pacchetti compilati direttamente da CVS, senza aspettare il rilascio ufficiale.

I repositories instabili sono

unstable: Versioni di sviluppo dei pacchetti generali

kde-unstable: Versioni di sviluppo dei pacchetti della KDE Software Compilation (solo quando si testano le RC delle major release di KDE)

Il repository unstable è disabilitato di default nel file pacman.conf:

#[unstable]
#Include = /etc/pacman.d/mirrorlist

Si consiglia ai nuovi utenti, di non modificare l'elenco dei repositories, tali modifiche non eseguite da mani esperte, unite ad un successivo aggiornamento potrebbero infatti compromettere il sistema.

Gnu/Linux ci regala la libertà di modificare a piacimento il comportamento del sistema, tuttavia da grandi poteri derivano grandi responsabilità, accertatevi sempre della coerenza di ciò che fate ;)

Nessun commento:

Posta un commento