HOWTO Install certain major applications outside pup001

How to do things, solutions, recipes, tutorials
Post Reply
Message
Author
Bruce B

HOWTO Install certain major applications outside pup001

#1 Post by Bruce B »

HOW TO INSTALL CERTAIN MAJOR APPLICATIONS OUTSIDE THE PUP FILE
  • I'll present this how-to by using references to my actual file system. Your's will most likely be different, you will need to make appropriate adjustments.

    Here is a brief general description of my Linux filesystem:
    • hda6 is Linux ext3
      hda7 is Linux ext3
    Suse is installed on hda6
    Vector is installed on hda7

    Puppy is installed as an Option 1 install on hda6, sharing the same filesystem with Suse. I manually copied vmlinuz, image.gz and usr_cram.fs to the root of hda6. I then setup GRUB to load Puppy from on that partition. The first time it runs it will create pup001 - the user file.

    There are no file naming conflicts between Puppy Linux and Suse. Because of this, it is entirely feasible to install Puppy with an Option 1 install on the same partition as another existing Linux.
INSTALLING MOZILLA
  • The Puppy version I'm using is 1.0.3 with Mozilla already installed. I like Mozilla very much, and want to use it. There is a little problem with Puppy's Mozilla release, the option to block off-site images doesn't work. I like that option, because it blocks most advertisments. For this reason, I install the standard version of Mozilla version 1.78.

    Mozilla's new installation location is /mnt/home/shared/mozilla

    After installing this Mozilla, I have two Mozilla releases installed on the system. Puppy may call up the orginal version, rather than the new version on some occasions. I think you might want to search /usr/local/bin for files such as: moz* firefox, dillo, links. Make the necessary adjustments with the symlinks, scripts or delete some files - whatever you think best. Or don't worry about it.

    When you call Mozilla with your short-cuts or menu items you've adjusted, the Mozilla you installed will run.

    I'll leave it to you if you want to delete Puppy's version of Mozilla, in the event you install another version. I've done it with no problem for me.

    I'm not sure why Barry K uses this version. I think it is because the libraries in it support some other applications.

    There may be some Puppy Mozilla plugins you wish to locate and transfer to your new installations of firefox and mozilla.

    Note: There is undoubtedly an optimal way to make an install of version 1.78 and clean removal of the 1.8.2xx with the bug. I'll try and make a complete step by step how-to, using a fresh Puppy install, on one subject of replacing Mozilla rather than just adding it.

    One other thing I like about the 1.7.8 is the html composer has a spell-checker
INSTALLING FIREFOX
  • I will install the current release of Firefox downloaded from www.mozilla.org into this directory:
    • /mnt/home/shared/firefox
CONFIGURING MOZILLA AND FIREFOX
  • Both of these applications store the user data and configuration files in this hidden directory:
    • /root/.mozilla
    If it is a fresh install and there is nothing I need from this directory, I simply delete it.

    I then make a directory called:
    • /mnt/home/shared/.mozilla
    It doesn't need that specific name, but that's what I use. There is flexibility what you call it and where you put it.

    Most important is to link to the actual directory.
    • # ln -s /mnt/home/shared/.mozilla /root/.mozilla
    When you start Firefox or Mozilla, they will automatically and successfully use /mnt/home/shared/.mozilla to store and use the data such as extensions, cookies, history and etc.

    I generally run these apps from Bash with aliases.
    • alias moz='/mnt/home/shared/mozilla/mozilla &'
      alias fox='/mnt/home/shared/firefox/firefox &'
    I also use Rox to 'drag and drop' the executable file to the desktop, then add the appropriate icon to the Rox link.

    One can do as one wishes to run these apps. Whatever suits your preferences.
INSTALLING AND CONFIGURING THUNDERBIRD
  • I download the current standard Thunderbird release from www.mozilla.org and install it in:

    /mnt/home/shared/thunderbird

    I also makedir /mnt/home/shared/.thunderbird

    I create a symlink as follows:
    • # ln -s /mnt/home/shared/.thunderbird /root/.thunderbird
    When Thunderbird starts it will automatically use /mnt/home/shared/.thunderbird as its user configuration directory.

    You will need to make menu items or desktop items for running Thunderbird. Remember that Firefox, the new Mozillz and Thunderbird are not in the path, you may want to create symlinks perhaps in /root/my-applications/bin and/or use absolute paths in order for your menu items to locate these applications.
