
As I understood, they write in their own archive format (based on lzo). I have doubts that any writable filesystem can be fast and simultaneously compress many small files effectively. However, I would like that somebody proves that I am wrong with this conjecture.synss wrote:Well, now things like compFUSEd claim they do support mounting + read-write of archives in .tar.bz2
Yes, it is a pity that for most FUSE filesystems there are no .ebuilds in the portage tree.I cannot compile compFUSEd. [...]There are many things I can think of with these FUSE-related fs

Agreed, however, there is an ebuild for funionfs in the overlay sunrise, I will see whether it works here and try to use it.mv wrote:Actually, I would also prefer to use an FUSE-based unionfs http://freshmeat.net/projects/unionfs-fuse/, because it needs no kernel module. However, I am too lazy to write an .ebuild.
Code: Select all
emerge layman
layman -a sunrise
/etc/init.d/squash_portage stop
modprobe -r unionfs
echo "~sys-fs/funionfs-0.4.2" >> /etc/portage/package.keywords
emerge funionfsCode: Select all
#mount -t funionfs -o dirs=$PORTAGE_RW=rw:$PORTAGE_RO=ro unionfs $PORTDIR
funionfs -o dirs=$PORTAGE_RW: $PORTAGE_RO=RO -o allow_other NONE $PORTDIRCode: Select all
/etc/init.d/squash_portage startThe point where I expect an enormous speed loss for .tar.bz2 files (if this would really be supported) is when the data is written to the tree, i.e. for emerge --sync. Just to have some numbers (for emerge --sync with a fast server and a fast connection):synss wrote:As of performance, I do not think it matters so much here: you have eix for fast searches and the tree is actually small and cached pretty fast if you use emerge, I think.
Not every computer has easy access to the internet. Moreover, the portage tree is rather large (compared to the few data for a typical emerge --sync): It can really cost money if you have to pay for the bandwith.you can just download a new image of the tree from the ftp servers around here
A backup can be also handy if the previous emerge --sync dropped some ebuild/patch which you wanted. Yes, there is a cvs of the tree, but a backup is more convenient in such cases.you do not need to do these time-consuming backups, do you?
An automatic action for such a fundamental change is very dangerous: Once the new tree is mounted, a complete newbie will not be able to remove the old tree anymore. The script could of course also remove the old tree, but then if something goes wrong with the mounting (wrong kernel, insufficient disk space, ...) the user is left without a portage tree. I think the printed instruction is clear enough, and in this way the user can understand what is going on and why, and he has no bad surprise just by trying the script.instead of echoing a message, you should actually squash the tree to a new image and then mount it.


NaiL wrote:Why don't do the same with:
/var/cache/edb
/var/db/pkg
Maybe it's a noob question![]()
Why with /usr/src/linux? because there are lots of files?synss wrote: No, it should work and that is one idea I had (also add /usr/src/linux) but no time for it. It would not be very diffictult to implement either, like only another for loop. Later, maybe...
And mery christmas!
These two are not worth the trouble, because they do not take too much space. It would probably be more interesting to use it for /usr/share/doc or /usr/src/linux, because these two should compress very well. In principle, you can simply use the same script repeatedly only with different directory/filename settings. Only the previous variable names are then misleading...NaiL wrote:Why don't do the same with:
/var/cache/edb
/var/db/pkg
Do you have a particular reason to do metadata updates? For most users, FEATURES='-metadata-transfer' and choosing the metadata_overlay cache is sufficient.NaiL wrote:secondly speed up the portage metadata updates
I didn't know this feature, I'm using it now. thanks. but it works with portage overlays as well?mv wrote:Do you have a particular reason to do metadata updates? For most users, FEATURES='-metadata-transfer' and choosing the metadata_overlay cache is sufficient.NaiL wrote:secondly speed up the portage metadata updates
I'm currently only using unionfs with the synss script. I'll try your script when i have some time!mv wrote:Anyway, if you really need metadata updates, you should use the script with PREFER=unionfs (in contrast to funionfs) - funionfs will probably slow down things instead of speeding them up.
For most users it works. Some things like eclasses in overlays can cause troubles. If you need the latter, an alternative is to use the sqlite cache method.NaiL wrote:I didn't know this feature, I'm using it now. thanks. but it works with portage overlays as well?
You will finally probably end up writing your own script - after all, these are all just very simple scripts with a very limited purpose. It's only the idea which is important..."all about choice"
Hi - I've tried your script and i got some errors:mv wrote: Christmas Present: The new version of the init-script on http://www.mathematik.uni-wuerzburg.de/ ... index.html is now called squash_dir and has no misleadings variable names.
Moreover, the new script has some new configuration options which are handy for some applications. The most important ones are:
- 1. You can explicitly mount a directory read-only (which needs no unionfs/funionfs).
Code: Select all
./squash_portage restart
* Caching service dependencies ... [ ok ]
* Mounting /var/portage/portage.sqfs as /usr/portage ...
fusermount: mountpoint is not empty
fusermount: if you are sure this is safe, use the 'nonempty' mount option
* Failed mounting /var/portage/change with funionfs [exit with 1]
mount: unknown filesystem type 'unionfs'
* Failed mounting /var/portage/change with unionfs [exit with 32]
mount: wrong fs type, bad option, bad superblock on ,
missing codepage or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
* Failed even rbinding /usr/portage [exit with 32] Code: Select all
DIRECTORY="$(. /etc/make.conf ; echo "${PORTDIR}")"
FILE_SQFS="/var/portage/portage.sqfs"
FILE_SQFS_OLD="/var/portage/portage.old.sqfs"
PREFER="funionfs"
DIR_CHANGE="/var/portage/change"
BTW: If there is a need of unionfs for kernel 2.6.19, I might publish some quick-and-dirty hacks with instructions how to make them work...kuku wrote:Code: Select all
mount: unknown filesystem type 'unionfs'

This is going seriously off-topic so you might as well start a new thread, but what you are looking for is initramfs. Data compression can be achieved in there with squashfs or cramfs, look for live CDs too, some of them (knoppix for example) do that.Maxwell wrote:As you all have tried several ways of doing this (sort of), how can i put something in ram when i boot from grub and then use the ram as the root filesystem? How much can i compress the data? 20% or 30%?
Yeah, i know, but i've already started a thread, but no replies were found. Sometimes i just prefer to ask the right guyThis is going seriously off-topic
Ok then!but what you are looking for is initramfs.