Gentoo Logo

Disclaimer : Questo manuale è stato sostituito da una nuova versione e non è più mantenuto.


[ << ] [ < ] [ Home ] [ > ] [ >> ]


1. File e directory

Indice:

1.a. I file del Portage

Direttive per la configurazione

Portage usa le configurazioni predefinite memorizzate in /etc/make.globals. Scorrendo questo file, si noterà che tutta la configurazione del Portage è gestita da variabili. Quali sono queste variabili ed il loro significato è descritto in seguito.

Dato che molte direttive di configurazione differiscono da architettura ad architettura, Portage ha dei file di configurazione predefiniti che fanno parte del proprio profilo. Il proprio profilo è indicato dal link simbolico /etc/portage/make.profile; le configurazioni del Portage sono definite dai file in make.defaults del proprio profilo e dei profili parenti. Verranno presi in considerazione i profili e la directory /etc/portage/make.profile.

Se si sta pianificando la modifica di una variabile di configurazione non alterare /etc/make.globals o make.defaults. Usare invece /etc/portage/make.conf che ha la precedenza sui file precedenti. C'è anche un file chiamato /usr/share/portage/config/make.conf.example, che, come implica il nome stesso, non è nient'altro che un esempio di configurazione, il quale viene ignorato completamente da Portage.

Si può anche definire una variabile di configurazione di Portale come una variabile ambiente, ma non è raccomandato.

Informazioni specifiche sul profilo

Si è già avuto a che fare con la directory /etc/portage/make.profile. Questa non è esattamente una directory ma un link simbolico ad un profilo, come impostazione predefinita è uno di quelli all'interno di /usr/portage/profiles anche se potete crearne uno vostro e farlo puntare a questo. Il profilo a cui punta il link è il profilo al quale aderisce il sistema.

Un profilo contiene informazioni specifiche dell'architettura così come una lista di pacchetti che appartengono al sistema che corrisponde a questo profilo, una lista di pacchetti che non girano su questo profilo (o sono mascherati), ecc.

Informazioni specifiche dell'utente

Quando si vuole sovrascrivere il comportamento di Portage riguardo l'installazione del software, si dovranno modificare i file all'interno di /etc/portage. Si è incoraggiati ad usare i file all'interno di /etc/portage e scoraggiati ad usare variabili ambiente.

All'interno di /etc/portage si possono creare i seguenti file:

  • package.mask una lista di pacchetti che si vuole che Portage non installi
  • package.unmask una lista di pacchetti che si vuole installare anche se gli sviluppatori di Gentoo scoraggiano dal farlo
  • package.accept_keywords una lista di pacchetti che si vuole installare anche se il pacchetto non è (ancora) considerato adatto per la propria architettura di sistema
  • package.use una lista di flag USE che si vuole usare per certi pacchetti senza che l'intero sistema ne sia coinvolto

Tuttavia non devono per forza essere dei file; possono essere anche delle directory contenenti un file per pacchetto. Maggiori informazioni sulla directory /etc/portage e la lista completa dei file che vi si possono creare, può essere trovata nella pagina di manuale di Portage:

Codice 1.1: Leggere la pagina di manuale di Portage

$ man portage

Modificare l'ubicazione dei file e delle directory di Portage

Come menzionato precedentemente i file di configurazione non possono essere memorizzati in directory diverse da quelle predefinite. Comunque, Portage usa molte altre ubicazioni per vari scopi: memorizzazione del codice sorgente, directory di compilazione, albero di Portage, ...

Tutti questi scopi hanno ubicazioni predefinite ma che possono essere alterate attraverso /etc/portage/make.conf. Il resto di questo capitolo spiega quali sono le ubicazioni per scopi speciali usate da Portage e come alterare la loro collocazione nel filesystem.

Questo documento non deve essere usato come un riferimento. Se si desidera avere una panoramica, fare riferimento alle pagine man del Portage e di make.conf:

Codice 1.2: Leggere le pagine man del Portage e del make.conf

$ man portage
$ man make.conf

1.b. Ubicazione dei file

L'albero del Portage

