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.

#26 Le 20/07/2015, à 10:51

zodd

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

salut,


merci à vous pour l'échange très instructif..
Et oui, JE N'AI PAS LE CHOIX , l'extinction se fait par coupure d'Alimentation .
c'est un panel PC tactile (avec un programme en mode "kiosque" sous openbox) qui  est embarqué dans un coffret industriel qui n'a qu'un interrupteur de marche/arrêt.. si quand j'ai commencé ce projet, j'avais eu plus de compétences (et surtout plus de temps alloué), je serais partit sur une solution basée sur buildroot (et encore j'aurai eu à régler d'autres problèmes tel que la création de packages buildroot avec la gestion de leur dépendances, etc.. ).. mais aujourd'hui, le système est "finit" fonctionnellement parlant. Il ne me reste plus qu'à le rendre fiable. Je n'ai pas besoin de log, les seules choses qui sont amenées à changer, ce sont les paramètres réseaux qui sont réécrit si besoin à l'aide d'un script lancé depuis l'interface tactile et cela est fait juste une fois à l'installation.  En gros, une fois paramétré, aucune sauvegarde ou autre log n'a besoin d'être effectué.

pour l'instant mon fstab ressemble à ça :

cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/sda1 during installation
UUID=2b68585d-06ee-4357-a119-19811164e86b /               ext4    noatime,discard,errors=remount-ro 0       1
# swap was on /dev/sda5 during installation
UUID=c1ba8189-5fd3-4ea1-845e-ed34c6e01a6e none            swap    sw              0       0
tmpfs      /tmp            tmpfs        defaults,size=1g           0    0
tmpfs /var/log tmpfs defaults,nosuid,nodev,noatime,mode=0755,size=5% 0 0
tmpfs    /var/cache/apt/archives    tmpfs    defaults,size=2g    0    0
tmpfs    /home/user/.cache    tmpfs    defaults,size=1g    0    0
tmpfs    /var/run    tmpfs    defaults,noatime,nosuid,mode=0755,size=1g    0 0

j'ai voulu mettre / comme ceci (avec l'option read only en plus): UUID=2b68585d-06ee-4357-a119-19811164e86b /               ext4    ro, noatime,discard,errors=remount-ro 0       1
mais dans ce cas, j'ai un problème au démarrage et le PC passe en mode Low Graphics..

nota : pour info, certains paramètres viennent du fait que le disque est un SSD.

Edit :
pour info , voilà mon GRUB:

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="rootdelay=40 quiet splash"
GRUB_CMDLINE_LINUX=""
GRUB_DISABLE_OS_PROBER=true
GRUB_RECORDFAIL_TIMEOUT=0

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

et dans /etc/default/rcS
j'ai ajouté ça:
FSCKFIX=yes

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

Hors ligne

#27 Le 20/07/2015, à 19:28

tiramiseb

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

Je pense que le home de l'utilisateur devrait être accessible en écriture.
Mais il faut aussi éviter les corruptions en cas de coupure.

Solution : aufs.

Hors ligne

#28 Le 21/07/2015, à 10:16

zodd

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

merci, je regarde comment faire ça avec aufs...  on peut s'en servir dans fstab?
j'ai trouvé ce tuto assez clair:
http://www.thegeekstuff.com/2013/05/linux-aufs/

mais du coup je ne peux pas faire ça? (ro sur / et mount pour le home à la dernière ligne) :

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/sda1 during installation
UUID=2b68585d-06ee-4357-a119-19811164e86b /               ext4    ro,noatime,discard,errors=remount-ro 0       1
# swap was on /dev/sda5 during installation
UUID=c1ba8189-5fd3-4ea1-845e-ed34c6e01a6e none            swap    sw              0       0
tmpfs      /tmp            tmpfs        defaults,size=1g           0    0
tmpfs /var/log tmpfs defaults,nosuid,nodev,noatime,mode=0755,size=5% 0 0
tmpfs    /var/cache/apt/archives    tmpfs    defaults,size=2g    0    0
tmpfs    /home/user/.cache    tmpfs    defaults,size=1g    0    0
tmpfs    /var/run    tmpfs    defaults,noatime,nosuid,mode=0755,size=1g    0 0
tmpfs    /home/user    tmpfs    rw,defaults   0    1

Edit: je viens de tester.. c'est bizarre, mon home n'est pas reconnu en tant que tel.. ça boot comme si il était vierge et mon programme qui est dans le home ne se lance pas.. mais ça a résolu le souci de problème low graphics..
je suppose que c'est là que aufs intervient??? à moins qu'une simple modification du montage dans /home/user (que je n'ai pas besoin d'avoir dans tmpfs) dans fstab suffise ..

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

Hors ligne

#29 Le 21/07/2015, à 10:20

tiramiseb

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

Si, tu peux mettre /home/user en tmpfs, mais du coup le répertoire sera vide à chaque allumage, ce n'est pas nécessairement ce que tu veux (j'imagine que les logiciels ont des paramètres que tu veux conserver...)

Hors ligne

