Although Puppy has a utility to easily resize the pup_save file; there is no easy way to shrink it.
This may be useful; for example, if you have a very large pup_save file that has a lot of empty space and you wish to either "compact it" or transfer it to a usb flash drive that is smaller.
First thing, the pup_save.3fs file is a overall container where your files are stored inside. Linux allows you to mount this file like a drive and play around with the files inside.
Thus, if you make a new pup_save file, open up/mount your old pup_save; you can copy the data over to the new save file.
So, the million dollar question for a newbie like myself - is how?
BACKUP YOUR DATA BEFORE YOU START
Step 1
Create a new pup_save file. ANY file that is named "pup_saveXXX.3fs" is fine where XXX can be anything.
There are 2 ways to do this easily. The first is to boot puppy with the boot option "pfix=ram". This will boot you into a first start/ram disk version of puppy. Then, when you exit/quit - it will prompt you to create a pup_save file. Just specify the size you want to create.
The more elegant way to do it is to actually use linux commands. The following commands were suggested by pizzasgood
dd if=/dev/zero of=file.2fs bs=1M count=20
will make a 20MB file named file.2fs. Then you can turn it into an ext2 filesystem:
mke2fs file.2fs
This is discussed in the following thread.
http://www.murga-linux.com/puppy/viewto ... le&t=13213
Ok, now you have an original pup_save.3fs file and a new pup_saveXXX.3fs file. Now to mount the files and copy the data over.
Step 2 Mount the files
The files can be mounted using linux commands. As suggested by pizzasgood.
That can be mounted with the mount command, which can be added to /etc/rc.d/rc.local:
mount file.2fs /mnt/data -o loop
That would mount it at /mnt/data (the '-o loop' bit is because it's a filesystem image, not a device).
HOWEVER, sunburnt has written an elegant little utility that will mount the 3fs file using point and click. You can download the xfilemount program here
http://www.murga-linux.com/puppy/viewto ... le&t=13213
THUS, just mount the old pup_save and the new one.
IF you used the pfix=ram/puppy linux method to create the new pup_save; I suggest that you delete all the data inside the new pup_save; otherwise, the GUI will prompt you whether you wish to ovewrite directories or files when you copy the old data over.
VERY IMPORTANT - make sure you know which is the source data and which is the new/destination drive. If you mix it up; you will frag all your important data.
Step 3
Just copy the data over to the new; mounted pup_save
Step 4
Unmount your files and next time you boot; just select the right file to load.
Hope this helps,
Kevin
Shrink your Pup save file or Rescue data out of it
Excellent Tutorial
A suburb resource to a problem thats been vexxing me for some time! Thanks for sharing.
Puppy Linux's [url=http://www.murga-linux.com/puppy/viewtopic.php?p=296352#296352]Mission[/url]
Sorry, my server is down atm!
Sorry, my server is down atm!