Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[portage]Ridurre /usr/src senza compromettere gli ebuild
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

Goto page 1, 2  Next  
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian)
View previous topic :: View next topic  
Author Message
Cazzantonio
Bodhisattva
Bodhisattva


Joined: 20 Mar 2004
Posts: 4486
Location: Somewere around the world

PostPosted: Mon Jan 28, 2008 6:04 pm    Post subject: [portage]Ridurre /usr/src senza compromettere gli ebuild Reply with quote

Vorrei sapere come poter ridurre in modo "safe" le dimensioni della directory in /usr/src che contiene il kernel.
Volevo far stare gentoo in un hard disk molto piccolo, e avrei piacere di scendere sotto il giga di spazio occupato.
A parte portage (che è una menata discreta ma purtroppo necessaria), i sorgenti del kernel sono la cosa che mi occupa più spazio.
Vorrei cancellarli del tutto ma noto che molti ebuild necessitano di andare a ravanare in /usr/src per avere informazioni sul kernel attualmente in uso. (tra l'altro... non sono già contenute in /proc/config.gz ? )

Che cosa è tranquillamente cancellabile in /usr/src ? C'è qualcosa di cui si può fare a meno e risparmiare un po' di spazio senza impedire il corretto funzionamento degli ebuild?
_________________
Any man's death diminishes me, because I am involved in mankind, and therefore never send to know for whom the bell tolls; it tolls for thee
-John Donne
Back to top
View user's profile Send private message
falko
Apprentice
Apprentice


Joined: 03 Dec 2004
Posts: 223
Location: Rovereto (TN) Italy

PostPosted: Mon Jan 28, 2008 6:26 pm    Post subject: Reply with quote

Bhe io dire Documentation :lol: :lol: :lol:
A parte gli scherzi, terrei sicuramente gli header file e il file di configurazione. Ma di preciso non saprei
_________________
Io non sarò mai nessuno ma... nessuno sarà mai come me. (Jim Morrison)

A ciacere no se sgonfa done

Gentoo on: Lenovo R500
Back to top
View user's profile Send private message
HoX
Guru
Guru


Joined: 11 Nov 2006
Posts: 385

PostPosted: Mon Jan 28, 2008 6:31 pm    Post subject: Reply with quote

emerge -C =gentoo-sources-<versione-che-NON-usi>
e lo ripeti per tutte le versioni che non usi.
puo' andare?
Back to top
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Mon Jan 28, 2008 6:35 pm    Post subject: Reply with quote

a parte documentation e arch/quelchenonhai non mi viene a mente molto.
_________________
scita et risus abundant in ore stultorum sed etiam semper severi insani sunt:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:
Back to top
View user's profile Send private message
Tigerwalk
Guru
Guru


Joined: 15 May 2007
Posts: 475
Location: Napoli

PostPosted: Mon Jan 28, 2008 6:48 pm    Post subject: Reply with quote

Anema wrote:
emerge -C =gentoo-sources-<versione-che-NON-usi>
e lo ripeti per tutte le versioni che non usi.
puo' andare?

Credo che lui abbia una sola versione installata e quello che vuole è fare "dimagrire" quella.
_________________
Linux user N°447789
Carpe diem (quam minimum credula postero) -Orazio (I,11)
Back to top
View user's profile Send private message
Onip
Advocate
Advocate


Joined: 02 Sep 2004
Posts: 2912
Location: Parma (Italy)

PostPosted: Mon Jan 28, 2008 9:50 pm    Post subject: Reply with quote

l'unica cosa che posso suggerire (oltre a quanto detto da djinnZ) è quella di dare
Code:
# make clean

dopo la compilazione.

per il fatto di proc/config.gz immagino dipenda dal fatto che questo è opzionale...
_________________
Linux Registered User n. 373835

Titus Lucretius Carus, De Rerum Natura - Tantum religio potuit suadere malorum
Back to top
View user's profile Send private message
nikko96
Apprentice
Apprentice


Joined: 22 Jul 2005
Posts: 229
Location: Pulcinella's Country

PostPosted: Tue Jan 29, 2008 9:57 am    Post subject: Re: [portage]Ridurre /usr/src senza compromettere gli ebuild Reply with quote

Se provi ad eleminare i sorgenti del kernel,anche di quello in uso,rimane circa 2 M di roba,tra cui il .config.
Non so perchè accada questo,o meglio se sono tutti file creati dalla compilazione oppure se viene fatto per non
creare problemi ad alcuni ebuild,rimane il fatto però che in un eventuale ricompilazione del kernel
avrai di nuovo bisogno dei sorgenti.
Ciao.
_________________
My system: cpu Intel core 2 duo e6750,mb asus p5n-e sli,scheda grafica nvidia GeForce 9600 GT,kernel 2.6.31-gentoo-r6
Back to top
View user's profile Send private message
makoomba
Bodhisattva
Bodhisattva


Joined: 03 Jun 2004
Posts: 1856

PostPosted: Tue Jan 29, 2008 10:10 am    Post subject: Reply with quote

squashfs
_________________
When all else fails, read the instructions.
Back to top
View user's profile Send private message
Cazzantonio
Bodhisattva
Bodhisattva


Joined: 20 Mar 2004
Posts: 4486
Location: Somewere around the world

PostPosted: Tue Jan 29, 2008 10:52 am    Post subject: Reply with quote

falko wrote:
A parte gli scherzi, terrei sicuramente gli header file e il file di configurazione. Ma di preciso non saprei

Appunto per questo ho fatto il post... è una cosa che non mi è mai stata molto chiara.
Esiste già un pacchetto sys-kernel/linux-headers, che praticamente è in system visto che viene tirato su dalle glibc. Che necessità c'è degli headers contenuti in /usr/src ? Non è che davvero basta lasciare il .config per quegli sparuti ebuild che cercano la configurazione del kernel?
Tra l'altro quest'ultima cosa è erronea, visto che non è detto che il .config nella directory dei sorgenti sia lo stesso del kernel in uso... secondo me gentoo farebbe meglio a richiedere, come standard, che il .config venga salvato da qualche parte in /etc/, oppure che /proc/config.gz sia abilitato di default.

makoomba wrote:
squashfs
Hai ragione, sarebbe la cosa migliore, tuttavia è una cosa laboriosa e il kernel viene aggiornato con una frequenza maggiore della mia voglia di stargli dietro con uno squashfs :)
_________________
Any man's death diminishes me, because I am involved in mankind, and therefore never send to know for whom the bell tolls; it tolls for thee
-John Donne
Back to top
View user's profile Send private message
HoX
Guru
Guru


