What is Rootz exactly, and can it run in Puppy?

Puppy related raves and general interest that doesn't fit anywhere else
Message
Author
User avatar
Artie
Posts: 448
Joined: Tue 04 Oct 2005, 17:45
Location: Norway
Contact:

What is Rootz exactly, and can it run in Puppy?

#1 Post by Artie »

Hi. I have just found something called Rootz at http://vamosproject.org/rootz and it's made me very curious as I can't for the life of me figure out exactly what it is or what it does or if it can be installed and run in Puppy 3.01. Anyone else curious?

Artie

whadar
Posts: 20
Joined: Mon 11 Feb 2008, 22:14

#2 Post by whadar »

Hi Arite,

I am the author of rootz and I feel sorry that you couldn't figure out what it is or does... It means that the wiki is not clear :(
Did you take a look on the FAQ?

I'll try to describe rootz in another words (more technical):
It is a tool that connects your local linux system to remote systems. These remote systems are Live CDs ISO files people normally download, burn, and boot. The cool thing about rootz is that it simply mounts that ISO and also mounts the compressed image inside (squashfs). The normal system is "fooled" to think all the remote files are available normally, but actually the network filesystem fetches the necessary bits on demand. This means the there is no need to pre-download the whole iso file.

In the end what we got here is a method to stream applications and run them without installation. This is similar to Klik, Zero-Install but distinct because it is file-oriented - the network filesystem takes care of everything, and not package-oriented. So rootz does not need repackaging of apps.

Hope it makes sense to you :)
As to Puppy, I really don't see any problem to integrare rootz inside,
I'd be very happy to see that happen :D

Cheers,
Hadar

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

#3 Post by Flash »

Hmm, sounds intriguing, I guess. Could you give us an example of how it could be used? I get a hazy picture of a local network central server with apps stored on it that other computers on the network (perhaps thin client workstations) could run remotely. Is that anywhere near the mark?

whadar
Posts: 20
Joined: Mon 11 Feb 2008, 22:14

#4 Post by whadar »

Not accurate...
1. Applications are hosted on the web (WAN) and not on local servers (LAN)
2. rootz is not thin client variant. Apps run locally and use local CPU and RAM.

Hadar

User avatar
Artie
Posts: 448
Joined: Tue 04 Oct 2005, 17:45
Location: Norway
Contact:

#5 Post by Artie »

Hi Hadar and thanks for the elaborations... I went back to your website and read through everything again and think I got a clearer picture but I'm afraid it's way over my head so I would need a .pet to be able to use it... :-)

Artie

whadar
Posts: 20
Joined: Mon 11 Feb 2008, 22:14

#6 Post by whadar »

:lol:

It is not that complicated :) You'd be surprised!
Anyway, don't hesitate to ask for help if you do try it...

Hadar

User avatar
paulh177
Posts: 975
Joined: Tue 22 Aug 2006, 20:41

#7 Post by paulh177 »

It does look rather interesting but while it might not be complicated for you whadar, I think it'll need a bit of work from someone knowledgable about Puppy internals to get it working!

So far as I can see from the rootz project page, to get it running it needs dchroot from debian and fuse.

It also needs support for unionfs and squashfs which are I think already there in Puppy

httpfs is mentioned as desired but while I've found a set of what appear to be binaries on the sourceforge project page but no idea where to install them

I've had a go but the unrpm.undeb.pup won't install (md5sum error ) so I can't install dchroot. And I can't find a fuse for puppy ...

User avatar
Boo2themoon
Posts: 54
Joined: Wed 15 Aug 2007, 20:50
Location: West Country UK

#8 Post by Boo2themoon »

Indeed it does look interesting.
But further to the complications highlighted by Paulh, Puppy usually runs in ram and given that rootz also runs with ram, how much are we going to need?
I would like to try this so any advice offered would be greatfully recieved.

whadar
Posts: 20
Joined: Mon 11 Feb 2008, 22:14

#9 Post by whadar »

Thanks for your interest :)

When rootz work with httpfs, currently there is no caching at all, and the files are fetched only on demand. This means slow performance, but no RAM overhead. So there shouldn't be any special RAM requirements, even when you run without hard-disk.

I really don't know about how to install fuse and dchroot on puppy :(
Considering httpfs, you can try downloading binaries from http://vamosproject.org/httpfs

Hope that helps,
Hadar

User avatar
paulh177
Posts: 975
Joined: Tue 22 Aug 2006, 20:41

#10 Post by paulh177 »

