Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 24/06/2015, à 10:00

zodd

[Résolu] Eteindre par coupure d'alimentation - FS en lecture seule

Salut,

J'ai un PC sous Ubuntu 12.0.4.5 LTS (avec openBox) que je dois pouvoir éteindre en coupant l'alimentation. Le problème c'est que souvent , en redémarrant, c'est le grub qui apparait.

Du coup j'aimerai être certain que le Grub n'apparaisse plus et que Ubunu démarre directement quoi qu'il arrive et savoir quoi faire pour "sécuriser" un minimum le système de fichier. Il faut savoir que le PC n'est pas relié à internet , qu'aucun changement ou ajout de données n'est effectué dessus.. il démarre et se lance automatiquement sur un seul logiciel exploitable par écran tactile.

Merci d'avance pour les conseils wink

Dernière modification par zodd (Le 21/07/2015, à 16:45)

Hors ligne

#2 Le 24/06/2015, à 10:22

louisoquinn

Re : [Résolu] Eteindre par coupure d'alimentation - FS en lecture seule

Bonjour :-)
Quelle version d'Ubuntu utilises-tu ?

En théorie, tu peux installer Grub Customizer pour régler les paramètres de Grub, et donc choisir un boot automatique sur Ubuntu.
Tu trouveras toutes les infos ici : http://doc.ubuntu-fr.org/grub-customizer


PC Compaq, AMD Athlon II, 6GO RAM, Ubuntu 17.10

Hors ligne

#3 Le 24/06/2015, à 11:13

zodd

Re : [Résolu] Eteindre par coupure d'alimentation - FS en lecture seule

Merci pour ta réponse,

Je suis en 12.0.4.5 LTS avec openbox

Pour l'affichage du Grub , j'ai déjà un truc comme ça:
GRUB_HIDDEN_TIMEOUT=0

mais ça ne semble pas suffire en cas de coupure d'alimentation pour l'empêcher d'apparaitre.

edit:
en mettant GRUB_TIMEOUT=0  , ça a l'air efficace.

(je préfére le faire en ligne de commande car je suis sous openbox.. )

Par contre , je ne sais pas si je dois faire quelque chose de particulier en plus pour sécuriser le système avec ce type d'extinction.

Dernière modification par zodd (Le 24/06/2015, à 11:25)

Hors ligne

#4 Le 25/06/2015, à 16:18

zodd

Re : [Résolu] Eteindre par coupure d'alimentation - FS en lecture seule

salut,

je remonte le message car malgré les lignes
GRUB_HIDDEN_TIMEOUT=0
GRUB_TIMEOUT=0

après un arrêt par coupure d'alimentation, le PC ne redémarre pas forcément bien et si je recoupe et remet à nouveau l'alimentation à nouveau, alors j'ai le Grub qui apparait à nouveau..

Du coup je n'arrive pas à voir comment faire pour qu'un arrêt brutal n'ai pas d'impact sur le redémarrage et pour que le Grub n'apparaisse jamais..

Hors ligne

#5 Le 25/06/2015, à 17:30

zodd

Re : [Résolu] Eteindre par coupure d'alimentation - FS en lecture seule

j'ai l'impression qu'en ajoutant ça:

GRUB_DISABLE_OS_PROBER=true
GRUB_CMDLINE_LINUX_DEFAULT="rootdelay=40 quiet splash"
GRUB_RECORDFAIL_TIMEOUT=0

et ça:
/etc/default/rcS
FSCKFIX=yes

ça fonctionne... j'ai fait une dizaine d'arrêt/marche sans que ça plante.

Hors ligne

#6 Le 25/06/2015, à 17:31

jplemoine

Re : [Résolu] Eteindre par coupure d'alimentation - FS en lecture seule

Et si tu mets une petite valeur :
GRUB_TIMEOUT=3 (par exemple).
Est-ce que tu n'as pas le grub qui apparait quand même MAIS avec une valeur par défaut validée au bout de 3 secondes (valeur de l'exemple).


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#7 Le 26/06/2015, à 10:41

zodd

Re : [Résolu] Eteindre par coupure d'alimentation - FS en lecture seule

