คุณตรวจสอบ fstab โดยไม่ทำการบูทใหม่ได้อย่างไร?


103

/etc/fstabผมปรับเปลี่ยน

ฉันตรวจสอบอุปกรณ์ใหม่และฉันสามารถติดตั้งด้วยmountคำสั่ง

ฉันจะตรวจสอบการดัดแปลงที่ทำไปได้/etc/fstabอย่างไร?

คำตอบ:


126

คุณสามารถรันง่าย ๆ : mount -a

เมานต์ระบบไฟล์ทั้งหมด (ของประเภทที่กำหนด) ที่กล่าวถึงใน fstab

คำสั่งนี้จะเมานต์ระบบไฟล์ทั้งหมด (ยังไม่ได้เมาท์) ที่กล่าวถึงใน fstab และใช้ในการเริ่มต้นสคริปต์ระบบระหว่างการบูท


3
... และเปรียบเทียบกับ / etc / mtab เมื่อคุณทำ "sudo mount -a" เพื่อให้แน่ใจว่าตัวเลือกทั้งหมดของคุณได้รับการยกย่อง
adebaumann

1
mount -aโดยการอ่าน/etc/fstabซ้ำก็จะโหลดซ้ำ/etc/mtabดังนั้นเขาควรจะดีกับมันเท่านั้น
Prix

2
นั่นไม่ใช่ประเด็นที่ adebaumann พยายามที่จะยกระดับที่นี่หรือ ภูเขา -a อาจกลับมาประสบความสำเร็จ แต่ไม่ได้แปลว่าตัวเลือกการเมาท์ทั้งหมดนั้นได้รับการยกย่อง เนื่องจากสิ่งนี้จะทำการรีโหลด / etc / mtab คุณควรตรวจสอบดูว่าตัวเลือกทั้งหมดใช้งานได้หรือไม่
RapidWebs

57

คำสั่ง mount ใช้--fakeหรือ-fสั้น คำสั่งต่อไปนี้ควรทำสิ่งที่คุณต้องการ:

mount -fav

ต่อไปนี้อยู่ในเอกสารประกอบสำหรับ-fตัวเลือก:

Causes everything to be done except for the actual system call; if it's not obvious, this ``fakes'' mounting the filesystem. This option is useful in conjunction with the -v flag to determine what the mount command is trying to do.

(โปรดทราบว่านี่คือ Linux - ตรวจสอบก่อนใช้ที่อื่น: FreeBSD ใช้-fสำหรับ 'force' - หมายถึงสิ่งตรงกันข้าม)


4
mount -fav ไม่ได้ตรวจสอบว่าอุปกรณ์ที่มี UUID ที่ระบุนั้นเป็นจริงในระบบ นอกจากนี้ยังต้องการรวม -f กับ -n เพื่อไม่ก่อให้เกิดมลพิษ / etc / mtab
Alexandr Priymak

ฉันชอบmount --fake -aแต่ดูเหมือนว่าจะกลับมาexit code($?)=0เสมอ อืม ..
kujiy

ตัวเลือกปลอมจะไม่ตรวจสอบว่ามีไดเรกทอรีอยู่หรือไม่ มันบอกว่าsuccessfully mountedแม้เมื่อปริมาณจุดเมาท์อยู่จริง
DollarAkshay

นี่น่าจะเป็นสิ่งแรกที่คุณควรลองทำ แต่คุณควรทำ "mount -a" หลังจากนั้นเพื่อตรวจสอบ ในกรณีของฉันฉันตั้งค่าตัวเลือก "เริ่มต้น" แทน "ค่าเริ่มต้น" (ซึ่งเป็นการป้องกัน Pi ของฉันจากการบูต) แต่mount -favตรวจสอบว่าถูกต้อง ทันทีที่ฉันทำmount -aมันพบข้อผิดพลาด
Adam Plocher


3

ฉันพบสิ่งนี้ / ปัญหา / แต่วิธีแก้ไขไม่ตรงตามความต้องการของฉัน

เมื่อรีบูตเครื่องด้วยรายการที่ไม่ถูกต้องใน / etc / fstab เช่นระบบไฟล์ที่ขาดหายไปซึ่ง fsck ไม่สามารถตรวจสอบได้ ระบบจะไม่สามารถบู๊ตได้ นั่นอาจเป็นเรื่องยากที่จะจัดการกับถ้าคุณมีกล่องที่ไม่มีหัว

นี่เป็นวิธีแก้ปัญหาของฉันในการตรวจสอบ / etc / fstab เพื่อหลีกเลี่ยงปัญหาการบู๊ตนี้:

    # cat /usr/local/bin/check-fstab-uuid-entries.sh
    #!/usr/bin/env bash

    for x in $(grep ^UUID /etc/fstab|cut -d \  -f 1|cut -d = -f 2)
    do
            if [ ! -h /dev/disk/by-uuid/$x ];then
                    echo $(grep $x /etc/fstab)  ..... not found
            fi
    done

2

mount -aเป็นวิธีที่ปลอดภัยในการตรวจสอบ / etc / fstab มิฉะนั้นรายการที่ผิดอาจทำลายระบบ

แนะนำให้เก็บสำเนาสำรองของไฟล์ / etc / fstab ดั้งเดิมไว้ด้วย สามารถคัดลอกไปยังโฮมไดเร็กทอรีของรูท


2

โปรดทราบว่าถ้าคุณเพิ่มแลกเปลี่ยนไฟล์เพื่อ fstab ของคุณmount -aจะไม่ได้เปิดใช้งาน: swapon -aคุณจะต้องการที่จะทำงาน


1

TBH แม้การติดตั้งปลอมจะไม่ตรวจสอบความปลอดภัย fstab สำหรับรายการประเภท fs ที่ไม่ปลอดภัย

คุณสามารถมีรายการที่มี uuid's ถูกต้อง, ไดเรกทอรีและอื่น ๆ แต่ถ้าคุณระบุชนิดของ FS ที่ไม่มีความต้านทานสิ่งนี้จะหยุดการบู๊ตของคุณในครั้งต่อไป

[root @ grumpy ~] # grep backup / etc / fstab
UUID = 5ed48e5e-7251-4d49-a273-195cf0432a89 / mnt / สำรองเวลากลางคืน, nodiratime, ค่าเริ่มต้น xfs, nodev, nosuid 0 0
[root @ grump ~] #

[root @ grumpy ~] # mount -fav | สำรอง grep
/ mnt / backup: เมานต์สำเร็จ
[root @ grumpy ~] #
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.