# Cluster: Sage Chroot

### From Earlham Cluster Department

(→Sage Install) |
|||

Line 23: | Line 23: | ||

== Sage Install == | == Sage Install == | ||

- | I downloaded the tar ball normally and then moved it into the chroot from the base filesystem. I untarred it from the base filesystem, too, then ran | + | I downloaded the tar ball normally and then moved it into the chroot from the base filesystem. I untarred it from the base filesystem, too, and put it in the directory /home/sage in the chroot, then ran (as the sage user in the chroot) |

:<code>make</code> | :<code>make</code> | ||

:<code>make test</code> | :<code>make test</code> | ||

:<code>make install</code> | :<code>make install</code> |

## Revision as of 15:28, 10 September 2009

In order to chroot the Sage notebook, I used a mix of steps from the following guides:

- MSRI SAGE Installation Guide: Running the SAGE Notebook Securely
- [sage-support] Re: How to run the notebook in the background
- [sage-support] chroot jail -- unable to mount image file
- [sage-devel] Re: SAGE in chroot

## Chroot

The image itself is at /mounts/bobsced/sage_chroot.image (aka /cluster/bobscednew/sage_chroot.image). It gets mounted in the same directory as sage_chroot (it's an ext3 filesystem). The chroot needs to have /dev and /proc, so here's a copy of the relevant parts of `/etc/fstab`

:

/mounts/bobsced/sage_chroot.image /mounts/bobsced/sage_chroot ext3 loop 0 0 /dev /mounts/bobsced/sage_chroot/dev devpts defaults 0 0 /proc /mounts/bobsced/sage_chroot/proc proc defaults 0 0

In order to get yum to install there, I had to edit `/etc/yum.repos.d/CentOS-Base.repo`

and hard code $releasever to 3.5. I also commented out all the repositories except the top one. Then I was able to run:

`yum --installroot=/mounts/bobsced/sage_chroot install bash fileutils sed which make gcc gcc-c++ m4 tar gzip bzip2 flex bison findutils yum rpm passwd perl diffutils`

to set up the base install of the OS for the chroot. It also needs a copy of /etc/hosts for the localhost entry.

## Sage Install

I downloaded the tar ball normally and then moved it into the chroot from the base filesystem. I untarred it from the base filesystem, too, and put it in the directory /home/sage in the chroot, then ran (as the sage user in the chroot)

`make`

`make test`

`make install`