Portage (software)
sistema di gestione dei pacchetti di Gentoo Linux Da Wikipedia, l'enciclopedia libera
sistema di gestione dei pacchetti di Gentoo Linux Da Wikipedia, l'enciclopedia libera
Portage è il sistema di gestione dei pacchetti di Gentoo Linux.[1] È rilasciato sotto licenza GPLv2 [2], la sua caratteristica principale è l'installazione delle applicazioni a partire dalla compilazione del loro codice sorgente. Poiché le possibili combinazioni di opzioni di compilazione e flag USE (v. oltre) permettono di costruire una distribuzione Linux personalizzata, Portage è detto meta-distribution engine e Gentoo una "metadistribuzione".
Portage è costituito da un nucleo scritto in Python che lavora su script bash detti Ebuild. L'interfaccia a riga di comando per Portage è il comando emerge
, usato principalmente per installare ed aggiornare le applicazioni.[3]
Poiché un sistema Gentoo può infatti essere costruito compilando le varie componenti, partendo da una base costituita da un compilatore e un ambiente minimale, Portage scarica il codice sorgente da Internet e costruisce via via il sistema di base e successivamente le applicazioni desiderate. In ogni caso, Portage permette l'uso di pacchetti binari, utili in caso di macchine lente o in ambienti di lavoro in cui la velocità di installazione sia un fattore critico.
Esso è chiaramente ispirato al tradizionale sistema dei ports presente in BSD: entrambi compilano i pacchetti da sorgente e permettono di installare e disinstallare il software in sicurezza gestendo automaticamente le dipendenze. Rispetto a questo Portage è senz'altro più automatico e facile da usare, ma (e questa è una delle principali critiche che gli vengono rivolte dagli stessi utenti gentoo [4]) ha gravi problemi ad installare i programmi in directory diverse da quelle prefissate; è ad esempio pratica comune che un utente voglia installare un programma nella propria home directory, e mentre ciò è abbastanza semplice in ports, è un'operazione alquanto complicata usando solo Portage.
Portage permette di impostare le CFLAGS da utilizzare durante la compilazione, in modo da adattare gli eseguibili prodotti a seconda delle proprie esigenze.
Il sistema Portage offre la possibilità di usare le flag USE, che permettono all'utente di indicare quale caratteristica di un certo software si vuole includere durante la compilazione. Ad esempio, esiste una flag USE per includere, ove disponibile, il supporto DVD in tutti i pacchetti compilati dopo l'inserimento di tale flag. Le flag USE possono influire sulla risoluzione delle dipendenze: specificare il supporto PNG a un programma di grafica comporterà l'installazione delle relative librerie. L'impostazione delle flag USE è la via più comune su Gentoo per la configurazione di programmi.
Ad esempio, Mozilla Thunderbird 1.5 permette l'impostazione delle seguenti flag USE:
mail-client/mozilla-thunderbird-1.5 -debug -gnome +ipv6 -ldap -xinerama +xprint
due delle quali permettono l'intergrazione in GNOME e il supporto al protocollo IPv6.
Ebuilds progettati per architetture specifiche o pacchetti in stato sperimentale sono generalmente "mascherati" (masked in gergo) in modo tale che non sia permesso di installarli senza decisione esplicita dell'utente. Esistono tipi diversi di mascheramento, in relazione al rischio che comporta la loro installazione:
~arch
. Ad esempio un ebuild può essere contrassegnato con la dicitura "~amd64 ~ppc -sparc x86
" a indicare che è considerato stabile solo per l'architettura x86 e non è mai stato provato su sparc.Portage è parte di Gentoo, quindi funziona sulle stesse architetture: DEC Alpha, AMD64, ARM, hppa, IA64, MIPS, PowerPC, PowerPC64, s390, sh, SPARC, x86.
Inoltre è in grado di funzionare in via sperimentale sui sistemi operativi macOS e FreeBSD.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.