What is Rootz exactly, and can it run in Puppy?
What is Rootz exactly, and can it run in Puppy?
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
Artie
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
Cheers,
Hadar
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
Cheers,
Hadar
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 ...
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 ...
- Boo2themoon
- Posts: 54
- Joined: Wed 15 Aug 2007, 20:50
- Location: West Country UK
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
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
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:
Googling for these latter two has been fruitless so far and I haven't a clue what the former two imply.
paul
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
paul
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
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
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 implies that there's a problem with the libpam that I copied from Knoppix
2. The message 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
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)
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)
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
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.
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.
-
- Posts: 405
- Joined: Mon 01 Jan 2007, 20:24
- Location: Hayslope, near Middlemarch, Midlands, England
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.whadar wrote:..... All I am saying here are speculations, since I don't have puppy and can't try it by myself...
Cheers,
Hadar
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!
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.
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.
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 hereYou 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.
Regards,
Hadar
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:
I tried downloading and installing the slackware cxx libraries to no avail (yes I even rebooted)
Dunno what to do next
paul
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)
#
Dunno what to do next
paul
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 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
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
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
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
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
Wow, that's a great improvement - Thanks Paul!
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.
Cheers,
Hadar
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?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!
Yes currently rootz uses zenity as the frontend GUI. Very hacky I know, but that's what we have at the momentI 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?
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.
well done... I am also very pleased, and I hope after zenity it will work!Even though a right old hack-job, I feel really pleased with myself!
Cheers,
Hadar