Joined: 11 Nov 2006
Posts: 385

PostPosted: Tue Jan 29, 2008 12:03 pm    Post subject: Reply with quote

Cazzantonio wrote:
Non è che davvero basta lasciare il .config per quegli sparuti ebuild che cercano la configurazione del kernel?
Tra l'altro quest'ultima cosa è erronea, visto che non è detto che il .config nella directory dei sorgenti sia lo stesso del kernel in uso...


Teoricamente il link /usr/src/linux dovrebbe puntare sempre al kernel in uso (e se cosi' non fosse bisognerebbe aggiornarlo con eselect kernel set). Quindi è normale che vada a controllare quella cartella. Anche perche' non sarebbe detto che il file .config in etc sia quello corretto o aggiornato
Back to top
View user's profile Send private message
devilheart
l33t
l33t


Joined: 17 Mar 2005
Posts: 832
Location: Villach, Austria

PostPosted: Tue Jan 29, 2008 2:17 pm    Post subject: Reply with quote

tieniti la configurazione e gli header, dovrebbe bastare così. al massimo fai un po' di esperimenti
Back to top
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Tue Jan 29, 2008 4:33 pm    Post subject: Reply with quote

Alcuni pacchetti tipo ntfs-3g layer7 iptables (in genere tutti quelli che creano dei moduli) etc. hanno necessità di verificare che il kernel sia stato opportunamente configurato quindi se non trovano i sogenti la prendono a male e per ovvie necessità non possono puntare agli headers ma direttamente al kernel in uso.
Se non hai pacchetti del genere (per me è impossibile quindi non ho mai investigato oltre) lo puoi eliminare o potresti pensare di ridurlo ai soli headers ed al .config.
Per farlo dimagrire potresti anche pensare di eliminare i binari ovviamente. dovrebbe ridursi ad una decina di MB in questo modo.
_________________
scita et risus abundant in ore stultorum sed etiam semper severi insani sunt:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:
Back to top
View user's profile Send private message
Cazzantonio
Bodhisattva
Bodhisattva


Joined: 20 Mar 2004
Posts: 4486
Location: Somewere around the world

PostPosted: Thu Jan 31, 2008 5:14 pm    Post subject: Reply with quote

Sono riuscito a ridurre l'occupazione dei sorgenti a soli 55 mega eliminando alcune directory presenti. :D
Ho dovuto tenere qualcosa in arch, in include e la directory degli scripts. Penso che si potrebbe fare anche di meglio se qualcuno avesse voglia di spulciarsi le cartelle suddette e le funzioni di portage per vedere fino a che livello usano i files ivi contenuti.

Ho fatto uno script minuscolo per automatizzare l'operazione ad ogni aggiornamento del kernel
Code:
#!/bin/sh

ARCH=i386
PURGE_LIST="block crypto Documentation drivers fs init ipc kernel lib mm net se$
PURGE_VMLINUX="YES"

for i in `ls -F /usr/src/linux/arch/ |grep "\/"|grep -v $ARCH`; do
    /bin/rm /usr/src/linux/arch/$i -rf --preserve-root
done
for i in `ls -d /usr/src/linux/include/asm-*|cut -d "/" -f6-|grep -v $ARCH`; do
    /bin/rm /usr/src/linux/include/$i -rf --preserve-root
done

for i in $PURGE_LIST; do
    /bin/rm /usr/src/linux/$i -rf --preserve-root
done

if [ $PURGE_VMLINUX = YES ]; then
    /bin/rm /usr/src/linux/vmlinux* -rf --preserve-root
fi

_________________
Any man's death diminishes me, because I am involved in mankind, and therefore never send to know for whom the bell tolls; it tolls for thee
-John Donne
Back to top
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Thu Jan 31, 2008 5:34 pm    Post subject: Reply with quote

aggiungerei anche un
Code:
find /usr/src/linux -name *.o -exec rm

_________________
scita et risus abundant in ore stultorum sed etiam semper severi insani sunt:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:
Back to top
View user's profile Send private message
Scen
Retired Dev
Retired Dev


Joined: 29 Jul 2003
Posts: 2470
Location: Padova, Italy

PostPosted: Thu Jan 31, 2008 8:09 pm    Post subject: Reply with quote

djinnZ wrote:
aggiungerei anche un
Code:
find /usr/src/linux -name *.o -exec rm

Se ti salvi il file .config da qualche parte, e dai
Code:

make mrproper

nella directory dei sorgenti del kernel, dovresti fare una bella pulizia anche dei file *.o.
_________________
I was born in a deep forest/I wish I could live here all my life/I am made from stones and roots/My home, these woods and roads
All my life I loved this sound/Of the woods all around/Eagles flies where the winds blows free
Journey is my destiny
Back to top
View user's profile Send private message
Cazzantonio
Bodhisattva
Bodhisattva


Joined: 20 Mar 2004
Posts: 4486
Location: Somewere around the world

PostPosted: Thu Jan 31, 2008 8:36 pm    Post subject: Reply with quote

Solo cinque mega, comunque tutto fa... comunque ancora non ho chiaro cosa cerchi portage in arch e in scripts...
L'unica funzione che guarda nei sorgenti che ho trovato è ExtractKernelVersion in /usr/lib/portage/pym/portage.py. Ma non basta andare a leggere /proc/version per avere la versione del kernel?
_________________
Any man's death diminishes me, because I am involved in mankind, and therefore never send to know for whom the bell tolls; it tolls for thee
-John Donne
Back to top
View user's profile Send private message
Scen
Retired Dev
Retired Dev


Joined: 29 Jul 2003
Posts: 2470
Location: Padova, Italy

PostPosted: Thu Jan 31, 2008 8:55 pm    Post subject: Reply with quote

Cazzantonio wrote:
Ma non basta andare a leggere /proc/version per avere la versione del kernel?

Ma siccome certi pacchetti DEVONO appoggiarsi ai sorgenti del kernel per poter compilare, non possono fare affidamento a /proc/version in quanto non è detto che il kernel in esecuzione in quel momento sia lo stesso dei sorgenti presenti in /usr/src/linux.
_________________
I was born in a deep forest/I wish I could live here all my life/I am made from stones and roots/My home, these woods and roads
All my life I loved this sound/Of the woods all around/Eagles flies where the winds blows free
Journey is my destiny
Back to top
View user's profile Send private message
Cazzantonio
Bodhisattva
Bodhisattva


Joined: 20 Mar 2004
Posts: 4486
Location: Somewere around the world

PostPosted: Thu Jan 31, 2008 9:06 pm    Post subject: Reply with quote

Scen wrote:
Ma siccome certi pacchetti DEVONO appoggiarsi ai sorgenti del kernel per poter compilare, non possono fare affidamento a /proc/version in quanto non è detto che il kernel in esecuzione in quel momento sia lo stesso dei sorgenti presenti in /usr/src/linux.
Ti capisco, tuttavia ho provato ad installare pacchetti che cercano il kernel, come ad esempio iptables, e sono stati compilati anche con i sorgenti "epurati", segno che a quanto pare non necessitano davvero dei sorgenti del kernel. Probabilmente bastano gli headers, o sbaglio?

Sicuramente esistono anche dei pacchetti a cui servono i sorgenti veri e propri, sai indicarmi quali sono?

Tra l'altro il kernel potrebbe essere stato compilato su una macchina diversa e copiato sulla macchina attuale. Si potrebbe trattare anche di una macchina che fa il boot da rete... come si comporta portage in questi casi? E' necessario esportare via nfs la directory dei sorgenti per poter usare portage su una macchina del genere?
_________________
Any man's death diminishes me, because I am involved in mankind, and therefore never send to know for whom the bell tolls; it tolls for thee
-John Donne
Back to top
View user's profile Send private message
cloc3
Advocate
Advocate


Joined: 13 Jan 2004
Posts: 4657
Location: http://www.gentoo-users.org/user/cloc3/

PostPosted: Fri Feb 01, 2008 5:54 am    Post subject: Reply with quote

Cazzantonio wrote:

Tra l'altro il kernel potrebbe essere stato compilato su una macchina diversa e copiato sulla macchina attuale. Si potrebbe trattare anche di una macchina che fa il boot da rete...

e davvero non riesci ad organizzarti con un mount da nfs?

io tengo sempre tutti i miei kernel su una sola macchina server.
il kernel originale resta pulito pulito come mamma lo ha fatto e compilo con dei mount di differenze (aufs) su cartelle separate da apposite etichette.
_________________
vu vu vu
gentù
mi piaci tu
Back to top
View user's profile Send private message
Cazzantonio
Bodhisattva
Bodhisattva


Joined: 20 Mar 2004
Posts: 4486
Location: Somewere around the world

PostPosted: Fri Feb 01, 2008 10:16 am    Post subject: Reply with quote

cloc3 wrote:
e davvero non riesci ad organizzarti con un mount da nfs?
Il mount via nfs è un'opzione, non sempre è detto che sia possibile o auspicabile. Comunque non cercavo aiuto per nfs, stavo solo chiedendo se portage offriva altre opzioni che non richiedessero una configurazione di rete particolare.
In alcune evenienze è comodo evitare di dover scaricare tutti i sorgenti, e tuttavia non è disponibile una macchina server da dedicare ad ospitarli.
Magari è impossibile, tutto qui, eppure vorrei capire davvero quali pacchetti hanno bisogno dei sorgenti del kernel e perché.
_________________
Any man's death diminishes me, because I am involved in mankind, and therefore never send to know for whom the bell tolls; it tolls for thee
-John Donne
Back to top
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Fri Feb 01, 2008 11:49 am    Post subject: Reply with quote

dimenticavo che forse puoi anche provare ad eliminare *.cmd
_________________
scita et risus abundant in ore stultorum sed etiam semper severi insani sunt:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:
Back to top
View user's profile Send private message
Cazzantonio
Bodhisattva
Bodhisattva


Joined: 20 Mar 2004
Posts: 4486
Location: Somewere around the world

PostPosted: Fri Feb 01, 2008 2:25 pm    Post subject: Reply with quote

Ora provo, comunque ancora sto cercando di capire quali siano i pacchetti che hanno bisogno dei sorgenti e come portage si appoggi ai medesimi... forse dovrei chiedere ad un developer di portage (o leggermi tutto il codice :) )
_________________
Any man's death diminishes me, because I am involved in mankind, and therefore never send to know for whom the bell tolls; it tolls for thee
-John Donne
Back to top
View user's profile Send private message
cloc3
Advocate
Advocate