L'ubicazione predefinita per l'albero del Portage è /usr/portage. Questo è definito dalla variabile PORTDIR. Se si vuole mettere l'albero di Portage da qualche altra parte (alterando questa variabile), non ci si deve dimenticare di modificare il link simbolico /etc/portage/make.profile in accordo con la nuova ubicazione.

Se si altera la variabile PORTDIR, si possono voler modificare anche le seguenti variabili in quanto non noteranno il cambio di PORTDIR (a causa del modo di gestire le variabili del Portage): PKGDIR, DISTDIR, RPMDIR.

Binari precompilati

Anche se Portage non usa pacchetti precompilati in modo predefinito, ha comunque un supporto esteso anche per questi. Quando si chiede al Portage di usare pacchetti precompilati, questi verranno cercati nella directory /usr/portage/packages. Questa ubicazione è definita dalla variabile PKGDIR.

Codice Sorgente

Il codice sorgente delle applicazioni è memorizzato in modo predefinito all'interno di /usr/portage/distfiles. Questa ubicazione è definita dalla variabile DISTDIR.

Portage Database

Portage memorizza il proprio stato (quali pacchetti sono installati, che file appartengono ad un dato pacchetto, ...) in /var/db/pkg.Non alterare questi file manualmente! Si potrebbe alterare la conoscenza che il Portage ha del proprio sistema.

Portage Cache

La cache di Portage (con la data di modifica, i pacchetti virtuali, l'informazione sull'albero delle dipendenze,...) viene memorizzata in /var/cache/edb. Questa locazione è realmente una cache: la si può rimuovere se non si sta eseguendo nessuna applicazione collegata a portage.

1.c. Compilare il software

File temporanei

I file temporanei del Portage sono memorizzati in modo predefinito all'interno di /var/tmp. Questo è definito dalla variabile PORTAGE_TMPDIR.

Se si altera la variabile PORTAGE_TMPDIR, si potrebbe voler modificare anche le seguenti variabili dato che non noteranno la modifica di PORTAGE_TMPDIR (a causa di come Portage gestisce le variabili): BUILD_PREFIX.

Directory di compilazione

Portage crea specifiche directory di compilazione per ogni pacchetto emerso all'interno di /var/tmp/portage. Questa ubicazione è definita dalla variabile BUILD_PREFIX.

Ubicazione nel filesystem

Portage installa in modo predefinito tutti i file sul filesystem corrente (/), ma si può modificare questa definizione usando la variabile d'ambiente ROOT.

1.d. Caratteristiche di log

Ebuild Logging

Portage può creare file di log per ebuild, ma solo quando la variabile PORT_LOGDIR è definita con una locazione che sia scrivibile dall'utente portage. Il valore predefinito per questa variabile è nullo. Se non viene impostata PORT_LOGDIR, non si riceveranno i log delle compilazioni con il log system corrente benché si possano ricevere alcuni log dal nuovo elog. Se la variabile PORT_LOGDIR è definita e si usa elog, si riceveranno i log di compilazione e qualsiasi log salvato da elog, come spiegato di seguito.

