Vous n'êtes pas identifié(e).
lxc-start: mediawiki: confile.c: set_config_net: 293 lxc.net must not have a value
lxc-start: mediawiki: parse.c: lxc_file_for_each_line_mmap: 131 Failed to parse config file "/var/lib/lxc/mediawiki/config" at line "lxc.network.type = veth "
Failed to load config for mediawiki
lxc-start: mediawiki: tools/lxc_start.c: main: 242 Failed to create lxc_container
Sur l'hôte j'ai bien lxcbr0 mais les conteneurs ne s'en occupent pas.
Dernière modification par Priareos (22-03-2022 23:06:10)
Hors ligne
- Quelle distribution dans le container surtout ? Certaines sont tellement minimales qu'il faut y ajouter plein de trucs pour en faire quelque chose...
- Container «privilégié» (en tant que root) ou «non privilégié» (en tant qu’utilisateur) ?
- quelle est la configuration du container :
- si container «privilégié», contenu du fichier ''/var/lib/lxc/mediawiki/config''
- si container «non privilégié», contenu du fichier ''$HOME/.local/share/lxc/mediawiki/config''
- Contenu de ''/etc/lxc/lxc.conf'' (privilégié) ou '' ~/.config/lxc/lxc.conf"" (non-privilégié) ?
- Réseau: contenu de ''/etc/default/lxc-net'' ?
...
Y a plein d’options possibles pour parvenir à diagnostiquer...
As-tu suivi un tuto ou des manip particulières pour installer LXC sur Debian Bullseye ?
@suivre, @+
Dernière modification par Cram28 (20-03-2022 15:13:25)
Travaille du chapeau: "Je sais que vous croyez comprendre ce que vous pensez que j'ai dit, mais je ne suis pas certain que vous réalisiez que ce que vous avez entendu n'est pas exactement ce que je voulais dire..."
Hors ligne
Failed to parse config file "/var/lib/lxc/mediawiki/config" at line "lxc.network.type = veth "
Donc container "privilégié"...
Sur un des miens, j'ai un truc comme ça:
Avec la v 4.0.6:
Travaille du chapeau: "Je sais que vous croyez comprendre ce que vous pensez que j'ai dit, mais je ne suis pas certain que vous réalisiez que ce que vous avez entendu n'est pas exactement ce que je voulais dire..."
Hors ligne
debootstrap
libpam-cgfs
python3-lxc
dnsmasq-base
bridges-utils
lxc-dev
Voici la commande pour créer le conteneur:
#lxc-create -n mediawiki -t debian -- -r bullseye -a amd64
Conteneur bullsyeye privilégié donc. J’obtiens le conteneur mediawiki sans interface autre que la loopback.
Le contenu de /var/lib/lxc/mediawiki/config :
# Template used to create this container: /usr/share/lxc/templates/lxc-debian
# Parameters passed to the template: -r bullseye -a amd64
# For additional config options, please look at lxc.container.conf(5)
# Uncomment the following line to support nesting containers:
#lxc.include = /usr/share/lxc/config/nesting.conf
# (Be aware this has security implications)
lxc.network.type =
lxc.network.ipv4 =
lxc.network.link =
lxc.rootfs.path = dir:/var/lib/lxc/mediawiki/rootfs
# Common configuration
lxc.include = /usr/share/lxc/config/debian.common.conf
# Container specific configuration
lxc.tty.max = 4
lxc.uts.name = mediawiki
lxc.arch = amd64
lxc.pty.max = 1024
Contenu de /etc/lxc/lxc.conf, il n'existait pas au départ sans que ça pose problème mais au fil de mes recherches j'ai créé un default.conf, que j'ai renommé lxc.conf sans que ça change quoi que ce soit. Il n'est visiblement pas pris en compte.
lxc.network.type = veth
lxc.network.ipv4 = 10.10.10.1/24
lxc.network.link = lxcbr0
Contenu de /etc/default/lxc-net:
USE_LXC_BRIDGE="true"
# Honor system's dnsmasq configuration
#LXC_DHCP_CONFILE=/etc/dnsmasq.conf
lxc.net.0.type = veth
lxc.net.0.link = lxcbr0
lxc.net.0.flags = up
Hors ligne
- Fichier de config des chemins ''/etc/lxc/lxc.conf''. A priori peut rester vide chez toi, car chez moi j'ai des chemins particuliers (OS sur clé USB - pas de place - et avec des volumes logiques LVM possibles) ce qui donne:
- Fichier de config par défaut des containers (il est utilisé pour enrichir la config de chaque container dans ''/var/lib/lxc/<container>/config'' lors de leur création):
Les deux dernières lignes peuvent être omises à mon sens...
- le fichier "réseau" qui exploite bridge et dnsmasq:
- Et du coup, pour la route, je te donne aussi mon fichier de config dnsmasq des adresses de mes containers, pointé ci-dessus. Attention: plage d'adresses en 10.0.3.x:
- Pour prendre en compte les éventuelles modifs que tu feras:
- Je me suis fait un bridge (qui me permet de choisir une adresse sur le réseau privé des container en 10.3.0.x ou sur le LAN / DHCP de la box). j'ai modifié le fichier suivant selon:
- Si modif., prise en compte avec:
- Enfin, je préfère aller chercher les images sur le référentiel linuxcontainer a priori plus «fraîches», avec le template ''download'' :
J'ai gratté un truc dans ce wiki - Dans un autre contexte, ne pas tout prendre les yeux fermés, il date un peu, en particulier il ne marche plus pour les containers non privilégiés (à date commandes dédiées ajoutées avec la v 4.0.6, faut que le l'actualise...).
Bonnes manip., @+
Travaille du chapeau: "Je sais que vous croyez comprendre ce que vous pensez que j'ai dit, mais je ne suis pas certain que vous réalisiez que ce que vous avez entendu n'est pas exactement ce que je voulais dire..."
Hors ligne
lxc-start: mediawiki: parse.c: lxc_file_for_each_line_mmap: 131 Failed to parse config file "/var/lib/lxc/mediawiki/config" at line "lxc.net.O.link = lxcbr0"
Failed to load config for mediawiki
lxc-start: mediawiki: tools/lxc_start.c: main: 242 Failed to create lxc_container
Il faut dire que lxcbr0 reste DOWN quoi qu'il arrive chez moi.
Hors ligne
Bizarre, c'est sensé être «zero».link
.
Que retournent:
- Les adresses:
- Le service lxc-net:
- Le petit serveur dns :
@+
Travaille du chapeau: "Je sais que vous croyez comprendre ce que vous pensez que j'ai dit, mais je ne suis pas certain que vous réalisiez que ce que vous avez entendu n'est pas exactement ce que je voulais dire..."
Hors ligne
lxc.network.type =
lxc.network.ipv4 =
lxc.network.link =
Je n'ai plus de /etc/lxc/lxc.conf, comme avant mais visiblement il n'est pas utile, en tout cas par défaut. De même dans /etc/default/lxc-net je n'ai plus que la première ligne, le reste étant ce que j'avais ajouté il me semble.
En tout cas merci à toi de m'avoir aidé. Si tu sais comment avoir une connexion par pont ça m’intéresse aussi
Hors ligne
Supposons que ton container ait l'adresse 10.0.3.47 sur le réseau des containers, attribuée par la partie DCHP de 'dnsmasq'; tu retrouves cette adresse avec deux commandes possibles:
- ou la liste des containers qui affiche les adresses attribuées:
- ou plus précisémment pour ton container nommé:
Supposons que ton hôte de containers s'appelle 'nom-host' et que tu veuilles atteindre 'mediawiki' avec 'http://nom-host:60080' depuis une tablette en wifi par exemple.
Alors pour «NATer» tu utiliseras:
(interface du host 'br0' ou 'ensp030' ou l'interface wifi selon ta config....)
L'utilisation de l'url 'http://nom-host:60080' dans ton navigateur préféré te donneras accès à ton service !
et hop...
(évidemment au préalable, tu te seras «attaché» au container pour installer tout ce qu'il faut dedans:
)
@+
Travaille du chapeau: "Je sais que vous croyez comprendre ce que vous pensez que j'ai dit, mais je ne suis pas certain que vous réalisiez que ce que vous avez entendu n'est pas exactement ce que je voulais dire..."
Hors ligne
Dernière modification par Priareos (20-03-2022 23:05:37)
Hors ligne
- Si tu commentes 'lxcbr0' et dé-commentes 'br0', tu arrêtes et relances le container et il va chercher son adresse sur la BOX de ton LAN en 192.168.1.x.
- Tu re-commentes / dé-commentes à l'inverse, tu arrêtes et relances le container et il va chercher son adresse sur DHCP 'dnsmasq' en 10.0.3.x.
Perso, j'utilise cela pour la mise au point, mais pas en «cible» / «prod»...
En effet, l'inconvénient majeur des containers dits «privilégiés» est qu'ils sont créés depuis le compte 'root'. Cela signifie qu'un malin qui parviendrait à l'atteindre et à en sortir se retrouverait 'root' sur l'hôte. Pas bon ! Et moins encore si ce container est exposé directement sur le LAN, voire sur internet...
Non seulement je n'utilise que du container «non privilégié» (le propriétaire du container est un utilisateur «banalisé» sur l'hôte, le pirate n'aura jamais sur l'hôte que les droits de cet utilisateur-là), mais en plus je le «planque» à un double niveau: j'ai un container 'reverse proxy' pour les services web, pas branché à la box mais seul «NATé» sur l'hôte, et qui peut atteindre «derrière» tous les autres containers qui sont sur son réseau interne et jamais exposés, eux...
Mais bon, pour démarrer et voir comment ça marche, c'est bien de garder cette ligne droite plus simple !
@+
Travaille du chapeau: "Je sais que vous croyez comprendre ce que vous pensez que j'ai dit, mais je ne suis pas certain que vous réalisiez que ce que vous avez entendu n'est pas exactement ce que je voulais dire..."
Hors ligne
$ lxc-create -n mediawiki -t debian -- -r bullseye -a amd64
This template can't be used for unprivileged containers.
Dernière modification par Priareos (21-03-2022 17:13:39)
Hors ligne
Travaille du chapeau: "Je sais que vous croyez comprendre ce que vous pensez que j'ai dit, mais je ne suis pas certain que vous réalisiez que ce que vous avez entendu n'est pas exactement ce que je voulais dire..."
Hors ligne
Dernière modification par Priareos (21-03-2022 21:52:11)
Hors ligne
Travaille du chapeau: "Je sais que vous croyez comprendre ce que vous pensez que j'ai dit, mais je ne suis pas certain que vous réalisiez que ce que vous avez entendu n'est pas exactement ce que je voulais dire..."
Hors ligne
donne maintenant:
lxc 20220322094732.531 ERROR conf - ../lxc/conf.c:lxc_map_ids:2865 - newuidmap failed to write mapping "": newuidmap 4065 0 10000 65536 65536 0 1
Failed to write id mapping for child process
lxc 20220322094732.532 ERROR utils - ../lxc/utils.c:lxc_setgroups:1417 - Operation not permitted - Failed to setgroups()
lxc 20220322094732.532 ERROR utils - ../lxc/utils.c:lxc_switch_uid_gid:1395 - Invalid argument - Failed to switch to gid 0
lxc-create: mediawiki: lxccontainer.c: create_run_template: 1616 Failed to create container from template
lxc-create: mediawiki: tools/lxc_create.c: main: 319 Failed to create container mediawiki
Dernière modification par Priareos (22-03-2022 10:52:28)
Hors ligne
Travaille du chapeau: "Je sais que vous croyez comprendre ce que vous pensez que j'ai dit, mais je ne suis pas certain que vous réalisiez que ce que vous avez entendu n'est pas exactement ce que je voulais dire..."
Hors ligne
J'ai donnée la propriété du fichier à mon utilisateur standard et du coup il ne râle plus à ce propos mais a trouvé encore une autre raison:
Dernière modification par Priareos (22-03-2022 18:46:11)
Hors ligne
- définir les éléments de config. valables pour toutes les créations de containers non privilégiés à venir dans '~/.config/lxc/default.conf'. C'est un truc du genre:
- Si ton utilisateur est 'priareos', définir ce fichier/contenu pour lui donner des droits de création/utilisation des interfaces réseau (en nombre d'occurrences, nbre de containers quoi):
(pour autant que tu ais bien défini le bridge 'br0', sinon pas de ligne 'br0')
- A partir de là, tu crées ton container:
- et tu le lances avec:
- et tu t'y attaches (tu vas dedans pour y installer «tes petites affaires» / tes services) avec:
Et pis c tout ... «normalement», si je m'aie pas gouré cake-part...
@+
Dernière modification par Cram28 (22-03-2022 20:30:23)
Travaille du chapeau: "Je sais que vous croyez comprendre ce que vous pensez que j'ai dit, mais je ne suis pas certain que vous réalisiez que ce que vous avez entendu n'est pas exactement ce que je voulais dire..."
Hors ligne
$ lxc-create -n mediawiki -t download -- -d debian -r bullseye -a amd64
Setting up the GPG keyring
ERROR: Unable to fetch GPG key from keyserver
lxc-create: mediawiki: lxccontainer.c: create_run_template: 1616 Failed to create container from template
lxc-create: mediawiki: tools/lxc_create.c: main: 319 Failed to create container mediawiki
A moins qu'il y ait un problème sur le serveur avec ses clés GPG mais j'en doute.
Hors ligne
...
Travaille du chapeau: "Je sais que vous croyez comprendre ce que vous pensez que j'ai dit, mais je ne suis pas certain que vous réalisiez que ce que vous avez entendu n'est pas exactement ce que je voulais dire..."
Hors ligne
Ca l ' fait ou bien ?
Travaille du chapeau: "Je sais que vous croyez comprendre ce que vous pensez que j'ai dit, mais je ne suis pas certain que vous réalisiez que ce que vous avez entendu n'est pas exactement ce que je voulais dire..."
Hors ligne
$ lxc-create -n mediawiki -t download -- -d debian -r bullseye -a amd64 --keyserver hkp://keyserver.ubuntu.com
Setting up the GPG keyring
Downloading the image index
Downloading the rootfs
Downloading the metadata
The image cache is now ready
Unpacking the rootfs
---
You just created a Debian bullseye amd64 (20220322_05:25) container.
To enable SSH, run: apt install openssh-server
No default root or user password are set by LXC.
Là je me dis que c'est enfin bon mais c'est oublier que lxc m'en veux terriblement:
$ lxc-unpriv-start -n mediawiki
Running scope as unit: run-r53ff9c0395ba4258a22be3f0c2ba3ac8.scope
lxc-start: mediawiki: lxccontainer.c: wait_on_daemonized_start: 859 Received container state "ABORTING" instead of "RUNNING"
lxc-start: mediawiki: tools/lxc_start.c: main: 308 The container failed to start
lxc-start: mediawiki: tools/lxc_start.c: main: 311 To get more details, run the container in foreground mode
lxc-start: mediawiki: tools/lxc_start.c: main: 313 Additional information can be obtained by setting the --logfile and --logpriority options
Hors ligne
Il va nous faire un fichier de log, plus «riche» peut-être...
Qu'y a t'il dedans:
?
(on avance quand même... )
Travaille du chapeau: "Je sais que vous croyez comprendre ce que vous pensez que j'ai dit, mais je ne suis pas certain que vous réalisiez que ce que vous avez entendu n'est pas exactement ce que je voulais dire..."
Hors ligne
$ cat mediawiki.log
lxc-start mediawiki 20220322210627.836 ERROR start - start.c:print_top_failing_dir:98 - Permission denied - Could not access /home/priareos/.local. Please grant it x access, or add an ACL for the container root
lxc-start mediawiki 20220322210627.836 ERROR sync - sync.c:__sync_wait:36 - An error occurred in another process (expected sequence number 3)
lxc-start mediawiki 20220322210627.836 ERROR start - start.c:__lxc_start:1999 - Failed to spawn container "mediawiki"
lxc-start mediawiki 20220322210627.837 ERROR lxccontainer - lxccontainer.c:wait_on_daemonized_start:859 - Received container state "ABORTING" instead of "RUNNING"
lxc-start mediawiki 20220322210627.837 ERROR lxc_start - tools/lxc_start.c:main:308 - The container failed to start
lxc-start mediawiki 20220322210627.837 ERROR lxc_start - tools/lxc_start.c:main:311 - To get more details, run the container in foreground mode
lxc-start mediawiki 20220322210627.837 ERROR lxc_start - tools/lxc_start.c:main:313 - Additional information can be obtained by setting the --logfile and --logpriority options
Sinon le .local auquel il se plaint de ne pas avoir accès:
drwx------ 3 priareos priareos 4096 Nov 3 2019 .local
Hors ligne