#30 Le 21/07/2015, à 11:04

zodd

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

bien vu , cf mon Edit un peu plus haut, c'est exactement ce que j'ai eut ^^


du coup j'ai une autre solution peut être plus propre qui est de mettre mon programme dans /opt ?? 

ha , et j'avais désactivé les mises à jour auto pour éviter d'avoir des fenêtres  et forcément là j'ai eu droit à quelques fenêtre de proposition d'upgrade vers 14.04 et de mise en garde comme quoi les mises à jour sont désactivé..

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

Hors ligne

#31 Le 21/07/2015, à 11:16

tiramiseb

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

du coup j'ai une autre solution peut être plus propre qui est de mettre mon programme dans /opt ??

Ton programme oui... Mais tes paramètres utilisateurs ?

je suppose que c'est là que aufs intervient???

Exactement : avec aufs tu associes le stockage sur disque dur (pour les données à conserver entre sessions) et un tmpfs (pour les données qui varient pendant l'utilisation).
Par contre, toute modification sur la session sera perdue pour la session suivante (mais c'est de toute façon préférable pour une utilisation de type kiosque).

Hors ligne

#32 Le 21/07/2015, à 11:48

zodd

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

oui c'est exactement ce que je veux faire.. j'ai besoin de conserver les paramètres utilisateurs.. et une fois tout paramétré à part certains fichiers de conf que mon programme aura à changer avec un remount en rw temporaire, il n'y aura rien à conserver entre deux session.

par contre j'ai du mal à voir comment utiliser aufs au démarrage pour réaliser cette opération..

il faut dans un script d'init que je lance ça? :
mount -t aufs -o br=/tmpfs=rw:/home/user=ro -o udba=reval none /tmp/aufs-root/

Hors ligne

#33 Le 21/07/2015, à 12:07

tiramiseb

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

Ça fait tellement longtemps que je n'ai pas utilisé aufs, je ne saurais pas te dire si tes options sont OK.
Je crois qu'il faudra changer des choses, parce que là tu dis de monter aufs sur /tmp/aufs-root alors que toi tu as besoin de monter sur /home/user.

Ce que je peux dire par contre, c'est que tout ce que tu fais avec la commande "mount" peut être placé dans le fstab.
Imaginons que la commande que tu montres est correcte (ce que je ne peux pas confirmer), alors tu pourrais mettre dans fstab :

none /tmp/aufs-root aufs br=/tmpfs=rw:/home/user=ro,udba=reval 0 0

Hors ligne

#34 Le 21/07/2015, à 13:22

zodd

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

en fait ce qui me chagrine c'est qu'il faudrait que je fasse ça et ça me semble bizarre:
none /home/user aufs br=/tmpfs=rw:/home/user=ro,udba=reval 0 0

Hors ligne

#35 Le 21/07/2015, à 13:35

tiramiseb

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

Si j'ai bien tout compris, je propose la chose suivante :
- tes données utilisateur tu les mets dans /opt/user au lieu de /home/user et tu vides complètement /home/user, puis tu crées un point de montage pour les données variables :

mv /home/user /opt
mkdir /home/user
mkdir /opt/variable-user
chown user.user /home/user
chown user.user /opt/variable-user

- tu crées un tmpfs pour les données variables et puis tu associe tout ça dans ton aufs :

tmpfs    /opt/variable-user    tmpfs    rw,defaults   0    1
none /home/user aufs br=/opt/variable-user=rw:/opt/user=ro,udba=reval 0 0

Hors ligne

#36 Le 21/07/2015, à 13:37

zodd

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

ok j'ai compris , je teste ça .

Merci beaucoup ^^

Hors ligne

#37 Le 21/07/2015, à 13:58

zodd

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

SUPER, ça fonctionne !!!

du coup j'ai encore une question, car il m'est venu une autre idée , est ce que selon toi,  faire ça aurait il le même résultat ? :

# / was on /dev/sda1 during installation
UUID=2b68585d-06ee-4357-a119-19811164e86b /               ext4    ro,noatime,discard,errors=remount-ro 0       1
....
UUID=2b68585d-06ee-4357-a119-19811164e86b    /home/user   ext4    rw,defaults   0    0

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

Hors ligne

#38 Le 21/07/2015, à 14:01

tiramiseb

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

Bah là tu monterais la racine de ton système dans ton répertoire utilisateur, en lecture écriture.

Tu trouverais donc par exemple les fichiers :
- /home/user/etc/fstab
- /home/user/bin/bash
- /home/user/usr/bin/wget
... etc.

En plus, ça voudrait dire que tu montes ton système de fichiers ext4 en lecture/écriture, donc au redémarrage ça devrait vérifier s'il n'y a pas eu corruption, etc.

Hors ligne

#39 Le 21/07/2015, à 14:16

zodd

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

oui effectivement je me suis planté en exprimant mon idée..
en fait on n'a pas le choix? car je ne peux pas sans utiliser aufs, monter / en ro , puis remonter seulement /home/user en rw  ?

edit: désolé d'être un peu lourd, mais c'est pour être sur d'avoir bien compris pourquo l'utilisation de aufs et le déplacement de /home/user dans /opt est incontournable.

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

Hors ligne

#40 Le 21/07/2015, à 14:22

tiramiseb

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

je ne peux pas sans utiliser aufs, monter / en ro , puis remonter seulement /home/user en rw  ?

Dans ce cas tu dois faire une partition à part pour /home/user.
Mais du coup c'est une partition qui sera montée en lecture/écriture, donc risque de corruption lors d'un arrêt brutal, etc.

Hors ligne

#41 Le 21/07/2015, à 14:51

zodd

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

ok merci pour toutes tes réponse vraiment super instructives wink  et comme je l'ai ajouté dans l'édit de mon message précédent, "désolé d'être un peu lourd, mais c'était pour être sur d'avoir bien compris pourquoi l'utilisation de aufs et le déplacement de /home/user dans /opt est incontournable."

Enfin, j'ai bien envie de laisser le cache utilisateur en tmpfs, ça ne me fait rien qu'il soit vide à chaque démarrage et ça préserve le disque dur SSD. N'hésite pas à me corriger s'il te plait si c'est une erreur.. ^^

Hors ligne

#42 Le 21/07/2015, à 15:00

tiramiseb

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

j'ai bien envie de laisser le cache utilisateur en tmpfs, ça ne me fait rien qu'il soit vide à chaque démarrage et ça préserve le disque dur SSD.

Bah les modifications à /home/user étant déjà en tmpfs par l'intermédiaire de ce que tu as fait avec aufs, il n'est pas nécessaire de faire le tmpfs spécifique à .cache smile

(par contre, fais gaffe à la taille donnée à /opt/variable-user, sans option ça fait 50% de la RAM, peut-être est-ce trop, peut-être est-ce trop peu...)

Hors ligne

#43 Le 21/07/2015, à 15:06

zodd

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

50% de RAM, c'est plus qu'il n'en faut, mais rien de dramatique je pense..

Faudrait que je regarde comment est occupée la ram pour être sur.. sachant , si je ne dis pas de bêtise, qu'avec tmpfs, c'est la taille max qui est définit et non pas la taille à réserver dés le départ? en gros l'allocation est dynamique?

(oui c'est vrai tu as raison pour le cache, fait chaud et ça me colle le cerveau.. ^^ )

Hors ligne

#44 Le 21/07/2015, à 15:10

tiramiseb

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

en gros l'allocation est dynamique?

Ouaip. Juste si ça se remplit à fond ça peut poser problème...

Hors ligne

#45 Le 21/07/2015, à 15:12

zodd

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

normalement ça ne devrait pas  poser de soucis car très peu de ram est utilisée par le système..

par contre à la place, du cache , j'ai mis ça:

tmpfs    /var/lib/sudo/user/    tmpfs    defaults,size=10M    0    0

j'ai ajouté ça car sinon j'avais un message d'erreur sur le premier

sudo mount -o remount,rw /

Edit :
arrrgghh mais du coup j'ai ce message :

sudo: /var/lib/sudo/bmti writable by non-owner (041777), should be mode 0700

 
mais je pense savoir d'où ça vient , je corrige et je poste la bonne version si tout va bien, que ça profite à tout le monde wink

Edit :
correction:

tmpfs    /var/lib/sudo/user/    tmpfs    mode=0700,size=10M    0    0

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

Hors ligne

#46 Le 21/07/2015, à 15:15

tiramiseb

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

En effet, ça semble logique smile

Hors ligne

#47 Le 21/07/2015, à 15:33

zodd

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

arfff.. j'ai l'impression que c'est pas possible de restreindre les droits juste à ce répertoires vu qu'il est monté dans tmpfs accessible par tous.. (si je dis pas de bêtises , mais si j'ai bon, le message d'erreur n'est pas dramatique car il n'empêche pas le re-montage en rw..)

Hors ligne

#48 Le 21/07/2015, à 15:37

tiramiseb

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

Regarde les options du montage de tmpfs, notamment mode, uid et gid.

Hors ligne

#49 Le 21/07/2015, à 15:43

zodd

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

ok je regarde ça ^^  (je pensé que l'utilisation des options uid et gid c'était pour les "Formats non-Linux " )
au passage j'en profite pour une autre question concernant les périphériques de type port séries et clés USB.
En gros j'ai des trucs qui arrive sur un port série et je fait le tri des données et je les log sur une clé connecté au coffret...

en gros là il faut aussi que le monte /dev en tmpfs je suppose ou pas la peine? si oui, si la clé branchée a une taille supérieur à ma ram , ça va poser problème non?

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

Hors ligne

#50 Le 21/07/2015, à 15:50

tiramiseb

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

il faut aussi que le monte /dev en tmpfs je suppose ou pas la peine?

/dev est normalement déjà un truc de type tmpfs. Menfin en fait ça dépend de ta version du système.

Que donne :

mount

?

si la clé branché a une taille supérieur à ma ram , ça va poser problème non?

Ben non, pourquoi ?

Hors ligne