Le Blog Utux

HTTP 200 GET /

On peut pas faire confiance à la documentation ubuntu

Rédigé par uTux 2 commentaires

Essayons de désactiver AppArmor sur une Ubuntu 16.04 en nous basant sur la documentation.

C'est pourtant clair, 3 sources de documentations nous disent que pour désactiver AppArmor il suffit de stopper le service. Très bien, essayons:

root@ubuntu:~# systemctl stop apparmor
root@ubuntu:~# systemctl disable apparmor
apparmor.service is not a native service, redirecting to systemd-sysv-install
Executing /lib/systemd/systemd-sysv-install disable apparmor
insserv: warning: current start runlevel(s) (empty) of script `apparmor' overrides LSB defaults (S).
insserv: warning: current stop runlevel(s) (S) of script `apparmor' overrides LSB defaults (empty).

Utilisons la commande apparmor_status pour voir le status de AppArmor:

root@ubuntu:~# apparmor_status 
apparmor module is loaded.
13 profiles are loaded.
13 profiles are in enforce mode.
   /sbin/dhclient
   /usr/bin/lxc-start
   /usr/lib/NetworkManager/nm-dhcp-client.action
   /usr/lib/NetworkManager/nm-dhcp-helper
   /usr/lib/connman/scripts/dhclient-script
   /usr/lib/lxd/lxd-bridge-proxy
   /usr/lib/snapd/snap-confine
   /usr/lib/snapd/snap-confine//mount-namespace-capture-helper
   /usr/sbin/tcpdump
   lxc-container-default
   lxc-container-default-cgns
   lxc-container-default-with-mounting
   lxc-container-default-with-nesting
0 profiles are in complain mode.
1 processes have profiles defined.
1 processes are in enforce mode.
   /sbin/dhclient (848) 
0 processes are in complain mode.
0 processes are unconfined but have a profile defined.

Diantre! C'est pas bon signe. Faisons un essai en installant mysql-server et en déplaçant son /var/lib/mysql ailleurs:

root@ubuntu:~# apt-get install mysql-server
root@ubuntu:~# systemctl stop mysql
root@ubuntu:~# mv /var/lib/mysql /opt/
root@ubuntu:~# sed -i "s@/var/lib/mysql@/opt/mysql@g" /etc/mysql/mysql.conf.d/mysqld.cnf
root@ubuntu:~# systemctl start mysql
Job for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details.

Mysql ne démarre pas... examinons le log:

juil. 07 10:39:37 ubuntu kernel: audit: type=1400 audit(1530952777.364:32): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/opt/mysql/ibdata1" pid=2959 comm="mysqld" requested_mask="wr" denied_mask="w
juil. 07 10:39:37 ubuntu systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE
Facepalm

AppArmor n'est pas désactivé du tout, on ne peut pas faire confiance à la documentation Ubuntu!!! Il faut en fait rebooter le serveur, vraiment génial quand celui-ci est déjà en production ou quand on essaie d'automatiser une installation avec Ansible.

Après quelques recherches je suis tombé sur cet article qui nous indique qu'on peut utiliser la commande service apparmor teardown :

root@ubuntu:~# service apparmor teardown
 * Unloading AppArmor profiles                                           [ OK ]
root@ubuntu:~# apparmor_status 
apparmor module is loaded.
0 profiles are loaded.
0 profiles are in enforce mode.
0 profiles are in complain mode.
0 processes have profiles defined.
0 processes are in enforce mode.
0 processes are in complain mode.
0 processes are unconfined but have a profile defined.
root@ubuntu:~# systemctl start mysql
root@ubuntu:~# ps aux | grep mysql
mysql      925  0.0 13.2 1107628 134140 ?      Ssl  10:43   0:00 /usr/sbin/mysqld
root      1224  0.0  0.0  14264   920 pts/0    S+   10:46   0:00 grep --color=auto mysql

AppArmor nous laisse enfin tranquille, et sans rebooter le serveur :)

De manière amusant, teardown se traduit par démolir, raser. Est-ce une indication de l'état d'esprit de celui qui a codé le service de démarrage/arrêt d'AppArmor?

Je suis de moins en moins fan de Ubuntu sur les serveurs, car entre les très nombreuses mise à jour de Kernel (reboot fréquents) et les technologies maison de Canonical qui imite RedHat sans en avoir les moyens ou le talent, on se dit que rien ne vaut Debian ou CentOS sur un serveur.

Rip hardware.fr :'(

Rédigé par uTux 1 commentaire

C'est un coup dur :( Hardware.fr va cesser de publier des articles il ne restera donc que le forum et la boutique. J'étais fan des articles longs et détaillés comme les tests des CPU ou des cartes graphiques, le testeur avait même identifié un problème de latence entre les cœurs des RyZen... A chaque fois qu'un site fermait ou devenait payant, je me disais "pas grave il reste toujours hardware.fr".

RIP Hardware...

Vegan, Youtube, commentaires, facepalm

Rédigé par uTux 1 commentaire

Une fusillade au siège de YouTube fait plusieurs blessés, vous n'avez sûrement pas échappé à cette information. En ce qui me concerne y'a rien à voir, c'est un fais divers, une(e) timbré(e) de plus qui pète un câble et tire dans la foule, y'a pas d'idéologie ou de coupable à chercher.

Sauf que cette personne était vegan et tout comme le féminisme, c'est un sujet qui fâche. Les commentaires ont été modérés mais quelques minutes après la publication il y en avait 9 pages, avec beaucoup de charge contre les vegan, présentés comme des extrémistes qui veulent imposer leurs idées aux autres.

