Les VM sont basées sur une architecture ARM 64 !
ATTENTION ne jamais arrêter une VM brutalement lancez : shutdown -h now
lsb_release -cs : affiche la version de linux.
comment installer une machine virtuelle
1°) dans l’interface de http://mafreebox.freebox.fr/ cliquez sur VM, choisissez une distribution et cochez oui pour accès au disque de la FreeBox, nous vous conseillons DEBIAN 10.
2°) Redimentionnez éventuellement le disque, donnez un nom à votre VM et allumez là !
3°) pour y accéder le login est le mot de passe regarder le contenu du paragraphe : cloud-init user-data
Pour sauvegarder l’image, recopier le fichier Qcow2 une fois la machine éteinte.
Pour ouvrir l’image sur Ubuntu, installez le paquet qemu-kvm.
La commande « qemu » ne fonctionne pas. Il faut utiliser « qemu-system-i386 » ou « qemu-system-x86_64 » ou créer le lien comme ci-dessous.
sudo ln -s /usr/bin/qemu-system-i386 /usr/bin/qemu
ou
sudo ln -s /usr/bin/qemu-system-x86_64 /usr/bin/qemu
Ensuite,pour lire les fichiers de la VM, il est nécessaire de monter l’image :
Step 1 – Enable NBD on the Host
sudo modprobe nbd max_part=8
Step 2 – Connect the QCOW2 as network block device
sudo qemu-nbd –connect=/dev/nbd0 <<qcow2 file>>
Step 3 – Find The Virtual Machine Partitions
sudo fdisk /dev/nbd0 -l
Step 4 – Mount the partition from the VM
sudo mkdir .././test
sudo mount /dev/nbd0p2 ./test
df -H
Step 5 – After you done, unmount and disconnect
umount .././test
qemu-nbd –disconnect /dev/nbd0
rmmod nbd
Références :
https://www.jamescoyle.net/tag/qemu-nbd
https://lea-linux.org/documentations/Software-soft_emul-qemu
https://linuxconfig.org/install-and-set-up-kvm-on-ubuntu-18-04-bionic-beaver-linux
Outils LINUX :
Remove a PPA from the source list in terminal:
sudo ls /etc/apt/sources.list.d
Look for your desire PPA here and then remove the PPA using the following command:
sudo rm -i /etc/apt/sources.list.d/PPA_Name.list
UTILISATION
Installer /réinstaller MariaDB:
sudo apt-get remove –purge mysql*
sudo apt-get autoremove
sudo apt update
sudo apt-get install mariadb-server
sudo mysql_secure_installation
Ne pas indiquer de password pour ROOT et Yes à toutes les autres questions
sudo service mysql restart
sudo mysql -uroot
https://www.digitalocean.com/community/tutorials/how-to-install-mariadb-on-debian-10
Installez un serveur apache :
Et un serveur FTP :
sudo apt install vsftpd
Attention ! Modifier la configuration pour pouvoir écrire avec filezila :
https://guide.ubuntu-fr.org/server/ftp-server.html
Installer NodeJS :
$ sudo add-apt-repository universe
$ sudo apt install python-minimal
$ sudo apt-get update
$ sudo apt-get autoremove
$ sudo apt-get clean
$ curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash –
$ sudo apt-get install -y nodejs
DOCKER :
Efface tous les containers chargés : docker container prune
Exemple de container de serveur https://openclassrooms.com/fr/courses/2035766-optimisez-votre-deploiement-en-creant-des-conteneurs-avec-docker/6211458-lancez-votre-premier-conteneur-en-local
lancer un conteneur qui démarre un serveur Nginx en utilisant deux options : docker run -d -p 8080:80 nginx.
Dans cette commande, nous avons utilisé deux options :
-d pour détacher le conteneur du processus principal de la console.
Il vous permet de continuer à utiliser la console pendant que votre conteneur tourne sur un autre processus ;
-p pour définir l’utilisation de ports. Dans notre cas, nous lui avons demandé de transférer le trafic du port 8080 vers le port 80 du conteneur.
Ainsi, en vous rendant sur l’adresse http://192.168.0.23:8080/ vous aurez la page par défaut de Nginx. Où http://192.168.0.23 est l’IP de votre VM
docker exec -ti 55454eebd8ab30f25a3f6689993999c5b8aee053a4efa275416995077a1faa04 bash (id du conteneur retourné)
apt-get update
apt-get install nano
cd /usr/share/nginx/html
nano index.html
Pour lancer des containers avec architecture X86_64 :
1°) créer un fichier de config :
$sudo nano .docker/config.json
contenant la ligne {« experimental »: »enabled »}
2°) re boot la VM
3°) Installer BUILDx (https://community.arm.com/developer/tools-software/tools/b/tools-software-ides-blog/posts/getting-started-with-docker-for-arm-on-linux)
$ export DOCKER_BUILDKIT=1
$ docker build –platform=local -o . git://github.com/docker/buildx
$ mkdir -p ~/.docker/cli-plugins
$ mv buildx ~/.docker/cli-plugins/docker-buildx
https://phoenixnap.com/kb/how-to-install-docker-on-ubuntu-18-04
sudo docker run hello-world
Unable to find image ‘hello-world:latest’ locally
latest: Pulling from library/hello-world
256ab8fe8778: Pull complete
Digest: sha256:f9dfddf63636d84ef479d645ab5885156ae030f611a56f3a7ac7f2fdd86d7e4e
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the « hello-world » image from the Docker Hub.
(arm64v8)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
https://www.vagrantup.com/intro/index.html
Pour créer un serveur HTTPS :
https://doc.ubuntu-fr.org/tutoriel/securiser_apache2_avec_ssl#les_certificats
a) avec un nom virtuel :
Definir un servername : https://unix.stackexchange.com/questions/155150/where-in-apache-2-do-you-set-the-servername-directive-globally
b) certificat : https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-16-04
c)
Accéder aux données de la FreeBox à partir de la VM :
a) installer Samba
sudo apt install smbclient
b) effectuer un montage
sudo apt install cifs-utils
sudo mkdir -p /mnt/freebox sudo mount -t cifs -o username="xxx",password="xxx",vers=1.0,uid=1000,gid=1000 //192.168.0.254/Freebox /mnt/freebox cd /mnt/freebox/VMs ls
Pour automatiser le montage au démarrage :
sudo nano /etc/fstab
Ajoutez cette ligne :
//192.168.0.254/Freebox /mnt/freebox cifs username="xxx",password="xxx",vers=1.0,uid=1000,gid=1000 0 0