# /tmp in ram (ancora...) [Risolto]

## misterwine

Mi son letto un bel pò di post, però non son riuscito a venirne a capo... Volendo montare /tmp in ram, deve essere in un dev a parte (cioè devo avere una partizione separata per /tmp?). Perchè da come ho capito si può montare ogni directory in ram... forse chi lo scriveva dava per scontato che dovesse risiedere in un device a parte? Oppure non centra queso particolare?

Perchè io ho:

/dev/hda1  /boot  ext2

/dev/hda2  none  swap

/dev/hda3  /         ext3

/dev/hda4  /home ext3

Per quello che riguarda l' hard disk contenente linux... non ho riportato tutte le opzioni di mount che ho su fstab, ma se vi servono le posto...

Dunque, inserendovi

tmp  /tmp  tmpfs  nodev,nosuid,noexec 0 0

non mi cambia un bel nulla... ovvero anche se inserisco qualcosa in /tmp, la dimensione della ram occupata è sempre quella. Quindi sembrerebbe non funzionare... forse sbaglio appunto qualcosa in questa nuova entry di fstab?

Inoltre avevo pensato... se imposto come PORTAGE_TMPDIR=/tmp in make.conf, utilizzo una compulazione in ram, giusto? Sempre se /tmp è effettivamente montata in ram...   :Crying or Very sad: 

----------

## tizio

io ho messo nel make.conf:

PORTAGE_TMPDIR=/var/tmp

e in fstab:

none                    /var/tmp/portage        tmpfs   size=256M       0 0

e non utilizzo un device e parte... viene montata all'avvio e posso smontare e rimontare nel caso dovessi compilare pacchetti particolarmente ingombranti

lo stesso discorso si può estendere ad altre directory e con altre dimensioni a seconda delle tue esigenze (e della tua ram)

----------

## Kernel78

 *misterwine wrote:*   

> Quindi sembrerebbe non funzionare... forse sbaglio appunto qualcosa in questa nuova entry di fstab?
> 
> Inoltre avevo pensato... se imposto come PORTAGE_TMPDIR=/tmp in make.conf, utilizzo una compulazione in ram, giusto? Sempre se /tmp è effettivamente montata in ram...  

 

scusa ma tu hai riavviato o montato la directory /tmp dopo aver modificato fstab ?

----------

## misterwine

 *Quote:*   

> scusa ma tu hai riavviato o montato la directory /tmp dopo aver modificato fstab ?

 

Entrambe le soluzioni... infatti pensavo che riavviando funzionasse, ma niente. Cmq la mia idea è fattible? cioè, montare in ram /tmp e settandola anche come PORTAGE_TMPDIR ho in ram sia i file temporanei sia i file temporanei di portage, ed entrambi vengono persi al riavvio della macchina, giusto?

Non ho bisogno di nodev,nosuid,noexec nell' entry di fstab con /tmp? Con 512 MB di ram e altrettanti di swap un size=800 può andare?

----------

## tizio

si l'idea è fattibile.

nodev,nosuid e noexec io non li uso... e funziona... per quel che riguarda la dimensione prova... ma secondo me avendo 512 di ram puoi montare al massimo 512... non credo faccia la somma con la swap (ma potrei sbagliarmi)

----------

## misterwine

 *Quote:*   

> viene montata all'avvio e posso smontare e rimontare nel caso dovessi compilare pacchetti particolarmente ingombranti 

 

Cioè se la smonti compila su si disco, mentre se la monti in ram+swap? Ovviamente smontandola e rimontandola dalla ram perdi i dati, giusto?

----------

## tizio

 *misterwine wrote:*   

>  *Quote:*   viene montata all'avvio e posso smontare e rimontare nel caso dovessi compilare pacchetti particolarmente ingombranti  
> 
> Cioè se la smonti compila su si disco, mentre se la monti in ram+swap? Ovviamente smontandola e rimontandola dalla ram perdi i dati, giusto?

 

giusto

----------

## richard77

 *tizio wrote:*   

> si l'idea è fattibile.
> 
> nodev,nosuid e noexec io non li uso... e funziona... per quel che riguarda la dimensione prova... ma secondo me avendo 512 di ram puoi montare al massimo 512... non credo faccia la somma con la swap (ma potrei sbagliarmi)

 

Fa la somma con la swap (io ho 5.5Gb di ramdisk, così posso compilare tutto in ram, tranne openoffice, ma solo per un problema di permessi).

----------

## tizio

 *richard77 wrote:*   

>  *tizio wrote:*   non credo faccia la somma con la swap (ma potrei sbagliarmi) 
> 
> Fa la somma con la swap 

 

ecco appunto   :Laughing: 

buono a sapersi

comunque venendo da un recente emerge -e world non son molti i pacchetti che usano più di 256...

almeno nel mio caso...

----------

## misterwine

Insomma, ottime delucidazioni ragazzi, grazie, fatto stà che adesso deve funzionare... però ho un pò da fare adesso, vi farò sapere in serata come è andata! Grazie ancora.

P.S. il riavvio dunque è necessario vero   :Rolling Eyes: 

----------

## Kernel78

 *misterwine wrote:*   

> P.S. il riavvio dunque è necessario vero  

 

no, il riavvio è necessario solo se vuoi cambiare il kernel ...

----------

## Ic3M4n

tmpfs è un filesystem che viene montato in ram+swap. se uno avesse la necessità di avere una partizione escludivamente in ram, può utilizzare con profitto ramfs. logicamente bisogna porre attenzione nella quantità di memoria assegnata in quanto non swappa.

----------

## misterwine

Ultima domanda... per vedere se effettivamente /tmp è montata in ram, basta che ci metto un file e la memoria occupata dovrebbe aumentare, giusto??

----------