oui si je met :
#GRUB_HIDDEN_TIMEOUT=0
GRUB_TIMEOUT=10

le décompte a bien lieu avec une valeur par défaut validée..

le soucis c'est après un "plantage", le grub se met sans décompte et attends une action au clavier..

mais avec ce que j'ai mis au dessus ça a l'air de marcher.

en plus j'ai eu besoin d'ajouter rootdelay=40 , car des fois il ne bootait pas.. et c'est dans ces moment, qu'après, il m'affichait le Grub de façon permanente.

Hors ligne

#8 Le 26/06/2015, à 15:57

tiramiseb

Re : [Résolu] Eteindre par coupure d'alimentation - FS en lecture seule

Salut,

Attention, une coupure brutale peut corrompre le système.
Si vraiment tu ne peux pas faire autrement, il faudrait faire un système qui soit (au moins partiellement) en lecture seule.

Hors ligne

#9 Le 29/06/2015, à 09:23

zodd

Re : [Résolu] Eteindre par coupure d'alimentation - FS en lecture seule

c'est bien ça que je veux faire.. mais comment le mettre en lecture "seule"  (mis à part quand on touche une configuration réseau par exemple, en gros que le système ne soit modifié que quand on le désire)?  (je n'ai pas le choix sur la méthode de coupure.. , et Ubuntu est la seule distro supportée.. j'ai bien pensé à faire un linux embarqué avec Buildroot, mais je sens que ça va me prendre un temps fou pour arriver au même résultat, alors que là tout est parfait sauf pour la mise hors tension.. )

après avec la journalisation en ext4, ça devrait quand même se rattraper non? car ça sert à ça normalement non?

Dernière modification par zodd (Le 29/06/2015, à 09:36)

Hors ligne

#10 Le 29/06/2015, à 09:32

tiramiseb

Re : [Résolu] Eteindre par coupure d'alimentation - FS en lecture seule

j'ai bien pensé à faire un linux embarqué avec Buildroot, mais je sens que ça va me prendre un temps fou pour arriver au même résultat, alors que là tout est parfait sauf pour la mise hors tension..

Ben oui mais y'a pas le choix, car non tout n'est pas parfait, Ubuntu n'est pas fait pour être coupé brutalement. Il faut bel et bien créer un système embarqué pour pouvoir faire ce que tu veux.

Après, tu peux très bien te baser sur Ubuntu pour ça... En désactivant les services inutiles, en mettant en tmpfs tous les trucs variables, etc.

Hors ligne

#11 Le 29/06/2015, à 09:51

zodd

Re : [Résolu] Eteindre par coupure d'alimentation - FS en lecture seule

oui on est d'accord... le soucis , c'est que je n'ai clairement pas matériellement le temps (vue le délai et l'avancement du projet ) pour tout remettre en question et repartir sur de l'embarqué..

