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) ...
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.
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"
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)
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.
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.