## tizio

 *misterwine wrote:*   

> Ultima domanda... per vedere se effettivamente /tmp è montata in ram, basta che ci metto un file e la memoria occupata dovrebbe aumentare, giusto??

 

o più semplicemente usare "df -h"

----------

## Luca89

```
tmp /tmp tmpfs noexec,nodev,nosuid 0 0

var_tmp /var/tmp tmpfs size=900M,nodev 0 0

```

io uso questi, nella /tmp per il mio utilizzo non ho mai avuto la necessitÃ  di tanto spazio, quindi lascio sempre il valore predefinito, su /var/tmp invece compilo i pacchetti e metto 900M per stare tranquillo. Inoltre aggiungo vari parametri di sicurezza come noexec,nosuid e nodev.

----------

## misterwine

Ok ragazzi... fatto, tutto ok, e funziona, se dopo aver montato metto qualche file su /tmp con df -h vedo che appunto è stato inserito... peccato che quando cerco di avviare qualsiasi programma non mi parte! Allora, vi dico quello che ho fatto:

1- Ho messo in /etc/fstab la riga

```
tmp  /tmp  tmpfs  size=800,nosuid,nodev,noexec  0 0
```

2- In make.conf ho settato

```
PORTAGE_TMPDIR=/tmp
```

L'errore che mi da è:

```
misterwine@cindy ~ $ xterm

xterm Xt error: Can't open display: :0.0
```

lanciando xterm da console per esempio... strano o no?

Inoltre, è possibile sapere da dove conky prende informazioni sull' uso della ram? Perchè inserendo un file di 50 MB in /tmp, dopo che /tmp è montato in ram, lo spazio utilizzato non cambia...

----------

## Ic3M4n

mettere in tmp /var/tmp/portage non ti piace?

----------

## misterwine

Certo che no, però mi sembrava una buona soluzione quella che avevo in mente, ovvero mettere i file temporanei e la directory di lavoro di portage in tmpfs... per principio cercherò di farlo funzionare, però la vedo dura, visto quell' errore che mi da in output! Che non riesco a ricondurlo a quello che sto cercando di fare...

Comunque ho montato /tmp, compilato avidemux, ed effettivamente ho visto che funzionava... solito problema che però, con /tmp montata in ram non riesco a lanciare alcun programma.

----------

## Ic3M4n

aspetta... se tu hai tutti i file temporanei in tmp nel momento in cui la monti in ram perdi il contenuto della dir. devi riavviare per avere un sistema coerente, anche se non capisco il motivo della cosa che tu vuoi fare. secondo il FHS /tmp e /var/tmp sono due cose distinte e va da se che dovrebbero rimanerlo. in ogni caso se tu vuoi compilare in ram basta che monti una tmpfs in /var/tmp/portage della dimensione che preferisci. tieni conto che tu puoi montare quante tmpfs vuoi e il loro contenuto è variabile, nel senso che se creo una tmpfs da 1600M la ram occupata all'inizio da questo fs sarà 0 andando a crescere fino ad un limite massimo di 1600M. va da se che se vuoi tenerti /tmp in tmpfs puoi nello stesso momento montare anche /var/tmp/portage in ram.

----------

## misterwine

 *Quote:*   

> va da se che se vuoi tenerti /tmp in tmpfs puoi nello stesso momento montare anche /var/tmp/portage in ram

 

Allora, montato /var/tmp/portage in ram... funziona tutto alla perfezione. (Devo per caso agiungere parametri come nodev,nosuid,noexec? Ho letto il man di mount e fstab, ma non ho capito bene a cosa servono)

Se poi monto in ram (sempre con tmpfs come per /var/tmp/portage), mi esce il solito problema, cioè non mi lancia nessun progamma, per esempio:

```
misterwine@cindy ~ $ xterm

xterm Xt error: Can't open display: :0.0
```

Montando /tmp in ram devo riavviare forse? abbiam detto che montandola in ram perdo il suo contenuto, giusto? Però svuotando /tmp quando non è montata in ram funziona tutto...

----------

## Ic3M4n

te l'ho scritto sopra   :Wink: 

puoi anche fare un 

```
cp /tmp /tmp2

mount /tmp

cp /tmp2 /tmp
```

il risultato non cambia. quei file a sistema avviato devono essere in /tmp.

io solitamente tengo home e tmp in noexec,nosuid,nodev. però ognuno fa ciò che crede.

----------

## misterwine

Bene raga, grazie mille dell' aiuto... diciamo che alla fine monto in ram /var/tmp/portage, in efetti la soluzione da me proposta iizialmente era un pò ambigua.

----------

## skypjack

C'è un interessante discussione sull'argomento della compilazione in ram e si tratta, fra le altre cose, del pacchetto (in overlay) portage-bashrc-ng...

Io lo uso da una settimana e ho compilato l'intero world dopo il passaggio a 2006.1 e l'aggiornamento del gcc al 4.1 in ram, senza problemi, a parte sulle kdelibs perchè il limite massimo di utilizzo fissato nel file di configurazione era minore di quello che richiedevano...

Se posso darti un consiglio e te la senti, provalo, degno di nota...

Ciao

----------

## misterwine

Lo so, mi son letto tutta la discussione... un bel pò di pagine se non sbaglio! Certo, ottimo tool, però ho visto che qualcuno aveva dei problemi se non sbaglio... e purtroppo, dopo aver provato pacchetti masked o non presenti nel portage (come initng un pò di tempo fa che mi ha fatto dannare senza risolvere mai l' attivazione della scheda di rete), preferisco fare delle cose che non possano darmi il minimo problema, come questa penso (e spero).

Grazie ancora... e magari lo provo anche portage-bashrc-ng, basta che un giorno mi venga l'ispirazione per qualcosa e parto in quarta io!

----------

