/etc/fstab에서 UUID를 사용하여 ext4 마운트

/etc/fstab에서 UUID를 사용하여 ext4 마운트

라우터에 USB 썸 드라이브를 설치하려고 합니다.

내 USB 썸 드라이브는 32GB이며
16GB NTFS와 16GB ext4의 두 파티션으로 나뉩니다.

16GB NTFS 파티션은 라우터에서 sda1로 자동 감지되고 기본적으로 /mnt/sda1 및 /tmp/ftp/Volume_A1에 마운트됩니다.

16GB ext4는 라우터에서 자동으로 sda2로 감지되지만 아직 설치되지 않았습니다.

그래서 sda2를 /test에 마운트하고 싶습니다.

내가 한 일은 다음과 같습니다.

  1. mount /dev/sda2 /test <====== sda2는 /test에 마운트되지만 라우터 재부팅 후에는 사라집니다.

  2. /dev/sda2/etc/fstab에 설치하기 위해 아래와 같이 UUID를 추가했습니다 /test
    . <========== df설치되지 않았는지 확인했습니다 . 아래를 참조하세요.

root@router:/# blkid
/dev/sda2: UUID="14a0f0f0-27ac-4101-8d11-3057f10d1385" TYPE="ext4"
/dev/sda1: LABEL="usbdata" UUID="23D9FBBC72AB064E" TYPE="ntfs"
/dev/ubi1_0: UUID="9c7f4c41-289f-4c49-8036-3698b24c7687" TYPE="ubifs"
/dev/ubi0_0: UUID="66fa53a5-cc19-454d-b1a4-6a691051fb9e" TYPE="ubifs"

/dev/sda2UUID(위에 나열됨)를 추가하여 /etc/fstab다음 위치에 설치했습니다 /test.

root@router:/# nano /etc/fstab 

# fstab file - used to mount file systems
proc            /proc                proc       defaults                        0   0
tmpfs           /var                 tmpfs      size=420k,noexec                0   0
tmpfs           /mnt                 tmpfs      size=16k,noexec                 0   0
tmpfs           /dev                 tmpfs      size=64k,mode=0755,noexec       0   0
sysfs           /sys                 sysfs      defaults                        0   0

debugfs         /sys/kernel/debug    debugfs    nofail                          0   0

mtd:bootfs      /bootfs              jffs2      ro                              0   0
UUID=14a0f0f0-27ac-4101-8d11-3057f10d1385  /test   auto   nosuid,nodev,nofail   0   0
root@router:/# df
Filesystem           1K-blocks      Used Available Use% Mounted on
ubi:rootfs_ubifs         44840     38760      6080  86% /
mtd:bootfs                4480      3440      1040  77% /bootfs
mtd:data                  4096       464      3632  11% /data
ubi1:tp_data              4584       844      3472  20% /tp_data
ubi:rootfs_ubifs         44840     38760      6080  86% /tmp/root
/dev/sda1             15452156     84620  15367536   1% /mnt/sda1
/dev/sda1             15452156     84620  15367536   1% /tmp/ftp/Volume_A1

[가독성을 높이기 위해 띄어쓰기를 수정했습니다. ]

조언 부탁드리며 감사드립니다

================================================= = =========================

후속 의견은 다음과 같습니다.

================================================= = =========================

~처럼Aaron D. Marasco가 제안함, 나는 auto그것을 다음과 같이 변경했습니다 ext4:

UUID=14a0f0f0-27ac-4101-8d11-3057f10d1385  /test   ext4   nosuid,nodev,nofail   0   0

아직도 운이 없습니다. df이전과 같은 결과

이것은 출력입니다 ps.Hauke ​​Laging의 요청에 따라. (라우터의 Busybox에서는 이  -p옵션을 인식하지 못합니다.)

root@router:/# ps -o pid,args

