Modification de Réinitialiser une machine Linux

Attention : vous n’êtes pas connecté(e). Votre adresse IP sera visible de tout le monde si vous faites des modifications. Si vous vous connectez ou créez un compte, vos modifications seront attribuées à votre propre nom d’utilisateur(rice) et vous aurez d’autres avantages.

La modification peut être annulée. Veuillez vérifier les différences ci-dessous pour voir si c’est bien ce que vous voulez faire, puis publier ces changements pour finaliser l’annulation de cette modification.

Version actuelle Votre texte
Ligne 1 : Ligne 1 :
{{ArticleHead|Adadov}}
Remettre à zéro une station de travail Linux demande de faire attention à quelques détails.
Remettre à zéro une station de travail Linux demande de faire attention à quelques détails.


La remise à zéro d'une machine est indispensable afin d'avoir un parc propre.
Les doublons de clés SSH ou d'UUID pourraient vous empêcher d'identifier correctement une machine.
Les hostname en doubles risquent de faire hurler vos serveurs dans de nombreux cas ...
{{-}}
== Détails ==
== Détails ==
Afin de ne pas copier des données inutilement ou laisser des informations qui pourraient compromettre la sécurité. Il faut supprimer toutes les infos qui ne sont pas utiles à la nouvelle machine.
Afin de ne pas copier des données inutilement ou laisser des informations qui pourraient compromettre la sécurité. Il faut supprimer toutes les infos qui ne sont pas utiles à la nouvelle machine.
Ligne 32 : Ligne 25 :
/usr/bin/rm -f ~root/.ssh/known_hosts}}
/usr/bin/rm -f ~root/.ssh/known_hosts}}


=== RAZ UUID et Hostname ===
=== Remise à zéro de l'UUID machine ===
La remise à zéro de ces paramètres demande quelques modifications pour qu'elle soit optimale.
Comme pour SSH il suffit de supprimer le fichier pour qu'un nouveau soit généré au prochain démarrage.
 
On va créer un fichier de service systemd personnalisé pour le service firstboot afin qu'il génère automatiquement un nouvel UUID pour la machine et qu'il nous donne un prompt au prochain démarrage pour saisir le nom de la machine.
 
{{LxTerm|user=root|/usr/bin/rm -f /etc/machine-id /etc/hostname|text=}}
 
Le fichier personnalisé est {{Path|/etc/systemd/system/systemd-firstboot.service}}
<syntaxhighlight lang="ini">
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
 
[Unit]
Description=First Boot Wizard
Documentation=man:systemd-firstboot(1)
DefaultDependencies=no
Conflicts=shutdown.target
After=systemd-remount-fs.service
Before=systemd-sysusers.service sysinit.target shutdown.target
ConditionPathIsReadWrite=/etc
ConditionFirstBoot=yes
 
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/systemd-firstboot --setup-machine-id --prompt-hostname
StandardOutput=tty
StandardInput=tty
StandardError=tty
 
[Install]
WantedBy=sysinit.target
 
</syntaxhighlight>
{{LxTerm|text=/usr/bin/systemctl enable systemd-firstboot}}
 
=== Utilisation de sys-unconfig ===
Cette partie doit se faire en dernière, le script fera le nettoyage final puis demandera que le firstboot se lance au prochain démarrage.


Puis il éteindra la machine.
{{LxTerm|user=root|/usr/bin/rm -f /etc/machine-id}}
 
{{LxTerm|text=/usr/sbin/sys-unconfig}}


== Script ==
== Script ==
<syntaxhighlight lang="bash">
<source lang="bash">
#!/usr/bin/env bash
#!/usr/bin/env bash


Ligne 95 : Ligne 46 :
/usr/bin/rm -f /etc/ssh/*key*
/usr/bin/rm -f /etc/ssh/*key*
/usr/bin/rm -f /etc/machine-id
/usr/bin/rm -f /etc/machine-id
/usr/bin/rm -f /etc/hostname


/usr/bin/rm -f ~root/.ssh/known_hosts
/usr/bin/rm -f ~root/.ssh/known_hosts
/usr/bin/systemctl daemon-reload
/usr/bin/systemctl enable systemd-firstboot


/usr/sbin/sys-unconfig
/usr/sbin/sys-unconfig
</syntaxhighlight>
</source>
[[Catégorie:Linux]]
[[Catégorie:Déploiement]]
Notez bien que toutes les contributions à Adadov.net wiki peuvent être modifiées, transformées ou supprimées par d’autres utilisateurs. Si vous ne désirez pas que vos écrits soient modifiés contre votre gré, merci de ne pas les soumettre ici.
Vous nous promettez aussi que vous avez écrit ceci vous-même ou que vous l’avez copié d’une source placée dans le domaine public ou d’une ressource libre similaire (voir AdadovNet:Copyrights pour plus de détails). N’utilisez aucun travail sous droits d’auteur sans autorisation expresse !
Annuler Aide pour la modification (s’ouvre dans une nouvelle fenêtre)