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

Re: Daemons in schroot or how to start chroot automatically



On Thu, Jul 19, 2012 at 12:34:26PM +0000, Ramon Hofer wrote:
> I have some questions about starting daemons in a chroot environment or 
> rather about starting schroot on bootup.
> The reason I want to do this is to clean up my server. It's a Squeeze 
> with an AMD64 kernel from backports. Some packages are from testing which 
> gives me problems because of dependencies that can't be fullfilled: 
> sabnzbdplus from testing depends on python so I can't install build-
> essential...
> 
> So far I was able to setup a chroot with schroot and installed sid in it.
> 
> [sid]
> description=Debian sid (unstable)
> directory=/srv/chroot/sid
> users=hoferr
> groups=hoferr
> root-groups=root
> aliases=unstable,default

set type=directory here

> Installed locales and reconfigured them. I also installed vim.
> I noticed that auto-completion isn't working.
> What packages should I install? Is auto-complete-el sufficient or is 
> there a meta package for some base system packages?

You could run "tasksel" and install the "standard" system I guess.

> In the chroot I have created a new user called hoferr and am now able to 
> login without root privilieges.
> But in there sudo is missing. Maybe this can be resolved by installing 
> the correct base system meta package mentioned above?

You could install sudo.  But why?  This is what schroot /is/
(chroot + sudo).  If you want to do stuff as root inside the chroot,
just add yourself to root-groups/root-users.

> Aside some missing packages everything looks promising.
> To get back to my main reason of doing this: After stopping the "old" 
> sabnzbdplus can I just install the chroot sabnzbplus with the "normal" 
> home partition mounted? It will probably start automatically when the 
> chroot is started and I should be able to access its web service from the 
> LAN.
> 
> But how can I start the chroot on bootup automatically. i probably just 
> have to write a init.d script and do a update.rc.
> 
> Is this enough as init.d script?
> http://pastebin.com/raw.php?i=hHSvG30v

No.  You need LSB dependencies (you'll need
  Required-Start: $local_fs $remote_fs $network $syslog schroot
and the same for Required-Stop).
You will also need to start an schroot /session/, and then start
up the services inside that session.  And you'll need to stop the
services and end the session on stop.

Note that schroot 1.6.x (in unstable) have a new facility for
starting and stopping services inside the chroot.  In schroot.conf,
add "setup.services=service1,service2" etc.  It won't handle LSB
ordering or anything advanced though--it just runs invoke-rc.d in
order on the list when you start a session, and stop in reverse
order on ending the session.  Using this facility would avoid the
need to manually stop and start services in your init script; you'd
just need to create and end a session.  Whether that's useful or
not depends on your specific needs, but it's there if you want to
try it out.


Regards,
Roger

-- 
  .''`.  Roger Leigh
 : :' :  Debian GNU/Linux    http://people.debian.org/~rleigh/
 `. `'   schroot and sbuild  http://alioth.debian.org/projects/buildd-tools
   `-    GPG Public Key      F33D 281D 470A B443 6756 147C 07B3 C8BC 4083 E800


Reply to: