J'aime faire fonctionner un système sans surveillance pour une utilisation quotidienne de «kiosque».
Cependant, le système peut être mis hors tension à tout moment sans que quelqu'un ne procède à un arrêt approprié auparavant. Par défaut, Ubuntu ne devrait pas être arrêté par une coupure de courant. Après le redémarrage après une coupure de courant, fsck peut être exécuté pour vérifier le système de fichiers et fsck peut indiquer au système de redémarrer une fois terminé. Ainsi, même si aucune donnée de configuration n'est corrompue, la machine peut ne pas démarrer correctement après une coupure de courant. J'ai donc testé quelques solutions:
changez la priorité fsck du montage racine en
0
(dernier champ defstab
l'entrée racine) qui empêche l'exécutionfsck
après chaque coupure de courant. Cependant, le système peut alors démarrer avec une lecture montée en racine, ce qui n'est pas attendu par de nombreux services et entraîne une invite de connexion à la console à la place de la connexion graphique.Remplacez
errrors=remount-ro
parerrors=continue
. Cela donne une mauvaise impression qu'une perte de données supplémentaire peut se produire par un système de fichiers incohérent. Cependant, avecfsck
à nouveau activé, il devrait augmenter la capacité de démarrage du système après une coupure de courant. J'ai donc abandonné 1).Reconfigurez grub2 pour utiliser un délai d'expiration d'option par défaut normal après un échec de démarrage. Pour cela, j'ai ajouté
GRUB_RECORDFAIL_TIMEOUT=0
à/etc/default/grub
.
Cependant, il est difficile de savoir si ces hacks rendent le système à l'épreuve des pertes de puissance. Des idées? Peut-on faire de plus?
Réponses:
Pour l'application kiosque, le problème est résolu en utilisant une partition racine en lecture seule. De plus, toutes les modifications apportées ou enregistrées par les utilisateurs sont annulées au prochain redémarrage.
Pour fournir une racine accessible en écriture pour la plupart des besoins des applications, overlayfs peut être utilisé pour superposer la partition en lecture seule avec un ram tempfs accessible en écriture.
Il existe un script qui aide à créer une telle configuration au bas de https://help.ubuntu.com/community/aufsRootFileSystemOnUsbFlash . Le script contient les instructions pour configurer ceci:
sudo chmod 0755 root-ro
sudo update-initramfs -u
Je suggère d'ajouter
GRUB_RECORDFAIL_TIMEOUT=0
à/etc/default/grub
et exécutersudo update-grub
aussi, sinon le menu de démarrage peut apparaître sans délai.Après cela, redémarrez. La machine démarre alors en mode lecture seule, qui peut être vérifiée par
mount
. Tout changement appliqué disparaîtra au prochain redémarrage. Pour apporter des modifications, installer des logiciels et des mises à jour, etc., il vous suffit d'entrer dans le menu GRUB, d'appuyer sure
pour modifier les lignes de commande de démarrage et d'ajouterdisable-root-ro=true
à la ligne commençant par le noyau. Appuyez sur F10 pour continuer le démarrage. Vous pouvez ensuite utilisermount
pour confirmer que root est monté accessible en écriture comme d'habitude. Apportez vos modifications et redémarrez, le système est à nouveau en lecture seule.la source
Quelques fois après un redémarrage impur (disons une perte de puissance ou un bouton de réinitialisation enfoncé ou même une panique du noyau), le système ne démarre pas en vous demandant d'appuyer sur "y" pour qu'un fsck répare la partition.
Si vous souhaitez éviter cela, éditez / etc / default / rcS et changez:
À:
Cela garantira que cette réparation est exécutée automatiquement sans vous en informer.
L'inconvénient peut être que vous pouvez perdre des données et que vous souhaitiez peut-être retirer le disque dur et le cloner en premier s'il y a quelque chose de critique sur celui-ci qui n'est pas sauvegardé.
Par exemple, si votre contrôleur de disque dur est défectueux et que fsck a faussement identifié la partition comme étant défectueuse et tente de la réparer, cela peut entraîner une perte de données qui pourrait autrement être évitée. Je n'ai jamais vécu cela moi-même et j'ai traité près d'un millier de serveurs au cours des 7 dernières années, mais c'est quelque chose à garder à l'esprit.
la source
À partir d'aujourd'hui, pour une solution en lecture seule de kiosque, on peut également installer le package
overlayroot
enqui fournira facilement une solution complète comme celle de la réponse approuvée. Il permet également la commande bénéfique
qui se connectera à un shell sur lequel l'ancien disque de base en lecture seule sera monté
/
. Il est alors possible d'apporter des modifications au système protégé comme et par exemple utiliserapt-get
pour installer des packages sur l'ancien disque en lecture seule. Cependant, après avoir quitté le shell, un redémarrage est fortement recommandé car les fichiers temporairement écrasés sur la RAM peuvent masquer ceux nouvellement installés.la source