Package_check : pb de dns

Hello,
Quand je tente de lancer le script de build de package_checker, il sort des erreurs dns ce qui fait qu’ensuite les installe de package se cassent la gueule.

:~/package_check/sub_scripts$ ./lxc_build.sh
> Update et install lxc lxctl
[sudo] Mot de passe de Krakinou :
> Install git, curl and lynx
> Suppression du conteneur existant.
lxc-snapshot: lxccontainer.c: do_snapshot_destroy: 3668 Could not destroy snapshot snap0
lxc-snapshot: tools/lxc_snapshot.c: do_snapshot_destroy: 220 Error destroying snapshot snap0
lxc-snapshot: lxccontainer.c: do_snapshot_destroy: 3668 Could not destroy snapshot snap1
lxc-snapshot: tools/lxc_snapshot.c: do_snapshot_destroy: 220 Error destroying snapshot snap1
lxc-snapshot: lxccontainer.c: do_snapshot_destroy: 3668 Could not destroy snapshot snap2
lxc-snapshot: tools/lxc_snapshot.c: do_snapshot_destroy: 220 Error destroying snapshot snap2
Destroyed container pchecker_lxc
> Création d'une machine debian stretch minimaliste.
> Autoriser l'ip forwarding, pour router vers la machine virtuelle.                                             
> Ajoute un brige réseau pour la machine virtualisée
> Active le bridge réseau
> Configuration réseau du conteneur
> Configuration réseau de la machine virtualisée
> Configure le parefeu
> Vérification du contenu du resolv.conf
> Démarrage de la machine
> Test la configuration dns
>>> The dns isn't working (Current dns = 127.0.1.1)
>>>Force to use the dns from the config file            nameserver 192.168.0.254
>>> Try to use the dns address 192.168.0.254
>>> The dns isn't working (Current dns = 192.168.0.254)
>>>Force to use the default dns
>>> Try to use the dns address 127.0.1.1
>>> The dns isn't working (Current dns = 127.0.1.1)
>>>The dns is still broken, use FDN dns
nameserver 80.67.169.12
>>> Try to use the dns address 127.0.1.1
> Update et install aptitude sudo git
Err:1 http://security.debian.org stretch/updates InRelease
  Erreur temporaire de résolution de « security.debian.org »
Err:2 http://httpredir.debian.org/debian stretch InRelease
  Erreur temporaire de résolution de « httpredir.debian.org »
Lecture des listes de paquets... Fait
W: Impossible de récupérer http://httpredir.debian.org/debian/dists/stretch/InRelease  Erreur temporaire de résolution de « httpredir.debian.org »
W: Impossible de récupérer http://security.debian.org/dists/stretch/updates/InRelease  Erreur temporaire de résolution de « security.debian.org »
W: Le téléchargement de quelques fichiers d'index a échoué, ils ont été ignorés, ou les anciens ont été utilisés à la place.
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
openssh-server is already the newest version (1:7.4p1-10+deb9u4).
The following additional packages will be installed:
  aptitude-common ca-certificates git-man less
  libboost-filesystem1.62.0 libboost-iostreams1.62.0
  libboost-system1.62.0 libcgi-fast-perl
  libcgi-pm-perl libclass-accessor-perl
  libcurl3-gnutls libcwidget3v5 libencode-locale-perl
  liberror-perl libexpat1 libfcgi-perl libffi6
  libgdbm3 libgmp10 libgnutls30 libhogweed4
  libhtml-parser-perl libhtml-tagset-perl
  libhttp-date-perl libhttp-message-perl libidn2-0
  libio-html-perl libio-string-perl libldap-2.4-2
  libldap-common liblocale-gettext-perl
  liblwp-mediatypes-perl libnettle6 libnghttp2-14
  libp11-kit0 libparse-debianchangelog-perl
  libperl5.24 libpopt0 libpsl5 librtmp1 libsasl2-2
  libsasl2-modules libsasl2-modules-db
  libsigc++-2.0-0v5 libsqlite3-0 libssh2-1 libssl1.1
  libsub-name-perl libtasn1-6 libtimedate-perl
  libunistring0 liburi-perl libxapian30 openssl patch
  perl perl-modules-5.24 publicsuffix rename rsync