PID   COMMAND
    1 init
    2 [kthreadd]
    3 [ksoftirqd/0]
    4 [kworker/0:0]
    5 [kworker/0:0H]
    6 [kworker/u4:0]
    7 [rcu_preempt]
    8 [rcu_sched]
    9 [rcu_bh]
   10 [migration/0]
   11 [migration/1]
   12 [ksoftirqd/1]
   14 [kworker/1:0H]
   15 [khelper]
  122 [writeback]
  125 [ksmd]
  126 [crypto]
  127 [bioset]
  129 [kblockd]
  151 [skbFreeTask]
  152 [bcmFapDrv]
  173 [kswapd0]
  174 [fsnotify_mark]
  294 [cfinteractive]
  344 [kworker/1:1]
  351 [linkwatch]
  352 [ipv6_addrconf]
  357 [deferwq]
  362 [ubi_bgt0d]
  926 [jffs2_gcd_mtd2]
  947 [ubi_bgt1d]
  962 [ubifs_bgt1_0]
 1039 [bcmFlwStatsTask]
 1113 [kworker/1:2]
 1137 {rcS} /bin/sh /etc/init.d/rcS S boot
 1139 init
 1140 logger -s -p 6 -t sysinit
 1286 /sbin/klogd
 1540 /sbin/hotplug2 --override --persistent --set-rules-file /etc/hotplug2.rul
 1550 /usr/sbin/logd -C 128
 1555 /sbin/ubusd
 1558 {S12ledctrl} /bin/sh /etc/rc.common /etc/rc.d/S12ledctrl boot
 1560 /usr/bin/ledctrl
 1627 [bcmsw_rx]
 1629 [bcmsw]
 1636 [pdc_rx]
 1649 /bin/swmdk
 1766 /sbin/netifd
 4265 [dhd_watchdog_th]
 4272 [wfd0-thrd]
 4425 [check_task]
 4493 [kworker/0:2]
 4559 [scsi_eh_0]
 4562 [scsi_tmf_0]
 4568 [usb-storage]
 4917 [kworker/u4:2]
 4919 [kworker/1:1H]
 5039 /usr/sbin/imbd
 5207 /usr/sbin/dnsmasq -C /var/etc/dnsmasq.conf
 5219 [ telnetDBGD ]
 5220 [ acktelnetDBGD ]
 5243 [NU TCP]
 5248 [NU UDP]
 5356 eapd
 5369 nas
 5395 wps_monitor
 6095 acsd
 7008 /usr/sbin/mcud
 7592 /usr/sbin/dropbear -P /var/run/dropbear.1.pid -p 22
 7598 {S50postcenter} /bin/sh /etc/rc.common /etc/rc.d/S50postcenter boot
 7600 /usr/sbin/postcenter
 7612 /usr/sbin/sysmond
 7620 {S50tmpServer} /bin/sh /etc/rc.common /etc/rc.d/S50tmpServer boot
 7622 /usr/bin/tmpServer
 7626 /usr/sbin/tsched
 7628 /usr/bin/tmpServer
 7777 /usr/bin/client_mgmt
 8350 /usr/sbin/ntpd -n -p time.nist.gov -p time-nw.nist.gov -p time-a.nist.gov
 8398 [ubifs_bgt0_0]
 8403 /usr/bin/cloud-https
 8639 {S99switch_led} /bin/sh /etc/rc.common /etc/rc.d/S99switch_led boot
 8644 /usr/bin/switch_led
 8758 /usr/bin/tm_shn -b start
 8948 [tntfsiupdated]
 9217 /usr/sbin/smbd -D
 9219 /usr/sbin/nmbd -D
 9264 proftpd: (accepting connections)
 9279 udhcpc -p /var/run/udhcpc-eth0.pid -s /lib/netifd/dhcp.script -O 33 -O 12
 9330 /usr/sbin/minidlnad -f /tmp/minidlna.conf -P /var/run/minidlnad.pid
 9533 /usr/sbin/crond -c /etc/crontabs -l 5
 9568 {dnsproxy_deamon} /bin/sh /usr/lib/dnsproxy/dnsproxy_deamon.sh
 9974 /usr/sbin/improxy -c /etc/improxy.conf -p /tmp/improxy.pid
10122 /usr/sbin/miniupnpd -f /var/etc/miniupnpd.conf
10332 /usr/bin/cloud-brd -c /etc/cloud_config.cfg
10341 /usr/bin/cloud-client
10778 {lic-setup.sh} /bin/sh ./lic-setup.sh
10783 ./gen_lic
11185 {tcd_monitor.sh} /bin/sh ./tcd_monitor.sh
11186 {dc_monitor.sh} /bin/sh ./dc_monitor.sh
11187 {wred-setup.sh} /bin/sh ./wred-setup.sh
11200 ./tcd
11204 ./dcd -i 1800 -p 43200 -S 4 -b
11217 ./wred -B
11241 {clean-cache.sh} /bin/sh ./clean-cache.sh
11244 /usr/bin/tm_shn -t start
15903 sh /lib/deleteTmSigToken.sh 86400
15906 sleep 86400
19612 /usr/sbin/dropbear -P /var/run/dropbear.1.pid -p 22
19771 -ash
19884 sleep 600
21950 sleep 30
22135 sleep 5
22137 sleep 5
22158 sleep 5
22160 sleep 5

Hauke ​​Laging의 답변으로. 제 생각에는 좋은 것 같습니다. 이 작업을 수행합니까, mount -a아니면 mount /testsda2가 에 설치됩니다 /test. udev 규칙을 사용하여 어떻게 영구적으로 설치할 수 있습니까?

내 라우터에서 udev 실행 규칙을 몰랐기 때문에(udev.conf를 찾을 수 없음) run 스크립트를 사용하여 테스트하고 라우터를 다시 시작 mount /test했지만 /etc/rc.local여전히 설치되지 않았고 지연을 추가했습니다 /test . sleep 20스크립트에 추가하고 Got 테스트 라우터를 통해 다시 시작하면 작동합니다. 이제 자동 설치/테스트됩니다! 다들 감사 해요

답변1

SystemD 시스템에서는 /etc/fstab부팅 시에는 없지만 나중에 나타나는 장치가 자동으로 설치됩니다. 다른 시스템에서는 이 작업을 수행하지 않습니다(적어도 전부는 아님).

mount /test따라서 장치를 사용할 수 있을 때 통화를 트리거하는 기능이 필요합니다. 이는 udev 규칙( RUN=)을 통해 수행될 수 있습니다.

답변2

아마도 다음을 시도해 볼 수 있습니다.

UID=14a0f0f0-27ac-4101-8d11-3057f10d1385  /test errors=remount-ro,user,noatime 0 2

오류가 있는 경우 오류가 표시되도록 하고 읽기 전용으로 마운트해야 합니다.

관련 정보