web-dev-qa-db-fra.com

Est-il possible de servir une image VirtualBox avec LTSP?

Nous avons une image Ubuntu avec LTSP qui permet de démarrer environ 60 pcs de classe (clients FAT UBUNTU).

La partie la plus difficile à laquelle nous sommes confrontés est de maintenir l'image amorçable (conserver les derniers changements de sécurité) et pour les professeurs de tester les images lorsqu'ils sont en dehors des locaux universitaires.

Je me demandais si un enseignant pouvait configurer une image de disque sur mesure à l'aide de Virtualbox pouvant être déployée à l'aide de notre serveur LTSP.

1
dodecaplex

Votre question est très intéressante.

Je gère environ 120 clients FATS LTSP dans deux bâtiments utilisant Ubuntu 16.04.6 LTS Server.
[.____] Tous les clients de la graisse utilisent recommandé MATE de .

Donc, mon serveur dispose de tous les composants du LTSP nécessaires.

Je viens de tester qu'il est possible de convertir /opt/ltsp/images/AMD64.img Image Squashfs à VirtualBox HardDrive.
[.____] ci-dessous est la procédure que j'ai utilisée pour le convertir en VM.

1. Montez l'image de Squashfs LTSP et copiez son contenu sur un nouveau disque dur cru vide

1.1. Opérations sur le système hôte

Créer un point de montage

mkdir ~/ltsp_sfs

et mont Squashfs ltsp fichier image:

Sudo mount -o loop /opt/ltsp/images/AMD64.img ~/ltsp_sfs

Créez un disque dur cru vide et copier des squashfs.

Allouer 20 Go d'espace:

fallocate -l 20G ~/ltsp.raw

Créez des partitions sur le disque brut avec n'importe quel logiciel. Ci-dessous fdisk méthode:

(
echo n # new partition
echo p # it is primary
echo   # and first
echo   # starts at default
echo   # ends at end
echo w # write changes
) | fdisk ~/ltsp.raw

Créer des appareils de boucle pour ~/ltsp.raw Fichier en utilisant kpartx:

Sudo kpartx -a -v ~/ltsp.raw

et formater sa première partition (cochez le nom du périphérique exact avec losetup) avec étiquette:

Sudo mkfs.ext4 /dev/mapper/loop1p1 -L LTSP

puis montez-le

mkdir ~/ltsp_ext4
Sudo mount /dev/mapper/loop1p1 ~/ltsp_ext4

Copier les matières squashfs sur la nouvelle partition ext4

Sudo cp -a ~/ltsp_sfs/* ~/ltsp_ext4/

et définir une étiquette de partition correcte dans /etc/fstab:

echo "LABEL=LTSP  /  ext4  noatime  0  1" | Sudo tee ~/ltsp_ext4/etc/fstab

1.2. Opérations à Chroot

Chroot a copié le système de fichiers:

Sudo mount --types proc /proc ~/ltsp_ext4/proc
Sudo mount --bind /sys ~/ltsp_ext4/sys
Sudo mount --bind /dev ~/ltsp_ext4/dev

Sudo chroot ~/ltsp_ext4/

Installez GRUB bootloader dans le lecteur virtuel:

Sudo grub-install /dev/loop1
grub-mkconfig -o /boot/grub/grub.cfg

Créer un nouveau ltsp utilisateur en tant que membre de Sudo group avec le mot de passe:

useradd -m -G users,audio,Sudo -s /bin/bash ltsp
passwd ltsp

Sortie de chroot

exit

démonter sa partition et détacher des dispositifs de bouclage:

Sudo umount ~/ltsp_ext4/proc
Sudo umount ~/ltsp_ext4/sys
Sudo umount ~/ltsp_ext4/dev

Sudo umount ~/ltsp_ext4/
Sudo kpartx -d -v ltsp.raw

2. Boot Résultat Virtual HardDrive dans la machine virtuelle

2.1. En utilisant qemu-kvm

Lancez LTSP Image à l'aide de QEMU-KVM:

kvm -m 1024 -drive file=~/ltsp.raw,format=raw

et connectez-vous au système comme ltsp utilisateur.

Ne touchez pas les services système, pour conserver l'image compatible avec les scripts Init-Scripts LTSP.

2.2. Utilisation de VirtualBox VM

Créez un nouveau disque dur VMDK aussi lié à notre disque dur cru:

VBoxManage internalcommands createrawvmdk -filename ~/ltsp.vmdk -rawdisk ~/ltsp.raw

ensuite, attachez-la à virtualbox VM et démarrez-le.

3. Utilisez le contenu du lecteur modifié pour créer une nouvelle image LTSP

Ensuite, vous pouvez essayer de modifier le contenu de la nouvelle Hardrive virtuelle et de les copier sur /opt/ltsp/AMD64 du serveur. Ensuite, essayez d'appeler Sudo update-ltsp-images AMD64 Pour le faire convertir dans le système de fichiers Squashfs.

Je suis désolé de ne pas avoir de ressources pour vérifier cela. J'espère que tu as eu l'idée.

1
N0rbert