Joined: 13 Jan 2004
Posts: 4657
Location: http://www.gentoo-users.org/user/cloc3/

PostPosted: Fri Feb 01, 2008 7:33 pm    Post subject: Reply with quote

Cazzantonio wrote:
(o leggermi tutto il codice :) )

di tutto il Software...

secondo me, una risposta definitiva non la troverai mai, perché può sempre uscire un pacchetto nuovo che, per installarsi, ficca il naso in un posto che tu non avevi previsto. sia pure per errore, e perché il programmatore non ha pensato a cercare l'informazione in un posto più adatto.

è anche per questo che, prima, ragionavo su soluzioni alternative.
_________________
vu vu vu
gentù
mi piaci tu
Back to top
View user's profile Send private message
Cazzantonio
Bodhisattva
Bodhisattva


Joined: 20 Mar 2004
Posts: 4486
Location: Somewere around the world

PostPosted: Fri Feb 01, 2008 8:01 pm    Post subject: Reply with quote

Hai ragione, ma guardando le funzioni di portage che controllano il kernel uno si può fare un idea di cosa vadano a cercare i pacchetti.
Per questo chiedevo se qualcuno aveva idea delle linee guida dei developers riguardo ai pacchetti che hanno bisogno del kernel. Non penso siano una lista infinita...
_________________
Any man's death diminishes me, because I am involved in mankind, and therefore never send to know for whom the bell tolls; it tolls for thee
-John Donne
Back to top
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Sat Feb 02, 2008 10:02 am    Post subject: Reply with quote

potresti incominciare a filtrare tutti gli ebuild che hanno la chiamata ad ExtractKernelVersion oppure potresti provare chiamare le funzioni usate dall'ebuild degli headers direttamente sul kernel installato. In arch ci sono alcuni headers specifici della versione in uso ma in scripts non dovrebbe esserci nulla di utile.
_________________
scita et risus abundant in ore stultorum sed etiam semper severi insani sunt:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum