# [RISOLTO] passaggio a multilib senza pacchetti emul_linux

## yayo

Erm.. Buondì.  :Smile: 

Cortesemente, una qualche anima pia che mi dia un paio di ragguagli sulle ultime novità mi sarebbe di grande aiuto. ^_^

Stasera stavo facendo un sync con l'emerge -uDNpv eccetera per vedere cosa c'era da aggiornare, e mi compare una listona di robba da ricompilare, tipo un'ottantina di pacchetti. A momenti mi piglia un colpo. Dò un'occhiata e vedo che c'è una news da leggere. Leggo e scopro che adesso c'è 'sta novità che si passa al multilib perfezionato diciamo. Cioé che se ho capito bene le librerie in versione 32 bittt da adesso sono ricompilate (come dovrebbero essere) e non binari già fatti.

Sulla nius c'è scritto che se voglio posso aggiungere la flag abi_x86_32 a tutti i pacchetti che la supportano, ma mi pare d'aver capito che è un eccesso inutile, perché finisco per ricompilare tipo 250 pacchetti molti dei quali in realtà non li userò mai a 32 bit (non sia mai che devo ricompilare roba come il libreoffice che qui ci mette delle ore, e se poi scopro che l'ha fatto per niente 'sto giro il pc vola fuori dalla finestra  :Razz: ).

Per capire meglio ho fatto una ricerchina e ho trovato 'sta pagina quà: 

https://wiki.gentoo.org/wiki/Multilib_System_without_emul-linux_Packages

che però mi dice anche cose aggiuntive, come togliere il masking alla flag abi_x86_32, cosa che non è menzionata invece nella suddetta nius (lo devo fare o no?).

Su questa pagina inoltre c'è una lista di pacchetti a cui applicare la use flag in package.use, ma non ho capito in base a cosa è stilata quella lista. Poi c'è anche il discorso di disinstallare le vecchie librerie: lo faccio io prima a mano, o mi fido a lasciarlo fare all'emerge -uDNpv --with-bdeps=y @world?

In pratica, quali sono esattamente i passaggi da seguire per fare questo benedetto aggiornamento senza mandare a quel paese tutto il sistema?  :Razz: 

Come faccio a sapere quali sono i pacchetti su cui mi serve (o mi può servire, magari in futuro se non li ho ancora installati) di avere la versione 32 bitz? Cioé quel tizio lì che ha scritto quella lista come ha fatto? E' andato un po' a occhio, oppure si è verificato uno per uno tutti i pacchetti del suo sistema con qualche logica particolare?

Fin'ora son riuscito quasi sempre ad arrangiarmi, e considerando che son passato da winxp a gentoo da solo senza quasi mai aver usato linux, direi che son stato anche troppo bravino, dai (anche se ci son diventato scemo  :Razz:  e ancora adesso c'è qualcosa che non funzia come dovrebbe, ma vabè...). Probabilmente se ci smanetto riesco lo stesso, ma vorrei evitare di far pasticci, che in questo periodo non sono proprio né dell'umore né così in salute da perderci le giornate per rimettere a posto. Quindi se qualcuno con due minuti liberi mi aiuta a capire bene come funziona mi fa un piacere. Grazie grazie.  :Smile: 

yayoLast edited by yayo on Sat Apr 04, 2015 9:50 pm; edited 1 time in total

----------

## djinnZ

Ti sconsiglio seriamente di farlo su un sistema funzionante.

Su una copia in chroot potresti provarci e magari potresti riprristinare il sistema con i pacchetti binari su quello "funzionante".

Mal che vada agisci di emerge --root & C 

Il wiki è riferito a come togliere le emul-linux da un sistema con il vecchio assetto. Datato e da non seguire.

Da quel che ho capito è solo un rimpiazzo di pacchetti seguendo la strada "normale". Ma farei una copia e testerei prima se funziona.

----------

## yayo

Dunque, se ho capito bene tu suggerisci di fare una copia del sistema su una partizione libera, entrarci col chroot (praticamente come quando si installa il sistema la prima volta dal cd di installazione), e provare li per vedere come va, giusto? Cavolo, con due pc mi ci devo mettere di buona voglia però. Gh!

Comunque ancora non ho capito con quale logica dovrei individuare i pacchetti su cui impostare questa use flag. Su cosa si basa la lista che mi mostra emerge nell'aggiornamento automatico? Se dovessi fare una selezione manuale, con tutta la robba che c'è installata tra librerie e il resto rischio di diventare scemo (anche perché non saprei come discriminare i software), quindi mi sa che in ogni caso alla fine mi dovrò fidare della procedura automatica. Però mi resta la sensazione di non sapere bene cosa è cambiato nel sistema... E poi siamo sicuri che questa flag abi_x86_32 serve solo ad attivare le librerie "aggiuntive" a 32 bit, ma che il sistema in generale, cioé tutte le applicazioni che possono girare a 64bit, rimangono così? Sennò tanto valeva...  :Razz: 

