Go to file
Stéphane Graber dc0682900a init: Add upstart jobs and some more changes (v3)
This adds the 3 upstart jobs that we've had in Ubuntu for a while:
 - lxc.conf: Main upstart job, triggers lxc-net.conf based on config
 - lxc-instance.conf: Triggered by lxc.conf for each auto-started container
 - lxc-net.conf: Triggered by lxc.conf, sets up lxcbr0, NAT, mangling, ...

In addition, there are two extra config files in /etc/default:
 - lxc: Allows setting some values like http proxying, disabling autostart, ...
 - lxc-net: Network configuration for the lxcbr0 bridge

This change also disables the sysv script for all distros but Oracle as
the current script won't work on either Ubuntu nor Debian and I suspect
quite a few more distros, so it's not nearly as distro-agnostic as we
thought.

For Debian, only install the upstart jobs and systemd unit.
For Ubuntu, only install the upstart jobs.

This change also moves all the init related stuff to config/init/

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
2014-01-16 17:18:38 -05:00
config init: Add upstart jobs and some more changes (v3) 2014-01-16 17:18:38 -05:00
doc doc: Update no-netns for lxc.network.type = none 2014-01-16 16:28:20 -05:00
hooks Fix small mistake with squid-deb-proxy hook 2014-01-15 10:41:16 -05:00
src init: Add upstart jobs and some more changes (v3) 2014-01-16 17:18:38 -05:00
templates lxc-ubuntu-cloud: Fix cache and lock location 2014-01-15 23:49:02 -05:00
.gitignore gentoo: Initial template 2014-01-14 16:45:51 -05:00
.travis.yml travis: Use NOTICE instead of PRIVMSG on IRC 2014-01-07 12:14:15 -05:00
AUTHORS Initial revision 2008-08-06 14:32:29 +00:00
autogen.sh licensing: Add missing headers and FSF address 2013-09-03 14:33:03 -04:00
configure.ac init: Add upstart jobs and some more changes (v3) 2014-01-16 17:18:38 -05:00
CONTRIBUTING Update mailing-list addresses 2013-12-08 17:51:28 -05:00
COPYING Minor documentation updates 2012-12-06 00:02:36 -05:00
INSTALL Minor documentation updates 2012-12-06 00:02:36 -05:00
lxc.pc.in Update maintainers and URLs 2013-10-20 00:48:48 -04:00
lxc.spec.in init: Add upstart jobs and some more changes (v3) 2014-01-16 17:18:38 -05:00
MAINTAINERS Update mailing-list addresses 2013-12-08 17:51:28 -05:00
Makefile.am EXTRA_DIST: Fix missing files with "make dist" 2013-03-26 13:12:29 -04:00
NEWS Initial revision 2008-08-06 14:32:29 +00:00
README Update mailing-list addresses 2013-12-08 17:51:28 -05:00
runapitests.sh licensing: Add missing headers and FSF address 2013-09-03 14:33:03 -04:00
TODO Remove all trailing whitespaces. 2012-11-26 12:08:13 -05:00

Please see the COPYING file for details on copying and usage.
Please refer to the INSTALL file for instructions on how to build.

What is lxc:

  The container technology is actively being pushed into the mainstream linux
  kernel. It provides the resource management through the control groups  aka
  process containers and resource isolation through the namespaces.

  The  linux  containers, lxc, aims to use these new functionalities to pro-
  vide an userspace container object which provides full  resource  isolation
  and resource control for an applications or a system.

  The first objective of this project is to make the life easier for the ker-
  nel developers involved in the containers project and  especially  to  con-
  tinue  working  on  the  Checkpoint/Restart  new features. The lxc is small
  enough to easily manage a container with simple command lines and  complete
  enough to be used for other purposes.

Using lxc:

  Refer the lxc* man pages (generated from doc/* files)

Downloading the current source code:

  Source for the latest released version can always be downloaded from
  http://linuxcontainers.org/downloads/

  You can browse the up to the minute source code and change history online.
  http://github.com/lxc/lxc

  For detailed build instruction refer to INSTALL and man lxc man page
  but a short command line should work:
  ./autogen.sh && ./configure && make && sudo make install
  preceded by ./autogen.sh if configure do not exist yet.

Troubleshooting:

  If the ./autogen.sh script shows the following message: "aclocal: not found",
  you are likely missing the "automake" package. Make sure it's installed and
  try again.

  If the ./configure script gives you the following message:
    "configure: error: Please install the libcap development files."
  you are likely missing the "libcap-dev" package.
  The configure script will usually give you hints as to what you are missing,
  looking for those in your package manager will usually give you the package
  that you need to install.

Getting help:

  when you find you need help, you can check out one of the two
  lxc mailing list archives and register if interested:
  http://lists.linuxcontainers.org/listinfo/lxc-devel
  http://lists.linuxcontainers.org/listinfo/lxc-users

Portability:

  lxc  is  still  in  development, so the command syntax and the API can
  change. The version 1.0.0 will be the frozen version.

  lxc is developed and tested on Linux since kernel mainline version 2.6.27
  (without network) and 2.6.29 with network isolation.
  It's compiled with gcc, and should work on most architectures as long as the
  required kernel features are available. This includes (but isn't limited to):
  i686, x86_64, ppc, ppc64, S390, armel and armhf.

AUTHOR
       Daniel Lezcano <daniel.lezcano@free.fr>

Seccomp with LXC
----------------

To restrict a container with seccomp, you must specify a profile which is
basically a whitelist of system calls it may execute.  In the container
config file, add a line like

lxc.seccomp = /var/lib/lxc/q1/seccomp.full

I created a usable (but basically worthless) seccomp.full file using

cat > seccomp.full << EOF
1
whitelist
EOF
for i in `seq 0 300`; do
    echo $i >> seccomp.full
done
for i in `seq 1024 1079`; do
    echo $i >> seccomp.full
done

 -- Serge Hallyn <serge.hallyn@ubuntu.com>  Fri, 27 Jul 2012 15:47:02 +0600