web-dev-qa-db-fra.com

AppArmor activé sur le système, mais le profil par défaut du menu fixe n'a pas pu être chargé [Ubuntu Core 16]

Je me débattais avec le problème de l'exécution du cliché de menu fixe sur une passerelle Dell 5100 IoT Edge. J'ai une autre passerelle Dell - la 3001 - qui ne fait PAS face à ce problème.

Voici les étapes que j'ai effectuées sur la passerelle Dell 5100:

Installé le Docker Snap, voici la sortie de 'snap list':

admin@localhost:~$ snap list
Name             Version          Rev  Developer   Notes
bluez            5.44-2           84   canonical   -
core             16.04.1          394  canonical   -
docker           17.03.1-ce-1     124  docker-inc  -
modem-manager    1.6.2-5          82   canonical   -
network-manager  1.2.2-10.2       166  canonical   -
snapweb          0.26.1           207  canonical   -
stlouis          16.04-1.13       11   canonical   -
stlouis-kernel   4.4.0-77-1       19   canonical   -
tpm2             1.0-4            18   canonical   -
uefi-fw-tools    1.4.1-0.7.2+git  7    canonical   -

Après l'installation, j'ai lancé la commande indiquée dans docker.help pour activer les bonnes interfaces de capture:

Sudo snap connect docker:home :home

Sortie de la commande 'snap interfaces' après avoir exécuté la commande dans # 2 ci-dessus.

$ snap interfaces | grep docker
:docker-support           docker:privileged,docker:support
:firewall-control         docker
:home                     docker
:network                  docker,snapweb,tpm2,uefi-fw-tools
:network-bind             docker,snapweb,tpm2
docker:docker-daemon      docker:docker-cli
admin@localhost:~$

J'ai ensuite vérifié l'état d'apparmor du menu fixe en utilisant la commande suivante:

Contrairement à ce que je vois dans la sortie 3001 pour la même commande, il manque docker-default:

$ Sudo aa-status | grep docker
   snap.docker.compose
   snap.docker.docker
   snap.docker.dockerd
   snap.docker.help
   snap.docker.dockerd (1582)
   snap.docker.dockerd (1627)

Voici la sortie de la passerelle Dell 3001 pour l'état apparmor et la liste d'instantanés:

La grande différence entre le 3001 et le 5100 réside dans la version du système d'exploitation. Ubuntu Core est un nouvel utilisateur et je n'arrive pas à comprendre pourquoi docker-default manque dans l'état apparmor. J'ai redémarré, restauré en usine et essayé beaucoup d'autres choses. Le problème qui se manifeste est le suivant:

Je suis capable de tirer une image, et cela fonctionne, j'ai utilisé la commande suivante:

Sudo docker pull Eclipse-mosquitto:1.4.10

L'image est tirée, mais quand j'essaie de l'exécuter:

$ Sudo docker run -d -p 1883:1883 -p 9001:9001 --name mqtt -t Eclipse-mosquitto:1.4.10
d11e29c04064ea3c546c6c9141abae73508dd2cc98492860accb4461af40b661
docker: Error response from daemon: AppArmor enabled on system but the docker-default profile could not be loaded...

J'ai aussi essayé de l'exécuter avec la politique d'absence de confinement, puis j'obtiens un oci runtime error:

$ Sudo docker run -d --security-opt apparmor=noconfinement -p 1883:1883 -p 9001:9001 --name mqtt -t
Eclipse-mosquitto:1.4.10
fe501196f9ac0d27e82b43069aafee4c806d80c1ae9ce363040b96996d74f963
docker: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused
"process_linux.go:258: applying cgroup configuration for process caused \"mkdir /var/lib/snapd/hostfs/sys/fs/cgroup/cpuset/docker: permission denied\"".

Notez que les deux étapes décrites ci-dessus ne concernent pas les mêmes étapes sur la passerelle Dell 3001.

1
Ashu Joshi

Tout d’abord, nous nous excusons de ne recevoir aucune réponse à votre question très importante. Comme note aux autres personnes susceptibles de se heurter à ce problème, le principal problème était que la capture instantanée principale sur le 3001 où docker s'exécutait avec succès était une version plus récente de la capture instantanée principale, tandis que sur la 5100, la capture instantanée était bloquée. dans la même version obsolète livrée avec l’image d’origine Ubuntu Core. La version obsolète présentait un problème qui empêchait la réception de nouvelles versions de la capture instantanée. Le problème a été résolu du côté de la boutique Ubuntu afin que cet ancien composant logiciel enfichable puisse être mis à jour vers la dernière version validée. Ce problème particulier ne devrait donc affecter personne d'autre.

Aussi, pour référence future, je voudrais vous indiquer le forums snapcraft.io où tout est pris en compte et Ubuntu Core sont discutés.

2
Jim Hodapp

Il vous manque en effet l'option --security-opt seccomp:unconfined et le montage de liaison -v /sys/fs/cgroup:/sys/fs/cgroup:ro (les deux n'ont aucun sens lorsque vous utilisez le menu fixe, car il est déjà entièrement confiné).

--security-opt apparmor:unconfined --security-opt seccomp:unconfined -v /sys/fs/cgroup:/sys/fs/cgroup:ro

c’est la bonne chose à faire ici ... le confinement instantané enroulé autour de l’exécutable de docker assurera la sécurité.

1
ogra

Cela n’a pas l’air de plaire, car c’est une très vieille version du composant logiciel enfichable. Fondamentalement, ce problème est survenu une fois et a été signalé par un représentant de Dell il y a 5 mois.

Réparer.

  1. Veuillez exécuter la commande suivante pour maintenir tous les clichés à jour

    Sudo snap refresh
    
  2. Si vous rencontrez le problème comme suit lors de la mise à jour de la capture instantanée du magasin de la marque

    Error cannot refresh "core" :cannot refresh "core" to  revision xxxx: no validation by "xxxxxx"
    

    Cela signifie que l'accrochage principal n'est pas encore validé bien qu'il ait été qualifié. Cependant, vous pouvez toujours le mettre à jour avec l'option --ignore-validation en exécutant:

    Sudo snap refresh core --ignore-validation
    

Conformément aux recommandations de Jim, toutes les discussions relatives aux composants logiciels enfichables et au noyau ubuntu ont été déplacées vers le forum snapcraft.io . C'est le lieu de prédilection pour des discussions animées où vous recevez toujours des commentaires en temps voulu.

0
gary-wzl