Spero di non essere noioso con tutte queste domande. E' che mi piace capire un po' come funziona per impostarmi il sistema come piace a me. Avere un minimo di controllo diciamo così. ^_^

yayoz

----------

## yayo

Ok, credo di aver risolto. Mettermi a pasticciare facendo copie del sistema non so bene come si fa, dato che non ho mai avuto necessità di fare esperimenti del genere. Ci sono un sacco di file nel sistema che non sono file ma processi o cose simili e non saprei cosa copiare e cosa no. Diventava un doppio problema.

Avendo due pc con praticamente lo stesso sistema mi sono arrischiato a provare sull'altro, quello secondario. Sono andato passo passo e per fortuna è andato tutto bene. Continuo a non capire la logica con cui emerge mi ha selezionato i pacchetti su cui impostare le librerie a 32 bit, ma vabbè, l'importante e che funzioni. Anzi, il wine sembra andare pure meglio.  :Smile: 

Pooi ci sono altre cose che non mi funzionano bene ma c'erano anche prima, e vabé, pazienza, risolverò con calma quando ho tempo.

Comunque, nel caso qualcuno avesse dubbi come me su come procedere, io ho fatto così:

1_ emerge --sync

2_ emerge -uDNpv --with-bdeps=y @world

per vedere cosa va aggiornato, e avere le indicazioni sui pacchetti per i quali va impostata la use flag abi_x86_32

3_ ho copiato per benino tutti i nomi dei pacchetti con la use flag relativa in package.use (li ho pure messi in ordine alfabetico, così in caso vedo subito se una cosa c'è o no)

4_ ripetuto emerge -uDNpv --with-bdeps=y @world

per avere conferma che le use flag inserite son giuste

5_ disinstallato i pacchetti vecchi come specificato nella news, cioé con emerge -C 'app-emulation/emul-linux-x86*'

6_ lanciato l'aggiornamento togliendo "pv" al comando fatto al secondo passaggio

poi un po' di controlli:

7_ rilanciato di nuovo l'aggiornamento per verificare che mi desse zero pacchetti da aggiornare.

8_ revdep-rebuild -ip

per verificare che le librerie siano linkate giuste

9_ emerge --depclean -p

per vedere se c'è qualcosa che non serve più da disinstallare (qui ho ancora dei dubbi...)

10_ e ho dato un'occhiata anche al log dei compilati in /var/log/portage/elog/summary.log per vedere le note che altrimenti poi mi scappano nel casino

(così ho scoperto che mi mancava la USE_PYTHON flag, guarda un po'! e pure un altro paio di robbe...  :Razz: )

C'ho perso una mezza giornata, ma è andato tutto bene. Grazie della disponibilità.  :Smile: 

yayo

----------

## bandreabis

Bene.

Anche io ho fatto così.

Ho seguito la "notizia" e ho disinstallato gli "emul-". Aggiustato le USE Flags. Aggiornato.

L'unico intoppo l'ho avuto quando emerge voleva reinstallarmi gli "emul-", scoprendo poi che a rompere era teamviewer. Al quale, per una singola libreria, non andava giù il cambiamento. (PS. Ho provato ad installare la versione 10 scaricato dal sito perchè quella in portage non ci pensa nemmeno di fare a meno dei suoi pacchetti)

----------

## sabayonino

 *bandreabis wrote:*   

> Bene.
> 
> Anche io ho fatto così.
> 
> Ho seguito la "notizia" e ho disinstallato gli "emul-". Aggiustato le USE Flags. Aggiornato.
> ...

 

Portage (via profilo credo ) , ha mascherato la versione 10

```
net-misc/teamviewer

     Available versions:  

     (9)    ~9.0.32150^m

     (10)   [M]~10.0.36281^m

       {system-wine}

     Homepage:            http://www.teamviewer.com

     Description:         All-In-One Solution for Remote Access and Support over the Internet

```

----------

## bandreabis

Ciao e grazie.

Ho smascherato il pacchetto, ma leggendo l'ebuild, la versione 10 richiede ancora i pacchetti emul-, mentre la 9, che non li richiede, è una versione vecchia con cui non posso gestire gli altri PC che installano la versione 10.

----------

## sabayonino

 *bandreabis wrote:*   

> Ciao e grazie.
> 
> Ho smascherato il pacchetto, ma leggendo l'ebuild, la versione 10 richiede ancora i pacchetti emul-, mentre la 9, che non li richiede, è una versione vecchia con cui non posso gestire gli altri PC che installano la versione 10.

 

sarà stato mascherato proprio per la questione dei pacchetti emul-   :Rolling Eyes: 

----------

## bandreabis

 *sabayonino wrote:*   

>  *bandreabis wrote:*   Ciao e grazie.
> 
> Ho smascherato il pacchetto, ma leggendo l'ebuild, la versione 10 richiede ancora i pacchetti emul-, mentre la 9, che non li richiede, è una versione vecchia con cui non posso gestire gli altri PC che installano la versione 10. 
> 
> sarà stato mascherato proprio per la questione dei pacchetti emul-  

 

Non so. Comunque anche la 9 ha lo stesso problema.

----------