INSTALLING SUNBIRD
  • I've not done it. I do, however, expect the same principles would be involved as with Thunderbird and Mozilla.
SUMMARY AT THIS POINT
  • We now have three major applications installed outside pup001, yet entirely usable by Puppy. Also, the email and attachments are not being downloaded into pup001. The Mozilla and Firefox cache are being stored outside pup001.
HOW TO SHARE THESE APPLICATIONS WITH OTHER LINUX OPERATING SYSTEMS
  • As mentioned earlier, Suse Linux is installed on the same partition with Puppy. When I boot Suse, the names of the locations will change. The locations do not change, only the path names will be as follows:

    For the executables:
    • /shared/firefox/firefox
      /shared/mozilla/mozilla
      /shared/thunderbird
    For the user configuration files:
    • /shared/.firefox
      /shared/.mozilla
      /shared/.thunderbird

    I run Suse as root, so I don't have problems with privileges.

    From Suse, I need to make menu items, desktop shortcuts and/or aliases for running these applications at their appropriate locations.

    I need to symlink the configuration files also, like I did in Puppy.
    • # ln -s /shared/.firefox /root/.firefox
      # ln -s /shared/.mozilla /root/.mozilla
      # ln -s /shared/.thunderbird /root/.thunderbird
    When I run these applications, my browser bookmarks will be the same, as will be the settings. My email box will also be identical because it is the same email account and box.

    Any extensions or themes I've installed will also be the same.

    I will also do the same with Vector Linux as I did with Puppy and Suse, except the partition will be different. Vector is on hda7.

    I will need to mount hda6 in order for Vector to use these applications and configurations.

    The path of 'shared' will be this:
    • /mnt/hda6/shared
    I will run it as root and repeat the symlinking process as I did with Puppy and Suse.
INSTALLING AND CONFIGURING OPEN OFFICE
  • I will download and install OpenOffice.org version 1.14 in this location:

    hda6/shared/OpenOffice.org

    Refer to http://user-faq.openoffice.org/faq/index.html-toc.html for specifics, answers and general information.

    Basically, what you do is download the OpenOffice1.1.4 tar.gz file and extract it. (tar -xvzf filename.tar.gz)

    Change directory to the newly created one, and run this command:

    ./setupfilename -net (were 'setupfilename' is the name of the actual setup file)

    The -net argument tells it you want OpenOffice shared. In my example, I would install it to hda6/shared/OpenOffice.org

    On your system, you will need to determine the best place to your "shared" directory.

    Setting up OpenOffice for each operating system differs considerably from the methods used with the Mozilla line of products.

    You will want to boot each operating system and run this command:

    /actual_location_of/OpenOffice.org/setup

    This will run a program and setup the necessary OpenOffice.org auxiliary files in your home directory. It will use two or three megabytes for each setup.

    Once OpenOffice is running, you can configure it to share common user directories, so that regardless of what OS you are running, your user files are easily accessible.
LAST TOPIC - SHARING ALL USER FILES
  • From Puppy I move the /root/my-documents directory to /mnt/home/shared/myfiles

    I then link to it appropriately, as in the examples above.

    From the other Linux systems, I would setup the user documents directory to correspond with the same location.
CONCLUSION
  • Performing this basic procedure is not difficult, and it makes life a lot easier when switching from one OS to another. It is also resourceful in terms of disk space.

    If you only have Puppy installed, it could still worthwhile because you save hundreds of megabytes in your pup001 file.

    I make regular backups of pup001 simply by copying it. It is much easier and more resourceful copy a 256 MB file than it is a 512 MB or larger sized file.

    I hope the reader has enjoyed this article and found it worthwhile.

User avatar
Nathan F
Posts: 1764
Joined: Wed 08 Jun 2005, 14:45
Location: Wadsworth, OH (occasionally home)
Contact:

#2 Post by Nathan F »

Bruce I really wish to thank you for this tutorial. After I prodded you yesterday I went about trying to figure it out on my own. I found that it works very well indeed. I was able to install Firefox, Thunderbird, and Open Office. Since these applications are being called from HD instead of residing in memory, you might get a small lag starting them depending on your hardware. For me it is very negligable.