Paquets suggérés :
  aptitude-doc-en | aptitude-doc apt-xapian-index
  debtags tasksel gettext-base git-daemon-run
  | git-daemon-sysvinit git-doc git-el git-email
  git-gui gitk gitweb git-arch git-cvs git-mediawiki
  git-svn libcwidget-dev gnutls-bin libdata-dump-perl
  libhtml-template-perl libxml-simple-perl
  libsasl2-modules-gssapi-mit
  | libsasl2-modules-gssapi-heimdal
  libsasl2-modules-ldap libsasl2-modules-otp
  libsasl2-modules-sql libwww-perl xapian-tools ed
  diffutils-doc perl-doc libterm-readline-gnu-perl
  | libterm-readline-perl-perl make
Les NOUVEAUX paquets suivants seront installés :
  aptitude aptitude-common ca-certificates git git-man
  less libboost-filesystem1.62.0
  libboost-iostreams1.62.0 libboost-system1.62.0
  libcgi-fast-perl libcgi-pm-perl
  libclass-accessor-perl libcurl3-gnutls libcwidget3v5
  libencode-locale-perl liberror-perl libexpat1
  libfcgi-perl libffi6 libgdbm3 libgmp10 libgnutls30
  libhogweed4 libhtml-parser-perl libhtml-tagset-perl
  libhttp-date-perl libhttp-message-perl libidn2-0
  libio-html-perl libio-string-perl libldap-2.4-2
  libldap-common liblocale-gettext-perl
  liblwp-mediatypes-perl libnettle6 libnghttp2-14
  libp11-kit0 libparse-debianchangelog-perl
  libperl5.24 libpopt0 libpsl5 librtmp1 libsasl2-2
  libsasl2-modules libsasl2-modules-db
  libsigc++-2.0-0v5 libsqlite3-0 libssh2-1 libssl1.1
  libsub-name-perl libtasn1-6 libtimedate-perl
  libunistring0 liburi-perl libxapian30 openssl patch
  perl perl-modules-5.24 publicsuffix rename rsync ssh
  sudo
0 mis à jour, 64 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 25,7 Mo dans les archives.
Après cette opération, 112 Mo d'espace disque supplémentaires seront utilisés.
Err:1 http://httpredir.debian.org/debian stretch/main amd64 perl-modules-5.24 all 5.24.1-3+deb9u4
  Erreur temporaire de résolution de « httpredir.debian.org »
0% [En cours]^C> Installation des paquets standard et ssh-server
lxc-attach: attach.c: lxc_attach_run_command: 1292 No such file or directory - Failed to exec "aptitude".
> Renseigne /etc/hosts sur l'invité
> Ajoute l'user pchecker
> Autorise pchecker à utiliser sudo sans mot de passe
> Mise en place de la connexion ssh vers l'invité.
Host 10.1.4.2 not found in /home/nicolas/.ssh/known_hosts
^C
Krakinou@pc:~/package_check/sub_scripts$

Ici, j’ai arrêté le script avec un ctrl+c après la première erreur. Une idée?
Krakinou

Looks like it try different DNS and none of them was working.

Could you check the dns in /var/lib/lxc/pchecker_lxc/rootfs/etc/resolv.conf and in package_check/config
You can try different dns resolver in this config file.

I just cloned it from the repo, so the files are brand new:
/package_check/config:

 Interface réseau principale de l'hôte
iface=enp4s0

# Adresse du dns
dns=192.168.0.254

# Forçage du dns
dnsforce=0

# Plage IP du conteneur
PLAGE_IP=10.1.4

# Domaine de test
DOMAIN=domain.tld

# Mot de passe
YUNO_PWD=admin

# Nom du conteneur
LXC_NAME=pchecker_lxc

# Nom du bridge
LXC_BRIDGE=lxc-pchecker

# Distribution debian
DISTRIB=stretch
# Branche à utiliser pour le script d'install de cette distribution (si non sta$
BRANCH=

And resolv.conf is continuously changed by the lxc_build.sh script: Right now it’s 80.67.169.12 (FDN).
I can also see the new network interfaces lxc_pkgchecker and lxcbr0 in the network admin of my guest computer.