Je suis vegan et je ne le crie pas sur les toits, en fait je l'ai mentionné en début d'année sans vraiment en faire la promotion. C'est un choix de vie et j'en ai rien à faire de ce que les autres mangent. Je ne fais pas de prosélytisme tout comme la majorité silencieuse. Donc à cette charge anti-vegan je réponds:

  • Comme d'habitude vous ne retenez que les plus bruyants, vous ne comptez pas les autres qui ont fait un choix de vie et ne demandent rien d'autre qu'avoir la paix.
  • Et merde, ça vous gêne tant que ça qu'il existe des vegan dans le monde? Quand une personne vous dit qu'elle ne mange pas de viande, ça insulte votre virilité? Pourquoi tant d'agressivité?

Il est affligeant de lire un tel niveau de bêtise dans les commentaires, une ambiance que je pensais réservée aux sites grands publics ou aux réseaux sociaux, mais qui débarque maintenant dans des cercles plus restreints. Car oui, NextINpact est fréquenté par des gens initiés qui d'habitude réfléchissent avant de poster sur internet. Facepalm.

Si c'est vraiment le fait d'être vegan qui amène les gens à tirer dans la foule, espérons que les platistes, les antivax et tous les complotistes de Youtube ne vont pas s'y mettre. Ou alors c'est juste une théorie ridicule...

Docker swarm, publish et scaleway

Rédigé par uTux Aucun commentaire

On dirait le titre d'un WTC mais ce n'est pas le cas, c'est plutôt un bug à la con qui m'a bloqué toute une soirée.

Je fais tourner mon blog et d'autres sites chez Scaleway, sur un VC1S avec Docker (debian 9 + installation custom). Je fais au plus simple avec docker-compose qui jusque là était satisfaisant pour mes besoins. Mais depuis quelques temps je songe à passer à la vitesse supérieure avec swarm, qui me permettra d'ajouter d'autres nodes et former un vrai cluster.

Après avoir mené une phase de tests en VM, j'ai décidé de me lancer et migrer sous swarm. Mais je me suis confronté à un bug énervant, impossible de publier des ports, par exemple:

$ docker network create -d overlay net-web
t1q2kzso3a5fnlkd0s8tvywid

$ docker service create --network net-web --publish 80:80 nginx
xl35ov6bkehabkx4547omrodj
overall progress: 1 out of 1 tasks 
1/1: running   [==================================================>] 
verify: Service converged

$ telnet 127.0.0.1 80
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused

Connexion refusée, le port n'est donc pas publié :/

Cela m'a rendu fou car en machine virtuelle VirtualBox ou KVM ça fonctionne du premier coup, et la lecture de documentation ou divers blogs ont confirmé qu'il n'y avait pas plus de manipulations à faire, ça devrait juste marcher !

J'ai commencé à soupçonner Scaleway, et en faisant une recherche avec les bons mots clés je suis tombé sur ce blog et cette issue github.

Ben voilà, c'est bien un problème avec Scaleway, car leur architecture est un peu particulière. Les serveurs ou VM n'ont pas de grub, ce sont des nodes provisionnées à la volée en PXE, avec script de démarrage et kernel maison. Et il s'avère qu'avec ces deux bootscripts, ça ne marche pas:

  • x86_64 4.10.8 std #1
  • x86_64 4.10.8 docker #1

C'est con, car le premier est celui proposé par defaut, le second est celui vers lequel on s'oriente naturellement quand on veut faire fonctionner du Docker.

Voici donc le bon bootscript: x86_64 mainline 4.14.23 rev1.

Proposer un kernel custom est une sale habitude des hébergeurs, mais à 3€/mois le vps, peut-on vraiment se plaindre de Scaleway?

iPhone: le pire smartphone ever?

Rédigé par uTux 1 commentaire

Alerte à l'article écrit sous le coup de l'agacement.

Rappelez moi le prix d'un iPhone 7 déjà: À partir de 639 €, ça fait quand même cher pour ce que c'est. Une demi journée passée avec et je n'en peux plus, il m'énerve, il est bugué. En vrac:

  • Ergonomie douteuse, j'ai pu ajouter un compte de synchro exchange, mais j'ai ensuite passé de nombreuses minutes à trouver comment désactiver le push et utiliser des vérifications régulièrement (c'est pas dans le même menu).
  • Lors de la création d'un compte Apple, il faut renseigner ses informations personnes (adresse, questions secrètes...) avec impossibilité de skipper.
  • Pas de connecteur DC Jack, il faut utiliser un adaptateur (sérieusement).
  • Pas de connecteur USB-c standard (génial quand tu veux emprunter un chargeur ou un câble quand tu n'es pas chez toi).
  • L'appareil est reconnu sur PC via MTP mais on accède pas à la musique, pourquoi ??? (réponse: pour te faire utiliser iTunes et son installeur de 254Mo).
  • Pour télécharger une application GRATUITE il faut saisir le mot de passe de son compte Apple, et pour une raison que j'ignore il locke mon compte en boucle (ça arrive à beaucoup de gens mais pas de solution connue).

Quand je pense aux gens qui disent "Linux c'est pas prêt pour le desktop" juste parce qu'ils sont tombés sur 1 pauvre bug, j'ai envie de dire que c'est pire sur iPhone et ça n'empêche pas Apple de vendre ses appareils +1000€, le monde est incompréhensible.

Je décerne donc à l'iPhone le trophée du pire smartphone ever, moi qui suis utilisateur de Windows Phone c'est pour dire.

Fil RSS des articles de cette catégorie