Forum Linux.noyau EXT2 en mode synchrone / en mode read only

Posté par  .
Étiquettes : aucune
0
30
août
2010
Bonjour,

J'ai sur une flash card deux systèmes linux sur des partitions ext2. Je voudrais que l'un d'entre eux soit en lecture seule (quoi qu'il arrive, même pour root), et je voudrai que l'autre soit en mode synchrone, c'est à dire qu'il ecrive les changement sur le disque sans passer par des mémoires tampons, pour éviter la perte de donnée en cas d'arret brutal.

Pour le read-only j'ai essayé d'ajouter "ro" dans grub aux arguments du kernel, mais ça ne change rien.

Si vous avez une idée pour faire ces deux choses ça m'aiderai bien.

merci d'avance.
  • # RTFM peut être ?

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

    $>man mount

    (..)
    sync

    All I/O to the file system should be done synchronously. In case
    of media with limited number of write cycles (e.g. some flash
    drives) "sync" may cause life-cycle shortening.

    (...)
    -r Mount the file system read-only. A synonym is -o ro.

    Note that, depending on the filesystem type, state and kernel behavior, the system may
    still write to the device. For example, Ext3 will replay its journal if the filesystem is
    dirty. To prevent this kind of write access, you may want to set the block device to read-
    only mode, see command blockdev(8).

    Fuse : j'en Use et Abuse !

    • [^] # Re: RTFM peut être ?

      Posté par  . Évalué à 1.

      J'ai vu ça.

      Mais je fais aucun mount. C'est la partition root du system que je veux en read-only. Sauf peut etre /dev et /var mais dans ce cas je ferais des partitions supplémentaires.
      • [^] # Re: RTFM peut être ?

        Posté par  . Évalué à 5.

        Extrait du man mount :

        SEE ALSO
        fstab(5)
        • [^] # Re: RTFM peut être ?

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

          J'aurais pas dis mieux....

          Aller soyons un peu indulgent :
          Pour la petite explication Xavier, c'est le système qui au boot monte tes partitions....
          Et comme ça sort pas du chapeau il se base sur /etc/fstab pour savoir quoi monter, où et comment....

          Fuse : j'en Use et Abuse !

          • [^] # Re: RTFM peut être ?

            Posté par  . Évalué à 1.

            Ok ok... Merci pour les explications.

            Mais comment est-il alors possible que mon fstab n'ai pas de ligne pour la racine.

            J'en ai ajouté une pour essayer :
            /dev/sda1 / ext2 ro 0 0

            Pas de changement, il est tout à fait possible d'écrire dans l'arborescence.

            Je me met à la recherche d'un chapeau ?
            • [^] # Re: RTFM peut être ?

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

              Tu as un fichier fstab vide ? On peux le voir ?
              Ca donne quoi $>grep kernel /boot/grub/menu.lst | grep -v '#' ?

              C'est le fait de n'avoir pas trouvé /dev/sda1 dedans ?
              Car si tu as udev tu auras un truc du style :
              UUID=XXXXXXX-YYYY-ZZZZ-WWWW-XXXXXX / ext2 relatime,errors=remount-ro 0 1

              Autre sujet : il est fortement conseillé de convertir ses partition ext2 en ext3 pour avoir la journalisation et éviter les fsck laborieux et d'autre problème sur crash et arrêts violents.... pour ca regarde la commande indiquée par Donk !

              Fuse : j'en Use et Abuse !

              • [^] # Re: RTFM peut être ?

                Posté par  . Évalué à 4.

                Il est sur des cartes flash, il ne vaut mieux donc pas passer en journalisé!
              • [^] # Re: RTFM peut être ?

                Posté par  . Évalué à 2.

                voila mon fstab

                # /etc/fstab: Information about static filesystems.
                #
                proc /proc proc defaults 0 0
                sysfs /sys sysfs defaults 0 0
                devpts /dev/pts devpts defaults 0 0
                tmpfs /dev/shm tmpfs defaults 0 0
                #/dev/hda3 /home ext3 defaults 0 2
                #/dev/hdb1 /mnt/data ext3 defaults 0 2
                /dev/cdrom /media/cdrom iso9660 user,ro,noauto 0 0
                /dev/sda3 /mnt ext2 defaults 0 0


                J'ai ajouté la derniere ligne.
                Je vois pas quelle ligne la dedans s'occuper de monter mon /.
                • [^] # Re: RTFM peut être ?

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

                  - que te donne $>mount ?
                  - que te donne $>grep -v '#' /boot/grub/menu.lst | grep -v '^$'

                  Fuse : j'en Use et Abuse !

                  • [^] # Re: RTFM peut être ?

                    Posté par  . Évalué à 1.

                    mount :
                    rootfs on / type rootfs (rw)
                    /dev/root on / type ext2 (rw,relatime,errors=continue)
                    proc on /proc type proc (rw,relatime)
                    sysfs on /sys type sysfs (rw,relatime)
                    devpts on /dev/pts type devpts (rw,relatime,mode=600)
                    tmpfs on /dev/shm type tmpfs (rw,relatime)
                    /dev/sda3 on /mnt type ext2 (rw,relatime,errors=continue)
                    usbfs on /proc/bus/usb type usbfs (rw,relatime)


                    menu.lst :
                    default=0
                    timeout=2

                    title system1
                    root (hd0,0)
                    kernel /boot/bzImage root=/dev/sda1 lang=en kmap=fr-latin1 ro

                    title system2
                    root (hd0,0)
                    kernel /boot/bzImage root=/dev/sda2 lang=en kmap=fr-latin1


                    Bon je suppose que "rootfs on / type rootfs (rw)" est une particularité de slitaz, la distribution que j'utilise. Du coup je vais voir ça avec eux.
                    Par ailleurs j'ai trouvé comment modifier le montage de rootfs : dans un des scripts de boot (/etc/init.d/rcS). Mais je pense pas que modifier ce script directement soit une bonne idée.

                    Merci pour votre aide.
                    • [^] # Re: RTFM peut être ?

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

                      Le rcS est en général le script qui va appeler tous les script SXX du rcY.d ( Y = level target ) !
                      A éviter de modifier ! Si script à modifier il y a, c'est plutôt celui qui s'occupe dans ton init.d de monter ton "/"...

                      Modifier les scripts d'init est :
                      - à faire avec beaucoup de modération, car il peuvent être remplacé lors d'une mise à jour du système...
                      - inutile car il y a généralement un fichier de conf ou déclarer ce qu'on veux faire.

                      A la vue de ce qui est monté le sysinit est un peu "inhabituel" mais a certainement une motivation, une conf à part...etc... Les docs / forum de ta distribution devraient être plus à même de t'aider effectivement...

                      Fuse : j'en Use et Abuse !

                    • [^] # Re: RTFM peut être ?

                      Posté par  . Évalué à 2.

                      Bon je suppose que "rootfs on / type rootfs (rw)" est une particularité de slitaz, la distribution que j'utilise.

                      Non, c'est l'initramfs, présent partout où on utilise un initramfs (quasi toutes les distros aujourd'hui).
                      Ton « vrai » root est sur la deuxième ligne :
                      /dev/root on / type ext2 (rw,relatime,errors=continue)
                      Il est monté par l'initramfs. Donc le montage dépend du type d'initrd que ta distro utilise. Pour changer les options de montage, en général c'est :
                      rootflags=ro
                      sur la ligne de commande du kernel.
        • [^] # Re: RTFM peut être ?

          Posté par  . Évalué à 1.

          Ou alors :

          SEE ALSO
          tune2fs(8)

Suivre le flux des commentaires

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