In Portage è possibile avere un controllo fine su ciò che viene registrato nei log con l'uso di elog:

  • PORTAGE_ELOG_CLASSES: attraverso questa variabile si impostano i tipi di messaggio che devono essere registrati. Si può usare qualsiasi combinazione di info, warn, error, log e qa separata da spazi.
    • info: Registra i messaggi "einfo" stampati da un ebuild
    • warn: Registra i messaggi "ewarn" stampati da un ebuild
    • error: Registra i messaggi "eerror" stampati da un ebuild
    • log: Registra i messaggi "elog" che si trovano in alcuni ebuild
    • qa: Registra i messaggi "QA notice" stampati da un ebuild
  • PORTAGE_ELOG_SYSTEM: attraverso questa variabili si seleziona il modulo(i) per processare i messaggi di log. Se lasciata vuota, la registrazione dei log viene disabilitata. Si può usare una qualsiasi combinazione di save, custom, syslog, mail, save_summary e mail_summary separata da spazi. Si deve selezionare almeno un modulo per poter utilizzare elog.
    • save: Salva un log per pacchetto in $PORT_LOGDIR/elog, o /var/log/portage/elog se $PORT_LOGDIR non è definita.
    • custom: Passa tutti i messaggi ad un comando definito dall'utente in $PORTAGE_ELOG_COMMAND; discusso di seguito.
    • syslog: Invia tutti i messaggi al sistema di log installato.
    • mail: Passa tutti i messaggi al mailserver definito dall'utente in $PORTAGE_ELOG_MAILURI; discusso di seguito. Questa caratteristica di elog richiede >=portage-2.1.1.
    • save_summary: Simile a save, ma unisce tutti i messaggi in $PORT_LOGDIR/elog/summary.log, o /var/log/portage/elog/summary.log se $PORT_LOGDIR non è definita.
    • mail_summary: Simile a mail, ma manda tutti i messaggi in una singola mail quando emerge termina l'operazione.
  • PORTAGE_ELOG_COMMAND: usata solo quando il modulo custom è abilitato. Attraverso questa variabile si può specificare un comando per processare i messaggi di log. Si possono usare due variabili: ${PACKAGE} per il nome e la versione del pacchetto e ${LOGFILE} per il path assoluto del file di log. Eccone un possibile uso:
    • PORTAGE_ELOG_COMMAND="/path/to/logger -p '\${PACKAGE}' -f '\${LOGFILE}'"
  • PORTAGE_ELOG_MAILURI: contiene i parametri per il modulo mail come indirizzo, utente, password, mailserver e numero di porta. Il valore predefinito è "root@localhost localhost".
  • Ecco un esempio per un server smtp che richiede username e password per l'autenticazione su una particolare porta (la porta di default è la 25):
    • PORTAGE_ELOG_MAILURI="user@some.domain username:password@smtp.some.domain:995"
  • PORTAGE_ELOG_MAILFROM: permette di impostare l'indirizzo "from" della mail di log; se non viene impostata, il valore predefinito è "portage".
  • PORTAGE_ELOG_MAILSUBJECT: permette di creare il soggetto per le mail di log. Si possono usare due variabili: ${PACKAGE} per mostrare il nome e la versione del pacchetto e ${HOST} per il nome completo dell'host dove è in esecuzione Portage.
  • Eccone un possibile uso:
    • PORTAGE_ELOG_MAILSUBJECT="pacchetto \${PACKAGE} è stato installato su \${HOST} con alcuni messaggi"

Importante: Se si usa enotice con Portage-2.0.*, si deve completamente rimuovere enotice, in quanto incompatibile con elog.


[ << ] [ < ] [ Home ] [ > ] [ >> ]


Stampa

Visualizza tutto

Aggiornato il 24 luglio 2012

Questa traduzione non è più mantenuta

Oggetto: Per conoscere bene le caratteristiche di Portage è necessario conoscere come e dove conserva i propri dati e i propri file.

Sven Vermeulen
Autore

Grant Goodyear
Autore

Roy Marples
Autore

Daniel Robbins
Autore

Chris Houser
Autore

Jerry Alexandratos
Autore

Seemant Kulleen
Sviluppo x86

Tavis Ormandy
Sviluppo Alpha

Jason Huebel
Sviluppo AMD64

Guy Martin
Sviluppo HPPA

Pieter Van den Abeele
Sviluppo PPC

Joe Kallar
Sviluppo SPARC

John P. Davis
Redazione

Pierre-Henri Jondot
Redazione

Eric Stockbridge
Redazione

Rajiv Manglani
Redazione

Jungmin Seo
Redazione

Stoyan Zhekov
Redazione

Jared Hudson
Redazione

Colin Morey
Redazione

Jorge Paulo
Redazione

Carl Anderson
Redazione

Jon Portnoy
Redazione

Zack Gilburd
Redazione

Jack Morgan
Redazione

Benny Chuang
Redazione

Erwin
Redazione

Joshua Kinard
Redazione

Xavier Neys
Redazione

Joshua Saddler
Redazione

Gerald J. Normandin Jr.
Revisione

Donnie Berkholz
Revisione

Ken Nowack
Revisione

Lars Weiler
Redazione

Tobias Scherbaum
Redazione

Marco Mascherpa
Traduzione

Stefano Pacella
Traduzione

Enrico Morelli
Traduzione

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.