Re: Getting started



On Sat, 2012-07-14 at 13:52 +0100, Sam Thursfield wrote:

> First - what is the recommended "host" system? I'm guessing this
> should be in a VM, and after noticing the lchown() call in the source
> code, am I right in thinking that all the commands should be run as
> root?

To do a bootable OS install, yes; the repo that ostadmin creates is
"bare", which means files are stored as themselves; to retrieve a file
is just a matter of making a hard link.  But you can also make an
"archive mode" repository as any user; that's how the "ostbuild" build
system works. 

"archive mode" stores the real metadata (uid, gid) out of band.  This
is also the same way the http://ostree.gnome.org server is configured.
It's a little bit like how you can copy around .rpm/.deb files as any
user, except the OSTree storage model is significantly more
space-efficient over time than a pile of .rpm/.deb files, because
it deduplicates.

You can download the repo files as a regular user, if say you wanted
to just look at what's in the repository.

$ id -u
500
$ cd ~/tmp
$ mkdir repo
$ ostree --repo=repo init --archive
$ ostree --repo=repo remote add gnome http://ostree.gnome.org/repo trees/gnomeos-3.6-i686-{runtime,devel}
$ ostree-pull --repo=repo --related --depth=3 gnome 

You can even make a checkout of the tree as a user - all the files
will be owned by that user, and we won't attempt to apply any extended
attributes (think SELinux):

$ ostree --repo=repo checkout -U --no-triggers trees/gnomeos-3.6-i686-runtime runtime-tree

The "-U" there is the important bit.

Regardless, doing an install in a VM makes sense if you want to play
around with total safety.  However, the only thing that OSTree touches
at all from the "host" system is the GRUB configuration.  Everything
else is entirely independent, and I'm really careful in the code about
this.

I suppose the only other possible interaction with the host is that
OSTree can easily consume a large number of inodes.  So even though
you may have a lot of disk space in blocks, you can run up against
ext3/4 inode limits.  I haven't hit this myself, but I imagine with
a smaller disk it's possible.

> Secondly, having done this setup, I'm consistently getting "Connection
> terminated unexpectedly" when I run ostree-pull.

I think this is the ostree.gnome.org apache configuration hitting
concurrent download limits, so it's terminating the connection.  But I
can't reproduce the problem here though =/

The libsoup Request API is pretty new, but I'm happy to depend on it
and work out the bugs, and help make GNOME better.

Ah, I did just get the connection terminated error, rerunning in gdb now
with breakpoints configured like this:

b g_set_error if ! (err->domain == 118 && err->code == 27)
b g_set_error_literal if ! (err->domain == 118 && err->code == 20)




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]