Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:autres:vm:lxc [02/03/2014 16:09] paskal |
doc:autres:vm:lxc [02/03/2014 18:36] paskal [Utilisation] |
||
---|---|---|---|
Ligne 14: | Ligne 14: | ||
===== Introduction ===== | ===== Introduction ===== | ||
- | LXC (LinuX Container) est un système permettant d'installer plusieurs distributions séparée les unes des autres (comme des machines virtuelles) mais qui partagent malgré tout le même noyau du système hôte. Il est donc à mi-chemin entre un //chroot// et une machine virtuelle. | + | LXC (LinuX Container) est un système permettant d'installer plusieurs distributions et applications séparées les unes des autres (comme des machines virtuelles) mais qui partagent malgré tout le même noyau du système hôte. Il est donc à mi-chemin entre un //chroot// et une machine virtuelle. |
- | <note warning>Attention, actuellement, sous Debian 7 Wheezy, LXC peut ne pas fournir une isolation suffisante, permettant ainsi aux systèmes invités de compromettre le système hôte, sous certaines conditions.\\ | + | <note warning>Attention ! Actuellement, sous Debian 7 Wheezy, LXC peut ne pas fournir une isolation suffisante, permettant ainsi aux systèmes invités de compromettre le système hôte, sous certaines conditions.\\ |
Cette situation est en cours d'évolution avec 3.12/lxc-beta2 : [[https://www.stgraber.org/2014/01/17/lxc-1-0-unprivileged-containers/ | https://www.stgraber.org/2014/01/17/lxc-1-0-unprivileged-containers/]]</note> | Cette situation est en cours d'évolution avec 3.12/lxc-beta2 : [[https://www.stgraber.org/2014/01/17/lxc-1-0-unprivileged-containers/ | https://www.stgraber.org/2014/01/17/lxc-1-0-unprivileged-containers/]]</note> | ||
===== Installation ===== | ===== Installation ===== | ||
Ligne 35: | Ligne 35: | ||
=== /etc/fstab === | === /etc/fstab === | ||
- | LXC utilise le mécanisme des [[http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/cgroups/cgroups.txt?id=HEAD|Control Groups]] (les //cgroups//). \\ | + | LXC utilise le mécanisme des [[http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/cgroups/cgroups.txt?id=HEAD|Control Groups]] (les //cgroups//), une fonctionnalité du noyau Linux pour limiter, compter et isoler l’utilisation des ressources (processeur, mémoire, utilisation disque, etc.). Voir les détails sur [[http://fr.wikipedia.org/wiki/Cgroups|Wikipédia]] (fr). |
Il est nécessaire de lister ce système de fichier virtuel dans ///etc/fstab// | Il est nécessaire de lister ce système de fichier virtuel dans ///etc/fstab// | ||
Ligne 82: | Ligne 83: | ||
LXC vient avec des //Templates//, c'est à dire des scripts permettant l'installation simple d'un système. Il en existe pour Debian, Archlinux, Fedora, OpenSuse et Ubuntu. | LXC vient avec des //Templates//, c'est à dire des scripts permettant l'installation simple d'un système. Il en existe pour Debian, Archlinux, Fedora, OpenSuse et Ubuntu. | ||
- | Créons don par exemple un système, tiens au hasard, **Debian** :-D | + | Créons donc par exemple un système, tiens au hasard, **Debian** :-D |
<code root>lxc-create -n myfirstcontainer -t debian</code> | <code root>lxc-create -n myfirstcontainer -t debian</code> | ||
Ligne 91: | Ligne 92: | ||
<code root>lxc-create -n sid-container -t debian -- -r sid</code> | <code root>lxc-create -n sid-container -t debian -- -r sid</code> | ||
+ | |||
+ | ==== Personnaliser un fichier template ==== | ||
+ | |||
+ | Si les templates fournis ne répondent pas à vos besoin, ils peuvent néanmoins constituer un point de départ à la confection de votre modèle. \\ | ||
+ | Par exemple, les modifications suivantes vous permettront d'avoir les locales françaises : | ||
+ | <code root>sed -i -e "s/locale-gen en_US.UTF-8 UTF-8/locale-gen fr_FR.UTF-8/g" /usr/share/lxc/templates/lxc-debian | ||
+ | sed -i -e "s/update-locale LANG=en_US.UTF-8/update-locale LANG=fr_FR.UTF-8/g" /usr/share/lxc/templates/lxc-debian</code> | ||
==== Le fichier de configuration ==== | ==== Le fichier de configuration ==== | ||
Ligne 184: | Ligne 192: | ||
==== Se connecter au conteneur ==== | ==== Se connecter au conteneur ==== | ||
- | <code>lxc-console -n myfirstcontainer</code> | + | <code root>lxc-console -n myfirstcontainer</code> |
Le login/mot de passe est //root/root// [[doc:systeme:passwd|à changer à la première connexion]] :-) | Le login/mot de passe est //root/root// [[doc:systeme:passwd|à changer à la première connexion]] :-) | ||
+ | <code>Type <Ctrl+a q> to exit the console, <Ctrl+a Ctrl+a> to enter Ctrl+a itself | ||
+ | |||
+ | |||
+ | Debian GNU/Linux 7 myfirstcontainer tty1 | ||
+ | |||
+ | myfirstcontainer login: root | ||
+ | Mot de passe : | ||
+ | Dernière connexion : dimanche 2 mars 2014 à 16:45:20 CET sur tty1 | ||
+ | Linux myfirstcontainer 3.2.0-4-amd64 #1 SMP Debian 3.2.54-2 x86_64 | ||
+ | |||
+ | The programs included with the Debian GNU/Linux system are free software; | ||
+ | the exact distribution terms for each program are described in the | ||
+ | individual files in /usr/share/doc/*/copyright. | ||
+ | |||
+ | Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent | ||
+ | permitted by applicable law. | ||
+ | root@myfirstcontainer:~# df -h | ||
+ | Sys. fich. Taille Util. Dispo Uti% Monté sur | ||
+ | tmpfs 372M 20K 372M 1% /run | ||
+ | tmpfs 5,0M 0 5,0M 0% /run/lock | ||
+ | tmpfs 1,5G 0 1,5G 0% /run/shm | ||
+ | rootfs 7,7G 6,5G 865M 89% / | ||
+ | root@myfirstcontainer:~# ifconfig eth0 | ||
+ | eth0 Link encap:Ethernet HWaddr 00:ff:12:34:56:79 | ||
+ | inet adr:192.168.1.57 Bcast:192.168.1.255 Masque:255.255.255.0 | ||
+ | adr inet6: fe80::2ff:12ff:fe34:5679/64 Scope:Lien</code> | ||
==== Quitter le conteneur ==== | ==== Quitter le conteneur ==== |