Is ‘enp4s0’ your network interface ? No error about that ?
Let’s try with 80.67.169.12 in dns and turn dnsforce to 1.

You can also try the script lxc_check.sh to fix the bridge.
I’m not sure though it’s really about the dns resolution. I think that’s your connection which is broken somehow.

Yep : enp4s0 is my network interface and is working perfectly.
I also already tried these setups but no luck… same pb.
I tried to uninstall lxc & lxctl before relaunching the script (good old “turn it off and on again” method :slight_smile: ) but still the same error.

Could you please try the script lxc_check.sh ?

There is indeed an issue:

Krakinou@pc:~/package_check/sub_scripts$ ./lxc_check.sh 
Arrêt du conteneur pchecker_lxc
Arrêt du réseau pour le conteneur.
> Test de la configuration réseau du côté de l'hôte:
Le fichier de config du bridge est présent.
RTNETLINK answers: File exists
Failed to bring up lxc-pchecker.
Le bridge démarre correctement.
Le bridge obtient correctement son adresse IP.
Les règles iptables sont appliquées correctement.
Arrêt du réseau pour le conteneur.

> Test le démarrage du conteneur:
Initialisation du réseau pour le conteneur.
RTNETLINK answers: File exists
Failed to bring up lxc-pchecker.
sed: -e expression n°1, caractère 54: commande `s' inachevée
La configuration réseau LXC du conteneur est incorrecte et a été corrigée.
Test de démarrage du conteneur pchecker_lxc
Le conteneur a démarré correctement.

> Test de l'accès internet depuis l'hôte:
L'hôte dispose d'un accès à internet.

> Test de l'accès internet depuis le conteneur:
Redémarrage du conteneur.
Arrêt du conteneur pchecker_lxc
Arrêt du réseau pour le conteneur.
Initialisation du réseau pour le conteneur.
RTNETLINK answers: File exists
Failed to bring up lxc-pchecker.
Démarrage du conteneur.
NAME         STATE   AUTOSTART GROUPS IPV4     IPV6 
pchecker_lxc RUNNING 0         -      10.1.4.2 -    
Le conteneur LXC n'accède pas à internet...
Le fichier de configuration du kernel pour l'ip forwarding est présent.
L'ip forwarding est activé.
sed: -e expression n°1, caractère 54: commande `s' inachevée
La configuration réseau LXC du conteneur est incorrecte et a été corrigée.
Le fichier network/interfaces du conteneur est présent.
Mais il va être réécrit par précaution.
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
	address 10.1.4.2/24
	gateway 10.1.4.1
Redémarrage du conteneur.
Arrêt du conteneur pchecker_lxc
Arrêt du réseau pour le conteneur.
Initialisation du réseau pour le conteneur.
RTNETLINK answers: File exists
Failed to bring up lxc-pchecker.
Démarrage du conteneur.
NAME         STATE   AUTOSTART GROUPS IPV4     IPV6 
pchecker_lxc RUNNING 0         -      10.1.4.2 -    
Impossible de rétablir la connexion internet du conteneur.

Could you retry a second time ? Sometimes, a later fix can help at the beginning of the script.
Though, I’m not sure it’s going to work, looks like there’s a big problem in your network.

Can you explain me what’s your config ?

I ran it 3 times and the results are exactly the same…
I’m on a ubuntu 16.04 behind a freebox.
I’ve never mess with any network config, everything is vanilla on that part.
Would you like any specific log or conf file?

Anyway, thanks for your help!

You’re trying to install package check directly on your Ubuntu or on a VM ?

Directly on the ubuntu, I followed the guide from the github repo: git clone then lxc_build.sh
Maybe I should try a VM…

Package check isn’t working on Ubuntu.
It’s tested only on Debian. So yes, try with a VM.
Anyway, if you have to work on a package, you’ll need a VM to try it with YunoHost. Package check works very well on a YunoHost instance.

1 Like

Ok, I have already have a few yuno VM for dev and testing, but I didn’t think running the script on an ubuntu would change anything, but reading about lxc now, it makes sense.
I’ll set a new debian vm and try it again.
Thanks for your help!