View previous topic :: View next topic |
Author |
Message |
Sparker l33t
Joined: 28 Aug 2003 Posts: 992
|
Posted: Tue Sep 06, 2005 5:03 pm Post subject: [Tip]Portage ristretto in 30Mb con squashfs, tmpfs e unionfs |
|
|
Attenzione:
- 06/04/2006 aggiornato con il nuovo script potenziato fornito da matrix.
- I problemi tra unionfs ed rsync sono stati risolti, funziona di nuovo perfettamente (testato con versione 1.1.3)
- Nel kernel 2.6.16 è stato cambiato VFS e unionfs-1.1.3 non funziona correttamente. Ora la versione 1.1.3-r1 di unionfs in portage comprende una patch per farlo funzionare con il nuovo VFS.
L'idea originale per il tip è partita da questo topic
Attenzione: non mi assumo nessuna responsabilità per l'eventuale distruzione delle vostre macchine.
Portage ristretto in 30Mb con squashfs, unionfs e tmpfs
Introduzione
Forse non ci avete mai fatto caso, ma ormai portage su ext3 occupa ben 600mb. E su reiserfs non andiamo molto meglio (credo sui 350mb).
Se sugli hd moderni questo non non è un grosso problema, può esserlo su pc più datati, e comunque anche con il mio 200gb trovo fastidioso buttare 600mb inutilmente. (Per tacere del mio portatile...)
L'idea è comprimere portage usando un file system compresso, squashfs2.x.
Attualmente i 600Mb di portage, compressi con squasfs, generano un file da meno di 30mb!
Il problema è che squasfs è un file system in sola lettura e quindi l'aggiornamento comporta la copia dei dati su hard disc e la creazione di una nuova immagine, diminuendo drasticamente l'utilità del trick.
La soluzione
Usare unionfs, ma è ovvio!!
Unionfs è uno stackable file system, in pratica permette di sovrapporre più directory, sia in sola lettura che in lettura/scrittura, e di unirne il contenuto in una sola directory virtuale.
Nel tip andremo a montare portage compresso con squashfs in una directory. Tale directory sarà posizionata alla base della pila in read-only, sopra la quale andremo ad impilare una directory montata in ram tramite tmpfs in lettura/scrittura, dove verranno effettivamente edeguite le modifiche a portage. Unionfs scriverà i file nuovi o modificati nella directory tmpfs ed al contempo memorizzerà la cancellazione dei files. Infine creeremo un nuovo snapshot di portage in squashfs comprimendo la directory creata dalla pila unionfs.
Strumenti necessari
- Un kernel patchato per il supporto a squashfs 2.x, ad esempio gentoo-sources
- Gli squashfs-tools:
Code: | emerge squashfs-tools |
Il pacchetto unionfs:
Se non siete utenti ~x86 o ~amd64 è necessario smascherarlo:
Code: | echo "sys-fs/unionfs" >> /etc/portage/package.keywords |
Attenzione:
unionfs installa un modulo del kernel, quindi ad ogni cambio di versione del kernel unionfs dovrà essere ri-emerso.
Preparazione ambiente
squashfs è read-only, quindi è necessario spostare le directory per i distfiles ed i pacchetti precompilati fuori da /usr/portage
Code: |
mv /usr/portage/distfiles /usr/
mv /usr/portage/packages /usr/
|
Editare /etc/make.conf aggiungendo le seguenti righe:
Code: |
DISTDIR=/usr/distfiles
PKGDIR=/usr/packages
|
E' utile montare il portage in automatico all'avvio, modificare /etc/fstab aggiungendo la seguente riga:
Code: |
/usr/portage.sqfs /usr/portage squashfs loop,ro 0 0
|
Il file portage.sqfs verrà salvato in /usr
Creazione dello snapshot quashfs di portage iniziale
Caricare il modulo del kernel per squashfs, se necessario:
Creare lo snapshot:
Code: | mksquashfs /usr/portage /usr/portage.sqfs |
Liberare un pò di spazio
Code: | rm -r /usr/portage/* |
tip: se volete fare test in tutta sicurezza, fate una copia di backup dello snapshot, vi eviterete di riscaricare tutto portage in caso di corruzione del file squashfs.
Script di aggiornamento portage
Innanzitutto è necessario caricare i moduli del kernel (se necessario):
Code: |
modprobe squashfs
modprobe unionfs
|
Lo script di aggiornamento. I commenti a dopo:
Code: |
#!/bin/bash
RAMDISK_SIZE="50M"
RAMDISK_DIR="/usr/portage_ramdisk"
PORTAGE_FILE="/usr/portage.sqfs"
PORTAGE_DIR="/usr/portage"
NICENESS="19"
cleanup_sync() {
umount ${PORTAGE_DIR} && umount ${PORTAGE_DIR} && umount ${RAMDISK_DIR} && mount ${PORTAGE_DIR}
}
renice ${NICENESS} -p $$
echo ">> Checking squashed portage ..."
if [ "$(losetup -a |grep ${PORTAGE_FILE} | wc -l)" -eq 0 ]; then
mount -t squashfs -o loop,ro ${PORTAGE_FILE} ${PORTAGE_DIR} &>/dev/null
if [ "$?" -ne 0 ];then
echo "!> Error: can't mount $PORTAGE_FILE ..."
exit -1
fi
fi
echo ">> Creating ramdisk at: ${RAMDISK_DIR} [ ${RAMDISK_SIZE} ] ..."
while [ "$(grep ${RAMDISK_DIR} /proc/self/mounts |wc -l)" -ne 0 ]; do
umount ${RAMDISK_DIR} &>/dev/null
done
rm -rf ${RAMDISK_DIR} && mkdir -p ${RAMDISK_DIR}
mount -t tmpfs tmpfs -o size=${RAMDISK_SIZE},mode=770 ${RAMDISK_DIR}
if [ "$?" -ne 0 ];then
echo "!> Error: can't mount ramdisk..."
exit -1
fi
echo ">> Creating unionfs workspace ..."
mount -t unionfs -o dirs=${RAMDISK_DIR}=rw:${PORTAGE_DIR}=ro none ${PORTAGE_DIR}
if [ "$?" -ne 0 ];then
umount ${RAMDISK_DIR} && rm -rf ${RAMDISK_DIR}
echo "!> Error: can't create unionfs ..."
exit -1
fi
echo ">> Proceding to sync for portage ..."
emerge --sync
if [ "$?" -ne 0 ]; then
echo "!> Warning: sync is incomplete! Restoring last portage ..."
cleanup_sync
echo ">> Recover complete"
exit -1
fi
cp ${PORTAGE_FILE} ${PORTAGE_FILE}-last
mksquashfs ${PORTAGE_DIR} ${PORTAGE_FILE}-new -noappend -check_data
if [ "$?" -ne 0 ]; then
echo "!> Warning can't create new squashed portage! Restoring last portage ..."
mv ${PORTAGE_FILE}-last ${PORTAGE_FILE}
cleanup_sync
echo ">> Recover complete"
exit -1
fi
echo ">> Mounting new portage & update eix cache ..."
cp ${PORTAGE_FILE}-new ${PORTAGE_FILE}
cleanup_sync
if [ "$?" -ne 0 ]; then
echo "!> Warning: portage corrupted! Restoring last portage ..."
mv ${PORTAGE_FILE}-last ${PORTAGE_FILE}
cleanup_sync
echo ">> Recover complete"
exit -1
fi
rm -rf ${PORTAGE_FILE}-last
sleep 1
echo ">> Update Complete!"
|
Salvare lo script in un file del vostro path e rendeterlo eseguibile.
Ad esempio io uso /root/bin/emsync
Eseguire emsync per aggiornare portage e verificare che tutto funzioni.
Commenti allo script:
- Portage viene rimontato in /root/portage poichè l'aggiornamento deve essere effettuato da emerge proprio in /usr/portage. Se si utilizzasse un'altra directory temporanea la cache in /var/cache/edb/dep/ si riferirebbe alla directory temporanea e non a /usr/portage
- L'opzione di unionfs "-o dirs=${RAMDISK_DIR}=rw:${PORTAGE_DIR}=ro" viene letta da sinistra a desta: la directory più a sinistra è in cima alla pila, quella a destra più in basso.
- L'opzione size=50M di tmpfs non alloca immediatamente 50Mb di memoria, ma consente di allocare fino a 50Mb, ma solo se necessari.
Suggerimenti per eventuali varianti
- Aggiornamento senza tmpfs (se avete poca ram):
basta passare come opzione una directory qualsiasi quando si monta l'unionfs al posto della directory tmpfs, ed avere l'accortezza di svuotarla ad aggiornamento concluso.
- Esportazione di portage via nfs:
purtroppo una directory sulla quale è montato un file squashfs non è esportabile via nfs. La soluzione è salvare portage.sqsh in una directory dedicata ed esportare la directory. Il client dovrà montare direttamente il file squashfs. Questo ha lo svantaggio che anche il client deve essere patchato squashfs.
- Compressione di /var/cache/edb/dep/:
du -sh /var/cache/edb/dep/
83M /var/cache/edb/dep/
mksquashfs /var/cache/edb/dep/ cache.sqfs
du -sh cache.sqfs
2,2M cache.sqfs
Risparmio notevole!
Tale directory viene aggiornata automaticamente alla fine di emerge sync o manualmente tramite emerge metadata.
Inoltre viene toccata anche dai normali emerge, quindi è necessario che sia scrivibile.
Un modo per ovviare al problema è comprimere la directory con squashfs, montarla e quindi montarle sopra una normale directory scrivibile tramite unionfs. All'aggiornamento del portage si aggiorna lo snapshot
Conclusioni
Suggerimenti, critiche e correzioni sono ben accette.
Ringraziamenti
Ringrazio:
- darkimage per l'idea originale
- matrix per lo script di aggiornamento potenziato
- makoomba per i consigli sulla gestione di /var/cache/edb
Last edited by Sparker on Fri Apr 07, 2006 2:21 pm; edited 12 times in total |
|
Back to top |
|
|
randomaze Bodhisattva
Joined: 21 Oct 2003 Posts: 9985
|
Posted: Tue Sep 06, 2005 9:18 pm Post subject: Re: [Tip]Portage ristretto con squashfs, tmpfs e unionfs |
|
|
Sparker wrote: | Usare unionfs, ma è ovvio!!
Unionfs è uno stackable file system, in pratica permette di sovrapporre più directory, sia in sola lettura che in lettura/scrittura, e di unirne il contenuto in una sola directory virtuale. |
Molto interessante
Questo potrebbe mandare in pensione l'howto di darkimage.
Dal punto di vista delle prestazioni qual'é la situazione? Dopo quanti quanto tempo (o quante sovrascritture di portage) conviene ricostruire lo snapshot dello squash? _________________ Ciao da me! |
|
Back to top |
|
|
federico Advocate
Joined: 18 Feb 2003 Posts: 3272 Location: Italy, Milano
|
Posted: Tue Sep 06, 2005 11:44 pm Post subject: |
|
|
MOLTO interessante.
Impressioni all'utilizzo?
Prima di testarlo volevo qualche parere personale da parte di chi lo ha utilizzato. _________________ Sideralis www.sideralis.org
Pic http://blackman.amicofigo.com/gallery
Arduino http://www.arduino.cc
Chi aveva potuto aveva spaccato
2000 pezzi buttati là
Molti saluti,qualche domanda
Semplice come musica punk |
|
Back to top |
|
|
Sparker l33t
Joined: 28 Aug 2003 Posts: 992
|
Posted: Wed Sep 07, 2005 7:05 am Post subject: |
|
|
Il mio scriptino ricrea lo snapshot ogni volta, poichè si appoggia alla RAM per le modifiche:
Sul mio AthlonXP 2600 (con in /usr/portage montato lo snapshot compresso)
time mksquashfs /usr/portage /root/portage.sqfs
real 0m22.503s
user 0m11.549s
sys 0m10.070s
22 secondi per creare lo snapshot mi sembrano un'inezia, rispetto alla parte di aggiornamento della cache.
Se non ricordo male, per creare uno snapshot da portage non compresso impiega almeno il doppio.
emerge -S non è più veloce: sospetto che lavori direttamente sulla cache in /var/cache/edb, che sono circa 90Mb. Come ho suggerito, potrebbe essere interessate provare a comprimere anche la cache, ma non ho ancora provato.
Le mie impressioni sulle prestazioni sono che si ha solo un risparmio di spazio e non un incremento prestazionale, (o almeno non notevole) |
|
Back to top |
|
|
xchris Advocate
Joined: 10 Jul 2003 Posts: 2824
|
Posted: Wed Sep 07, 2005 7:59 am Post subject: |
|
|
molto interessante..
e' carino da usare su una usbstick da 1GB oppure una CF per un minisistema con portage funzionante!
(quindi non un sistema RO)
Complimenti!
ciao _________________ while True:Gentoo() |
|
Back to top |
|
|
redview Guru
Joined: 18 Feb 2004 Posts: 365 Location: Goteborg - Sweden
|
Posted: Wed Sep 07, 2005 7:17 pm Post subject: |
|
|
che storia sta roba! la proverò!
intanto vorrei sapere: io di solito uso esync piuttosto che emerge sync. cosa dovrei cambiare per continuare così??
grazie mille! _________________ our enterprise a success as return is no option/our eyes were removed for our own safety/the distance too great for you to hear our cries/nevermind take this lamp we are beyond light [kinetic-arcturus]
you and I, connect and emerge [we ride-syl] |
|
Back to top |
|
|
Sparker l33t
Joined: 28 Aug 2003 Posts: 992
|
Posted: Wed Sep 07, 2005 8:44 pm Post subject: |
|
|
redview wrote: |
intanto vorrei sapere: io di solito uso esync piuttosto che emerge sync. cosa dovrei cambiare per continuare così??
|
basta che nello script di aggiornamento metti esync al posto di emerge sync |
|
Back to top |
|
|
redview Guru
Joined: 18 Feb 2004 Posts: 365 Location: Goteborg - Sweden
|
Posted: Thu Sep 08, 2005 10:27 am Post subject: |
|
|
da quanto uso squashfs al boot mi viene dato un msg di errore sul mount di un filesystem, tuttavia sembra funzionare tutto ok.
Code: | # mount
/dev/hda9 on / type ext3 (rw,noatime)
none on /dev type devfs (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw)
/dev/hda8 on /home type ext3 (rw,noatime)
/dev/hda5 on /mnt/dati type vfat (rw,uid=1000,gid=100,umask=027)
none on /dev/shm type tmpfs (rw)
usbfs on /proc/bus/usb type usbfs (rw,devmode=0664,devgid=85)
/usr/portage.sqfs on /usr/portage type squashfs (ro,loop=/dev/loop0)
|
qualcuno ha suggerimenti?
grazie mille! _________________ our enterprise a success as return is no option/our eyes were removed for our own safety/the distance too great for you to hear our cries/nevermind take this lamp we are beyond light [kinetic-arcturus]
you and I, connect and emerge [we ride-syl] |
|
Back to top |
|
|
Lestaat Guru
Joined: 13 Jan 2005 Posts: 412 Location: Perugia
|
Posted: Thu Sep 08, 2005 2:08 pm Post subject: |
|
|
E' normale che durente il sync mi dia questi messaggi?
Se si perchè? (mi sa che mi sono perso qualcosa)
Code: | mkstemp "/usr/portage/net-analyzer/snmpmon/.metadata.xml.1dcUMa" failed: No space left on device
343 100% 0.00kB/s 0:00:00
|
ed è normale che al primo emsync faccia il sync come se fosse il primo? _________________ Vorrei salvare il mondo...
...ma non so con che estensione!!! |
|
Back to top |
|
|
Sparker l33t
Joined: 28 Aug 2003 Posts: 992
|
Posted: Thu Sep 08, 2005 2:20 pm Post subject: |
|
|
redview wrote: | da quanto uso squashfs al boot mi viene dato un msg di errore sul mount di un filesystem, tuttavia sembra funzionare tutto ok.
qualcuno ha suggerimenti?
grazie mille! |
Strano, prova a postare l'errore
Lestaat wrote: |
E' normale che durente il sync mi dia questi messaggi?
Se si perchè? (mi sa che mi sono perso qualcosa)
mkstemp "/usr/portage/net-analyzer/snmpmon/.metadata.xml.1dcUMa" failed: No space left on device
343 100% 0.00kB/s 0:00:00
ed è normale che al primo emsync faccia il sync come se fosse il primo?
|
No in entrambi i casi.
Hai creato lo snapshot di portage in squashfs iniziale tramite il comando mksquashfs /usr/portage /usr/portage.sqfs? (prima di cancellare il contenuto di /usr/portage)
E la directory /root/portage? (dove viene montato temporaneamente lo snapshot durante l'aggiornamento)
Ti da errore di spazio esaurito perchè la directory tmpfs che lo script crea è di 100Mb, mentre se cerca di scaricare tutto il portage necessiterebbe di 500Mb... |
|
Back to top |
|
|
Lestaat Guru
Joined: 13 Jan 2005 Posts: 412 Location: Perugia
|
Posted: Thu Sep 08, 2005 2:26 pm Post subject: |
|
|
immaginavo, ma perchè?
dici che mi si è generato male il portage.sqfs?
mo lo cancello, resynco e lo rigenero di nuovo e vediamo.
Grazie dei lumi. _________________ Vorrei salvare il mondo...
...ma non so con che estensione!!! |
|
Back to top |
|
|
Lestaat Guru
Joined: 13 Jan 2005 Posts: 412 Location: Perugia
|
Posted: Thu Sep 08, 2005 3:29 pm Post subject: |
|
|
Da paura Sparker...
funziona tutto ed è pure performante.
Grandissimo Tip.
Tra l'altro rende possibilissimo una gentoo intera su una penna USB.
troppo bello
Solo una cosa mi crea qualche dubbio.
Essendo squashfs read-only compattare la cache di portage la rende impenetrabile da emerge quindi ogni volta che si synca bisognerebbe lasciargli ricreare la cache normalmente e ricompattarla giusto?
quindi su una chiavetta potrebbe porre cmq qualche problema. E' fattibile anche in quel caso l'uso diretto della RAM per la creazione della cache durante il sync e poi la scrittura del file squash?
PS
spero di essermi spiegato _________________ Vorrei salvare il mondo...
...ma non so con che estensione!!! |
|
Back to top |
|
|
Sparker l33t
Joined: 28 Aug 2003 Posts: 992
|
Posted: Thu Sep 08, 2005 4:49 pm Post subject: |
|
|
Lestaat wrote: |
Solo una cosa mi crea qualche dubbio.
Essendo squashfs read-only compattare la cache di portage la rende impenetrabile da emerge quindi ogni volta che si synca bisognerebbe lasciargli ricreare la cache normalmente e ricompattarla giusto?
quindi su una chiavetta potrebbe porre cmq qualche problema. E' fattibile anche in quel caso l'uso diretto della RAM per la creazione della cache durante il sync e poi la scrittura del file squash?
|
Se parli della cache in /var/cache/edp/dep è fattibile.
Basta applicare lo stesso procedimento che si applica a portage anche a /var/cache/edp/dep:
- si crea lo snapshot e lo si monta in /var/cache/edp/dep (meglio via fstab)
- nello script di aggiornamento, prima di emerge sync si smonta lo snapshot e lo si rimonta sulla dir t1, si monta sulla dir t2 un'ulteriore spazio tmpfs e si uniscono le due directory t1 e t2 su /var/cache/edp/dep tramite unionfs. dopo l'emerge sync si crea lo snapshot, si smonta tutto e si monta il nuovo snapshot
Rimane da capire se emerge sync aggiorna la cache o la rigenera completamente: nel secondo caso consumerebbe circa 90mb di ram. |
|
Back to top |
|
|
redview Guru
Joined: 18 Feb 2004 Posts: 365 Location: Goteborg - Sweden
|
Posted: Thu Sep 08, 2005 11:14 pm Post subject: |
|
|
ecco cosa mi dice al boot:
Code: | mount local filesystem
mount: mount pointportage does not exist |
però poi va tutto.. _________________ our enterprise a success as return is no option/our eyes were removed for our own safety/the distance too great for you to hear our cries/nevermind take this lamp we are beyond light [kinetic-arcturus]
you and I, connect and emerge [we ride-syl] |
|
Back to top |
|
|
Sparker l33t
Joined: 28 Aug 2003 Posts: 992
|
Posted: Fri Sep 09, 2005 7:08 am Post subject: |
|
|
redview wrote: | ecco cosa mi dice al boot:
Code: | mount local filesystem
mount: mount pointportage does not exist |
però poi va tutto.. |
Apparentemente cerca di montare qualcosa su una directory inesistente, controlla attentamente l'fstab |
|
Back to top |
|
|
redview Guru
Joined: 18 Feb 2004 Posts: 365 Location: Goteborg - Sweden
|
Posted: Fri Sep 09, 2005 7:03 pm Post subject: |
|
|
la mia fstab non mi ha mai creato problemi fino ad oggi e comunque il problema sembra sia legato al mountpoint portage. posto quindi la riga relativa all'aggiunta fatta in seguito al tip di Sparker
Code: | /usr/portage.sqfs /usr/portage squashfs loop,ro 0 0
|
grazie e ciao _________________ our enterprise a success as return is no option/our eyes were removed for our own safety/the distance too great for you to hear our cries/nevermind take this lamp we are beyond light [kinetic-arcturus]
you and I, connect and emerge [we ride-syl] |
|
Back to top |
|
|
Sparker l33t
Joined: 28 Aug 2003 Posts: 992
|
Posted: Sat Sep 10, 2005 4:13 pm Post subject: |
|
|
La riga è corretta, non saprei proprio dire da cosa dipende l'errore |
|
Back to top |
|
|
redview Guru
Joined: 18 Feb 2004 Posts: 365 Location: Goteborg - Sweden
|
Posted: Sat Sep 10, 2005 5:44 pm Post subject: |
|
|
nn so l'ultima cosa che mi viene da dire è riguardo al kernel:
ho messo squashfs come built-in, mentre per quanto riguarda unionfs ho semplicemente emerso il pkt uniofs come da tip senza aggiungere nessun eventuale modulo nel kernel.
grazie
ciao _________________ our enterprise a success as return is no option/our eyes were removed for our own safety/the distance too great for you to hear our cries/nevermind take this lamp we are beyond light [kinetic-arcturus]
you and I, connect and emerge [we ride-syl] |
|
Back to top |
|
|
Sparker l33t
Joined: 28 Aug 2003 Posts: 992
|
Posted: Mon Mar 06, 2006 5:59 pm Post subject: |
|
|
Le ultime versioni di unionfs funzionano di nuovo perfettamente con rsync.
Ora portage occupa 600mb, compresso 29mb
Ciao |
|
Back to top |
|
|
makoomba Bodhisattva
Joined: 03 Jun 2004 Posts: 1856
|
Posted: Mon Mar 06, 2006 6:15 pm Post subject: |
|
|
su hardened, la combo unionfs + squashfs produceva segfaults a profusione, per cui avevo rinunciato.
hai provato anche con quel kernel ? _________________ When all else fails, read the instructions. |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Thu Mar 23, 2006 11:11 am Post subject: |
|
|
Passando da queste parti mi sono convinto a provare questo tip ma prima di iniziare a fare cavolate (ho sempre i miei backup ma spero sempre di non doverli usare) volevo sapere, visto che il tip è vecchiotto, se le versioni di unionfs da usare sono sempre quelle o se è meglio usare versioni più recenti che magari risolvono dei problemi ma che sono meno testate. _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
makoomba Bodhisattva
Joined: 03 Jun 2004 Posts: 1856
|
Posted: Thu Mar 23, 2006 11:31 am Post subject: |
|
|
vagabondo, prova :p
tanto, nel peggiore dei casi, perdi solo il portage. _________________ When all else fails, read the instructions. |
|
Back to top |
|
|
Luca89 Advocate
Joined: 27 Apr 2005 Posts: 2107 Location: Agrigento (Italy)
|
Posted: Thu Mar 23, 2006 1:59 pm Post subject: |
|
|
Io ricordo di aver usato l'ultima disponibile filava con un kernel >=gentoo-sources-2.6.14. Al limite ti basta fare un backup di /usr/portage e stai tranquillo da eventuali rischi. _________________ Running Fast! |
|
Back to top |
|
|
Sparker l33t
Joined: 28 Aug 2003 Posts: 992
|
Posted: Thu Mar 23, 2006 6:48 pm Post subject: |
|
|
Ho aggiornato la guida.
In soldoni:
fino al kernel 2.6.15 unionfs và che è una favola, se siete "coraggiosi" potete patchare unionfs e farlo andare anche sul 2.6.16
Su hardened non ho provato |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Fri Mar 24, 2006 2:06 pm Post subject: |
|
|
Per adesso l'accoppiata ~unionfs-1.1.3 e gentoo-sources-2.6.15-r1 funziona bene.
Piccolo appunto, le directory che tu hai messo in /root io ho preferito spostarle in /tmp proprio per non riempire l'hd di directory strane
Tip molto interessante, grazie mille. _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
|