, , , , ,

Recently I have started playing with the Puppy (Puppy Linux 4.3.1, that is). I liked the speed and ease of using it so much that I decided to do a full install on my hard drive. It’s very lightweight and very fast.

However, after the initial phase of likeness, I realized that it is missing a lot of things —- including the build essentials (e.g., gcc).  That means Puppy has trimmed its fat in order to become so lean (the .iso file is about 100 MB)  that it does not have some of the necessary packages — especially the ones, that someone may need to compile packages from the source code if there is a need. However, the default software suit is very nice and useful: I haven’t seen such a good collection in a such a lean size before.

But, the tools I was looking for was not in their repository either. After searching in puppy forums, I realized that I need a package called devx-431.sfs [download link].  But for a hard puppy (a full installation of puppy on the hard drive) it is a special case if you want to install a .sfs file —- which I had a hard time figuring out skimming through various posts in the forum (which are very old by the way!).

However, it is explained in the main website in a very clear fashion (I wish I looked there first!).

1. Click on the devx_xxx.sfs in a ROX-Filer window to mount it.
2. Open a terminal in the mounted directory.
3. # cp -a --remove-destination ./* /mnt/hda2/
4. # sync
5. Close the terminal.
6. Click on the devx_xxx.sfs file to unmount it

Note, the ‘–remove-destination’ option is essential. If you only use ‘-f’ to force overwrite, it will follow (dereference) a symlink, that can cause unexpected overwrites.

I had a problem performing the second step. If you save the devx_xxx.sfs file in the /root directory (which is startup directory, i.e. if you do a “cd ~” you’ll reach there), then the mounted directory will look like “+root+devx_xxx.sfs/”. Just cd to there in the console and follow the next steps above.

Credit: here.

Further reading: Lifehacker’s review.