web-dev-qa-db-fra.com

Un moyen rapide de restaurer ou de recharger / etc / fstab?

Je travaille avec un complexe /etc/fstab sur un serveur rhel 6.x. Le système dispose d'une variété d'options de montage utilisés sur huit partitions, dont plusieurs supports de liaison. Je teste des options et leur effet sur l'image sur laquelle je travaille.

par exemple. options comme nodev, nosuid, noexec, nobarrier et plusieurs paramètres de système de fichiers XFS sont en place.

Bien que je sache qu'il est possible de remonter avec des options spécifiques, il y a un moyen rapide de rétablir toutes les montages aux réglages persistants. Numéro cloché en /etc/fstab?

Par exemple sysctl -p charge le /etc/sysctl.conf valeurs et les applique. Y a-t-il un mount équivalent?


Éditer:

Un exemple de config:

#
# /etc/fstab
#
UUID=e6ca80cd    /                       ext4    noatime,nobarrier        1 1
UUID=a327d315    /boot                   ext4    defaults                 1 2
UUID=333ada18    /home                   ext4    noatime,nobarrier,nodev  1 2
UUID=7835718b    /tmp                    ext4    nodev,nosuid,noexec      1 2
UUID=4dd2e9d4    /usr                    ext4    defaults                 1 2
UUID=c274f65f    /var                    ext4    noatime,nobarrier        1 2
UUID=5b5941e0    /var/log                ext4    defaults                 1 2
UUID=3645951a    /var/log/audit          ext4    defaults                 1 2
UUID=3213123c    /vol1                   xfs     noatime,logbufs=8,nobarrier 1 2
UUID=1ee1c070    swap                    swap    defaults                 0 0
# Bind mount for /tmp
/tmp             /var/tmp                none    bind                     0 0
tmpfs            /dev/shm                tmpfs   nodev,nosuid,noexec      0 0
devpts           /dev/pts                devpts  gid=5,mode=620           0 0
sysfs            /sys                    sysfs   defaults                 0 0
proc             /proc                   proc    defaults                 0 0

Bien sûr, un développeur demande exécuter autorisations sur /tmp Pour installer une application ...

Je trouve que l'option remount _ ne fonctionne pas sur ce système sans spécifier le périphérique et (re) montage. Il s'agit d'un serveur durci de sécurité, de sorte que les problèmes que je vois peuvent être liés à SELINUX ou résultent des supports de liaison, ou peut-être même la présence d'options annulées (NOEXEC VERSUS EXEC) ...

11
ewwhite

Tapez ceci en bash:

egrep -v '^#' /etc/fstab | while read dev dir type opts dump pass ; do
    echo "mount -o remount,${opts} ${dir}";
done

Sur mon système, cela produit une sortie comme celle-ci:

mount -o remount,nodev,noexec,nosuid /proc
mount -o remount,relatime,errors=remount-ro /
mount -o remount,defaults /misc

Essayez-le sur votre système. Si vous le souhaitez, utilisez-le, utilisez-le, utilisez-le ou simplement supprimez le echo et les guillemets doubles de la commande ci-dessus.

9
ruief

Je voudrais simplement utiliser un script pour le faire pour les systèmes de fichiers pertinents

for fs in /home /var /whatever
do
    mount -o remount "$fs"
done

Vous devrez peut-être mettre un -f là aussi si un ou plusieurs FS peuvent être occupés par ex.

mount -f -o remount "$fs"
4
user9517

Du mount MANPAGE :

La fonctionnalité Remonter suit la manière standard comment la commande de montage fonctionne avec des options de FSTAB. Cela signifie que la commande de montage ne lit pas FSTAB (ou MTAB) uniquement lorsque un périphérique et DIR sont entièrement spécifiés.

  mount -o remount,rw /dev/foo /dir

Après cet appel, toutes les anciennes options de montage sont remplacées et des éléments arbitraires de FSTAB sont ignorés, à l'exception de la boucle = option qui est générée et maintenue en interne par la commande de montage.

  mount -o remount,rw  /dir

Donc mount -o remount /mountpoint devrait restaurer les options dans /etc/fstab:

mgorven@mamma:~% grep boot /etc/fstab
UUID=823c73dc-8f64-4f76-a120-968106ffdf5a /boot           ext4    relatime        0       2
mgorven@mamma:~% Sudo mount -o remount,ro /boot
mgorven@mamma:~% mount | grep boot
/dev/sda4 on /boot type ext4 (ro,relatime)
mgorven@mamma:~% Sudo mount -o remount /boot
mgorven@mamma:~% mount | grep boot
/dev/sda4 on /boot type ext4 (rw,relatime)
3
mgorven

Changez-vous-tu la dynamique des drapeaux de mont sans passer à travers le/etc/fstab et le redémarrage?

Vous ne pouvez pas faire ce qui suit (par exemple):

 mount -o remount /usr

pour restaurer les options d'origine de la/etc/fstab? Vous pouvez vérifier les options montées à l'aide de la commande de montage sans arguments.

0
mdpc

Vous allez avoir du mal à remonter des systèmes de fichiers comme/usr et/var une fois que le système est opérationnel et en cours d'exécution. Remontage paresseux, par exemple, viendront probablement de retourner un succès, mais ne bénéficiera jamais d'une occasion d'effectuer le remève demandé, car il y aura des poignées de fichier maintenues à la totalité de la durée de vie du système.

S'il s'agit d'une image de développement, comme on dirait, alors je recommande de démarrer le système propre pour chaque test. C'est fastidieux, mais au moins alors vous savez certainement que le système fonctionne comme il serait en production, votre test est donc fiable.

0
Jeff Albert