Mise à jour majeure de ma petite #raspberrypi
( sur laquelle une grande partie de mes sites tournent )
64bit pour du calcul plus rapide, il était temps !
même si j'étais dans une résistante pro lenteur...
je me confrontais à de trop nombreuses limites
( #Docker demande souvent de l'ARMel
= 64bit )
L'occasion de faire le ménage dans mes services
De réinstaller pas mal à la main, de vérifier mes acquis
Projet monté en #2020~ la remise à plat était bienvenue !
Bonne visites . Bonnes vacances . Bonne rentrée .
Chroot
- Permet d'accéder au contenu d'un système avec les ressources propres d'une autre machine
Je peux accéder à au système contenu sur une carte_SD ou disque dur... depuis mon terminal... sans avoir démarrer dessus (sur ces supports)... qui normalement sont branchés sur un autre ordinateur. - C'est très pratique (par exemple quand la machine en question ne démarre plus /ou/ comme ici, quand on veut apporter des modifications /ou/ accéder au contenu).
- Mais je n'y suis pas arrivé pour cette fois ... j'ai donc fais mes migrations avec
rsync
etsshfs
- J'ai finalement utilisé :
losetup
et ce petit alias : https://unix.stackexchange.com/a/430415 (pour monter mon img, retrouver mes fichiers : pas une emu/chroot...)
Les pistes ( VM/Docker/chroot ) :
-
Chroot to pi sd card
↳ https://gist.github.com/htruong/7df502fb60268eeee5bca21ef3e436eb -
[GUIDE] Build Debian image to run on Tab via chroot | XDA Forums
↳ https://xdaforums.com/t/guide-build-debian-image-to-run-on-tab-via-chroot.1172504/ -
Chroot into Raspberry Pi ARMv7 Image with Qemu on Linux
↳ https://docs.j7k6.org/raspberry-pi-chroot-armv7-qemu/ -
Comment "chroot" une raspbian sur son linux? [script] - tutox.fr
↳ https://tutox.fr/2020/01/08/comment-chroot-une-raspbian-sur-son-linux-script/ -
lukechilds/dockerpi: A Virtualised Raspberry Pi inside a Docker image
↳ https://github.com/lukechilds/dockerpi -
carlosperate/docker-qemu-rpi-os: Docker images with Raspberry Pi OS running on QEMU
↳ https://github.com/carlosperate/docker-qemu-rpi-os?tab=readme-ov-file -
Emulating Raspberry Pi 4 with Qemu
↳ https://gist.github.com/cGandom/23764ad5517c8ec1d7cd904b923ad863 -
Chroot into Raspberry Pi ARMv7 Image with Qemu
↳ https://gist.github.com/jkullick/9b02c2061fbdf4a6c4e8a78f1312a689
Si vous utilisez un VPN provider (fournisseur) alors faire passer l'intégralité de vos connexions via ce tunnel peut être intéressant.
KillSwitch
Il faut ensuite s'assurer que rien (aucun packet) n'en sorte
ET couper le courant si le VPN est OFF/éteint/injoignable
La plupart des VPN le proposent
On appelle ca un "KillSwitch"
Option VM / USB
Pour ma part je préfère encapsuler les applications que je veux voir passer uniquement via un VPN. Je pourrais utiliser un système embarqué sur clé USB (et amnésique) comme Tail.
Mais ca demande de redémarrer... donc non.
Je pourrais aussi lancer une VM (mais c'est lourd)
Gluetun
Alors je me suis dirigé vers des systèmes/applications isolées dans des containers (docker)
Gluetun permet de facilement configurer son VPN + de faire passer les connexions des autres docker via lui
APP_CONTAINER_1 / 2 / 3 ... ==> GLUTEN_CONTAINER network ==> Internet
Fournisseurs :
https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/
Exemple de containers / apps
Navigateurs
- https://docs.linuxserver.io/images/docker-mullvad-browser/
- https://docs.linuxserver.io/images/docker-firefox/
Tor
- kasmweb/tor-browser - Docker Image | Docker Hub
↳ https://hub.docker.com/r/kasmweb/tor-browser - DomiStyle/docker-tor-browser: Tor Browser (in a browser)
↳ https://github.com/DomiStyle/docker-tor-browser
VOPONO
Solution NON docker, intégré au system
https://github.com/jamesmcm/vopono/blob/master/USERGUIDE.md#custom-providers
BONUS
Openvpn sans sudo/privilleges
https://community.openvpn.net/openvpn/wiki/UnprivilegedUser
Des Services web...
encore des #CHATONS
" Aurore est une association à but non lucratif gérée par des bénévoles étudiants de l'université Paris-Saclay. Nous nous efforçons de fournir une couverture Internet filaire et Wi-Fi très haut débit aux étudiants pour 50€ par an, ainsi que l'accès à de nombreux services Web. "
Proposent une ma fois bonne documentation #tuto
(par là que je les ai découvert.es)
" Documentation technique
Bienvenue sur la documentation technique d'Aurore.
Ce wiki est fait pour documenter tout ce qui fait partie de l'infrastructure technique (hardware et software) à Aurore. Il sert à s'autoformer et à avoir accès à toutes les informations concernant notre infrastructure rapidement et clairement "Au programme :
- Sites géographiques (Accès restreint) Sites où Aurore est implantée
- Serveurs Liste des serveurs d'Aurore et de leurs fonctions
- Services Liste des services d'Aurore
- Plan IP Les adresses IP d'Aurore et leurs répartitions
- VM Toutes les VM d'Aurore
- Monitoring Installation et utilisation Prometheus / Grafana
- Les VLAN Virtual Local Area Network
- VPN OVH Documentation du tunnel entre OVH et Saclay
- Les onduleurs Liste et documentation des onduleurs
- Bornes dans les chambres Bornes installées dans les chambres d'adhérents en résidence
- Reserve Proxy Nginx en tant que RP et un peu plus
- Ansible Système de configuration et de gestion de parc
- Liaisons optiques Les liaisons optiques utilisées par Aurore
Fait partie du réseau inter-universitaire :
https://federez.net
et aussi
https://viarezo.fr
https://www.rezel.net
" Display and control your Android device. Contribute to Genymobile "
Contrôler son téléphone #Android depuis son ordinateur ! Un must-have !
Bonus : j'ai créé ce petit script de connexion en Wifi (Bash) : gist
Wiki : https://en.wikipedia.org/wiki/Scrcpy
Genymotion https://www.genymotion.com
est derrière un outil de virtualisation #VM
Blog ressource en #français : https://blog.rom1v.com
Une VM (/quickemu/) MacOS avec #Docker
https://github.com/sickcodes/Docker-OSX
+ astuces add memory
-e RAM=8
source
+ ....
https://github.com/sickcodes/osx-optimizer
Tutos
-> Howto
https://github.com/sickcodes/Docker-OSX#additional-boot-instructions-for-when-you-are-creating-your-container
-> Tuto
https://dev.to/gombosg/running-macos-inside-linux-with-docker-osx-4e1i
+ Xcode + iOS simulator + SSH
https://dev.to/ianito/how-to-emulate-ios-on-linux-with-docker-4gj3
Android VM w/ /Quickemu/
. . .
Explications
Docker ≠ VM
. . . oui on peut installer un système dans un Docker...
. . . avec /Qemu/ .... qui virtualise le système OSx (VM)
. . . le Container va ici pré-configurer l'installation de /Qemu/
. . . et télécharger l'img du système
Alors c'est quoi la différence entre VM et Docker ?
VM = Virtual Machine
Chemin ( Linux /VS/ Docker Containers )
Á l'écriture de {cette} bulle je me mélangeais un peu les pinceaux,
je commençais tout juste à basculer vers #Docker
Au sein d'un même système Linux, sur ma Raspberrypi..
je comprends assez bien..
les interactions entre logiciels installés pêle-mêle
tous inter-dépendants / de vulnérabilités (allongeant la chaîne de risques).
ex/ de /Faker/ :
https://liens.vincent-bonnefille.fr/?-YFRMg
Les app installées pour qu'un site web fonctionne communiquent par des ports avec le reste du monde, le web !
Elles sont chargées simultanément, ce qui peut devenir compliqué à gérer.
Avec Docker, chaque application/projet démarre dans son propre système (linux) avec les variables et dépendances nécessaires à son déploiement/installation.., sans nécessairement avoir de relation avec les autres application/projet.
: les app sont séparées dans leur propre environnement
: des "Containers"
C'est + propre, + facile à mettre à jour...
Courbe d'apprentissage
Éviter #Docker dans ma phase d'apprentissage m'a permis de comprendre tout un spectre de problèmes inhérents à la mise en production (ex : port forward/ NAT.PAT ; d.dns ; loging et autres maintenances).
: Docker rend industrialisable un déploiement que j'ai eu le temps et plaisir de faire de façon artisanale !
Limites
Le fait que les Containers soient isolés rend parfois difficile la modification de leurs contenus.
On peut utiliser #SSH .. j'ai essayé de faire comme ca :
Si on veut bidouiller à l'intérieur, on se trouve embêter à chaque pull de mise à jour (de la part du développeur du logiciel). On est aussi limité avec des outils de base : comme on l'a dit, ces systèmes viennent souvent avec le minimum vital.
Monter des volumes -- comme si c'était un serveur distant -- pour travailler ses données avec les outils locaux -- habituels dans mon quotidien -- est compliqué.
- https://github.com/plesk/docker-fs est instable (Fuse se déconnecte)
- https://blog.px.dev/container-filesystems/
- https://martinheinz.dev/blog/44
... en recherche d'alternatives / solutions
... voir d'un alt. à Docker :
https://medium.com/nttlabs/containerd-and-lima-39e0b64d2a59
VM
Un container Ce n'est pas lourd comme une VM.
Petite video bien faite a ce sujet.
https://youtu.be/J0NuOlA2xDc
Une VM vient simuler l'intégralité des composants d'un ordinateur, une carte vidéo, une carte mère, son, un processeur, etc
L'application qui crée et lance la VM va démarrer un ordinateur dans votre ordinateur !
On prenait /Quemu/ et MacOSX en ex/ au début de cette {bulle}
{ Bulle } d'origine :::
Non VM
- https://alternativeto.net/software/distrobox/
- https://alternativeto.net/software/lxc-linux-containers/
( l'intérêt ici c'est d'avoir les avantages d'autres distributions sans l'imulation de tout un système -- mémoire / GPU / CPU == plus léger, intégrable, #linux first )
... me fait plus penser à de la virtualisation ou à https://www.dosbox.com !
... mais sans doute rien à voir ( je mets juste ici des pistes )
/VS/ VM
- https://github.com/quickemu-project/quickemu (dont MacOSX )
- https://www.osboxes.org/virtualbox-images/
- https://www.linuxvmimages.com (non testé)
- https://bitnami.com/stacks/virtual-machine
( dont env. MYSQL / LAMP + #Docker )
Remarque
De nombreux systèmes proposent des VM prêtes au téléchargement
Docker #GUI #linux
Pour une gestion #GUI j'ai test https://www.portainer.io
puis https://podman.io
( et https://podman-desktop.io )
. Il y aussi https://cockpit-project.org
. ( gestion #linux dans un Web #GUI .. )
. . ( intégration de /Podman/, #VM ... )
. Au sujet de #Docker / Podman
( / Kubernetes ), un article sur...
https://www.lemondeinformatique.fr