I managed to get undeb working and then got dchroot installed, but it had dependencies only one or two of which (libpam and libblockdev) I managed to resolve by robbing them from Knoppix.
output from ldd as follows:

Code: Select all

# ldd /usr/bin/dchroot
/usr/bin/dchroot: /usr/lib/libpam.so.0: no version information available (required by /usr/bin/dchroot)
/usr/bin/dchroot: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /usr/bin/dchroot)
        libboost_program_options-gcc42-1_34_1.so.1.34.1 => not found
        libboost_regex-gcc42-1_34_1.so.1.34.1 => not found
Googling for these latter two has been fruitless so far and I haven't a clue what the former two imply.

paul

whadar
Posts: 20
Joined: Mon 11 Feb 2008, 22:14

#11 Post by whadar »

Hi Paul,

All I am saying here are speculations, since I don't have puppy and can't try it by myself...

Following the deb dependencies, what you seem to be looking for are the following packages:

libboost-program-options1.33.1
program options library for C++

libboost-regex1.33.1
regular expression library for C++

Can you unpack debs and use them in puppy?
If not - there is a link to the upstream site:
libboost-program-options1.33.1 - http://www.boost.org/doc/html/program_options.html
libboost-regex1.33.1 - http://www.boost.org/libs/regex/doc/index.html

I hope we can make it work in the end :)

Cheers,
Hadar

User avatar
paulh177
Posts: 975
Joined: Tue 22 Aug 2006, 20:41

#12 Post by paulh177 »

First I'll just say -- I only do this stuff as a hobby, I'm not a programmer or a Puppy specialist at all. Therefore I hope this thread comes to the attention of someone who is!
There's a few issues I see:
1. The message

Code: Select all

 /usr/bin/dchroot: /usr/lib/libpam.so.0: no version information available (required by /usr/bin/dchroot)
implies that there's a problem with the libpam that I copied from Knoppix
2. The message

Code: Select all

 /usr/bin/dchroot: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /usr/bin/dchroot)
implies a problem which I can't begin to guess
3. The two "Boost" project libraries aren't to be found on my Knoppix CD, but I haven't yet looked at all the other Debian-based distros in my collection. Checking them all out is time-consuming ... Does anyone know where I can pick them up ready-made? (I'm not keen to have to compile them from source)

paul

muggins
Posts: 6724
Joined: Fri 20 Jan 2006, 10:44
Location: hobart

#13 Post by muggins »

I needed to compile boost awhile back, for some tiny app, and by the time I'd finished compiling the leviathan boost, it turned out the app only needed the libboost-regex1.33.1 part. Then I found it was available in the .deb repositories.

So maybe try the sarge libboost-regex .deb here:

http://packages.debian.org/search?keywo ... ection=all

Edit: Down the bottom 1/3 of the page.

nic2109
Posts: 405
Joined: Mon 01 Jan 2007, 20:24
Location: Hayslope, near Middlemarch, Midlands, England

#14 Post by nic2109 »

whadar wrote:..... All I am saying here are speculations, since I don't have puppy and can't try it by myself...
Cheers,
Hadar
Hadar; there's a simple fix to this conundrum. As a full Puppy is only around 100Mb AND it's a Live CD, it's simple to download and try out. You then get to see what everyone is saying.

You may also find that it's hardly worthwhile bothering sorting Puppy out for Rootz as the motivation to avoid a 3+ gig download (e.g *buntu, or SUSE, or Fedora Core) has gone away.

But please don't let me put you off! :wink:

User avatar
paulh177
Posts: 975
Joined: Tue 22 Aug 2006, 20:41

#15 Post by paulh177 »

ah! but the thrill of the chase!

whadar
Posts: 20
Joined: Mon 11 Feb 2008, 22:14

#16 Post by whadar »

Hadar; there's a simple fix to this conundrum. As a full Puppy is only around 100Mb AND it's a Live CD, it's simple to download and try out. You then get to see what everyone is saying.
:oops:
Yeah, I know it is not such a big deal and I plan to do that...
Don't get me wrong, I really appreciate the help here and want to try out things by myself, soon as I will have some time.
You may also find that it's hardly worthwhile bothering sorting Puppy out for Rootz as the motivation to avoid a 3+ gig download (e.g *buntu, or SUSE, or Fedora Core) has gone away.
If I understand you correctly, you think rootz won't be effective for puppy but only for big distros. IMHO, it will be especially good for puppy (and puppy is especially good for rootz). If rootz is integrated in puppy, people will have to download only 100MB and still have access to gigs of software... That's the main idea here :D

Regards,
Hadar

User avatar
paulh177
Posts: 975
Joined: Tue 22 Aug 2006, 20:41

#17 Post by paulh177 »

OK
Thank you muggins for the link.
After a bit of library-downloading and symlinking, I have managed to get dchroot to stop complaining about missing dependencies, but still have the problem of:

Code: Select all

# dchroot
dchroot: /usr/lib/libpam.so.0: no version information available (required by dchroot)
dchroot: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by dchroot)
dchroot: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /usr/lib/libboost_program_options-gcc42-1_34_1.so.1.34.1)
dchroot: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /usr/lib/libboost_regex-gcc42-1_34_1.so.1.34.1)
#
I tried downloading and installing the slackware cxx libraries to no avail (yes I even rebooted)

