# [RISOLTO][EMERGE]Aggiornamenti Mirati per pacchetti con bug

## TeoBì

```

Salve,

 cercando fra la documentazione ho visto che è possbile aggiornare solo pacchetti con vulnerabilità;invece volevo sapere se è possibile  aggiornare i pacchetti solo nel caso abbiamo dei bug; mi spiego meglio:

Se ho, per esempio mysql installato 5.0.0.0 che ha un bug , c'è la versione 5.0.0.1 che non ha questo bug però c'è anche la versione 5.2.0.0 che non ha il bug ma ha anche nuove funzionalità, io vorrei che il sistema in automatico mi installasse la 5.0.0.1 risolvendo solo il bug.

Grazie

Matteo. 

```

Last edited by TeoBì on Tue Aug 13, 2013 7:39 pm; edited 1 time in total

----------

## cloc3

un modo potrebbe essere questo:

```

echo dev-db/mysql >>/etc/portage/package.mask/mioscuelle # maschero artificalmente tutti i pachetti dev-db/mysql

echo =dev-db/mysql-5.5.30 >>/etc/portage/package.unmask/mioscuelle # tolgo la maschera alla singola versione desiderata

echo =dev-db/mysql-5.5.30 >>/etc/portage/package.keywords/mioscuelle # eventualmente, libero anche la flag ~

# test:

dell ~ # emerge -pv dev-db/mysql --nodeps

These are the packages that would be merged, in order:

[ebuild  N    #] dev-db/mysql-5.5.30  USE="community perl ssl tcmalloc -cluster -debug -embedded -extraengine -jemalloc -latin1 -max-idx-128 -minimal -profiling (-selinux) -static -systemtap {-test}" 25,780 kB

#sembra ok.

```

----------

## TeoBì

 *cloc3 wrote:*   

> un modo potrebbe essere questo:
> 
> ```
> 
> echo dev-db/mysql >>/etc/portage/package.mask/mioscuelle # maschero artificalmente tutti i pachetti dev-db/mysql
> ...

 

Grazie per questa riposta.

Però avevo preso mysql come esempio; parlavo più in generale, ci sono optiozni di emerge per upgradare il sistema in modo tale di fare solo gli aggiornamenti dei software con bug; oppure forse c'è già un ramo "stable" per server , dove si predilige la stabilità e non l'implementazione di nuove funzioni.

Grazie Ancora.

----------

## cloc3

 *TeoBì wrote:*   

> 
> 
> Grazie per questa riposta.
> 
> Però avevo preso mysql come esempio; parlavo più in generale, ci sono optiozni di emerge per upgradare il sistema in modo tale di fare solo gli aggiornamenti dei software con bug; oppure forse c'è già un ramo "stable" per server , dove si predilige la stabilità e non l'implementazione di nuove funzioni.
> ...

 

non sono sicuro di avere capito quello che cerchi, ma ci riprovo ancora.

forse quello che cerchi non è una opzione di emerge, ma una estensione di portage.

evidentemente, non si può pensare che avere un bug sia una caratteristica utile a marcare un pacchetto per l'installazione - eventualmente, si può parlare di pacchetti in fase di sviluppo.

le opzioni di emerge, in ogni caso, sono documentate su man portage.

quello a cui tu hai interesse, probabilmente, è un overlay:

si tratta di percorsi che possono essere aggiunti o sovrapposti all'albero ufficiale di portage. funzionano non solo con emerge, ma con qualunque altro gestore di pacchetti (per esempio paludis). laymann è un programma che permette di agganciare a portage alcune sweet di pacchetti preesistenti, ma volendo, puoi generare e aggiungere a laymann anche overlay personali.

----------

## djinnZ

In genere quando viene scoperto un bug grave od una falla nella sicurezza i pacchetti vengono mascherati (hardmasked non ~arch).

Per esempio mysql-5.0.* è mascherato per vulnerabilità e se installi mysql (es con un emerge mysql, sono stabili 5.1.66/67/70) dovresti ritrovarti con la stabile più recente ovvero  la 5.1.70.

La cosa ha senso perché le versioni stabili precedenti sono soggette a scomparire e molto probabilmente sono mantenute solo a causa di qualche dipendenza.

Se però c'è un programma che nelle sue dipendenze ha una richiesta, sempre per esempio per mysql <= 5.1.68 ti ritroverai la .67 installata, sempre che non hai inserito in world dev-db/mysql (in questo caso il comportamento dipende dalle versioni di portage, prima c'era l'assurda situazione in cui lanciando due volte di seguito emerge prima faceva il downgrade e poi l'upgrade).

Se stai lavorando ad un tuo programma su mysql o ti rivolgi al mascheramento o ti crei un tuo ebuild che richieda, sempre per esempio mysql <=5.1.67. Può anche essere un "virtual" e vale anche in concomitanza allo smascheramento (per esempio mettendo un dev-db/mysql ~x86). Ma sempre a patto che mysql sia chiamato come dipendenza.

Oppure neanche io ho capito cosa vuoi fare.

----------

## ago

Non è possibile.

Portage non sa quando un pacchetto viene aggiornato per motivi di sicurezza o meno. Esistono i tester appositamente per testare al meglio i pacchetti prima di marcarli come stabile.

----------

## Onip

forse glsa-check può fare al caso tuo.

E, comunque, nessuno ti obbliga ad aggiornare un sistema (in produzione soprattutto). Forse ti conviene fare il sync e poi aggiornare (emerge -1u) solo i pacchetti con vulnerabilità delle quali sei a conoscenza.

Confermo, comunque, che anche i dev gentoo lavorano su questo tema e sono (o per lo meno mi sembrano, non ho mai avuto bisogno di affrontare la questione) abbastanza reattivi nel mascherare pacchetti con problemi e smascherare versioni che li risolvono.

----------

## ago

 *Onip wrote:*   

> forse glsa-check può fare al caso tuo.

 

Visti i tempi di rilascio direi che non fa al caso

----------

## TeoBì

Grazie,

 mille a tutti per le risposte.

Matteo.

----------

## ago

 *ago wrote:*   

> Non è possibile.
> 
> Portage non sa quando un pacchetto viene aggiornato per motivi di sicurezza o meno. Esistono i tester appositamente per testare al meglio i pacchetti prima di marcarli come stabile.

 

Ho dimenticato di menzionare che con portage-2.2 è possibile effettuare:

```
emerge -1u @security
```

Ma il tutto è legato dal rilascio degli advisory e non dalle stabilizzazioni.

----------