I went about seeing what else could be installed in this way. I was able to install the full Java runtime environment and associated Firefox plugin. Real Player also worked in this way. I was also able to transfer all of my existing Mozilla plugins and settings to Firefox. I couldn't be happier.

One thing that I found is that this must be done on a Linux partition. It doesn't seem to work right if you try to do it on a vfat partition because the system won't let you create all of the neccessary symlinks.

I am running off of the live CD, with all of this in /mnt/data/Share. I'm now playing around with putting python there-so far I think it's working. If it does I may see if I can put a full version of Perl there instead of the cut-down pupget Perl that I have now.

This is a marvelous way to add things into Puppy that would take up too much room in the pupfile. I'm sure there are others who have been aware of this technique for a while, but it's really good to have it spelled out like this in the forum.

Puppy just keeps getting better and better for me.

Nathan :lol:

User avatar
Flash
Official Dog Handler
Posts: 13071
Joined: Wed 04 May 2005, 16:04
Location: Arizona USA

#3 Post by Flash »

Just an idle thought: could this technique be easily extended to loading an application program from a network server, instead of keeping the application on the HD of every computer in the network?

Back to the future, of the mainframe computer + terminals. :)

Bruce B

#4 Post by Bruce B »

Yes Nathan - there is a lot of flexibility with this. Once a person understands the basics, he or she can experment and find that many applications support this technique.

Flash, I suppose a network would work fine.

User avatar
Nathan F
Posts: 1764
Joined: Wed 08 Jun 2005, 14:45
Location: Wadsworth, OH (occasionally home)
Contact:

#5 Post by Nathan F »

Flash-if you try this with Open Office, for instance, you will get two options when you launch the installer. You have the choice of doing a local or a network install. So yes you can definately do it with Open Office at least. If you notice in Bruce's description you type this-
./setupfilename -net (were 'setupfilename' is the name of the actual setup file)
The -net option stands for network, although in this instance we are just installing it onto a seperate HD. This install is designed in such a way that multiple users can use it by installing just certain files in their own home directory. Someone else would have to fill in the rest of the details.

Bruce B

#6 Post by Bruce B »


One thing that I found is that this must be done on a Linux partition. It doesn't seem to work right if you try to do it on a vfat partition because the system won't let you create all of the neccessary symlinks.
Nathan, I'd not tried this before, so I thought I'd experiment.

hda1 is FAT32 on my computer. I tested as follows:
  • 1) I made a symlink to an existing directory on hda1 and it worked

    2) I created a hidden directory named .hide on hda1 and made a symlink to it, and it worked.

    3) I made a text file inside .hide and edited it and it worked

    4) I copied an executable file to hda1/, made a symlink and executed it and it worked.

    5) I created a menu item and ran the executable file through the symlink on hda1, and it worked.
After the results of this testing, I'm curious about what necessary symlinks the system won't let you create?

User avatar
Nathan F
Posts: 1764
Joined: Wed 08 Jun 2005, 14:45
Location: Wadsworth, OH (occasionally home)
Contact:

#7 Post by Nathan F »

Bruce,

I should have been more specific. I was able to symlink to Firefox on a vfat partiton, but when I tried to install Java and symlink to the plugins folder for Firefox I got an error message "operation not permitted". I also had to stop installing Open Office when it gave me a similar message during the install. I don't know why it happened some times but not others. I just gave up and put it all in /mnt/data/Share and it went off without a hitch. If anyone has any explanation I'd love to hear it. Sorry I can't be more specific but I have a sick two year old at home today.

Nathan

Bruce B

#8 Post by Bruce B »

It seems to me having a well two year old is a rough way to spend a Sunday.

I hope he or she gets well very soon.

Thank you for the specifics. I like using the 'right' filesystem for the job. I'd not tried the VFAT thing before.

Sometimes people like to run Puppy on NTFS. I think maybe because they are expermenting with Linux and don't want to commit to serious changes, by repartitioning the hard drive in order to have some Linux partitions.

I don't even use Windows let alone XP. I don't miss it either. :idea:

Post Reply