Dunno what to do next :D

paul

User avatar
paulh177
Posts: 975
Joined: Tue 22 Aug 2006, 20:41

#18 Post by paulh177 »

well the solution was obvious after I'd switched off and gone to bed.
Got up this morning and recompiled dchroot from source and there's no errors now with that.
I also installed fuse_and_sshfs-0.2.pup, and the httpfs binaries that I'd found.
There were errors installing the fuse dotpup (following the readme I ran insmod but it throws a seg fault), and there were complaining messages when I ran

Code: Select all

./rootz http://ubuntu-cdimage.datahop.it/releases/7.10/release/ubuntu-7.10-dvd-i386.iso /mnt/ubuntu
but I now have a directory /mnt/ubuntu which seems to contain a ubuntu ISO, completely readable. I can even run some CLI progs.
The creases need some ironing out (I need to start with a fresh Puppy install I think, plus record any error messages properly so that Hadar can advise) but I think it's proven in principle that rootz can run under Puppy.

Even though a right old hack-job, I feel really pleased with myself!

paul

User avatar
paulh177
Posts: 975
Joined: Tue 22 Aug 2006, 20:41

#19 Post by paulh177 »

Ok, I have installed a fresh Puppy 3.01 as a full hd install (my own remaster) and then, before doing anything else, recompiled dchroot. It runs ok without having to copy any of the boost libs. I've then installed the fuse/sshfs dotpup, rootz, and httpfs and used the Ubuntu example from Hadar's website to test it (as in my post above). Again I can see the remotely mounted ISO ok.

I'm slightly concerned about the security implications of running a remote fs as root by the way, mostly because I don't understand if there are any.

So far as I can tell rootz is basically a small handful of scripts which knit together httpfs, fuse, dchroot, unionfs and squashfs. This is very Puppy-like! As rootz is expecting to be running on a Debian it expects that there are multiple users and not just a single root user; which provokes some errors from the scripts.

I've hacked the scripts a bit (mostly having to change mount to mount-FULL) and copied a version of tac over to make one work.
It also assumes firefox as default browser for application launching, so that was easy enough to install (once I'd hacked the relevant setup script to allow it to run as root) BUT I think the application launcher depends on zenity. So far as I can see zenity is a gnome app. so not easily transferable to a simple Puppy environment. Unless it can use gtkdialog instead?

I think I've reached the limits of my competence now.

paul

whadar
Posts: 20
Joined: Mon 11 Feb 2008, 22:14

#20 Post by whadar »

Wow, that's a great improvement - Thanks Paul!
So far as I can tell rootz is basically a small handful of scripts which knit together httpfs, fuse, dchroot, unionfs and squashfs. This is very Puppy-like!
I am glad the you think that way and even more that you managed to hack rootz to overcome the obstacles (until the zenity issue). I know rootz is not generic enough at the moment, and too much debian oriented. We are in the progress of making it more generic, so your changes are most welcome... Any chance that you send back the code to the rootz mailing list?
I think the application launcher depends on zenity. So far as I can see zenity is a gnome app. so not easily transferable to a simple Puppy environment. Unless it can use gtkdialog instead?
Yes currently rootz uses zenity as the frontend GUI. Very hacky I know, but that's what we have at the moment :oops:

The good thing is that GUI is not a must! You can launch apps without the GUI (without the confirmation dialog and console window which are not mandatory). I wrote a short explanation on how to do that in FAQ

rootz currently doesn't work with gtkdialog and I didn't want to support all those different dialogs (kdialog, xdialog, etc). In version 0.4, zenity is planned to be abandoned for our self-developed GUI launcher.
Even though a right old hack-job, I feel really pleased with myself!
:D well done... I am also very pleased, and I hope after zenity it will work!

Cheers,
Hadar

Post Reply