Par contre je ne vois pas par quoi commencé pour désactiver les services inutiles (j'ai déjà désactivé les mise à jour auto), et je ne comprends pas bien ce que tu veux dire par "mettre en tmpfs les trucs variables"  ..

(pour la petite histoire, je suis en train de lire le manuel de buildroot sur mon temps libre et d'expérimenter la création de packages, mais je sens que je n'en aurais pas la maitrise nécessaire à temps.. )

edit: je me documente ^^:
http://manpages.ubuntu.com/manpages/tru … pfs.5.html
Si tu as déjà des conseils sur quoi monter en tmpfs, je suis preneur wink

Dernière modification par zodd (Le 29/06/2015, à 09:59)

Hors ligne

#12 Le 29/06/2015, à 09:58

tiramiseb

Re : [Résolu] Eteindre par coupure d'alimentation - FS en lecture seule

je ne comprends pas bien ce que tu veux dire par "mettre en tmpfs les trucs variables"  ..

Les logs par exemple, ils écrivent dans /var/log. Mais si ton système est en lecture seule, ça ne sera pas possible.
Alors tu montes un tmpfs sur /var/log, du coup tes logs seront dans un tmpfs.

Hors ligne

#13 Le 29/06/2015, à 10:32

zodd

Re : [Résolu] Eteindre par coupure d'alimentation - FS en lecture seule

ok je comprends. et du coup comment faire pour passer le système en lecture seule et autoriser les écriture qu'à certains moments? ça se pas passe dans le fstab je suppose au moment du montage un truc dans le genre:

UUID=33b870b8-a81e-4203-a4fd-7affa9f412fb    /               ext4    ro  0      

mais du coup , si à un moment j'ai besoin d'écrire dedans, je peux modifier le type de montage "à la volée"?
en faisant par exemple un  (la syntaxe est sans doute fausse, c'est juste pour expliquer l'idée de base.. ):
sudo mount  /dev/sda1 /               ext4    rw  0

mes modifs,
puis pour repasser en lecture seule:
sudo mount /dev/sda1 /               ext4    ro  0

Dernière modification par zodd (Le 29/06/2015, à 10:51)

Hors ligne

#14 Le 29/06/2015, à 12:31

tiramiseb

Re : [Résolu] Eteindre par coupure d'alimentation - FS en lecture seule

sudo mount -o remount,rw /
sudo mount -o remount,ro /

Dernière modification par tiramiseb (Le 29/06/2015, à 12:31)

Hors ligne

#15 Le 29/06/2015, à 14:34

zodd

Re : [Résolu] Eteindre par coupure d'alimentation - FS en lecture seule

super merci ^^

A part /var/log  , quels autres répertoire me suggères tu de monter en tmpfs ?
j'ai trouvé ça pour l'intant:

tmpfs    /tmp    tmpfs    defaults,noatime,nosuid,size=100m    0 0
tmpfs    /var/tmp    tmpfs    defaults,noatime,nosuid,size=30m    0 0
tmpfs    /var/log    tmpfs    defaults,noatime,nosuid,mode=0755,size=100m    0 0
tmpfs    /var/run    tmpfs    defaults,noatime,nosuid,mode=0755,size=2m    0 0
tmpfs    /var/spool/mqueue    tmpfs    defaults,noatime,nosuid,mode=0700,gid=12,size=30m    0 0

d'ailleurs j'ai trouvé ça:

Il m'est arrivé de préparer des systèmes embarqués où
l'alimentation risquait d'être interrompue inopinément et où il
ne fallait pas perdre de données en cas d'arrêt brutal. Pour
cela, la racine du système de fichiers était montée en
lecture-seule et les répertoires  /tmp, /var, etc. étaient
créés sur une partition en mémoire (ramdisk) formatée au
boot.   Le   répertoire  /home   dans   lequel   des   données
cruciales   étaient   collectées   se   trouvait   également   en
mémoire mais était synchronisé toutes les trente secondes
avec une partition sur carte SD montée temporairement en
lecture-écriture. Pour être exact, la synchronisation se faisait
alternativement   sur   deux   partitions   différentes,   afin   de
disposer   dans   le   pire   des   cas   (coupure   d'alimentation
pendant une écriture corrompant la partition) des données
vieilles de trente secondes avant le crash sur l'autre partition.

ici:
http://www.blaess.fr/christophe/files/g … tch-02.pdf

du coup est ce qu'utiliser tmpfs revient au même que créer et utiliser une partition en mémoire?
je suppose que oui car sur wiki je trouve ça pour tmpfs:

tmpFS (Temporary File System) est le nom générique donné à tout système de fichiers Unix temporaire. Tout fichier créé dans un tel système de fichiers disparait lors de l'arrêt du système.

L'implémentation par défaut du tmpfs des noyaux Linux 2.6.x1 se base sur ramfs qui utilise un mécanisme de cache pour optimiser la gestion de la mémoire.

Cependant, tmpfs propose en plus par sécurité une limite de taille mémoire allouable fixée au moment du montage et modifiable à la volée avec l'option "remount". tmpfs permet par ailleurs au système d'utiliser le swap lorsque cela devient nécessaire, ce qui est une garantie supplémentaire.

Par opposition à un RAM Disque, il alloue dynamiquement la mémoire de manière à ne pas l'utiliser en excès, et offre de meilleures performances grâce à son extrême simplicité.

(mais avec ramdisk dans l'exemple précédent alors que tmpfs se base sur ramfs ...)
j'ai bien compris? big_smile

Dernière modification par zodd (Le 29/06/2015, à 14:50)

Hors ligne

#16 Le 29/06/2015, à 14:49

tiramiseb

Re : [Résolu] Eteindre par coupure d'alimentation - FS en lecture seule

Sous /var, c'est selon ce qui tourne sur ta machine.
Par exemple tu évoques /var/spool/mqueue, c'est que tu as des données variables dans ce répertoire, car un service les crée. À toi de voir ce que tes services créent...

Hors ligne

#17 Le 29/06/2015, à 14:59

zodd

Re : [Résolu] Eteindre par coupure d'alimentation - FS en lecture seule

ok je comprends (je ne sais pas si tu as vu mais j'ai édité mon message précédent wink )

j'ai une question très bête par contre... est ce que je peux modifier mon fstab de la sorte ( / en ro, et /var/log en tmpsf par exemple), si tout mon système est sur la même partition? ou bien est ce que je suis obligé de tout reformater pour créer autant de partition que de  type de montage différents?

oui pour /var/spool/mqueue  , c'était déjà dans l'exemple que j'ai trouvé, mais concrètement, il 'y aura pas de messages sur mon système... d'ailleurs à part les paramètres de port réseau et de port com, rien de doit être enregistré ou sauvegardé... donc aucun soucis si on perd tout les fichiers temp ou les log à chaque redémarrage..

Hors ligne

#18 Le 29/06/2015, à 15:01

tiramiseb

Re : [Résolu] Eteindre par coupure d'alimentation - FS en lecture seule

tmpfs et ramdisk, c'est le même principe.

est ce que je peux modifier mon fstab de la sorte ( / en ro, et /var/log en tmpsf par exemple), si tout mon système est sur la même partition?

Ben oui. Tu as une partition c'est ta racine et puis des volumes en tmpfs à tel et tel point de montage.

Hors ligne

#19 Le 29/06/2015, à 15:05

zodd

Re : [Résolu] Eteindre par coupure d'alimentation - FS en lecture seule

Merci encore wink

bon j'ai plus qu'à me lancer wink
je posterai mon fstab  quand tout marchera , ça pourra toujours servir à d'autres wink

j'adore LINUX ^^

Hors ligne

#20 Le 19/07/2015, à 04:40

melodie

Re : [Résolu] Eteindre par coupure d'alimentation - FS en lecture seule

Salut,

Je pense que si tu installes une image ISO (type de système de fichiers iso9669), tu obtiendras par défaut un système de fichiers en lecture seule. Est-ce bien ce que tu recherches ?

Si oui, tu pourrais avoir Grub sur une partition, qui lance soit une image iso, soit une partition installé en iso9660 : avec dd. À essayer ? Et si tu veux éteindre proprement, ben obsession ? smile
http://packages.ubuntu.com/vivid/obsession

Le paquet n'est disponible qu'à partir de Vivid, mais le paquet pour Vivid fonctionne fort bien dans Trusty aussi.
(et comme tout programme doté d'une version en cli, rien n'empêche de le commander par un cron, ou un système d'événement… j'ai vu passer ça dernièrement sur une liste je crois).

PS: si tu mets /var/log en tmpfs (sur une installation classique donc) tu n'auras jamais de log conservé. Si tu rencontres un problème tu n'auras aucun moyen d'en découvrir la source.

PS2: différence entre ramdisk et tmpfs ici:
https://fr.wikipedia.org/wiki/RAM_disque

Évolution

Une autre technique d'utilisation de la mémoire vive pour le stockage de fichiers est le système de fichiers temporaire tmpfs (dérivé du très simple ramfs). Un tel système est bien plus léger car il ne cherche pas à simuler un disque dur, ce qui permet de ne pas traverser de multiples interfaces et protocoles logiciels (pilote de disque, pilote de système de fichiers, système de cache…) habituellement destinés à ce type de support de mémoire de masse. L'implémentation tmpfs de Linux s'intègre ainsi nativement dans la gestion du cache mémoire du noyau Linux.

À la différence d'un RAM disque vu comme une partition disque de capacité fixe, un système de fichiers temporaires augmente et diminue de taille selon les besoins.

Dernière modification par melodie (Le 19/07/2015, à 04:47)

Hors ligne

#21 Le 19/07/2015, à 11:38

tiramiseb

Re : [Résolu] Eteindre par coupure d'alimentation - FS en lecture seule

Je pense que si tu installes une image ISO (type de système de fichiers iso9669), tu obtiendras par défaut un système de fichiers en lecture seule. Est-ce bien ce que tu recherches ?

Il y a quand même plus "optimisé" que d'utiliser une image ISO, qui n'est pas vraiment faite pour ça .

(au fait, la norme ce n'est pas ISO 9669, c'est ISO 9660, probablement une faute de frappe de ta part, surtout que tu l'as bien écrit ensuite wink )

Et si tu veux éteindre proprement, ben obsession ?

Quel est le rapport entre la nécessité d'une extinction brutale par coupure d'alimentation et ce machin-là ?

PS: si tu mets /var/log en tmpfs (sur une installation classique donc) tu n'auras jamais de log conservé

Pas de log après une extinction, mais les logs pendant le fonctionnement du système sont toujours là. À voir si la conservation des logs dans le temps est nécessaire...

zodd n'ayant pas détaillé comment sera utilisé ce système, on ne peut rien affirmer...

À la différence d'un RAM disque vu comme une partition disque de capacité fixe, un système de fichiers temporaires augmente et diminue de taille selon les besoins.

Mauvaise formulation, car on peut croire qu'on voit l'espace total varier.
Quand on configure un tmpfs on lui donne bien une taille maxi, qu'on voit comme la taille du volume. Par contre en effet, seul l'espace utilisé consomme réellement de la RAM, là où un ramdisk consomme de la RAM même s'il est vide.

Hors ligne

#22 Le 19/07/2015, à 14:08

melodie

Re : [Résolu] Eteindre par coupure d'alimentation - FS en lecture seule

tiramiseb a écrit :

Je pense que si tu installes une image ISO (type de système de fichiers iso9669), tu obtiendras par défaut un système de fichiers en lecture seule. Est-ce bien ce que tu recherches ?

Il y a quand même plus "optimisé" que d'utiliser une image ISO, qui n'est pas vraiment faite pour ça .

(au fait, la norme ce n'est pas ISO 9669, c'est ISO 9660, probablement une faute de frappe de ta part, surtout que tu l'as bien écrit ensuite wink )

Oui, 9660. Bref, l'image iso c'est parce que le système de fichiers à la norme ISO9660 est en lecture seule. (On peut utiliser dd, ça donnera un fs ISO9660 sur une partition).


Et si tu veux éteindre proprement, ben obsession ?

Quel est le rapport entre la nécessité d'une extinction brutale par coupure d'alimentation et ce machin-là ?

Ben aucun ? On peut tirer la prise hein ? Sauf que le système de fichiers se met en vrac. Alors, au choix, il fait ce qui a été évoqué précédemment dans le fil de discussion, ou bien il utilise

sudo sysctl poweroff

(à distance, dans un script, dans un cron, ce qu'il veut)(Si c'est une version de Ubuntu qui emploie systemd bien sûr)

ou bien il installe obsession “ce machin-là” (ça devrait faire plaisir à l'auteur du programme et à celui qui s'est décarcassé pour le packager pour Debian) qui contient des options faisant la même chose, quel que soit la sous-couche : ça fonctionne avec systemd, consolekit, et avec le système d'init SystemV.

PS: si tu mets /var/log en tmpfs (sur une installation classique donc) tu n'auras jamais de log conservé

Pas de log après une extinction, mais les logs pendant le fonctionnement du système sont toujours là. À voir si la conservation des logs dans le temps est nécessaire...

Personnellement je les consulte rarement, sauf quand un problème se présente. Et dans le cadre de sa demande je ne vois pas le rapport avec ce qu'il veut réaliser.

zodd n'ayant pas détaillé comment sera utilisé ce système, on ne peut rien affirmer...

C'est vrai que donner des détails, ça pourrait aider à l'aider.


À la différence d'un RAM disque vu comme une partition disque de capacité fixe, un système de fichiers temporaires augmente et diminue de taille selon les besoins.

Mauvaise formulation, car on peut croire qu'on voit l'espace total varier.

Regarde bien : j'ai cité Wikipédia, et de plus en lisant la partie entière que j'ai citée, c'est explicite. Si tu n'en cites qu'un bout, on ne comprend plus rien.

Serais-tu victime du formatage social relatif à l'hyper-spécialisation ? Ou as-tu lu trop vite ?

Quand on configure un tmpfs on lui donne bien une taille maxi, qu'on voit comme la taille du volume. Par contre en effet, seul l'espace utilisé consomme réellement de la RAM, là où un ramdisk consomme de la RAM même s'il est vide.

Je suggères que tu ailles en débattre sur la page discussion de Wikipédia. Je ne suis pas l'auteure de la définition, que je recherchais d'abord, mais en vain, sur le Jargon Fr, puis sur dicofr.com.

Dernière modification par melodie (Le 19/07/2015, à 14:12)

Hors ligne

#23 Le 19/07/2015, à 14:18

tiramiseb

Re : [Résolu] Eteindre par coupure d'alimentation - FS en lecture seule

l'image iso c'est parce que le système de fichiers à la norme ISO9660 est en lecture seule

Mais ce n'est pas le seul et certainement pas la solution idéale pour un système en fonctionnement courant.

Une image ISO, ça ne peut pas servir de système de fichiers de base, ça ne peut pas être une racine. Dans une image ISO, on retrouve une image d'un système que l'ordinateur monte pour ensuite l'utiliser en tant que filesystem (ext* ou autre) en lecture seule. Donc une étape inutile quand on fait quelque chose de définitif.

[...] On peut tirer la prise hein ? Sauf que le système de fichiers se met en vrac. [...] Alors, au choix, il fait ce qui a été évoqué précédemment dans le fil de discussion, [...] poweroff [...] ou bien il installe obsession [...]

Avant de proposer uniquement des solutions qui nécessitent d'arrêter l'ordinateur SANS tirer la prise, il faudrait peut-être lui demander s'il peut vraiment faire SANS tirer la prise.

Car son besoin à la base, c'est quand même d'éteindre la machine en tirant la prise, hein...
Et je peux imaginer plein de cas où ça peut être nécessaire, dont des cas que j'ai pu mettre en œuvre pour certains clients.

j'ai cité Wikipédia

Je sais. L'article Wikipedia est mal formulé. Sur le mooment je n'avais ni la motivation ni le temps pour écrire une définition de qualité encyclopédique, alors je me suis abstenu...

Dernière modification par tiramiseb (Le 19/07/2015, à 14:23)

Hors ligne

#24 Le 19/07/2015, à 15:02

melodie

Re : [Résolu] Eteindre par coupure d'alimentation - FS en lecture seule

Non, on ne doit JAMAIS tirer la prise. En anglais "its a big NO NO". Dans les cas où tout est coincé il existe encore les SysRq

Hors ligne

#25 Le 19/07/2015, à 15:39

tiramiseb

Re : [Résolu] Eteindre par coupure d'alimentation - FS en lecture seule

Non, on ne doit JAMAIS tirer la prise.

Allez hop, quelques exemples :
- ordinateur embarqué dans une voiture, lecteur de musique basé sur un Raspberry Pi par exemple : coupure inopinée de l'alimentation à prévoir ;
- ordinateur de type "borne publique", dont le bon fonctionnement et la bonne utilisation ne peuvent être assurés ;
- émulateur de console de jeu, à allumer/éteindre sans réfléchir (comme n'importe quelle console jusqu'à récemment) ;
- centrale domotique, sans aucun contrôle humain de type écran/clavier, qui s'arrête forcément brusquement s'il y a une coupure de courant ;
- cluster de calcul embarqué sur un bateau pour les sondages de pétroles, alimentés par le groupe électrogène du bateau, qui n'est pas infaillible.
... et ce ne sont que quelques exemples qui me viennent à l'esprit, où une extinction "brutale" est à envisager.

Hors ligne