USB Disk Check at Boot - XIYO/asuswrt-merlin.ng-kr GitHub Wiki
๊ณ ์ง์ฌํญ
์ด ๊ฐ์ด๋์ ์ ์๋ ์๋ฃจ์ ๋ฐ ์๊ฒฌ์ ์ ์ (latenitetech) ์ ๊ฒ์ด๋ฉฐ, ๋ค๋ฅธ ๋๊ตฐ๊ฐ๊ฐ ์ด ํน์ ์ํค ๋ฌธ์๋ฅผ ์์ ํ๊ธฐ ์ ๊น์ง ํด๋นํฉ๋๋ค. ์ด๋ RMerlin ๋๋ ๊ถํ์ ๊ฐ์ง ๋ค๋ฅธ ๋๊ตฐ๊ฐ์ ์ํด ์ธ์ฆ๋์ง ์์์ผ๋ฉฐ, ์๋์ ์ผ๋ก ์ด๋ณด์๋ฅผ ๋์์ผ๋ก ์ฃผ๋ก ์ ๊ณต๋์์ผ๋ฉฐ ์ด ๋๋ผ์ด ์ํํธ์จ์ด ์ปดํ์ผ๋ ์ด์ ์ ์ต๋ํ ํ์ฉํ ์ ์๋๋ก ๋๊ธฐ ์ํด ์ ๊ณต๋์์ต๋๋ค. ์๊ธฐ ์ฑ ์ํ์ ์ฌ์ฉํ๊ฑฐ๋, ์ด๊ฒ์ด ๋์๊ฒ ๋๋ฌด ์ด๋ ต๋ค๋ฉด ๋ค๋ฅธ ๊ณณ์ผ๋ก ์ด๋ํ์ญ์์ค.
AsusWRT-Merlin ๋ฐ๋ ๋ผ์ฐํฐ์ ๋ถํ ์ USB ๋์คํฌ ํ์ธ
์ด ๊ฐ์ด๋๋ ๋ฃจํฐ๋ฅผ ์ค์ ํ์ฌ ๋ถํ ์ USB ์ ์ฅ ์ฅ์น๋ฅผ ์๋์ผ๋ก ํ์ธํ๋ ํ ๊ฐ์ง ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค. ์ด๋ ์ฌ์ฉ์ ์คํฌ๋ฆฝํธ์ ๊ดํ ์ํค ๊ฐ์ด๋์ ์ธ๊ธ๋์ด ์์ต๋๋ค: User Scripts Wiki Guide
์ด ๊ฐ์ด๋๋ ์ด๋ฏธ ์ฌ์ฉ์ ์คํฌ๋ฆฝํธ๋ฅผ ํ์ฑํํ ๊ฒ์ผ๋ก ๊ฐ์ ํฉ๋๋ค (์น ์ธํฐํ์ด์ค์์ "Administration -> System" ์๋์์ ์คํฌ๋ฆฝํธ๊ฐ ํ์ฑํ๋์ด ์์ด์ผ ํจ). ์ด ๊ฐ์ด๋๋ ํ์จ์ด์ ์ด๋ฏธ ๋ด์ฅ๋ ๊ธฐ๋ฅ๋ง ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ entware์ ์์กดํ์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ฌ๊ธฐ ํฌํจ๋ ์ผ๋ถ ํ์ entware์ ์ด ์๋ฃจ์ ์ ์ํธ ์์ฉ๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค.
์ด ๊ฐ์ด๋๋ ํ์ผ ์์คํ ์ ํ์ด ํผํฉ๋์ด ์๋ ๊ฒฝ์ฐ๋ฅผ ๋ค๋ฃน๋๋ค. ์ผ๋ฐ์ ์ผ๋ก entware ์ค์น์ฉ์ผ๋ก ์ต์ํ ํ๋์ Linux ํ์ผ ์์คํ (์: EXT2)์ด ์๊ณ ๋ฏธ๋์ด ํ์ผ์ ์ํ ๋๋ถ๋ถ์ ํ๋์ ๋๋ผ์ด๋ธ ๋๋ ์ธ๋ถ USB ์ ์ฅ ์ฅ์น์ ํฌํจ๋ FAT32 ๋๋ NTFS ํ์ผ ์์คํ ์ด ํฌํจ๋ฉ๋๋ค. ๋ํ ์ ์ฌ์ ์ธ ํจ์ ๋ฐ ํด๊ฒฐ์ฑ ์ ์ค๋ช ํ๊ณ ๊ด๋ จ ์ฃผ์ ๋ฅผ ๋ค๋ฃน๋๋ค.
๊ธฐ๋ณธ ์ค์น๋ ์๋นํ ๊ฐ๋จํฉ๋๋ค. ๋ค์ ์ฝ๋ ์ธ๊ทธ๋จผํธ์ ๋ด์ฉ์ /jffs/scripts/pre-mount
๋ก ์ค์นํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
#!/bin/sh
# pre-mount script (to be installed in /jffs/scripts)
# auto-check filesystems during boot
# first argument is the filesystem to be mounted (e.g. /dev/sda1)
CHKLOG=/var/fsck.log
# determine the type of filesystem being mounted
FSTYPE=`fdisk -l ${1:0:8} | grep $1 | cut -c55-65`
# determine the appropriate checker for the filesystem
case "$FSTYPE" in
Linux )
CHKCMD="e2fsck -p" ;;
Win95* | FAT* )
CHKCMD="fatfsck -a" ;;
HPFS/NTFS )
CHKCMD="ntfsck -a" ;;
* )
logger "$0:" "Unknown filesystem type $FSTYPE on $1 - no filesystem check run."
exit 1 ;;
esac
logger "$0:" "Running '$CHKCMD $1' - see output at $CHKLOG"
echo -e "\nStarting '$CHKCMD $1' at `date`" >> $CHKLOG
$CHKCMD $1 >> $CHKLOG 2>&1
๊ทธ๋ฆฌ๊ณ ์๋์ ๋งํฌ์์ ์คํฌ๋ฆฝํธ ์์ฑ ๊ฐ์ด๋๋ผ์ธ์ ๋ฐ๋ฅด์ญ์์ค.
... ํ์ผ์ UNIX ์ธ์ฝ๋ฉ์ผ๋ก ์ ์ฅํด์ผ ํฉ๋๋ค. Windows์ Notepad๋ UNIX ์ธ์ฝ๋ฉ์ผ๋ก ์ ์ฅํ ์ ์์ผ๋ฏ๋ก Notepad++์ ์ฌ์ฉํ์ธ์. ๋ํ ํ์จ์ด์ ํฌํจ๋ vi ๋๋ nano๋ฅผ ์ฌ์ฉํ์ฌ SSH ๋๋ ํ ๋ท์ ํตํด ๋ผ์ฐํฐ์์ ์ง์ ํธ์งํ ์ ์์ต๋๋ค. ์ด ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ ์ด๋ฏธ ์ฌ๋ฐ๋ฅธ ํ์์ผ๋ก ์ธ์ฝ๋ฉ๋ ํ์ผ์ ์์ฑํฉ๋๋ค.
๋ฐ๋ผ์ Windows ์ฌ์ฉ์๋ฅผ ์ํ ๋น ๋ฅธ ์ต์
์ค ํ๋๋ SSH ๋๋ ํ
๋ท์ ํตํด nano๋ฅผ ์คํํ ๋ค์ ์์ ์คํฌ๋ฆฝํธ ๋ด์ฉ์ nano ์ฐฝ์ ๋ณต์ฌ/๋ถ์ฌ๋ฃ๊ธฐํ๊ณ ์ต์ข
์ ์ผ๋ก /jffs/scripts/pre-mount
๋ก ์ ์ฅํ๋ ๊ฒ์
๋๋ค.
์คํฌ๋ฆฝํธ๋ฅผ ์คํ ๊ฐ๋ฅํ๊ฒ ๋ง๋์ญ์์ค (
chmod a+rx /jffs/scripts/pre-mount
).
[์ผ๋ง๋ ๋ง์ ์๊ฐ์ ์๊ณ ์ด ๋จ๊ณ๋ฅผ ์ํํ์ง ์๊ณ ๋จ์์๋ ์ํ๋ก ๋จธ๋ฆฟ์์์ ๋๋๋๋ฉฐ ์ ์๋ํ์ง ์๋์ง ๊ถ๊ธํดํ๋์ง ๋ชจ๋ฅผ ๊ฒ์ ๋๋ค!]
ํ์ฌ ์ด ์คํฌ๋ฆฝํธ๋ ๋ชจ๋ ์ข ๋ฅ์ Linux ํ์ผ ์์คํ (EXT2, EXT3, EXT4 - ๋ชจ๋ 'Linux'๋ก ์๋ณ๋จ), Windows FAT (FAT16), FAT32 ๋ฐ NTFS๋ฅผ ์ง์ํฉ๋๋ค. ํ์ฌ ์ด ์คํฌ๋ฆฝํธ๋ Apple์ HFS๋ฅผ ์ฒ๋ฆฌํ์ง ์์ต๋๋ค. HFS๋ ํ์ฌ ๋ด๊ฐ Apple ์ฌ์ฉ์๊ฐ ์๋๊ธฐ ๋๋ฌธ์ HFS ํ์ผ ์์คํ ์ ๋ํด fdisk๊ฐ ๋ฐํํ๋ ๋ฌธ์์ด์ ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ ๋๋ค. ์๋ง๋ 'HFS'์ผ ๊ฒ์ด์ง๋ง FAT32๊ฐ 'Win95'๋ก ๋ฐํ๋์ด ์์์น ๋ชปํ ๊ฒฐ๊ณผ๊ฐ ๋์์ผ๋ฏ๋ก ์๋ชป๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๋ ๊ฒ์ ํผํ๊ธฐ ์ํด ์ ์ธํ์ต๋๋ค. ๋๊ตฐ๊ฐ๊ฐ ์ฌ๋ฐ๋ฅธ ํญ๋ชฉ์ ํ์ธํ ์ ์๋ค๋ฉด ์ด ์ํค๋ฅผ ์ ๋ฐ์ดํธํ๊ณ ์ด ์ฃผ์์ ์ ๊ฑฐํ์ญ์์ค!
*fsck์ ๋ชจ๋ ์คํ์์ ์ํํ ์์
์ ์ ํํ ์๋ ค์ฃผ๋ ์ถ๋ ฅ์ RAM์ /var/fsck.log
์ ์ ์ฅ๋ฉ๋๋ค (์ค์ ๋ก๋ /tmp/var
์ ์์ผ๋ฉฐ ์ด๋ ๋ถํ
์ ์์ฑ๋๋ RAM์ ๊ฐ์ ํ์ผ ์์คํ
์ธ /tmp
์ ์ฐ๊ฒฐ๋ฉ๋๋ค). ์ด ๋ชจ๋ ๊ฒ์ ๋ค์ ๋ถํ
์ ๋ก๊ทธ ํ์ผ์ด ์ฌ๋ผ์ง๋ฏ๋ก ๋ถํ
ํ๊ธฐ ์ ์ ๊ด์ฌ์ด ์๋ค๋ฉด ํ์ธํ๋ฌ ๊ฐ๋ณด์ธ์.
์ด ์คํฌ๋ฆฝํธ๋ ๊ฐ์ฅ ๋น ๋ฅด๊ณ ์นจ์ ์ ์ด์ง ์์ ๋์คํฌ ํ์ธ ๋ฐฉ๋ฒ์ ์คํํฉ๋๋ค. ๋์คํฌ๊ฐ 'dirty'๋ก ํ์๋์ง ์์๋ค๋ฉด (๋ง์ง๋ง์ผ๋ก ๊นจ๋ํ๊ฒ ๋ง์ดํธ๋์๋ค๋ฉด) ๋์คํฌ ํ์ธ์ ์ต์ํ์ ์์ ๋ง ์
ํํ๊ณ ์ข ๋ฃ๋๋ฉฐ, ์ผ๋ฐ์ ์ผ๋ก 1์ด ์ด๋ด์ ์๋ฃ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ 'dirty bit'๊ฐ ์ค์ ๋์ด ์๋ค๋ฉด ๋์คํฌ ์๋ ํ์ธ ๋ฐ ์ ๋ฆฌ๋ฅผ ์ํํ๋ฉฐ, ๋์คํฌ์ ํฌ๊ธฐ์ ๋ฐ์ํ ์ค๋ฅ์ ์์ ๋ฐ๋ผ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆด ์ ์์ต๋๋ค. ์ ๊ฐ์ธ์ ์ธ ์ฒ ํ์ ๋์คํฌ์ ์ค๋ฅ๊ฐ ์๋ค๋ฉด ์ผ๋ง๋ ์ค๋ ๊ฑธ๋ฆฌ๋๋ผ๋ ์๋น์ค๋ก ๋์๊ฐ๊ธฐ ์ ์ ๊ณ ์น๋ ๊ฒ์ด ๋์ ๊ฒ์ด๋ผ๋ ๊ฒ์ ๋๋ค. ๋ผ์ฐํฐ์ ์ฃผ์ ๊ธฐ๋ฅ(์: ์ฐ๊ฒฐ๋ ํด๋ผ์ด์ธํธ์๊ฒ ์ธํฐ๋ท ํธ๋ํฝ ์ ๊ณต)์ ์ด ์คํฌ๋ฆฝํธ์ ๋ณ๋ ฌ๋ก ๋์ํ๊ธฐ ๋๋ฌธ์ ์ด๋ก ์ธํด ์ง์ฐ๋์ง ์์ต๋๋ค.
์ฃผ์ ์ฌํญ
1) ๋ถํ ์๊ฐ ์ฐ์ฅ
์ด ์คํฌ๋ฆฝํธ๋ก ์ธํ ๋ถํ ์๊ฐ์ ๋ณ๋ ๊ฐ๋ฅ์ฑ ๋๋ฌธ์, ํ์ฌ ์ถ๊ฐ ๊ธฐ๋ฅ์ด ์ํฅ์ ๋ฐ์ ์ ์์ต๋๋ค. ๊ฐ์ฅ ๊ฐ๋ฅ์ฑ ์๋ ์ํธ์์ฉ์ entware์ rc.unslung์ ํธ์ถํ์ฌ entware ํ์ ์ค์น๋ ์๋น์ค๋ฅผ ์์ํ๋ ๊ฒ์ ๋๋ค. entware์ ๊ธฐ๋ณธ ์ค์น ์คํฌ๋ฆฝํธ๋ ์๋น์ค ์์์ entware ๋ณผ๋ฅจ์ด ์ฌ์ฉ ๊ฐ๋ฅํด์ง ๋๊น์ง 30์ด๋ง ๊ธฐ๋ค๋ฆฌ๋ ๊ฐ๋จํ ๋๊ธฐ ๋ฃจํ๋ฅผ ์ค์นํฉ๋๋ค. ํ์์์์ด ๋๋ฉด ์์คํ ๋ก๊ทธ์ "Entware๋ฅผ ์์ํ ์ ์์ต๋๋ค." ๋ผ๋ ๋ฉ์์ง๋ฅผ ๋ณด๋ ๋๋ค. ๋์คํฌ ๊ฒ์ฌ๋ฅผ ์ํํ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์ถ๊ฐ ์๊ฐ์ ์ด ๋๊ธฐ ๋ฃจํ๊ฐ ์คํจํ ์ ์์ผ๋ฉฐ, ํนํ fsck๊ฐ ์ค์ ๋ก ๋์คํฌ ์ ๋ฆฌ ์์ ์ ํด์ผ ํ ๊ฒฝ์ฐ ๋์ฑ ๊ทธ๋ ์ต๋๋ค.
http://www.snbforums.com์์ ์ค๋ ๋๋ฅผ ์ดํด๋ณด๋ฉด, 'entware ์์์ ์ํ ๋๊ธฐ ๋ฃจํ'๋ ์ค๋๋ ๋ฌธ์ ์ด๋ฉฐ, ์ ์ด๋ 2013๋ ๊น์ง ๊ฑฐ์ฌ๋ฌ ์ฌ๋ผ๊ฐ๊ณ , ์๋ง๋ ๊ทธ ์ด์ ๋ถํฐ ์์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด์ ๋ํ ํด๊ฒฐ์ฑ ์ ๋ํ ๋ค์ ์ข ๊ต์ ์ธ ๋ ผ์์ด ์์ต๋๋ค. ๊ฐ์ฅ ๊ฐ๋จํ ํด๊ฒฐ์ฑ ์, ์ด ํ๊ฒฝ์ ์ค๋ ์ฌ์ฉ์๋ค์ด ๋ง์ด ์ง์งํ๋ ๋ฐฉ๋ฒ์ผ๋ก, ๋จ์ํ ๋๊ธฐ ๋ฃจํ๋ฅผ ๋ ๊ธธ๊ฒ ๋ง๋๋ ๊ฒ์ ๋๋ค. ์๋น์ค ์์ ์คํฌ๋ฆฝํธ ์๋จ์ _'i=30'_์ _'i=60'_์ผ๋ก ๋ณ๊ฒฝํ๋ ๊ฒ(๋๊ธฐํ ์ด ์)์ "์ ์" ๋ถํ (๋์คํฌ ๊ฒ์ฌ๊ฐ ๋น ๋ฅด๊ฒ ์งํ๋ ๋)์ ํด๊ฒฐํ ์ ์์ง๋ง, ๋์คํฌ ๊ฒ์ฌ๊ฐ ์ฌ๊ฐํ ์์ ์ ํด์ผ ํ๋ ๊ฒฝ์ฐ์๋ ์ฌ๋ฌ ๋ถ ๋์ ์ค์ ํ์ง ์๋ ํ ์ข์ง ์์ ํด๊ฒฐ์ฑ ์ ๋๋ค. ์ด ๊ฒฝ์ฐ, ์๋น์ค๋ฅผ ์๋์ผ๋ก ์์ํด์ผ ํ ์๋ ์์ต๋๋ค(ํ ๋ท์ด๋ ssh ์ฐฝ์์ _'/opt/etc/init.d/rc.unslung start'_๋ฅผ ์คํ), ๋๋ ๋ชจ๋ ๊ฒ์ด ์ฌ๋ฐ๋ฅด๊ฒ ์์๋๋๋ก ๋ค์ ๋ถํ ํด์ผ ํ ์๋ ์์ต๋๋ค. ํ์ง๋ง ์ข์ ๋์์ด ์์ต๋๋ค(์ ์ด๋ ์ ์๊ฐ์๋ ์ข์ต๋๋คโฆ), ํ์ง๋ง ๋์์ ์ถ๊ตฌํ๊ธฐ ์ ์ ์ด๋ฌํ ์ฃผ์์ฌํญ์ ๋จผ์ ์ฝ์ด๋ณด์ธ์.
a) ํน์ ์ธ๊ธฐ ์๋ ์ถ๊ฐ ์์ฉ ํ๋ก๊ทธ๋จ๋ค์ entware์ ๋ํด ์๋์ ์๋น์ค ์์ ๋์์ธ์ ์๊ตฌํ๊ณ /๋๋ ๊ฐ์ ํฉ๋๋ค. ๊ทธ ์ค ํ๋๋ AB-Solution์ ๋๋ค(https://github.com/RMerl/asuswrt-merlin.ng/wiki/How-to-use-Adblock-using-Pixelserv). ์ด ์์ฉ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉ ์ค์ด๊ฑฐ๋ ์ฌ์ฉํ ๊ณํ์ด๋ผ๋ฉด ์๋ ๋์์ ๊ฑด๋๋ฐ์ธ์. ๊ทธ๊ฒ์ ์ต์ ์ด ์๋๋๋ค. ์ด ์ ํ์ ๊ฐ์ง ๋ค๋ฅธ ์ฑ๋ค๋ ์์ ์ ์์ผ๋ฏ๋ก, ์๋ ๋์์ ์ฑํํ๊ณ ์ด๋ค ๊ฒ์ด ์๋ํ์ง ์๋๋ค๋ ๊ฒ์ ๋ฐ๊ฒฌํ๋ฉด '์๋น์ค ์์ ์ง์ฐ ๋ฃจํ' ๋ฐฉ๋ฒ์ผ๋ก ๋๋์๊ฐ ์๋ ์์ต๋๋ค.
b) ํน์ ๋ผ์ฐํฐ๋ค(์: RT-N66U)์ entware ๋ณผ๋ฅจ์ผ๋ก SD ์นด๋๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ์ด๋ ๊ฒ ๊ตฌ์ฑ๋๋ฉด ์์ ํ USB ์ ์ฅ ๋ณผ๋ฅจ์ ์ฌ์ฉํ๋ ๋ผ์ฐํฐ๋ค๊ณผ ๋ค๋ฅธ ๋ถํ ์์๋ฅผ ๊ฐ์ง๋๋ค. ์๋
์์ ๊ถ์ฅํ๋ ๋ณ๊ฒฝ์ฌํญ์ด ์ด๋ฌํ ๊ตฌ์ฑ๊ณผ ํธํ๋์ง ์๋ ๊ฒ์ผ๋ก ๋ณด๊ณ ๋์์ผ๋ฏ๋ก, ์๋ ๋ฐฉ๋ฒ์ ์ ์ฉ๋์ง ์์ ์ ์์ต๋๋ค.
์์ ์ฃผ์์ฌํญ์ ์ ์ธํ๊ณ , ์ ์ ๋ค๋ฅธ ์ด๋ค์ ์๋น์ค ์์ ์คํฌ๋ฆฝํธ๋ฅผ ์์ ํ ์ ๊ฑฐํ๊ณ entware rc.unslung ํธ์ถ์ post-mount๋ก ์ฎ๊ธฐ๋ ๊ฒ์ ์นํธํ์ต๋๋ค. '/tmp/opt' ๋งํฌ๊ฐ ๋ง๋ค์ด์ง ํ, ๊ทธ๋ฆฌ๊ณ ์ค์์ด ํ์ฑํ๋ ํ(์ค์น๋ ๊ฒฝ์ฐ)์ ๊ฐ์ ๋ธ๋ก์์ ์ด๋ ๊ฒ ๋ณด์ ๋๋ค:
#!/bin/sh
#
# /jffs/scripts/post-mount
#
if [ "$1" = "/tmp/mnt/sys" ] ; then
# Entware ์ค์ ๋ฐ ์คํ
ln -nsf $1/entware /tmp/opt
logger "$0:" "์ค์ ํ์ฑํ /opt/swap์์"
swapon /opt/swap
logger "$0:" "Entware ์๋น์ค๋ฅผ ์์ํ๊ธฐ ์ํด rc.unslung ์คํ ..."
/opt/etc/init.d/rc.unslung start
fi
์ด ์๋ฃจ์ ์ ์๋น์ค ์์์ ๋๊ธฐ ๋ฃจํ๋ฅผ ์์ ํ ์์ ๊ณ , entware์ ๊ด๋ จํด์๋ ์๋น์ค ์์์ ์ ์ฒด์ ์ผ๋ก ์์ ๋ฒ๋ฆฌ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ ์ฌ์ค์ ๋์ผํ ๊ฒ์ ๋๋ค. ์๋ํ๋ฉด ๋ชจ๋ ์๋น์ค ์์ ๋๊ธฐ ๋ฃจํ๋ post-mount์์ '/tmp/opt'๋ก์ ๋งํฌ๊ฐ ๋ง๋ค์ด์ง๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๊ฒ์ด ์ ๋ถ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ด๊ฒ์ ๋ถํ ์ํ์ค์์ ๋์คํฌ ๊ฒ์ฌ์ ์ผ๋ง๋ ์ค๋ ๊ฑธ๋ฆฌ๋ ์ง ๊ด๊ณ์์ด ํญ์ entware rc.unslung์ด ํธ์ถ๋ ๊ฒ์์ ๋ณด์ฅํฉ๋๋ค. ๋ถํ ์ ํญ์ ๋ผ์ฐํฐ๋ฅผ ๊ทธ "์ ์" ์ํ๋ก ๋๋๋ ค์ผ ํ๋ฉฐ, ๋ก๊ทธ์์ ๊ทธ ๋๋ ค์ด "Entware๋ฅผ ์์ํ ์ ์์ต๋๋ค." ๋ฉ์์ง๋ฅผ ์ฐพ์ ํ์๊ฐ ์์ต๋๋ค.
์ด ์๋ฃจ์ ์ ๋ํ ๋ค๋ฅธ ์ ์ตํ ๋ถ์์ ํจ๊ณผ๋ค์ ๊ฐ์ง๊ณ ์์ต๋๋ค:
-
์๋น์ค ์์ ๋๊ธฐ ๋ฃจํ ๋ชจ๋ธ์์๋ rc.unslung์ด ์๋น์ค ์์(์๋น์ค ์์์์)์ ๋ฐ๋๋๊ณ ์ค์์ด ํ์ฑํ๋๋ ์์ (post-mount์์) ์ฌ์ด์ ๊ฒฝ์ ์ํ๊ฐ ์์ต๋๋ค. ์๋น์ค๊ฐ ์์๋๊ธฐ ์ ์ ์ค์์ด ๋ง์ดํธ๋๋ ๊ฒ์ด ๋ฐ๋์งํ์ง๋ง, '์๋น์ค ์์ ๋๊ธฐ ๋ฃจํ' ์์คํ ์ ๋ก๊ทธ๋ฅผ ๋ณด๋ฉด ์๋น์ค๊ฐ ์ค์์ด ์์ ํ ํ์ฑํ๋๊ธฐ ์ ์ ์์๋๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค. ์ด๊ฒ์ด ์์๋ ์๋น์ค๊ฐ ๋ฉ๋ชจ๋ฆฌ ์ง์ฝ์ ์ธ ๊ฒฝ์ฐ ๋ฌธ์ ๋ฅผ ์ผ์ผํฌ ์๋ ์๊ณ , ์๋ ์๋ ์์ต๋๋ค.
-
entware๋ฅผ ๋ด๊ณ ์๋ USB ๋๋ผ์ด๋ธ๋ฅผ ์ ๊ฑฐํ๊ณ ๋ค์ ์ค์นํ๋ฉด, post-mount ์๋ฃจ์ ์ entware๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ฌ์์ํฉ๋๋ค(rc.unslung์ ๋ฆฌ๋ง์ดํธ ์ ๋ค์ ํธ์ถ๋ฉ๋๋ค). ํ์ง๋ง ์๋น์ค ์์ ์๋ฃจ์ ์ ์ฌ์ฉํ๋ฉด, rc.unslung์ ์๋์ผ๋ก ๋ค์ ์คํํ๊ฑฐ๋ ๋ผ์ฐํฐ๋ฅผ ๋ค์ ๋ถํ ํด์ผ ํฉ๋๋ค(์๋น์ค ์์์ ๋ถํ ์ ํ ๋ฒ๋ง ์คํ๋ฉ๋๋ค).
์ด์จ๋ , ๋ชจ๋ ์ข ๊ต์ ๋ ผ์๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก, ์ด๋ค ๋ฐฉ๋ฒ์ด ๋น์ ์๊ฒ ๋ง๋์ง ์์ ๋กญ๊ฒ ์ ํํ์ธ์. ์ด ๋์์ ์ ์ํ๋ ๊ฒ๋ฟ์ ๋๋ค.
2) ๋ถํ ์ค์ ์คํ๋๋ FSCK๊ฐ '๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ' ์ค๋ฅ๋ก ์คํจํฉ๋๋ค
๋๊ท๋ชจ ๋์คํฌ ์ ๋ฆฌ ์์ (์ฆ, ๋ถํ ์ fsck๊ฐ ์คํ๋ ๋ ๋์คํฌ๊ฐ ์ค์ ๋ก ์์๋ ๊ฒฝ์ฐ) ์ค์๋ ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ์ผ๋ก ์ธํด ์์ ์ ์๋ฃํ๋ ๊ฒ์ด ๋ถ๊ฐ๋ฅํ ์ ์์ต๋๋ค. ์ด๋ ๋์ฉ๋ HDD ๋ฐ/๋๋ ๋ง์ ์ค๋ฅ๊ฐ ์๋ ๊ฒฝ์ฐ์ ๋ฐ์ํ ์ ์์ต๋๋ค. ๋ถํ ์ค์ ์คํ๋๊ธฐ ๋๋ฌธ์ ์์คํ ์ ์ค์์ด ์๋ ๊ฒฝ์ฐ (์์คํ ์ ์ค์์ด ์๋ ๊ฒฝ์ฐ) ์๋ง๋ ์์ง ๋ก๋๋์ง ์์ ์ํ์ ๋๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ฌ์ฉ ๊ฐ๋ฅํ ๋ช ๊ฐ์ง ์ต์ ์ด ์์ต๋๋ค: a) ๋๋ผ์ด๋ธ๋ฅผ ๋ค๋ฅธ ์ปดํจํฐ(์: PC)๋ก ์ด๋ํ์ฌ ๋์คํฌ๋ฅผ ์ ๋ฆฌํ ํ ๋ผ์ฐํฐ์ ๋ค์ ์ค์นํฉ๋๋ค.
b) ๋ผ์ฐํฐ์ ์ค์ ํ์ผ์ด ์ค์น๋์ง ์์ ๊ฒฝ์ฐ, ๋จผ์ ์ค์ ํ์ผ์ ์ค์นํ์ญ์์ค. ์ค์์ ์ค์นํ๊ณ ํ์ฑํํ ํ์ ๋ผ์ฐํฐ๊ฐ ์๋ํ๊ณ ์ค์์ด ํ์ฑํ๋ ํ์ ๋์คํฌ๋ฅผ ์๋์ผ๋ก ํ์ธํ์ญ์์ค. ํ์ํ 'umount' ๋ฐ 'fsck' ๋ช ๋ น์ ๋ช ๋ น ์ค์์ ์คํํ๋ ๊ฒ์ ํผํ๋ ค๋ฉด ์๋์์ ์ธ๊ธ๋ ๋ด์ฅ 'Health Scanner'๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ์ง๋ง ์น GUI์์ ์ฌ์ฉ ๊ฐ๋ฅํ 'Health Scanner'๋ ์ด๋ป๊ฒ ๋๋์?
AsusWRT ํ์จ์ด์๋ ์ด๋ฏธ ์น GUI์์ ์ ๊ทผํ ์ ์๋ ๋์คํฌ ํ์ธ ๊ธฐ๋ฅ์ด ๋ด์ฅ๋์ด ์๋ค๋ ์ฌ์ค์ด ์ง์ ๋์์ต๋๋ค. ๋คํธ์ํฌ ๋งต ํ๋ฉด์์ USB ๋๋ผ์ด๋ธ ์์ด์ฝ์ ํด๋ฆญํ๋ฉด ์ค๋ฅธ์ชฝ์ 'Health Scanner' ํญ์ด ์๋ ํจ๋์ด ์ด๋ฆฝ๋๋ค. ์ฌ๊ธฐ์ USB ์ ์ฅ ์ฅ์น ์ค ํ๋์ ๋ํ ํฌ๊ด์ ์ธ ๋์คํฌ ์ค์บ์ ์์ํ ์ ์์ต๋๋ค. ๋ํ ํด๋น ํ๋ฉด์์ ์ฃผ๊ธฐ์ ์ธ ํ์ธ์ ์์ฝํ ์๋ ์์ต๋๋ค. ์ด ๋ฉ์ปค๋์ฆ์ ๋ฌธ์ ์ ์ ์๋ AsusWRT์ ์ผ๋ถ์ด๋ฉฐ Merlin ํ์ฅ ๊ธฐ๋ฅ์ ์ดํดํ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ ๋จผ์ entware๋ฅผ ์ค์ง์ํค์ง ์์ผ๋ฉฐ (entware๊ฐ ์์ํ ์๋น์ค ๋ฐ/๋๋ ์ค์ ํ์ผ์ ์ฌ์ฉํ๋ ค๋ฉด ํ์ฑํํด์ผ ํจ) ์คํ ๋ฆฌ์ง ๋ณผ๋ฅจ์ _umount_ํ ์ ์์ ๋ ๊ฝค ์ฐ์ํ์ง ๋ชปํ ๋ฐฉ์์ผ๋ก ์คํจํฉ๋๋ค.
๋ค์์ ์ด ๊ธฐ๋ฅ์ ๋ ์ ์๋ํ๊ฒ ๋ง๋๋ ๋ ๋ค๋ฅธ ๊ฐ๋จํ ์ฌ์ฉ์ ์ง์ ์คํฌ๋ฆฝํธ์ ๋๋ค. '/jffs/scripts/unmount'์ ์ค์นํ์ญ์์ค (์คํฌ๋ฆฝํธ ์ค์น์ ๋ํ ์ฃผ์ ์ฌํญ์ ์์์ ์ธ๊ธํ๋๋ก ์ ์ฉ๋ฉ๋๋ค):
#!/bin/sh
#
# /jffs/scripts/unmount
#
# ๋จผ์ "entware ๋ณผ๋ฅจ"์ unmountํ๊ธฐ ์ ์ entware๋ฅผ ์ค์งํฉ๋๋ค.
#
# '/opt' ๋ง์ดํธ ํฌ์ธํธ์ $1์ ๋น๊ตํ์ฌ ์ด๊ฒ์ด entware ๋ณผ๋ฅจ์ธ์ง ํ์ธํฉ๋๋ค.
OPT=$(dirname $(readlink /tmp/opt))
if [ "$1" == "$OPT" ] ; then
# ์ด ์ฝ๋๋ 'services-stop'์ ์๋ ๊ฒ๊ณผ ๋์ผํ๋ฏ๋ก ๊ทธ๋ฅ services-stop์ ํธ์ถํ ์๋ ์์ต๋๋ค.
/opt/etc/init.d/rc.unslung stop
swapoff /opt/swap
fi
์ด ์ถ๊ฐ๋ก Health Scanner๊ฐ ๋ ์ ์๋ํฉ๋๋ค. ์ด์ Health Scanner๊ฐ entware ๋ณผ๋ฅจ์ Health Check๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ์ํํ ์ ์์ต๋๋ค. ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ์์ง ๋ช ๊ฐ์ง ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋๋ ์ด ๋ฌธ์ ๊ฐ RMerlin์ด ํด๊ฒฐํ๋ ค๊ณ ์๋ํ์ง ์์ ์๋ AsusWRT ์ฝ๋์ ์๋ ๊ฒ์ผ๋ก ์๊ฐํฉ๋๋ค. ๊ทธ๊ฒ์ ๋ด์ฅ Samba์ minidlna ํ๋ก์ธ์ค๋ฅผ ์์ํ๊ณ ์ค์งํ ๋ ํผ๋์ค๋ฌ์ ๋ณด์ ๋๋ค. ์ต์ํ ํ ๋ฒ์ minidlna ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์์์ผฐ์ผ๋ฉฐ ๋ค์ ๋ถํ ์ ๋ค์ ์์ฑํด์ผ ํ์ต๋๋ค. ํฐ ๋ฌธ์ ๋ ์๋์ง๋ง ์๋์ฒ๋ผ ๋์ํด์๋ ์ ๋ฉ๋๋ค. ์ด ๋ฌธ์ ๊ฐ ์ค์ ๋ก ๋ฌด์์ด ์ผ์ด๋๊ณ ์๋์ง ์ดํดํ๋ ค๋ ์๊ฐ์ ๋ค์ด์ง ์์์ผ๋ฏ๋ก ์์ฝ๋ ์ค์ผ์ค๋ก ์๋์ผ๋ก ์คํํ ๋งํผ ๋ฏฟ์ง ์์ต๋๋ค. ํ์ง๋ง ์๋ํด ๋ณด์ธ์. ์ฌ๋ฌ๋ถ์๊ฒ ์๋ํ๋ค๋ฉด ๊ทธ๋งํ ๊ฐ์น๊ฐ ์์ต๋๋ค...
์ง๋ฌธ/์๊ฒฌ์ด ์์ผ์ญ๋๊น? ์ ๋ฅผ SNBForums์์ 'latenitetech'๋ก ์ฐพ์๋ณด์ธ์. ๊ฐ๋ฅํ ํ ๋์ ๋๋ฆฌ๊ฒ ์ต๋๋ค.
-๋งํฌ