Forum Linux.général Aide pour faire du clonage dans une salle de classe, svp

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
3
5
nov.
2019

Bonsoir,

  • Je suis dans une salle de classe de lycée en réseau derrière un portail captif proposé par la Région truc.
  • J'ai :
    • 35 postes élèves décents presque neufs (4Go, 128Go SSD, 2 cœurs),
    • plus le même pour le prof,
    • plus une plus vielle UC (elle n'aura pas d'écran ; pas de prise) qu'on m'a donné pour faire office de serveur multitâche (clonage, fichiers, expériences).
  • J'ai préparé une jolie installation sur le poste prof :
    • une variante d'Ubuntu (Mint 19.2) ; j'aurai aimé Manjaro (mais la session 'invité' semblait technique à obtenir)
    • qui ne propose que une session 'invité' pour les utilisateurs, (plus simple ???)
    • qui a reçu un skel bichonné avec amour, (d'ailleurs tu aurais fait quoi de simple et indispensable, toi ?)
  • Mes compétences c'est surtout algo, codage, pédagogie, un joli brin de Linux. Mais le réseau, comment dire… je préfère demander de l'aide. Il y a plusieurs années, j'avais récupéré une quinzaine de postes pour ma salle en collège, et j'avais installé chaque machine individuellement, cette fois je veux automatiser les choses.

Je crois que la réponse à ma question s'appelle CloneZilla, mais je ne suis pas sûr. Il me faut du simple pour débutant dans le domaine !

Je voudrais un outil qui clone mon joli poste-prof sur chaque autre bécane branchée dans la pièce.

Ai-je besoin de cette (vielle) UC pour y arriver ?

Comment ne pas faire de bêtises ? Par où commencer ? Quelles sont les bonnes idées à avoir pour une première expérience de ce genre ?
Je vais avoir besoin d'une aide pas à pas. Ça doit déjà exister, mais je ne sais pas où chercher ça.
Alors je te demande ce qu'il y a de mieux.

Pour te motiver un peu (je joue sur la corde sensible), tu n'as qu'à imaginer que tes enfants vont aller à ce lycée et que le prof a eu la chance qu'on lui donne carte blanche pour cette expérience dans une salle, alors qu'il semble qu'ailleurs les salles info lycée sont sous SE privatifs. Bref, le top s'il te plaît. Que j'en fasse un journal ensuite ; ça pourra aider d'autres à franchir le pas.

==

Question subsidiaire (#déconnexion).
Un utilisateur se connecte sur le compte invité, sans mot de passe. Session non persistante.
L'accès à internet se fait via un portail captif. La durée est de 9500s ; il peut se déconnecter avec un lien bien précis.
S'il ne se déconnecte pas du portail captif, qu'il ferme son navigateur, ou même sa session, la connexion au portail captif demeure.
Et l'utilisateur suivant qui se connecte à la session invité profite de la connexion au portail captif, ce qui est mal et non souhaitable. (On vous rappelle que "la sécurité est la préoccupation principale des français" - © mars 2002, Mazerolle).
Bref, j'aimerais beaucoup que la requête "déconnexion du portail captif" soit automatique à la fermeture de la session invité.
Possible ?
Comment procéder ?

==

Dernière question technique (#anaconda).
J'ai pu installer tout plein de bons logiciels avec synaptic.
La configuration/tuning ce ceux-ci prend peu de place dans le home de mon user 'premier' qui m'a servi de test pour meubler mon skel. C'est bien, c'est rapide.
En revanche, je n'ai pas encore bien compris comment je vais m'en sortir pour installer anaconda en mode multi-utilisateur et que cela fonctionne aussi pour mon invité guest dont le nom change à toute les sessions.
Est-ce facile ?
J'ai vu la doc officielle, mais je ne suis pas sûr… Et toi ?

==

On a reçu les postes hier matin, ce serait bien que ce soit fini pour hier soir… Le tout en continuant son job à plein temps (et le reste).
Bref, toute aide sera la bienvenue que je puisse dormir un peu d'ici quelques jours.
Un grand merci à vous,

  • # le clonage est-il vraiment idéal?

    Posté par  . Évalué à 2.

    Dans ton cas, je partirais sur un parc de systèmes diskless, sauf pour le prof.

    L'avantage, c'est que tu peux close les sessions à l'extinction des machines (hors débranchement, forcément), pas de risque de laisser des traces, des systèmes tout frais à chaque fois… par contre, faut que les élèves sauvent leurs travaux. Aussi, ça implique que les machines aient une alim fiable, sinon, ben, perte de travail aussi.
    On peut aussi coller du diskless en sauvegardant le $HOME sur un serveur de fichiers, ça évite ces problèmes, mais c'est moins facile a mettre en place.

    Un parc diskless, ça implique par contre d'avoir un LAN isolé ou d'avoir la main sur le DHCP maître, pour qu'il autorise BOOTP, et d'avoir un serveur TFTP/NFS pour héberger le système bootable. Autre avantage, c'est que si les élèves collent des virus sur leurs machines, via usb ou autres, ben, ça sera juste en ram, donc ça affectera qu'eux.

    Je peux t'aider a déployer ça si t'as plus d'infos sur la config réseau de ta salle.

    • [^] # Re: le clonage est-il vraiment idéal?

      Posté par  (site web personnel) . Évalué à 1.

      Les postes sont en place, avec disques, je ne vais pas tout démonter. Je n'aurais pas le droit non plus.
      Les disques sont là, en SSD, autant en profiter ; ça fera un système réactif.
      Objectif : expérience réussie pour l'utilisateur, fluide et efficace.

      La session 'invité' me permet déjà d'avoir une session propre et identique à chaque connexion. Il n'y a que le vandalisme sur clavier qu'on voit occasionnellement et là, c'est un autre problème. Et oui, cela oblige à sauvegarder le travail sur une clé ; pas de problème. Les élèves ont aussi un espace de stockage dans le cloud académique.

      Si des élèves réussissent à mettre un virus avec leur clé, il n'y restera pas longtemps. Je compte bien recloner de temps en temps les images via le réseau. Le boot est configuré pour ça. C'est mystérieux pour moi, mais jouable. Genre le lundi matin, postes neufs !

  • # Quelques éléments

    Posté par  . Évalué à 2.

    En effet clonezilla peut répondre à ton problème.
    Si tu ne le fais qu'une fois tu cloner le poste prof en le bootant sur une clé USB avec clonezilla live Server puis lancer clonezilla live (encore en clef USB) sur chaque poste pour récupérer l'image. Cest faisable avec 2 clefs, mais avec plus tu pourras mieux paralleliser les installation éleve.
    Sinon, c'est plus complexe mais réutilisable à volonté, tu peux aussi écrire ton image master sur un disque et configurer un serveur, par exemple DRBL, qui répond aux requetes DHCP/PXE (il faut que les BIOS des machines éleves soient configurés dans ce sens) pour installer les machines au boot. C'est relativement bien expliqué sur le site de Clonezilla

    #déconnexion
    J'imagine que la plupart des DMs on des hooks pour ce genre de problème, ex pour gdm tu peux lancer un script grâce au hook PostLogin ( https://help.gnome.org/admin/gdm/stable/configuration.html.en#scripting )

    #anaconda
    if you need to, you can install Anaconda system wide ( https://docs.anaconda.com/anaconda/install/ )

    • [^] # Re: Quelques éléments

      Posté par  (site web personnel) . Évalué à 1.

      1. Pour les clés usb à passer sur tous les postes un par un ; je zappe. Les machines ont le bios configurés pour se faire cloner par le réseau ; juste je ne sais pas comment faire. Un lien pour ça, je crois bien que c'est clonezilla, mais pas sûr. Il y a d'autres pistes sinon ?

      2.#déconnexion. Pour le gestionnaire de session de mint, (ce n'est pas gdm) je n'ai pas trouvé les scripts post fermeture de session, mais j'ai trouvé comment lancer un script à l'ouverture de session. Genre un qui déconnecte du portail captif si le précédent avait oublié. Ça convient ! La question maintenant, c'est comment fabriquer ce script… Je vais me renseigner auprès du fournisseur de ce portail captif.

      1. #anaconda J'ai déjà vu ça, j'avais pointé dans mon premier post la méthode proposée. Avec des histoires de group à créer… Ma question était plus profonde car elle interrogeait sur l'effet de bord : session invité -> groupe ? -> facile à résoudre ??? Plus j'y pense, et plus j'espère me passer totalement d'anaconda. En fait, je voudrais seulement Spyder (ça c'est acté, c'est fait), mais aussi JupyterLab (via pip, peut-on l'installer facilement pour tous  ???), mais encore matplotlib, et quelques menus trucs comme pandas. Il faut absolument que skel reste contenu ! Car à chaque session invité, un skel est recopié intégralement. Skel ne doit contenir que le tuning des applis. Que tous les paramètres soient bien mis pour une bonne utilisation des élèves.
      • [^] # Re: Quelques éléments

        Posté par  . Évalué à 2.

        DRBL + Clonezilla fera l'affaire aussi bien qu'un autre

        #déconnexion à mon avis tu peux enregistrer une déconnexion avec l'editeur réseau de firefox et clique droit 'copier > comme curl' pour avoir une commande qui fait l'affaire.

        #anaconda system-wide = pour tous les utilisateurs, c'est différent de multi utilisateur correspondant à un groupe (voir https://stackoverflow.com/questions/27263620/how-to-install-anaconda-python-for-all-users)

        • [^] # Re: Quelques éléments

          Posté par  (site web personnel) . Évalué à 1.

          Merci pour ces précisions, ça fait plaisir.

          1. Oui, il y a le PXE. Demain, j'ai du temps pour installer le serveur de clonage qui doit envoyer mon image sur tous les autres postes. On m'a conseillé FOG. Mais je cherche ce qu'il y aura de plus simple. Ce sera mon premier essai. Je n'ai aucune idée de ce qu'il faut faire.
            Je ne connais pas la capacité du HD du serveur de clonage (y a-t-il une influence ?) ; surprise demain…

          2. Intéressant. Je vais tenter de capter ça. À suivre…

          3. OK, si j'ai bien compris, il me suffit d'exécuter le script d'installation avec un petit sudo qui me permet de choisir /opt/anaconda3
            Enfin, je dois préparer un script à lancer à l'ouverture de la session invité (dont le nom de guest est modifié à chaque session) qui contiendra le bin/activate et le conda init
            J'ai bon ?
            Idem, je tente ça demain.

  • # #anaconda ; pourquoi pas s'en passer ?

    Posté par  (site web personnel) . Évalué à 1.

    Mon objectif étant d'avoir JupyterLab, une version récente de Spyder3, matplotlib, et quelques trucs. J'ai l'impression qu'il est inutile de prendre Anaconda en entier. Chez moi depuis longtemps, j'installais Anaconda en entier, peut-être par facilité.

    Quelqu'un sait comment installer ces choses-là de manière légère pour plusieurs utilisateurs ?
    La doc pour JupyterLab me propose conda, pip , pipenv, docker. Mais j'hésite !
    - conda, c'est avec anaconda, c'est ça ? Donc non !
    - pip, ça installe pour tous les users ? Si oui, c'est bon ça !
    - pipenv ???
    - docker ???

    Une réponse sur stackoverflow semble évoquer une histoire de umask 202. Mais je ne comprends pas bien cela.

    • [^] # Re: #anaconda ; pourquoi pas s'en passer ?

      Posté par  (site web personnel) . Évalué à 1.

      Si ça intéresse quelqu'un, j'ai dû abandonner deux/trois pistes :
      1. avoir un skel contenant déjà anaconda ; FAIL <- la session guest ne fait que 1.6Go (de mémoire). J'ai compris ça bien après.
      2. lancer l'installation d'anaconda par l'user de la session invité. <- FAIL ; manque d'espace disque. C'est là que j'ai compris le fail précédent.
      3. Sans passer par anaconda, je n'ai pas réussi à avoir une version récente de spyder, ni jupyterlab. En même temps, on est prévenu que c'est pas trivial.

      Conclusion : dur de se passer d'anaconda. D'autant que c'est ce qu'on peut conseiller à un utilisateur pour qu'il puisse retrouver le même environnement sur ses postes persos à la maison. Il ne doit pas du tout galérer pour retrouver le même outil.

  • # déjà vu

    Posté par  . Évalué à 2.

    De mémoire, il y a un système qui fait ce que tu demandes. Je me demande si ça n'a pas été développé par quelqu'un du système scolaire. Est-ce que Eole ne ferait pas ce que tu cherches ? Il y en a peut-être d'autres.

    • [^] # Re: déjà vu

      Posté par  . Évalué à 3.

      Il y avait aussi Pingoo fût un temps,qui apparemment a été abandonné en 2012 suite à la fermeture du service qui s'en occupait.

      • [^] # Re: déjà vu

        Posté par  . Évalué à 1.

        sur le pingoo on utilisait partimage pour le déploiement de postes, mais effectivement comme tu dis ça date un peu cette histoire…

  • # Clonage en réseau

    Posté par  . Évalué à 1. Dernière modification le 06 novembre 2019 à 09:58.

  • # FOG ?

    Posté par  . Évalué à 4.

    • [^] # Re: FOG ?

      Posté par  . Évalué à 2.

      je poussais FOG
      tu l'installes sur la machine sans clavier/souris (par dessus Debian par exemple)

      ca gères le boot en reseau des machines, propose un menu pour inventorier les machines, remonter une image à partir d'un poste, la redescendre sur un autre, etc

      par contre il te faudra un peu de place sur ce 'serveur' pour stocker l'image.

  • # Déconnexion

    Posté par  . Évalué à 1.

    Pour la déconnexion, tu peux demander à ton navigateur (au hasard, firefox) de supprimer les cookies à la fermeture, ce qui fermera donc la connexion au portail.

    I suffit de trouver quelque chose comme ça dans les paramètres.

    "When closed, Firefox should automatically clear all cookies"

    Ensuite, il faudra bien cloner le dossier de profil de firefox sur toutes les machines.

    Petit bémol : ça va fermer toutes les sessions sur tous les sites qu'ils pourraient visiter ; mais il ne me semble pas que ce soit un problème pour une session invité.

  • # eole, abuledu/debianedu, ltsp

    Posté par  . Évalué à 2.

    autant de projet pouvant répondre à tes besoins,
    dont le client sans OS,

    tu charges l'os et ses packages via le reseau donc tu peux ajouter un package dans le système, tu le fais une fois, et suffit de rebooter un poste pour qu'il soit à jour, en utilisant les ressources locales

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.