# features portage e binari

## polslinux

Leggendo l'handbook ho scoperto che Portage ha delle features attivabili, per me sono:

```
emerge --info | grep FEATURES

FEATURES="assume-digests distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
```

Leggendo in giro ho deciso di attivare:

```
parallel-fetch userfetch
```

Comunque tra le altre cose ho visto che è possibile creare pacchetti binari (mannaggia averlo saputo quando ho compilato la prima volta!!!) e volevo sapere se è possibile "binarizzare" tutto quello che ho installato fin'ora o se è possibile farlo solo in fase di compilazione.

Se fosse possibile binarizzare i pacchetti già installati è possibile dire di binarizzarli direttamente sul mio serverino oppure devo binarizzarli sul mio netbook e poi trasferirli manualmente??

grazie  :Very Happy: 

----------

## Onip

quickpkg è la risposta. Purtroppo non sono su gentoo e non so dirti a quale pacchetto appartenga.

----------

## polslinux

Ci ho messo un po' a trovarlo ma alla fine ho visto che fa parte di Portage  :Wink: 

Ok, ora devo capire come binarizzare tutto...  :Smile: 

----------

## ago

Per un singolo programma:

```
quickpgkg nomeprogramma
```

Per creare i binari di tutti i pacchetti installati, ho un modo un po barbaro...se qualcuno conosce soluzione migliore può suggerire:

Crei una lista di tutti i pacchetti installati:

```
emerge -ep world  | awk '{print $4}' >> file1
```

(Controlla di non avere file il p.mask al momento)

Ti accorgerai che all'inizio di questo file creato ci sono un paio di righe in cui ci sono scritte parole diverse da pacchetti, cancellale.

Successivamente, siccome ogni nomepacchetto è seguito dal numero di versione, vai a scrivere con sed un semplice '='

```
sed -i 's/\(.*\)/=\1/' file1
```

Infine 

```
quickpkg $( cat file1 )
```

e dovrebbe funzionare  :Very Happy: 

----------

## polslinux

 *ago wrote:*   

> 
> 
> (Controlla di non avere file il p.mask al momento)

 

controlla di non avere pacchetti masked sarebbe?

Perchè io non ho "unmaskkato" pacchetti dal file .mask però ho pacchetti di unstable (vedi kernel, compiz, bluez). Non posso fare questa procedura quindi?

Comunque domani provo, grazie mille ti faccio sapere  :Smile: 

----------

## ago

 *polslinux wrote:*   

> controlla di non avere pacchetti masked sarebbe?

 

Semplicemente se hai pacchetti in package.mask quando lanci un emerge -ep world vengono ignorati, e di conseguenza non pacchettizzati successivamente.

----------

## Onip

Io farei così:

```

# qlist -IC | quickpkg

```

qlist appartiene a app-portage/portage-utils

----------

## Onip

 *ago wrote:*   

> 
> 
> Semplicemente se hai pacchetti in package.mask quando lanci un emerge -ep world vengono ignorati, e di conseguenza non pacchettizzati successivamente.

 

Se hai un pacchetto mascherato, cioè che non vuoi, non sarà nemmeno installato. Quindi non ha senso binarizzarlo e stai facendo "preoccupare" polslinux per niente   :Wink:  .

@polslinux

Mi è venuto in mente che la mia proposta non considera pacchetti dei quali sono installate più versioni slotted (un esempio sul mio sistema è sys-libs/db), sostituisci il comando precedente con

```
# qlist -ICSL | quickpkg
```

e dovrebbe "prenderli" tutti

----------

## ago

 *Onip wrote:*   

> Io farei così:
> 
> ```
> 
> # qlist -IC | quickpkg
> ...

 

già..avevo dimenticato qlist :/

----------

## polslinux

Vi ringrazio, ora provo con l'ultimo comando di Onip  :Smile: 

ps: si dovrei avere dei pacchetti slot, anzi 1 solo ed è libpng!

----------

## polslinux

io aggiungerei anche l'opzione:  --include-config=y

così da diventare:

```
qlist -ICSL | quickpkg --include-config=y
```

che dite?

altrimenti non salva i file di config!

ps: se io installo i binari poi emerge -uDavN world li vede?

----------

## polslinux

```
qlist -ICSL | quickpkg --include-config=y

Usage: quickpkg [options] <list of package atoms>

quickpkg: error: no packages atoms given

```

----------

## Onip

prova così allora

```
# quickpkg --include-config=y --include-unmodified-config=y $( qlist -ICSL )
```

----------

## bender86

 *polslinux wrote:*   

> Leggendo l'handbook ho scoperto che Portage ha delle features attivabili, per me sono:
> 
> ```
> emerge --info | grep FEATURES
> 
> ...

 

Quelle non sono le FEATURES attivabili, sono quelle attivate. Per l'elenco completo vedi man make.conf. In generale, non togliere quelle predefinite.

Personalmente creo pacchetti binari solo quando lancio emerge (FEATURES=buildpkg), non uso mai quickpkg, memore di cattive esperienze in passato (non avevo copiato i file di configurazione, e alcuni programmi non funzionavano). Al limite lancio quickpkg liscio, e se si lamenta dei file di configurazione salto quel pacchetto.

Per installare dai binari usa emerge -k pacchetto. Tieni presente che in questo modo il pacchetto viene installato con le USE con cui è stato compilato (ovviamente), anche se tu ne hai specificate di diverse. Altrimenti devi specificare che le use sul sistema hanno la precedenza su quelle dei pacchetti (e ovviamente quei pacchetti verranno compilati), man emerge per sapere come (non mi ricordo e non ho gentoo sotto mano).

----------

