· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
LFS/Bootscripts

½Ã½ºÅÛ ºÎÆ®·Î´õ ¼³Á¤Çϱâ

¹öÀü: LFS-7.2

ÀÛ¼º: ±è¼®¹ü(chaoxifer)


Contents

1. ÀϹÝÀûÀÎ ³×Æ®¿öÅ© ¼³Á¤
1.1. ³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽º¸¦ À§ÇÑ À̸§ ¸¸µé±â
1.2. ³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽º ¼³Á¤ ÆÄÀÏ ¸¸µé±â
1.3. /etc/resolv.conf ÆÄÀÏ ¸¸µé±â
2. /etc/hosts ÆÄÀÏ ¼³Á¤Çϱâ
3. LFS ½Ã½ºÅÛ¿¡¼­ ÀåÄ¡¿Í ¸ðµâ Çڵ鸵Çϱâ
3.1. º¯È­µÈ °úÁ¤
3.2. Udev ±¸Çö
3.2.1. Sysfs
3.2.2. Udev Bootscripts
3.2.3. µð¹ÙÀ̽º ³ëµå »ý¼º
3.2.4. ¸ðµâ ·Îµù
3.2.5. Á¦°Å°¡´ÉÇÑ ÀåÄ¡ µ¿ÀûÀ¸·Î Çڵ鸵Çϱâ
3.2.6. ¸ðµâ ·Îµù°ú µð¹ÙÀ̽º »ý¼ºÀÇ ¹®Á¦
3.2.6.1. Ä¿³Î ¸ðµâÀº ÀÚµ¿À¸·Î ·ÎµåµÇÁö ¾Ê´Â´Ù
3.2.6.2. Ä¿³Î ¸ðµâÀº ÀÚµ¿À¸·Î ·ÎµåµÇÁö ¾Ê´Âµ¥ udevµµ À̸¦ ·ÎµåÇÏ·Á°í ÇÏÁö ¾Ê´Â °æ¿ì
3.2.6.3. Udev°¡ ¿øÇÏÁö ¾Ê´Â ¸ðµâÀ» ·ÎµåÇÏ´Â °æ¿ì
3.2.6.4. Udev°¡ µð¹ÙÀ̽º¸¦ ¿Ã¹Ù¸£Áö ¾Ê°¡ »ý¼ºÇϰųª À߸øµÈ symlink¸¦ ¸¸µå´Â °æ¿ì
3.2.6.5. Udev°¡ ºÒ¿ÏÀüÇÏ°Ô ÀÛµ¿µÇ´Â °æ¿ì
3.2.6.6. Udev°¡ ÀåÄ¡¸¦ ¸¸µéÁö ¾Ê´Â °æ¿ì
3.2.6.7. µð¹ÙÀ̽º ³×ÀÓÀÌ ÀçºÎÆÃÈÄ¿¡ ·£´ýÀ¸·Î ¹Ù²î´Â °æ¿ì
4. µð¹ÙÀ̽º¸¦ À§ÇÑ Custom Symlink ¸¸µé±â
4.1. CD-ROM symlinks
4.2. Áߺ¹µÈ ÀåÄ¡ ´Ù·ç±â
5. LFS-Bootscripts-20120901
6. ºÎÆ®½ºÅ©¸³Æ®ÀÇ ÀÛµ¿ ¿ø¸®
6.1. Sysvinit ¼³Á¤Çϱâ
6.2. Run Level ¹Ù²Ù±â
7. ½Ã½ºÅÛ È£½ºÆ®À̸§ ¼³Á¤Çϱâ
8. setclock ½ºÅ©¸³Æ® ¼³Á¤Çϱâ
9. ¸®´ª½º ÄÜ¼Ö ¼³Á¤Çϱâ
10. sysklogd ½ºÅ©¸³Æ® ¼³Á¤Çϱâ
11. rc.site ÆÄÀÏ
12. The Bash Shell Startup Files
13. /etc/inputrc ÆÄÀÏ »ý¼ºÇϱâ

1. ÀϹÝÀûÀÎ ³×Æ®¿öÅ© ¼³Á¤


À̹ø Àý¿¡¼­´Â ³×Æ®¿öÅ© Ä«µå°¡ ¼³Á¤µÇµµ·Ï ÇÒ °ÍÀÔ´Ï´Ù.

¸¸¾à ³×Æ®¿öÅ© Ä«µå¸¦ »ç¿ëÇÏÁö ¾ÊÀ» °ÍÀ̶ó¸é °ü·ÃµÈ ¼³Á¤ÆÄÀÏÀ» ¸¸µé ÇÊ¿ä°¡ ¾ø½À´Ï´Ù. ÀÌ·± °æ¿ì¿¡ ¿©·¯ºÐÀº LFS-Bootscripts-20120901¿¡¼­ ºÎÆ® ½ºÅ©¸³Æ®¸¦ ¼³Ä¡ÇÑ ÈÄ ¸ðµç run-level µð·ºÅ丮(/etc/rc.d/rc*.d)¿¡ ÀÖ´Â network symlink¸¦ Áö¿ì½Ê½Ã¿À.

1.1. ³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽º¸¦ À§ÇÑ À̸§ ¸¸µé±â

¸¸¾à ´Ü ÇÑ°³ÀÇ ³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽º¸¸ ½Ã½ºÅÛ¿¡¼­ ¼³Á¤µÇ¾î¾ß ÇÑ´Ù¸é Àý´ë·Î À߸øµÉ ÀÏÀÌ ¾ø½À´Ï´Ù. ¸¹Àº °æ¿ì¿¡(¹«¼±°ú À¯¼±À» »ç¿ëÇÏ´Â ³ëÆ®ºÏÀÇ °æ¿ì) À̹ø Àý¿¡¼­ ¹Ýµå½Ã ³×Æ®¿öÅ© ¼³Á¤À» ÇØÁÖ¾î¾ß ÇÕ´Ï´Ù.

Udev¿Í ¸ðµâÈ­µÈ µå¶óÀ̹öµé·Î ³×Æ®¿öÅ©¿¡ ¼ýÀÚ¸¦ ¸Å±â´Â °ÍÀº ±âº»°ª¿¡ ÀÇÇÑ °ÍÀ̱⠶§¹®¿¡ Áö¼ÓÀûÀÎ °ÍÀÌ ¾Æ´Õ´Ï´Ù. ¿Ö³ÄÇÏ¸é µå¶óÀ̹ö´Â ÆòÇàÇÏ°Ô ·ÎµåµÇ±â ¶§¹®Àε¥ ÀÌ ¶§ ·Îµå ¼ø¼­´Â ·£´ýÀ¸·Î ÁöÁ¤µË´Ï´Ù. ¿¹¸¦ µé¾î ÄÄÇ»ÅÍ°¡ Intel°ú Realtek¿¡¼­ ¸¸µé¾îÁø µÎ°³ÀÇ ³×Æ®¿öÅ© Ä«µå¸¦ °¡Áö°í Àִ٠Ĩ½Ã´Ù. ÀÌ ¶§ ³×Æ®¿öÅ© Ä«µå´Â IntelÀÌ eth0, Realteck Ä«µå°¡ eth1À¸·Î µÇ¾ú½À´Ï´Ù. ÇÏÁö¸¸ ÀçºÎÆÃÇÒ °æ¿ì¿¡, ÀÌ ¼ø¼­°¡ ¹Ù²ð¼öµµ ÀÖ½À´Ï´Ù. À̸¦ ÇÇÇϱâ À§Çؼ­ Udev¸¦ ÀÌ¿ëÇؼ­ ¾à°£ÀÇ ±ÔÄ¢À» Á¤ÇÏ¿© ½ºÅ©¸³Æ®·Î ¸¸µé¾îÁÖ¸é MAC ¾îµå·¹½º ±â¹ÝÀÇ ³×Æ®¿öÅ© Ä«µå¿¡ µû¶ó ÀÏÁ¤ÇÑ À̸§À» ÁöÁ¤ÇØÁÙ ¼ö ÀÖ½À´Ï´Ù.

±ÔÄ¢Àº Áö³­ Àå¿¡¼­ udev¸¦ ¼³Ä¡ÇÒ ¶§ ¹Ì¸® ¸¸µé¾îÁý´Ï´Ù. /etc/udev/rules.d/70-persistent-net.rules ÆÄÀÏÀ» »ìÆ캸½Ê½Ã¿À. ³×Æ®¿öÅ© Àåºñ°¡ ¾î¶»°Ô À̸§ÀÌ Á¤ÇØÁö´ÂÁö ¾Ë ¼ö ÀÖÀ» °Ì´Ï´Ù.
cat /etc/udev/rules.d/70-persistent-net.rules

Note

MAC ¾îµå·¹½º¸¦ ³×Æ®¿öÅ© Ä«µå¿¡ ÁöÁ¤Çߴٰųª Xen°ú °°Àº °¡»ó ȯ°æ¿¡¼­´Â network ±ÔÄ¢ÀÌ ¸¸µé¾îÁöÁö ¾Ê¾ÒÀ» ¼öµµ ÀÖ½À´Ï´Ù. ¿Ö³ÄÇϸé ÁÖ¼ÒµéÀÌ ÀÏÁ¤ÇÏ°Ô ³ª¿ÀÁö ¾Ê±â ¶§¹®ÀÔ´Ï´Ù. ÀÌ·¯ÇÑ °æ¿ì¿¡´Â ´ÙÀ½ ÀýÀ» »ìÆ캸½Ã±â ¹Ù¶ø´Ï´Ù.

ÆÄÀÏÀº °¢ NIC¿¡ ´ëÇÑ µÎ°³ÀÇ ¶óÀÎÀ¸·ÎµÈ ÄÚ¸àÆ® ºÎºÐÀ¸·Î ½ÃÀ۵˴ϴÙ. °¢ NIC¿¡ ´ëÇÑ Ã¹¹ø° ¶óÀÎÀº ¸¸¾à µå¶óÀ̹ö°¡ °Ë»öµÇ¾ú´Ù¸é ÇØ´ç Çϵå¿þ¾îÀÇ ID(e.g. PCI vendor, device IDs)¿¡ ´ëÇÑ ±â¼úÁ¤º¸°¡ º¸ÀÏ °ÍÀÔ´Ï´Ù. ÇÏÁö¸¸ hardware ID³ª µå¶óÀ̹ö°¡ ÀÎÅÍÆäÀ̽ºÀÇ À̸§À» °áÁ¤Çϴµ¥ »ç¿ëµÇÁö ¾Ê´Â´Ù¸é »ç¿ëÇÒ ¼ö ÀÖ´Â Á¤º¸´Â ¿ÀÁ÷ ·¹ÆÛ·±½º »ÓÀÔ´Ï´Ù. µÎ¹ø° ¶óÀÎÀº Udev ±ÔÄ¢À¸·Î NIC¿Í ºÎÇյǾî ÇØ´ç Ä«µå¿¡ À̸§À» ºÎ¿©ÇÕ´Ï´Ù.

¸ðµç Udev ±ÔÄ¢µéÀº ¸î°³ÀÇ key¸¦ °¡Áö°í Àִµ¥ ÀÌ key´Â ÄÞ¸¶¿Í ºó °ø°£À¸·Î ±¸º°µË´Ï´Ù. ±ÔÄ¢¿¡ »ç¿ëµÇ´Â °¢ key¿Í ¼³¸íÀº ´ÙÀ½°ú °°½À´Ï´Ù:
  • SUBSYSTEM=="net": ÀÌ°ÍÀº Udev°¡ network card°¡ ¾Æ´Ñ ÀåÄ¡´Â ¹«½ÃÇÏ°Ô ¸¸µì´Ï´Ù.
  • ACTION=="add": Udev°¡ »õ·Î Ãß°¡µÈ ÀåÄ¡¶ó´Â À̺¥Æ®°¡ ¹ß»ýÇÏÁö ¾ÊÀº ÀåÄ¡´Â ¹«½ÃÇϵµ·Ï ¸¸µì´Ï´Ù.("remove"¿Í "change"¶ÇÇÑ À̹øÆ®°¡ ÀϾ°í ±ÔÄ¢À» ¼¼¿ï ¼ö ÀÖÁö¸¸ network card¿¡´Â Àû¿ë½Ãų ¼ö ¾ø½À´Ï´Ù.)
  • DRIVERS=="?*": ÀÌ°ÍÀº ÀÌ¹Ì Á¸ÀçÇÏ´Â VLANÀ̳ª bridge sub-interfaceµéÀ» ¹«½ÃÇϵµ·Ï ¸¸µì´Ï´Ù.
  • ATTR{address}: keyÀÇ °ªÀ¸·Î NICÀÇ ¸Æ ¾îµå·¹½º¸¦ °¡¸®Åµ´Ï´Ù.
  • ATTR{type}=="1": µÎ °³ ÀÌ»óÀÇ °¡»ó ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇϴ ƯÁ¤ ¹«¼± µå¶óÀ̹ö¿¡ ´ëÇؼ­ ÁÖ ÀÎÅÍÆäÀ̽º¸¸ »ç¿ëÇϵµ·Ï ÇÕ´Ï´Ù.
  • KERNEL=="eth*": ÀÌ Å°´Â Udev ±ÔÄ¢ÀÌ ¿©·¯°³ÀÇ ³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽º¸¦ ¸¸µé¾î ³¾ ¶§ À̵éÀ» basenameÀ¸·Î °¡·Á³»±â Èûµç °æ¿ì µû·Îµû·Î ±¸º°Çϱâ À§ÇØ »ç¿ëµË´Ï´Ù. ÀÌ°ÍÀº ÀϹÝÀûÀ¸·Î LFS »ç¿ëÀÚ¿¡°Ô´Â ÇÊ¿äÇÏÁö´Â ¾ÊÁö¸¸ ³ª»Ü °Ç ¾ø½À´Ï´Ù.
  • NAME: Udev°¡ ÀÎÅÍÆäÀ̽º¿¡ Àû¿ë½ÃÅ°´Â À̸§°ªÀ» ³ªÅ¸³À´Ï´Ù.

1.2. ³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽º ¼³Á¤ ÆÄÀÏ ¸¸µé±â

³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽º´Â /etc/sysconfig/¿¡ ÀÖ´Â ½ºÅ©¸³Æ®¿¡ ÀÇÇØ ÄÑÁö°Å³ª ²¨Áý´Ï´Ù. ÀÌ µð·ºÅ丮´Â ¹Ýµå½Ã ifconfig.xyz(xyz´Â eth0¿Í °°Àº ÀåÄ¡À̸§ÀÔ´Ï´Ù)¿Í °°ÀÌ °¢ ÀÎÅÍÆäÀ̽º¿¡ ´ëÇØ ¼³Á¤ÇÑ ÆÄÀÏÀ» °¡Áö°í ÀÖ¾î¾ß ÇÕ´Ï´Ù. ÆÄÀÏ ¾È¿¡´Â IP ÁÖ¼Ò³ª ¼­ºê³Ý ¸¶½ºÅ© °°Àº ÀÎÅÍÆäÀ̽º¿¡ ´ëÇÑ ¾îÆ®¸®ºäÆ®¸¦ Æ÷ÇÔÇÏ°í ÀÖ½À´Ï´Ù.

´ÙÀ½°ú °°ÀÌ eth0 ÀåÄ¡¿¡ ´ëÇÑ °£´ÜÇÑ ÆÄÀÏÀ» ¸¸µé¾îÁÝ´Ï´Ù.
cd /etc/sysconfig/
cat > ifconfig.eth0 << "EOF"
ONBOOT=yes
IFACE=eth0
SERVICE=ipv4-static
IP=192.168.1.1
GATEWAY=192.168.1.2
PREFIX=24
BROADCAST=192.168.1.255
EOF

À§ÀÇ º¯¼öµéÀÇ °ªÀº ÀûÀýÇÑ ¼³Á¤À» À§ÇØ ¹Ýµå½Ã ¹Ù²î¾î¾ß ÇÕ´Ï´Ù.

¸¸¾à ONBOOT º¯¼ö°ªÀÌ "yes"·Î ¼³Á¤µÇ¾î ÀÖ´Ù¸é ³×Æ®¿öÅ© ½ºÅ©¸³Æ®´Â Network Interface Card(NIC)ÀÇ »óŸ¦ ½Ã½ºÅÛÀÌ ºÎÆÃµÉ ¶§ ų °ÍÀÔ´Ï´Ù. ¸¸¾à ÀÎÅÍÆäÀ̽º¸¦ Á÷Á¢ ½ÃÀÛÇϰųª ²ô°í ½Í´Ù¸é ifup°ú ifdown ¸í·É¾î·Î ÇÒ ¼ö ÀÖ½À´Ï´Ù.

IFACE º¯¼ö´Â ÀÎÅÍÆäÀ̽ºÀÇ À̸§À» Á¤ÇÕ´Ï´Ù.(¿¹: eth0) ÀÌ°ÍÀº ¸ðµç ³×Æ®¿öÅ© Àåºñ¿¡ ´ëÇØ ¼³Á¤ÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù.

SERVICE º¯¼ö´Â ¿¬°á½Ã ¾ò¾î¿À´Â IP ÁÖ¼Ò¸¦ ¼³Á¤ÇÕ´Ï´Ù. LFS-Bootscripts ÆÐÅ°Áö´Â ¸ðµâÈ­µÈ IP ÇÒ´ç Çü½ÄÀ̸ç /lib/services/ µð·ºÅ丮 ¾È¿¡ Ãß°¡ÀûÀÎ ÆÄÀϵéÀ» ¸¸µé¾î¼­ IP ÇÒ´ç ¸Þ¼­µå¸¦ ´Ù¸¥ »ç¿ëÀÚ¿¡°Ôµµ Çã¿ëÇÕ´Ï´Ù. ÀÌ°ÍÀº °øÅëÀûÀ¸·Î Dynamic Host Configuration Protocol(DHCP)¿¡¼­ »ç¿ëµÇ¸ç ÀÌ°ÍÀº BLFS Ã¥¿¡ ´ã°Ü ÀÖ½À´Ï´Ù.

GATEWAY º¯¼ö´Â ±âº» °ÔÀÌÆ®¿þÀÌ IP ÁÖ¼Ò¸¦ Æ÷ÇÔÇÏ°í ÀÖ¾î¾ß ÇÕ´Ï´Ù. ¸¸¾à ±×·¸Áö ¾Ê´Ù¸é ÀüüÀûÀ¸·Î º¯¼öµéÀ» comment outÇÏ¿© »ç¿ëÇÏÁö ¸»¾Æ¾ß ÇÕ´Ï´Ù.

PREFIX º¯¼ö´Â ¼­ºê³ÝÀ¸·Î »ç¿ëÇÒ ºñÆ®ÀÇ ¼ýÀÚ¸¦ ´ã°í ÀÖ½À´Ï´Ù. °¢ IP ÁÖ¼ÒÀÇ ¹ÙÀÌÆ®´Â 8ºñÆ®ÀÔ´Ï´Ù. ¸¸¾à ¼­ºê³Ý ³Ý¸¶½ºÅ©°¡ 255.255.255.0À̶ó¸é 3°³ÀÇ ¹ÙÀÌÆ®(24bits)¸¦ »ç¿ëÇÏ°í ÀÖ´Â °ÍÀÔ´Ï´Ù. ¸¸¾à ³Ý¸¶½ºÅ©°¡ 255.255.255.240À̶ó¸é óÀ½ 28ºñÆ®¸¦ »ç¿ëÇÏ°í ÀÖ´Â °ÍÀÌ°ÚÁÒ. 24bitº¸´Ù ´õ ±ä Prefix´Â °øÅëÀûÀ¸·Î DSL°ú cable-based Internet Service Providers(ISPs)¿¡ ÀÇÇØ »ç¿ëµË´Ï´Ù. ÀÌ·¯ÇÑ ¿¹¿¡¼­´Â PREFIX=24·Î ¼³Á¤ÇÏ°í ³Ý¸¶½ºÅ©´Â 255.255.255.0ÀÌ µË´Ï´Ù. ¿©·¯ºÐµéÀÇ Æ¯Á¤ ¼­ºê³Ý¿¡ ¸Â°Ô ¼³Á¤ÇϽʽÿÀ. ¸¸¾à »ý·«ÇÏ°Ô µÇ¸é ±âº»°ªÀº 24ÀÔ´Ï´Ù.

1.3. /etc/resolv.conf ÆÄÀÏ ¸¸µé±â

¸¸¾à ½Ã½ºÅÛÀÌ ÀÎÅͳݿ¡ ¿¬°áÇÏ·Á°í ÇÑ´Ù¸é ÀÎÅÍ³Ý µµ¸ÞÀÎ À̸§À» IP ÁÖ¼Ò·Î ¹Ù²ãÁÖ´Â DNS(Domain Name Service) ¼­ºñ½º°¡ ÇÊ¿äÇÕ´Ï´Ù. ISP³ª ³×Æ®¿öÅ© °ü¸®ÀÚ°¡ »ç¿ë°¡´ÉÇϵµ·Ï /etc/resolv.confÆÄÀϾȿ¡ DNS ¼­¹öÀÇ IP ÁÖ¼Ò¸¦ ÀúÀåÇÕ´Ï´Ù.
cat > /etc/resolv.conf << "EOF"
# Begin /etc/resolv.conf

domain <Your Domain Name>
nameserver <IP address of your primary nameserver>
nameserver <IP address of your secondary nameserver>

# End /etc/resolv.conf
EOF

µµ¸ÞÀÎ »óÅ´ »ý·«µÇ°Å³ª °Ë»öÇÏ´Â »óÅ·ΠµÑ ¼ö ÀÖ½À´Ï´Ù. ´õ ÀÚ¼¼ÇÑ °ÍÀº resolv.confÀÇ ¸ÇÆäÀÌÁö¸¦ Âü°íÇϼ¼¿ä.

<IP address of nameserver>·Î µÈ ºÎºÐÀ» ÀÌ·¯ºÐ¿¡°Ô ÀûÇÕÇÑ DNSÀÇ IP ÁÖ¼Ò·Î ¹Ù²ß´Ï´Ù. ¸¸¾à DNS ¼­¹ö·Î Çϳª¸¸ »ç¿ëÇÏ±æ ¿øÇÑ´Ù¸é µÎ¹ø° ³×ÀÓ¼­¹ö¸¦ »èÁ¦ÇÏ¸é µË´Ï´Ù.

2. /etc/hosts ÆÄÀÏ ¼³Á¤Çϱâ

¸¸¾à ³×Æ®¿öÅ© Ä«µå°¡ ¼³Á¤ÀÌ ¿Ï·áµÇ¾ú´Ù¸é IP ÁÖ¼Ò¿Í fully-qualified domain name(FQDN), /etc/host ÆÄÀÏ ¾È¿¡ °¡´ÉÇÑ aliases¸¦ °áÁ¤ÇØ¾ß ÇÕ´Ï´Ù.
IP_address myhost.example.org aliases

ºñ·Ï ÄÄÇ»ÅÍ°¡ IP¸¦ ÇÒ´ç¹Þ¾Æ¼­ ÀÎÅͳÝÀ» Á¢¼ÓÇÒ ¼ö ÀÖ´Ù°í Çصµ private network IP ÁÖ¼ÒÀÇ ¹üÀ§¸¦ È®½ÇÇÏ°Ô ¼³Á¤ÇØ ÁֽʽÿÀ:
Private Network Address Range    Normal Prefix
10.0.0.1 - 10.255.255.254         8
172.x.0.1 - 172.x.255.254         16
192.168.y.1 - 192.168.y.254       24

x´Â 16-31»çÀÌÀÇ ¼ýÀÚ°¡ µÉ °Ì´Ï´Ù. y´Â 0-255»çÀÌÀÇ ¼ýÀÚ°¡ µÉ°ÍÀÔ´Ï´Ù.

À¯È¿ÇÑ »ç¼³ IP ÁÖ¼Ò·Î 192.168.1.1ÀÌ °¡´ÉÇÕ´Ï´Ù. FQDNÀ¸·Î´Â lfs.example.orgµîÀÌ À¯È¿ÇÑ IPÀÔ´Ï´Ù.

³×Æ®¿öÅ© Ä«µå¸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù°í Çصµ FQDNÀº ÇÊ¿äÇÕ´Ï´Ù. ÀÌ°ÍÀº ƯÁ¤ ÇÁ·Î±×·¥µéÀÌ Á¤»óÀûÀ¸·Î ÀÛµ¿Çϱâ À§ÇØ ÇÊ¿äÇÑ °ÍµéÀÔ´Ï´Ù.

/etc/hosts ÆÄÀÏÀ» ¸¸µé¾î ÁÝ´Ï´Ù.
cat > /etc/hosts << "EOF"
# Begin /etc/hosts (network card version)

127.0.0.1 localhost
<192.168.1.1> <HOSTNAME.example.org> [alias1] [alias2 ...]

# End /etc/hosts (network card version)
EOF

<192.168.1.1>°ú <HOSTNAME.example.org> °ªÀº Ưº°ÇÑ »ç¿ë°ú ¿ä±¸µéÀ» À§ÇØ º¯°æµÇ¾î¾ß ÇÕ´Ï´Ù.(¸¸¾à ³×Æ®¿öÅ©³ª ½Ã½ºÅÛ °ü¸®ÀÚ¿¡ ÀÇÇØ IP ÁÖ¼Ò°¡ µÇ¾ú´Ù¸é ½Ã½ºÅÛÀº ±âÁ¸ ³×Æ®¿öÅ©¿¡ ¿¬°áµÇ·Á°í ÇÒ °ÍÀÔ´Ï´Ù. alias name(s) ¿É¼ÇÀº »ý·«µÉ ¼ö ÀÖ½À´Ï´Ù.

³×Æ®¿öÅ© Ä«µå¸¦ ¼³Á¤ÇÏÁö ¾Ê´Â´Ù¸é ´ÙÀ½°ú °°ÀÌ /etc/hostsÆÄÀÏÀ» ¸¸µå½Ê½Ã¿À:
cat > /etc/hosts << "EOF"
# Begin /etc/hosts (no network card version)

127.0.0.1 <HOSTNAME.example.org> <HOSTNAME> localhost

# End /etc/hosts (no network card version)
EOF

3. LFS ½Ã½ºÅÛ¿¡¼­ ÀåÄ¡¿Í ¸ðµâ Çڵ鸵Çϱâ

ÀÌÀü Àå¿¡¼­ ¿ì¸®´Â Udev ÆÐÅ°Áö¸¦ ¼³Ä¡Çß½À´Ï´Ù. ÀÌ°ÍÀÇ ÀÛµ¿ ¿ø¸®¿¡ ´ëÇØ ÀÚ¼¼È÷ ¾Ë±â Àü¿¡ ±×µ¿¾È ¾î¶»°Ô ÀåÄ¡µéÀ» Çڵ鸮ÇØ¿Ô´ÂÁö¿¡ ´ëÇØ °£´ÜÇÏ°Ô ¼³¸íÇÏ°Ú½À´Ï´Ù.

¸®´ª½º ½Ã½ºÅÛÀº static device creation À̶ó´Â ¹æ¹ýÀ» »ç¿ëÇß¾ú½À´Ï´Ù. ÀÌ ¹æ¹ýÀº /dev/ (¶§¶§·Î ¹®ÀÚ±×´ë·Î õ°³Á¤µµÀÇ ³ëµå°¡ ÀÖ¾ú½À´Ï´Ù) µð·ºÅ丮 ¾È¿¡ ¾öû³ª°Ô ¸¹Àº µð¹ÙÀ̽º ³ëµå¸¦ °¡Áö°í ÀÖ¾ú½À´Ï´Ù. ÇØ´ç ³ëµå¿¡ ¸Â´Â Çϵå¿þ¾î°¡ ½ÇÁ¦·Î Á¸ÀçÇÏÁöµµ ¾Ê´Âµ¥µµ ¸»ÀÌÁÒ. ÀÌ°ÍÀº ÀüÇüÀûÀ¸·Î MAKEDEV ¶ó´Â ½ºÅ©¸³Æ®¿¡ ÀÇÇØ ÀÌ·ç¾îÁ³À¸¸ç ÀÌ ½ºÅ©¸³Æ®´Â ¸ðµç °¡´ÉÇÑ ÀåÄ¡ÀÇ ¼ýÀÚµéÀ» mknod ÇÁ·Î±×·¥À¸·Î ÀüÇÏ´Â ºÎºÐÀ» °¡Áö°í ÀÖ¾ú½À´Ï´Ù.

Udev ¹æ¹ýÀ» ÀÌ¿ëÇϹǷνá, Ä¿³Î¿¡ ÀÇÇØ Å½»öµÈ µð¹ÙÀ̽º¿¡ ´ëÇÑ ³ëµåµé¸¸ ¸¸µé¾îÁö°Ô µÆ½À´Ï´Ù. ÀÌ·¯ÇÑ µð¹ÙÀ̽º ³ëµåµéÀº ½Ã½ºÅÛÀÌ ºÎÆÃµÉ ¶§¸¶´Ù ¸¸µé¾îÁö°í devtmps¶ó´Â ÆÄÀϽýºÅÛ¿¡ ÀúÀåµË´Ï´Ù. µð¹ÙÀ̽º ³ëµåµéÀº ¸¹Àº ¿ë·®À» Â÷ÁöÇÏÁö ¾Ê¾Æ¼­ ¹«½ÃÇصµ µÉ Á¤µµÀÔ´Ï´Ù.

3.1. º¯È­µÈ °úÁ¤

2000³â 2¿ù, devfs¶ó´Â »õ·Î¿î ÆÄÀϽýºÅÛÀÌ 2.3.46 Ä¿³Î¿¡¼­ ÃâÇöÇÏ¿© 2.4 stable Ä¿³Î ½Ã¸®ÁîºÎÅÍ »ç¿ë °¡´ÉÇÏ°Ô µÇ¾ú½À´Ï´Ù. Ä¿³Î ¼Ò½º·Î ³ª¿ÔÁö¸¸ µð¹ÙÀ̽º¸¦ µ¿ÀûÀ¸·Î ¸¸µå´Â ¹æ¹ýÀº ÇÙ½É Ä¿³Î °³¹ßÀڵ鿡°Ô´Â Á¤¸»·Î Å« Çõ¸í°úµµ °°Àº °ÍÀ̾ú½À´Ï´Ù.

devfs¸¦ Àû¿ëÇÏ¿© Á¢±ÙÇÏ´Â ¹æ¹ýÀÇ ÁÖ¿ä ¹®Á¦´Â ¾î¶»°Ô ÀåÄ¡¸¦ °¨ÁöÇÏ°í »ý¼ºÇÏ°í À̸§À» ÁöÀ» °ÍÀΰ¡¿¡ ´ëÇÑ °ÍÀ̾ú½À´Ï´Ù. µð¹ÙÀ̽ºÀÇ À̸§À» Áþ´Â ¹®Á¦´Â ¾Æ¸¶µµ Áß¿äÇÑ ¹®Á¦¿´À» °ÍÀÔ´Ï´Ù. ±×´ç½Ã¿¡ ÀϹÝÀûÀ¸·Î ÀåÄ¡ÀÇ À̸§À» ¼³Á¤ÇÑ´Ù°í Çϸé ÀÌ°ÍÀº ½Ã½ºÅÛ °ü¸®ÀÚ°¡ ÇÒ ¼ö ÀÖ´Â ÀÏÀ̾ú°í ´Ù¸¥ °³¹ßÀÚ´Â °¨È÷ »ý°¢Áöµµ ¸øÇÏ´Â ÀÏÀ̾ú½À´Ï´Ù. devfsÆÄÀÏ ½Ã½ºÅÛÀº Ä¿³ÎÀÇ µðÀÚÀο¡ ³»ÀçµÈ °ÍÀ̾ú±â ¶§¹®¿¡ »ó´çÇÑ Ä¿³ÎÀÇ ¼öÁ¤ ¾øÀÌ´Â ¹Ù²ð ¼ö ¾ø´Â °ÍÀ̾ú½À´Ï´Ù. ÀÌ °ÍÀº ´õÀÌ»ó »ç¿ëµÇÁö´Â ¾Ê°ÔµÆÁö¸¸ ¿À·£ ±â°£µ¿¾È °ü¸®ÀÇ ¼ÒȦ·Î ³²¾ÆÀÖ¾ú½À´Ï´Ù. devfs´Â 2006³â 6¿ù¿¡ ºñ·Î¼Ò »èÁ¦µÇ¾ú½À´Ï´Ù.

ºÒ¾ÈÁ¤Çß´ø 2.5 Ä¿³Î Æ®¸®¿¡¼­ ¸¶Ä§³» »õ·Î¿î °¡»ó ÆÄÀÏ ½Ã½ºÅÛÀÎ sysfs¿Í ÇÔ²² 2.6 ½Ã¸®ÁîÀÇ ¾ÈÁ¤µÈ Ä¿³Î ¹öÀüÀÌ ¸±¸®Áî µÇ¾ú½À´Ï´Ù. sysfsÀÇ ÀÛ¾÷Àº ½Ã½ºÅÛÀÇ Çϵå¿þ¾î ¼³Á¤À» userspace ÇÁ·Î¼¼½ºµé¿¡°Ô Á¦°øÇÏ´Â °ÍÀ̾ú½À´Ï´Ù. ÀÌ·¸°Ô À¯Àú°ø°£¿¡¼­ º¼ ¼ö ÀÖ°Ô µÊÀ¸·Î½á devfsº¸´Ù Çö½ÇÀûÀ¸·Î ÇÒ ¼ö ÀÖ´Â °ÍµéÀÌ ¸¹¾ÆÁ³½À´Ï´Ù.

3.2. Udev ±¸Çö

3.2.1. Sysfs

sysfsÆÄÀϽýºÅÛ¿¡ °üÇؼ­´Â ¾Õ¼­ °£´ÜÇÏ°Ô ¼³¸íÇß½À´Ï´Ù. ¾Æ¸¶ ¾î¶»°Ô sysfs°¡ ÇöÀç ½Ã½ºÅÛ¿¡ ¾î¶² µð¹ÙÀ̽º°¡ ÀÖ´ÂÁö, ±×°ÍµéÀ» À§ÇØ ¾î¶² µð¹ÙÀ̽º ³Ñ¹ö¸¦ »ç¿ëÇؾßÇÏ´ÂÁö ¾Æ´Â °Í¿¡ ´ëÇØ ±Ã±ÝÇϽŠºÐµéÀÌ °è½Ç °Ì´Ï´Ù. Ä¿³Î¿¡ ÀÇÇØ µð¹ÙÀ̽º°¡ Ž»öµÇ¸é sysfsÀÇ ¿ÀºêÁ§Æ®·Î Ä¿³Î¿¡ Á÷Á¢ µî·ÏµÇ¾î ÄÄÆÄÀϵ˴ϴÙ. µå¶óÀ̹ö°¡ ¸ðµâ·Î½á ÄÄÆÄÀÏµÇ¸é ¸ðµâÀÌ ·ÎµåµÇ¾úÀ»¶§ Ä¿³Î¿¡ µî·ÏµË´Ï´Ù. sysfs ÆÄÀϽýºÅÛÀÌ /sys ¿¡ ¸¶¿îÆ® µÉ¶§ sysfs·Î µî·ÏµÈ buit-inµÈ µå¶óÀ̹öµéÀÇ µ¥ÀÌÅÍ´Â userspace ÇÁ·Î¼¼½º¿¡¼­ ÀÌ¿ë°¡´ÉÇϸç udevd°¡ ÇÁ·Î¼¼½ÌÇϴµ¥ ÀÌ¿ëµÉ ¼ö ÀÖ½À´Ï´Ù.

3.2.2. Udev Bootscripts

/etc/rc.d/init.d/udev initscript´Â ¸®´ª½º°¡ ºÎÆÃµÉ ¶§ µð¹ÙÀ̽º ³ëµå¸¦ ¸¸µå´Â °ÍÀ» ´Ù·ì´Ï´Ù. script´Â uevent handler·Î /sbin/hotplug°¡ ¼³Á¤µÇ´Â °ÍÀ» ÇØÁ¦ÇÕ´Ï´Ù. Ä¿³ÎÀÌ ´õÀÌ»ó Ãß°¡ÀûÀÎ binary¸¦ ºÎ¸¦ ÇÊ¿ä°¡ ¾ø±â ¶§¹®ÀÔ´Ï´Ù. ´ë½Å¿¡ udevd°¡ kernelÀÌ ÀÏÀ¸Å°´Â uevents¸¦ netlink ¼ÒÄÏÀ» ÅëÇÏ¿© °¨ÁöÇÕ´Ï´Ù. ´ÙÀ½¿¡´Â bootscript°¡ ¾î¶°ÇÑ ³ëµåÀÌ°Ç °£¿¡ /lib/udev/devices¿¡ ÀÖ´Â Á¤Àû µð¹ÙÀ̽º ³ëµå¸¦ /dev ¾ÈÀ¸·Î º¹»çÇÕ´Ï´Ù. ÀÌ°ÍÀº µð¹ÙÀ̽º, µð·ºÅ丮, ½É¸µÅ©µéÀÌ ½Ã½ºÅÛÀÌ ºÎÆõǴ ´Ü°è¿¡¼­ µ¿ÀûÀ¸·Î ÀåÄ¡¸¦ Çڵ鸵ÇÏ´Â ÇÁ·Î¼¼½º¿¡ ÀÇÇØ ¿ä±¸µÇ°Å³ª udevd¿¡ ÀÇÇØ ¿ä±¸µÇ±â ¶§¹®¿¡ ²À ÇÊ¿äÇÕ´Ï´Ù. Á¤Àû µð¹ÙÀ̽º ³ëµå¸¦ /lib/udev/devices ¾È¿¡ »ý¼ºÇÏ´Â °ÍÀº ¶ÇÇÑ ÀåÄ¡µéÀ» °ü¸®Çϱ⿡ ÆíÇÕ´Ï´Ù. ÀÌ ÈÄ bootscript´Â Udev µ¥¸ó(udevd)µ¥¸óÀ» ½Ç¤Ô¤¾¤Ë¤·½ÃÄÑ uevents¸¦ ¹Þ¾Æ ó¸®ÇÒ ¼ö ÀÖ°Ô²û ¸¸À¾´Ï´Ù. ¸¶Áö¸·À¸·Î bootscript´Â Ä¿³ÎÀÌ udevd°¡ ÀåÄ¡·ÎºÎÅÍ ¿À´Â À̺¥Æ®¸¦ ó¸®ÇÒ ¶§±îÁö °­Á¦·Î ±â´Ù¸®°Ô ÇÕ´Ï´Ù.

/etc/rc.d/init.d/udev_retry initscript´Â ¾ÆÁ÷ mountfs ½ºÅ©¸³Æ®°¡ ½ÇÇàµÉ ¶§±îÁö ÆÄÀϽýºÅÛÀ» ¸¶¿îÆ®ÇÏÁö ¸øÇÑ ¼­ºê½Ã½ºÅÛ(/usrÀ̳ª /var¿¡¼­ ¹ß»ýµÊ)¿¡¼­ ¹ß»ýÇÏ´Â À̺¥Æ®¸¦ ´Ù½Ã ½ÇÇàÇÏ´Â °ÍÀ» ´Ù·ì´Ï´Ù. ÀÌ ½ºÅ©¸³Æ®´Â mountfs½ºÅ©¸³Æ® ÀÌÈÄ¿¡ ½ÇÇàµÇ¸ç ÀÌ·¯ÇÑ ±ÔÄ¢Àº µÎ¹ø¿¡ ¼º°øÇÒ °Ì´Ï´Ù. /etc/sysconfig/udev_retry ÆÄÀÏ·Î ¼³Á¤µÇ¸ç ÀÌ ÆÄÀÏ¿¡ ÀÖ´Â ÄÚ¸àÆ®¸¦ Á¦¿ÜÇÑ ¸ðµç°ÍµéÀÌ ¼­ºê½Ã½ºÅÛÀÇ À̸§°ú retry timeÀ» ¼³Á¤ÇÕ´Ï´Ù.

3.2.3. µð¹ÙÀ̽º ³ëµå »ý¼º

ÃÖ±Ù udev ¹öÀü¿¡¼­´Â udevd´Â ´õÀÌ»ó /dev ¾È¿¡ µð¹ÙÀ̽º ÆÄÀÏÀ» »ý¼ºÇÏÁö ¾Ê½À´Ï´Ù. ´ë½Å¿¡ Ä¿³Î¿¡ ÀÖ´Â devtmpfs¶ó´Â ÆÄÀϽýºÅÛ¿¡ ÀÇÇØ Çڵ鸵µË´Ï´Ù. µð¹ÙÀ̽º ³ëµå·Î µî·ÏµÇ°íÀÚ ÇÏ´Â ¸ðµç µå¶óÀ̹ö´Â devtmpfs¸¦ Åë°úÇÏ°Ô µË´Ï´Ù. devtmpfs ÀνºÅϽº°¡ /dev¿¡ ¸¶¿îÆ®µÇ¸é µð¹ÙÀ̽º ³ëµå´Â ¼öÁ¤µÈ À̸§, ±ÇÇÑ, ¼ÒÀ¯±ÇÀ¸·Î ÃʱâÈ­µÇ¾î ¸¸µé¾îÁú °Ì´Ï´Ù.

¾ó¸¶ ÈÄ¿¡ Ä¿³ÎÀÌ udevd·Î uevent¸¦ º¸³¾ °ÍÀÔ´Ï´Ù. /etc/udev/rules.d, /lib/udev/rules.d, /run/udev/rules.d ¾È¿¡ ÀÖ´Â ÆÄÀÏ¿¡ ÀÇÇØ Á¤ÀÇµÈ ±ÔÄ¢¿¡ ±âÃÊÇÏ¿© udevd´Â Ãß°¡ÀûÀÎ device ³ëµå¿¡ ´ëÇÑ ½Éº¼¸¯ ¸µÅ©¸¦ »ý¼ºÇÏ°í ±ÇÇÑ, ¼ÒÀ¯±Ç, ±×·ì µîÀ» º¯°æÇϰųª ºñ¾îÀÖ´Â udevd µ¥ÀÌÅͺ£À̽º ¿£Æ®¸®¸¦ ¼öÁ¤ÇÒ °ÍÀÔ´Ï´Ù.

ÀÌ·¯ÇÑ ¼¼°³ÀÇ µð·ºÅ丮¿¡ ÀÖ´Â ±ÔÄ¢¶ÇÇÑ LFS-Bootscripts ÆÐÅ°Áö¿¡µµ ºñ½ÁÇϱâ ÀÖ½À´Ï´Ù. ¶Ç ÀÌ ¼¼°³ÀÇ µð·ºÅ丮°¡ ÇÔ²² ÇÕÃÄÁ® ÀÖ½À´Ï´Ù. ¸¸¾à udevd°¡ µð¹ÙÀ̽º¿¡ ´ëÇÑ ±ÔÄ¢À» ãÁö ¸øÇÑ´Ù¸é devtmpfs°¡ ÃʱâÈ­Çß´ø ±×´ë·Î ³²°ÜÁú °ÍÀÔ´Ï´Ù.

3.2.4. ¸ðµâ ·Îµù

µð¹ÙÀ̽º µå¶óÀ̹ö´Â aliasµÈ ä ¸ðµâ·Î ÄÄÆÄÀÏ ¤Ô¤§¤Ê¤¶¼ö ÀÖ½À´Ï´Ù. alias´Â moidinfoÇÁ·Î±×·¥ÀÇ Ãâ·ÂÀ¸·Î È®ÀÎÇÒ ¼ö ÀÖ°í ¸ðµâ¿¡ ÀÇÇØ Áö¿øµÇ´Â ÀåÄ¡´Â ¹ö½º·Î ¸íÈ®È÷ ½Äº°°¡´ÉÇÕ´Ï´Ù. ¿¹¸¦ µé¾î¼­ snd-fm801 µå¶óÀ̹ö´Â PCI ÀåÄ¡·Î vendor ID 0x1319¿Í device ID 0x0801·Î Áö¿øµÇ°í "pci:v00001319d00000801sv*sd*bc04sc01i*"·Î alias µÈ »óÅÂÀÔ´Ï´Ù. ´ëºÎºÐÀÇ ÀåÄ¡¿¡¼­ bus µå¶óÀ̹ö´Â sysfs¸¦ ÅëÇØ µð¹ÙÀ̽º¸¦ Á¶ÀÛÇÒ ¼ö ÀÖµµ·Ï µå¶óÀ̹öÀÇ alias¸¦ Á¦°øÇÕ´Ï´Ù. ¿¹·Î /sys/bus/pci/devices/0000:00:0d.0/modalias ÆÄÀÏÀº ¹®ÀÚ¿­ "pci:v00001319d00000801sv00001319sd00001319bc04sc01i00"¸¦ °®°í ÀÖ½À´Ï´Ù. Udev¿¡ ÀÇÇØ Á¦°øµÈ ±âº»ÀûÀÎ ±ÔÄ¢Àº udevd°¡ MODALIAS uevent ȯ°æ º¯¼öÀÇ ³»¿ëÀ¸·Î /sbin/modprobe¸¦ ºÎ¸£µµ·Ï ¸¸µì´Ï´Ù. ¶§¹®¿¡ ¸ðµç aliasµÈ ¸ðµâµéÀ» ¹®ÀÚ¿­°ú ¸ÅĪ½ÃÄѼ­ ·ÎµùÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÀÌ ¿¹Á¦¿¡¼­ snd-fm801Àº ¿øÇÏÁö ¾Ê´õ¶óµµ forte µå¶óÀ̹ö¸¦ ·ÎµåÇÒ °ÍÀÔ´Ï´Ù. ´ÙÀ½ ºÎºÐ¿¡ ÀÌ·¯ÇÑ °æ¿ì¿¡ ´ëÇÑ ÇØ°á¹æ¹ýÀ» Âü°íÇϽʽÿÀ.

Ä¿³Î ½º½º·Î ³×Æ®¿öÅ© ÇÁ·ÎÅäÄÝ¿¡ ´ëÇÑ ¸ðµâÀ» ·ÎµåÇÒ ¼ö ÀÖ°í ÆÄÀϽýºÅÛ°ú NLS ¶ÇÇÑ ÇÊ¿äÇÏ´Ù¸é ·ÎµåÇÒ ¼ö ÀÖ½À´Ï´Ù.

3.2.5. Á¦°Å°¡´ÉÇÑ ÀåÄ¡ µ¿ÀûÀ¸·Î Çڵ鸵Çϱâ

¿©·¯ºÐÀÌ USB MP3 Ç÷¹À̾Àº µð¹ÙÀ̽º¸¦ ²È¾Ò´Ù¸é Ä¿³ÎÀº ¿¬°áÀ» °¨ÁöÇÏ°í uevent¸¦ ¹ß»ý½Ãŵ´Ï´Ù. ¿©±â¼­ »ý°Ü³­ uevent´Â udevd¿¡ ÀÇÇØ À§¿¡¼­ ¾ð±ÞÇÑ °Íó·³ Çڵ鸵µË´Ï´Ù.

3.2.6. ¸ðµâ ·Îµù°ú µð¹ÙÀ̽º »ý¼ºÀÇ ¹®Á¦

ÀÚµ¿ÀûÀ¸·Î µð¹ÙÀ̽º ³ëµå¸¦ »ý¼ºÇÏ·Á°í ÇÒ ¶§ ¹ß»ýµÉ ¼ö ÀÖ´Â ¸î°¡Áö ¹®Á¦µéÀÌ ÀÖ½À´Ï´Ù.

3.2.6.1. Ä¿³Î ¸ðµâÀº ÀÚµ¿À¸·Î ·ÎµåµÇÁö ¾Ê´Â´Ù


Udev´Â aliasµÇ¾îÀִ ƯÁ¤ ¹ö½º³ª sysfs¿¡ Çʼö alias·Î µî·ÏµÇ¾î ÀÖ´Â ¸ðµâÀÏ °æ¿ì¿¡¸¸ ÀÚµ¿ÀûÀ¸·Î ·ÎµåÇÕ´Ï´Ù. ´Ù¸¥ °æ¿ì¿¡´Â ´Ù¸¥ ¹æ¹ýÀ» ÅëÇؼ­ ¸ðµâÀ» ·ÎµåÇØ¾ß ÇÕ´Ï´Ù. Linux-3.5.2¿¡¼­ Udev´Â INPUT, IDE, PCI, USB, SCSI, SERIO, FireWire µð¹ÙÀ̽ºµéÀ» À§ÇØ ÀûÀýÇÏ°Ô ¸¸µé¾îÁø µå¶óÀ̹ö¸¦ ·ÎµåÇÑ´Ù°í ¾Ë·ÁÁ® ÀÖ½À´Ï´Ù.

¿©·¯ºÐÀÌ ¿ä±¸ÇÏ´Â µð¹ÙÀ̽º µå¶óÀ̹ö°¡ Udev¿¡¼­ Áö¿øµÇ´ÂÁö È®ÀÎÇÏ·Á¸é ÇØ´ç ¸ðµâ À̸§°ú ÇÔ²² modinfo¸¦ ½ÇÇàÇϽʽÿÀ. /sys/bus ¾Æ·¡¿¡ ÀÖ´Â µð¹ÙÀ̽º µð·ºÅ丮·Î °¡¼­ ¾î¶² modaliasÆÄÀÏÀÌ ÀÖ´ÂÁö È®ÀÎÇغ¸½Ê½Ã¿À.

¸¸¾à modalias ÆÄÀÏÀÌ sysfs¾È¿¡ Á¸ÀçÇÑ´Ù¸é ±× µå¶óÀ̹ö´Â ÇØ´ç ÀåÄ¡¸¦ Áö¿øÇÏ°í ÀåÄ¡¿Í Á÷Á¢ÀûÀ¸·Î Åë½ÅÇÑ´Ù´Â ¶æÀÌÁö¸¸ ¸¸¾à alias¸¦ °¡Áö°í ÀÖÁö ¾Ê´Ù¸é µå¶óÀ̹ö¿¡ ¹ö±×°¡ ÀÖ´Â °ÍÀÔ´Ï´Ù. ÀÌ·¯ÇÑ ¹ö±×µéÀº ³ªÁß¿¡ ÆÐÄ¡µÉ °ÍÀÔ´Ï´Ù.

¸¸¾à °ü·ÃµÈ /sys/bus µð·ºÅ丮¿¡ modalias ÆÄÀÏÀÌ ¾ø´Ù¸é ÀÌ°ÍÀº Ä¿³Î °³¹ßÀÚ°¡ modalias¸¦ ¾ÆÁ÷ Ãß°¡ÇÏÁö ¾Ê¾Ò´Ù´Â ÀǹÌÀÔ´Ï´Ù. Linux-3.5.2¿¡¼­´Â ISA ¹ö½ºµéÀÌ ÀÌ °æ¿ì¿¡ ÇØ´çÇÕ´Ï´Ù. Ä¿³Î ¹öÀüÀÌ »õ·Î ¾÷µ¥ÀÌÆ® µÇ¸é ÃßÈÄ¿¡ ÆÐÄ¡µÉ °ÍÀÔ´Ï´Ù.

Udev´Â snd-pcm-oss°°Àº "wrapper" µå¶óÀ̹ö³ª loop°°Àº Çϵå¿þ¾î°¡ ¾Æ´Ñ µå¶óÀ̹ö´Â ·ÎµåÇÏ·Á ÇÏÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù.

3.2.6.2. Ä¿³Î ¸ðµâÀº ÀÚµ¿À¸·Î ·ÎµåµÇÁö ¾Ê´Âµ¥ udevµµ À̸¦ ·ÎµåÇÏ·Á°í ÇÏÁö ¾Ê´Â °æ¿ì

¸¸¾à "wrapper" ¸ðµâÀÌ ´Ù¸¥ ¸ðµâ¿¡ ÀÇÇØ Á¦°øµÇ´Â ±â´ÉÀ» Çâ»ó½Ãų¼ö ÀÖ´Ù¸é (¿¹¸¦ µé¾î snd-pcm-oss´Â OSS ¾îÇø®ÄÉÀ̼ǿ¡¼­ »ç¿îµå Ä«µå¸¦ °¡´ÉÇÏ°Ô ¸¸µé¾î snd-pcmÀÇ ±â´ÉÀ» Çâ»ó½Ãų ¼ö ÀÖ½À´Ï´Ù) modprobe¸¦ ¼³Á¤ÇÏ¿© Udev°¡ wrapped ¸ðµâÀ» ·ÎµåÇÑ ÈÄ wrapper ¸ðµâÀ» ·ÎµåÇÒ ¼ö ÀÖ°Ô²û ÇÒ ¼ö ÀÖ½À´Ï´Ù. À̸¦ À§Çؼ­´Â "softdep"¶óÀÎÀ» /etc/modprobe.d/<filename>.conf ÆÄÀÏ¿¡ Ãß°¡ÇÏ¸é µË´Ï´Ù.
softdep snd-pcm post: snd-pcm-oss

"softdep" ¸í·É¾î°¡ pre: ȤÀº ÀÇÁ¸¼º¿¡ µû¶ó pre:¿Í post:¸¦ ÇÔ²² ¼¯¾î¼­ »ç¿ëÇÒ ¼ö ÀÖ´Ù´Â °É ¸í½ÉÇϽʽÿÀ. ÀÚ¼¼ÇÑ °Ç modprobe.d(5) ¸Þ´º¾ó ÆäÀÌÁö¸¦ È®ÀÎÇϼ¼¿ä.

¸¸¾à Áú¹®¿¡¼­ÀÇ ¸ðµâÀÌ wrapper°¡ ¾Æ´ÏÁö¸¸ À¯¿ëÇÑ °ÍÀ̶ó¸é modules bootscript¸¦ ¼³Á¤ÇÏ¿© ½Ã½ºÅÛÀÌ ºÎÆÃµÉ ¶§ ·ÎµåÇÒ ¼ö ÀÖ½À´Ï´Ù. À̸¦ À§Çؼ­´Â /etc/sysconfig/modules ÆÄÀÏ¿¡ µû·Î ¸ðµâ À̸§À» Ãß°¡ÇϽʽÿÀ.

3.2.6.3. Udev°¡ ¿øÇÏÁö ¾Ê´Â ¸ðµâÀ» ·ÎµåÇÏ´Â °æ¿ì

¸ðµâÀº ºôµåÇÏÁö ¾Ê°Å³ª /etc/modprobe.d/blacklist.conf ÆÄÀÏ¿¡ forte ¸ðµâÀ» Ãß°¡ÇØÁ־ ¿øÇÏÁö ¾Ê´Â ¸ðµâÀ» ·ÎµåÇÏÁö ¾Êµµ·Ï ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
blacklist forte

ºí·¢¸®½ºÆ®¿¡ µî·ÏµÈ ¸ðµâÀº ¼öµ¿ÀûÀ¸·Î modprobe ¸í·É¾î¸¦ ÅëÇØ ·ÎµåµÉ ¼ö ÀÖ½À´Ï´Ù.

3.2.6.4. Udev°¡ µð¹ÙÀ̽º¸¦ ¿Ã¹Ù¸£Áö ¾Ê°¡ »ý¼ºÇϰųª À߸øµÈ symlink¸¦ ¸¸µå´Â °æ¿ì

ÀϹÝÀûÀ¸·Î Udev ±ÔÄ¢À» À߸ø ¼³Á¤ÇÑ °æ¿ì¿¡ ¹®Á¦°¡ ¹ß»ýÇÕ´Ï´Ù. ¿¹¸¦ µé¾î À߸øµÈ ±ÔÄ¢Àº SCSI µð½ºÅ©¿Í µ¿½Ã¿¡ Á¦Á¶È¸»ç¿¡ µû¶ó SCSI generic deviceµµ ¸ÅÄ¡½Ãŵ´Ï´Ù. ÀÌ °æ¿ì¿¡´Â ´õ ¼¼ºÎÀûÀ¸·Î Å°°ªÀ» »ç¿ëÇÏ¿© ¿Ã¹Ù¸¥ ±ÔÄ¢À» Àû¿ëÇØ¾ß ÇÏ¸ç ¿©±â¿¡ udevadm info ¸í·É¾î¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

3.2.6.5. Udev°¡ ºÒ¿ÏÀüÇÏ°Ô ÀÛµ¿µÇ´Â °æ¿ì

ÀÌ°ÍÀº ¾Æ¸¶µµ ÀÌÀü ¹®Á¦¿Í´Â ´Ù¸¥ Çö»óÀÏ °Ì´Ï´Ù. ¸¸¾à ¾Æ´Ï¶ó¸é, ¿©·¯ºÐÀÇ ±ÔÄ¢ÀÌ sysfs ¾îÆ®¸®ºäÆ®¸¦ »ç¿ëÇÏ°í Àִٰųª ³ªÁß¿¡´Â ¼öÁ¤µÇ°ÚÁö¸¸ Ä¿³Î ŸÀÌ¹Ö ¹®Á¦¶§¹®ÀÔ´Ï´Ù. ÀÌÁ¦ ¿©·¯ºÐÀº /etc/udev/rules.d/10-wait_for_sysfs.rules ÆÄÀÏ¿¡ µ¡ºÙ¿©¼­ sysfs ¾îÆ®¸®ºäÆ®¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù(¸¸¾à ÆÄÀÏÀÌ ¾ø´Ù¸é ÀÌ ÆÄÀÏÀ» ¸¸µå½Ê½Ã¿À)

3.2.6.6. Udev°¡ ÀåÄ¡¸¦ ¸¸µéÁö ¾Ê´Â °æ¿ì

Á¦¸ñ¿¡¼­ ¿¹»óÇÒ ¼ö ÀÖµíÀÌ µå¶óÀ̹ö°¡ Ä¿³Î¿¡ Á¤ÀûÀ¸·Î ºôµåµÇ¾ú°Å³ª ÀÌ¹Ì ¸ðµâ·Î½á ·ÎµåµÈ°æ¿ì, ±×¸®°í Udev°¡ µð¹ÙÀ̽º¿¡ ´ëÇØ À߸øµÈ À̸§À» ¼³Á¤ÇÏ´Â °æ¿ì¸¦ È®ÀÎÇÑ °æ¿ìÀÔ´Ï´Ù.

Udev´Â Ä¿³Î µå¶óÀ̹ö¿¡¼­ sysfs¸¦ ÅëÇØ ¾Æ¹«·± Á¤º¸µµ ÀüÇØÁÖÁö ¾Ê´Â´Ù¸é µð¹ÙÀ̽º ³ëµå¸¦ »ý¼ºÇϱâ À§ÇØ ÇÊ¿äÇÑ Á¤º¸¿¡ ´ëÇØ °¡Áö°í ÀÖ´Â °ÍÀÌ ¾Æ¹«°Íµµ ¾ø°Ô µË´Ï´Ù. ÀÌ·¯ÇÑ Çö»óµéÀÇ °øÅëÀûÀÎ Á¡Àº Ä¿³Î Æ®¸® ¹ÛÀÇ Á¦ 3ÀÇ µå¶óÀ̹ö°¡ ÀÖ´Ù´Â Á¡ÀÔ´Ï´Ù. /lib/udev/devices¾È¿¡ Á¤Àû³ëµå¸¦ ¸¸µå½Ê½Ã¿À. ±×·¯¸é udev bootscript¿¡¼­ µð¹ÙÀ̽º ³ëµå°¡ /dev µð·ºÅ丮·Î º¹»çµÉ °Ì´Ï´Ù.

3.2.6.7. µð¹ÙÀ̽º ³×ÀÓÀÌ ÀçºÎÆÃÈÄ¿¡ ·£´ýÀ¸·Î ¹Ù²î´Â °æ¿ì

ÀÌ°ÍÀº UdevÀÇ ¼³°è¶§¹®¿¡ ÀϾ´Â °ÍÀε¥, uevent¿Í ¸ðµâÀ» ·£´ýÀÇ ¼ø¼­¿¡ µû¶ó º´·ÄÀûÀ¸·Î Çڵ鸵Çϱ⠶§¹®ÀÔ´Ï´Ù. ÀÌ°ÍÀº Àý´ë °íÃÄÁú ¼ö°¡ ¾ø½À´Ï´Ù. ¸¸¾à ¿©·¯ºÐÀÌ Ä¿³Î µð¹ÙÀ̽º À̸§¿¡ ÀÇÁ¸ÇÏÁö ¾Ê´Â´Ù¸é Àý´ë·Î ¾ÈÁ¤ÀûÀ¸·Î µÉ ¼ö ¾ø½À´Ï´Ù. ´ë½Å µð¹ÙÀ̽ºÀÇ ¾îÆ®¸®ºäÆ®¸¦ ÀÌ¿ëÇؼ­ ÀûÀýÇÑ ±ÔÄ¢À» ¼¼¿ö¼­ symlink¸¦ ¸¸µå´Â ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì¿¡ »ç¿ëµÇ´Â ¾îÆ®¸®ºäÆ®·Î´Â serial number³ª ´Ù¾çÇÑ *_id À¯Æ¿¸®Æ¼µéÀÇ Ãâ·Â°á°ú¸¦ ÀÌ¿ëÇÏ´Â ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù.

4. µð¹ÙÀ̽º¸¦ À§ÇÑ Custom Symlink ¸¸µé±â

4.1. CD-ROM symlinks

¿©·¯ºÐÀÌ ³ªÁß¿¡ ¼³Ä¡ÇÒ °Íµé Áß ¼ÒÇÁÆ®¿þ¾îµé Áß ¾î¶²°ÍµéÀº(¿¹¸¦ µé¾î ´Ù¾çÇÑ ¹Ìµð¾î Ç÷¹À̾îµé) /dev/cdrom°ú /dev/dvd symlink°¡ Á¸ÀçÇÏ°í ÀÖ°í À̵éÀÌ °¢°¢ CD-ROM°ú DVD-ROMÀåÄ¡¸¦ °¡¸®Å°°í ÀÖ´Ù°í °¡Á¤ÇÏ°í ÀÖÀ» °ÍÀÔ´Ï´Ù. ¶ÇÇÑ /etc/fstab¿¡ ÇØ´ç ÀåÄ¡¿¡ ´ëÇÑ symlink¸¦ °£´ÜÇÏ°Ô Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. Udev´Â °¢ ÀåÄ¡µé¿¡ ÀÇÁ¸ÇÏ´Â ÀÌ·¯ÇÑ symlinkµéÀ» »ý¼ºÇϱâ À§ÇØ ¿©·¯°¡Áö ±ÔÄ¢ ÆÄÀϵéÀ» ¸¸µé¾î³»´Â ½ºÅ©¸³Æ®¸¦ ´ã°í ÀÖ½À´Ï´Ù. ¿©±â¼­ ¿©·¯ºÐµéÀÌ ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÏ°íÀÚ ÇÒ ¶§ ¼±ÅÃÇؾßÇÏ´Â µÎ°¡Áö ¸ðµå°¡ ÀÖ½À´Ï´Ù.

ù¹ø°·Î ½ºÅ©¸³Æ®´Â "by-path" ¸ðµå·Î ½ÇÇàµÉ ¼ö ÀÖ½À´Ï´Ù. ÀÌ°ÍÀº º¸Åë USB³ª FireWire ÀåÄ¡µé¿¡¼­ »ç¿ëµÇ´Âµ¥ CD³ª DVD ÀåÄ¡·ÎÀÇ ¹°¸®ÀûÀÎ °æ·Î¿¡ ÀÇÁ¸ÇÏ¿© ±ÔÄ¢À» »ý¼ºÇÕ´Ï´Ù. µÎ¹ø°´Â "by-id" ¸ðµåÀÔ´Ï´Ù. ÀÌ°ÍÀº º¸Åë IDE³ª SCSI ÀåÄ¡µéÀ» À§ÇÑ °ÍÀε¥ ÀϹÝÀûÀ¸·Î °æ·Î´Â UdevÀÇ path_id ½ºÅ©¸³Æ®¿¡ ÀÇÇØ °áÁ¤µÇ°í ½Äº° ¹®ÀÚ¿­Àº ÀåÄ¡¿¡ µû¶ó ata_id³ª scsi_id¶ó´Â ÇÁ·Î±×·¥ÀÌ Çϵå¿þ¾î¸¦ Àо »ç¿ëµË´Ï´Ù.

°¢ Á¢±Ù¹æ¹ý¸¶´Ù ÀåÁ¡ÀÌ ÀÖ½À´Ï´Ù. ¶§¹®¿¡ °¢ ÀåÄ¡µéÀÇ Á¾·ù¿¡ µû¶ó ÀûÀýÇÏ°Ô ¼±ÅÃÇÏ¿© »ç¿ëÇϽñ⠹ٶø´Ï´Ù. ¸¸¾à ¿©·¯ºÐÀÌ ÀåÄ¡°¡ »ðÀ﵃ ¹°¸®ÀûÀÎ °æ·Î¸¦ ¹Ì¸® ¿¹»óÇÒ ¼ö ÀÖ´Ù¸é(ÀåÄ¡°¡ »ðÀ﵃ Æ÷Æ®³ª ½½·ÔÀÇ À§Ä¡ µûÀ§¸¦ ¹Ì¸® ¿¹»óÇÑ´Ù´Â ¶æ) "by-id" ¸ðµå¸¦ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù. ¿©·¯ºÐÀÌ ¼­·Î ´Ù¸¥ IDE Æ÷Æ®¿Í ȤÀº ¼­·Î ´Ù¸¥ USB ÄÁ³ØÅÍ·Î µå¶óÀ̺긦 ¿Å±â·Á°í ÇÏ´Â °æ¿ì°¡ ¿©±â¿¡ ÇØ´çµË´Ï´Ù. ¹Ý¸é¿¡ ¿©·¯ºÐÀÌ ÀåÄ¡ÀÇ ½Äº°ÀÚ°¡ º¯È­µÉ °ÍÀ» ¿¹»óÇÒ ¼ö ÀÖ´Â °æ¿ì, ¿¹¸¦µé¾î ¶È°°Àº ±âÁ¾ÀÇ ´Ù¸¥ ÀåÄ¡·Î ±âÁ¸ÀÇ °°Àº Æ÷Æ® ȤÀº ½½·Ô¿¡ ±âÁ¸ ÀåÄ¡¸¦ ´ëüÇÏ·Á°í ÇÏ´Â °æ¿ì ¿©·¯ºÐÀº "by-path" ¸ðµå¸¦ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.

¸¸¾à ¿©·¯ºÐÀÇ µå¶óÀ̺꿡¼­ ÀÌ µÎ°¡Áö Á¾·ùÀÇ °æ¿ì°¡ ¸ðµÎ ÀϾ´Ù¸é ÀÚÁÖ ÀϾ´Â °æ¿ì¿¡ ±âÃÊÇÏ¿© ¸ðµå¸¦ ¼±ÅÃÇϽʽÿÀ.

Áß¿äÇÑ Á¡ ¿ÜºÎ ÀåÄ¡µé(USB, CD µîµî)Àº Àý´ë·Î by-path¸¦ »ç¿ëÇؼ­´Â ¾ÈµË´Ï´Ù. ¿Ö³ÄÇÏ¸é ¿ÜºÎ Æ÷Æ®·Î »õ·Î¿î ÀåÄ¡µéÀÌ »ðÀ﵃ ¼ö Àֱ⠶§¹®¿¡ Ç×»ó ¹°¸®ÀûÀÎ °æ·Î°¡ º¯°æµË´Ï´Ù. ¸ðµç ¿ÜºÎÀûÀ¸·Î ¿¬°áµÈ ÀåÄ¡µé¿¡ ´ëÇÑ ÀÌ·¯ÇÑ ¹®Á¦´Â CD³ª DVD¿¡ Á¦ÇÑµÈ °ÍÀÌ ¾Æ´Ï¶ó Udev ±ÔÄ¢À» ¹°¸®ÀûÀÎ °æ·Î·Î ÆÇ´ÜÇÏ°Ô²û ¼³Á¤ÇÑ °æ¿ì¿¡ ¸ðµç ¿ÜºÎ ÀåÄ¡µéÀÇ °æ¿ì¿¡¼­ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù.

¸¸¾à ¿©·¯ºÐÀÌ Udev ½ºÅ©¸³Æ®°¡ »ç¿ëÇÒ °ªµéÀ» È®ÀÎÇÏ°í ½Í´Ù¸é /sys µð·ºÅ丮¿¡¼­ CD-ROM ÀåÄ¡¿¡ ¸Â´Â µð·ºÅ丮¿¡¼­(ÀÌ °æ¿ì¿¡´Â /sys/block/hdd) ´ÙÀ½°ú °°ÀÌ ½ÇÇàÇÏ¸é µË´Ï´Ù.
udevadm test /sys/block/hdd

Ãâ·ÂµÈ °á°ú¿¡¼­ *_id ¶ó´Â ºÎºÐµéÀ» Àß º¸½Ê½Ã¿À. ¸¸¾à ºñ¾îÀÖÁö ¾Ê´Ù¸é ¹Ù·Î À̺κеéÀÌ "by-id" ¸ðµå·Î ID_SERIAL °ªÀÌ »ç¿ëµÈ °Ì´Ï´Ù, ´Ù¸¥ °æ¿ì¶ó¸é ¾Æ¸¶ ID_MODELÀ̳ª ID_REVISIONÀÇ Á¶ÇÕÀ» »ç¿ëÇßÀ» °Ì´Ï´Ù. "by-path" ¸ðµå°¡ »ç¿ëµÇ¾ú´Ù¸é ID_PATH °ªÀÌ »ç¿ëµÇ¾ú°ÚÁÒ.

¸¸¾à¿¡ ±âº»À¸·Î »ç¿ëµÇ°í ÀÖ´Â ¸ðµå°¡ ¿©·¯ºÐÀÇ È¯°æ¿¡ ÀûÇÕÇÏÁö ¾Ê´Ù°í »ý°¢µÇ¸é /lib/udev/rules.d/75-cd-aliases-generator.rules ÆÄÀÏÀ» ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.(mode ºÎºÐÀ» "by-id"³ª "by-path"·Î ¹Ù²ã¼­ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.)
sed -i -e 's/"write_cd_rules"/"write_cd_rules mode"/' \
    /lib/udev/rules.d/75-cd-aliases-generator.rules

¿©±â¼­ ¾Ë¾ÆµÖ¾ß ÇÒ Á¡Àº ¿©·¯ºÐµéÀº È£½ºÆ®ÀÇ /dev/ µð·ºÅ丮¿¡¼­ LFS ½Ã½ºÅÛÀ¸·Î bind-mount¸¦ ÀÌÀü¿¡ ½ÇÇàÇ߱⠶§¹®¿¡ Udev ±ÔÄ¢ ÆÄÀÏ°ú symlink¸¦ µ¿½Ã¿¡ ¸¸µé ÇÊ¿ä±îÁö´Â ¾ø½À´Ï´Ù. ÇØ´ç ÀåÄ¡¿¡ ´ëÇÑ ±ÔÄ¢°ú symlinkµéÀº ¿©·¯ºÐÀÌ LFS ½Ã½ºÅÛÀ» óÀ½ ºÎÆÃÇÒ ¶§ ¸¸µé¾îÁú °Ì´Ï´Ù.

ÇÏÁö¸¸ ¸¸¾à ¿©·¯ºÐÀÌ CD-ROM ÀåÄ¡·Î µÎ °³ ÀÌ»ó °¡Áö°í ÀÖ´Ù¸é °¢°¢ÀÇ symlink´Â ¼ø¼­°¡ ·£´ýÀ̱⠶§¹®¿¡ - ºÎÆö§¸¶´Ù °¡¸®Å°´Â ÀåÄ¡°¡ ¹Ù²ð ¼ö ÀÖ½À´Ï´Ù. À̸¦ ¾ÈÁ¤µÇ°Ô ÇÏ·Á¸é /etc/udev/rules.d/70-persistent-cd.rules ÆÄÀÏÀ» ºÎÆÃÈÄ¿¡ ¼öÁ¤ÇÏ¿© ¿©·¯ºÐÀÌ ¿øÇÏ´Â ´ë·Î ÀÛµ¿ÇÏ°Ô²û ¸¸µé ¼ö ÀÖ½À´Ï´Ù.

4.2. Áߺ¹µÈ ÀåÄ¡ ´Ù·ç±â

À§¿¡¼­ ¾ð±ÞÇß´ø °Íó·³ /dev µð·ºÅ丮¿¡ ³ªÅ¸³ª´Â µð¹ÙÀ̽ºµéÀÇ ¼ø¼­´Â ·£´ýÀÔ´Ï´Ù. ¿¹¸¦ µé¾î, USB web camera¿Í TV tunerÀÇ °æ¿ì¿¡ ¾î¶² ¶§´Â /dev/video0 -> camera , /dev/video1 -> tuner·Î µÇ°í ¾î¶² ¶§´Â ÀÌ µÑÀÌ ¼­·Î ¹Ù²î´Â °æ¿ìµµ ÀÖ½À´Ï´Ù. »ç¿îµå Ä«µå¿Í ³×Æ®¿öÅ© Ä«µå¸¦ Á¦¿ÜÇÑ ¸ðµç Çϵå¿þ¾îÀÇ Á¾·ù´Â udev ±ÔÄ¢À» ÀÌ¿ëÇؼ­ ÀÓÀÇÀÇ symlink¸¦ ¸¸µé¾î À¯¿¬ÇÏ°Ô ´Ù·ê ¼ö ÀÖ½À´Ï´Ù. ³×Æ®À§Å© Ä«µåÀÇ °æ¿ì¿¡´Â À§¿¡¼­ ÀϹÝÀûÀÎ ³×Æ®¿öÅ© ¼³Á¤À̶ó´Â ÆÄÆ®·Î µû·Î ´Ù·ç¾ú½À´Ï´Ù. »ç¿îµå Ä«µå¿¡ ´ëÇؼ­´Â BLFS¸¦ Âü°íÇϽʽÿÀ.

ÀÌ·¯ÇÑ ¹®Á¦°¡ ÀÖ´Â ÀåÄ¡µé¿¡ ´ëÇؼ­ °¢°¢¿¡ ÇØ´çµÇ´Â µð·ºÅ丮µéÀÌ /sys/class³ª /sys/block ¿¡ ÀÖ´ÂÁö ã¾Æº¸½Ê½Ã¿À. ºñµð¿À ÀåÄ¡µéÀº ¾Æ¸¶ /sys/class/video4linux/videoX¿¡ ÀÖÀ» °ÍÀÔ´Ï´Ù. °¢°¢ÀÇ ÀåÄ¡µéÀ» ½Äº°ÇÒ ¼ö ÀÖ´Â ¾îÆ®¸®ºäÆ®¸¦ ã°íÀÚ ÇÑ´Ù¸é ´ÙÀ½°ú °°ÀÌ ½ÇÇàÇϽʽÿÀ.
udevadm info -a -p /sys/class/video4linux/video0

±×¸®°í ³ª¼­ ´ÙÀ½°ú °°ÀÌ udev rules¸¦ ÀÌ¿ëÇØ symlink¸¦ ¸¸µé¾îÁÝ´Ï´Ù
cat > /etc/udev/rules.d/83-duplicate_devs.rules << "EOF"

# Persistent symlinks for webcam and tuner
KERNEL=="video*", ATTRS{idProduct}=="1910", ATTRS{idVendor}=="0d81", \
    SYMLINK+="webcam"
KERNEL=="video*", ATTRS{device}=="0x036f", ATTRS{vendor}=="0x109e", \
    SYMLINK+="tvtuner"

EOF

¿©ÀüÇÏ /dev/video0 °ú /dev/video1Àº ·£´ýÀ¸·Î °¢ ÀåÄ¡¿¡ Àû¿ëµÇÁö¸¸ À§¿¡¼­Ã³·³ ƯÁ¤ ¾îÆ®¸®ºäÆ®¸¦ »ç¿ëÇÏ¿© ±ÔÄ¢À» ¸¸µé¾îÁÖ¸é /dev/tvtuner°ú /dev/webcamÀ̶ó´Â symlink¸¦ ¸¸µé¾î¼­ À̸¦ ¸¶¿îÆ®Çϴµ¥ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

5. LFS-Bootscripts-20120901

ºôµå ½Ã°£: <= 0.1 SBU ÇÊ¿ä °ø°£: 260 KB

ÆÐÅ°Áö¸¦ ¼³Ä¡ÇÕ´Ï´Ù
make install

¼³Ä¡µÇ´Â ½ºÅ©¸³Æ®µé:
  • checkfs, cleanfs, console, functions, halt, ifdown, ifup, localnet, modules, mountfs, mountkernfs, network, rc, reboot, sendsignals, setclock, static, swap, sysctl, sysklogd, template, udev, and udev_retry
¼³Ä¡µÇ´Â µð·ºÅ丮:
  • /etc/rc.d, /etc/init.d (symbolic link), /etc/sysconfig, /lib/services, /lib/lsb (symbolic link)

6. ºÎÆ®½ºÅ©¸³Æ®ÀÇ ÀÛµ¿ ¿ø¸®

Linux´Â run-levelsÀÇ °³³ä¿¡ ±âÃÊÇÑ SysVinitÀ̶ó´Â µ¶Æ¯ÇÑ Æ¯Â¡À» °®°í ÀÖ½À´Ï´Ù. ÀÌ°ÍÀº ´Ù¸¥ ½Ã½ºÅÛµé°ú »ó´çÈ÷ ´Ù¸¦ ¼ö À־ ƯÁ¤ ¸®´ª½º ¹èÆ÷ÆÇ¿¡¼­ ÀÛµ¿µÈ´Ù°í Çؼ­ LFS¿¡¼­µµ Àß ÀÛµ¿µÈ´Ù°í ¸»ÇÒ ¼ö°¡ ¾ø½À´Ï´Ù. LFS´Â ÀϹÝÀûÀΠǥÁØ¿¡ ÃÖ´ëÇÑ µû¸£·Á ÇÏÁö¸¸ LFS ¸¸ÀÇ ¹æ½ÄÀ» °®°í ÀÖ½À´Ï´Ù.

SysVinit(ÀÌÁ¦ºÎÅÍ °£´ÜÇÏ°Ô "init"À̶ó°í ¾ð±ÞÇÏ°Ú½À´Ï´Ù) ´Â run-level ÀÌ·ÐÀ» »ç¿ëÇÕ´Ï´Ù. ¿©±â¿¡´Â 0ºÎÅÍ 6±îÁöÀÇ run-levelÀÌ ÀÖ½À´Ï´Ù.(¿©±â¿¡ ÀÚ¼¼È÷ ¾Ë°í ½ÍÀ¸½Å ºÐÀº init(8)À» Âü°íÇϽʽÿÀ.) ÄÄÇ»ÅÍ°¡ ºÎÆÃµÇ¸é ¿©±â¿¡ °¢ run-level¿¡ ÇØ´çÇÏ´Â ÀûÀýÇÑ ÇൿµéÀ» ¼öÇàÇÕ´Ï´Ù. ±âº» run-levelÀº 3ÀÔ´Ï´Ù. ´ÙÀ½Àº °¢ ·¹º§¿¡ ´ëÇØ °£´ÜÇÏ°Ô ¼³¸íÇÑ °ÍÀÔ´Ï´Ù.

1: halt the computer(ÄÄÇ»Å͸¦ Á¾·á)

2: single-user mode(1°³ÀÇ »ç¿ëÀÚ ¸ðµå)

3: multi-user mode without networking(³×Æ®¿öÅ·À» Áö¿øÇÏÁö ¾Ê´Â ¸ÖƼ »ç¿ëÀÚ ¸ðµå)

4: multi-user mode with networking(³×Æ®¿öÅ·À» Áö¿øÇÏ´Â ¸ÖƼ »ç¿ëÀÚ ¸ðµå)

5: reserved for customization, otherwise does the same as 3(»ç¿ëÀÚ°¡ ½ÇÇàµÇµµ·Ï ¿¹¾àÇسõÀº °Íµé, ´Ù¸¥°ÍÀº level-3 °ú µ¿ÀÏÇÔ)

6: same as 4, it is usually used for GUI login(like X's xdm or KDE's kdm(level-4¿Í µ¿ÀÏÇÏÁö¸¸ GUI ·Î±×ÀÎÀ» »ç¿ëÇÔ)

7.: reboot the computer(ÄÄÇ»ÅÍ ÀçºÎÆÃ)

6.1. Sysvinit ¼³Á¤Çϱâ

Ä¿³ÎÀÌ ÃʱâÈ­µÇ´Â µ¿¾È °¡Àå ¸ÕÀú ½ÇÇàµÇ´Â °ÍÀº ±âº»ÀûÀ¸·Î init ÇÁ·Î±×·¥ÀÔ´Ï´Ù. ÀÌ ÇÁ·Î±×·¥Àº /etc/inittabÀ̶ó´Â ÃʱâÈ­ ÆÄÀÏÀ» ÀнÀ´Ï´Ù.
cat > /etc/inittab << "EOF"
# Begin /etc/inittab

id:3:initdefault:

si::sysinit:/etc/rc.d/init.d/rc S

l0:0:wait:/etc/rc.d/init.d/rc 0
l1:S1:wait:/etc/rc.d/init.d/rc 1
l2:2:wait:/etc/rc.d/init.d/rc 2
l3:3:wait:/etc/rc.d/init.d/rc 3
l4:4:wait:/etc/rc.d/init.d/rc 4
l5:5:wait:/etc/rc.d/init.d/rc 5
l6:6:wait:/etc/rc.d/init.d/rc 6

ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

su:S016:once:/sbin/sulogin

1:2345:respawn:/sbin/agetty --noclear tty1 9600
2:2345:respawn:/sbin/agetty tty2 9600
3:2345:respawn:/sbin/agetty tty3 9600
4:2345:respawn:/sbin/agetty tty4 9600
5:2345:respawn:/sbin/agetty tty5 9600
6:2345:respawn:/sbin/agetty tty6 9600

# End /etc/inittab
EOF

ÃʱâÈ­ ÆÄÀÏ¿¡ ´ëÇÑ ¼³¸íÀº inittab ¸ÇÆäÀÌÁö¿¡ ÀÖ½À´Ï´Ù. LFS ¿¡¼­´Â key command´Â rcÀÔ´Ï´Ù. À§¿¡¼­ º¸¸é ¾Ë ¼ö ÀÖµíÀÌ rc¸¦ ÀÌ¿ëÇÏ¿© /etc/rc.d/rcsysinit.d µð·ºÅ丮¿¡ ÀÖ´Â S ¸¦ ½ÇÇà½Ãŵ´Ï´Ù.(si::sysinit:/etc/rc.d/init.d/rc S ºÎºÐ) µÚµû¶ó¼­ /etc/rc.d/rc?.d µð·ºÅ丮¿¡ ÀÖ´Â S¿Í ÇÔ²² ½ºÅ©¸³Æ®¸¦ ½ÇÇà½Ãŵ´Ï´Ù. ¿©±â¼­ »ç¿ëµÈ ¹°À½Æ÷´Â initdefault °ª¿¡ ÀÇÇØ °áÁ¤µÈ °ªÀ» ¸»ÇÕ´Ï´Ù.

ÆíÀÇ¿¡ µû¶ó rc ½ºÅ©¸³Æ®ᅟ´Â /lib/lsb/init-functions ¿£¿¡ ÀÖ´Â ÇÔ¼ö ¶óÀ̺귯¸®¸¦ ÀоîµéÀÔ´Ï´Ù. ÀÌ ¶óÀ̺귯¸®´Â ¶ÇÇÑ /etc/sysconfig/rc.site¶ó´Â ºÎ°¡ÀûÀÎ ¼³Á¤ ÆÄÀÏÀ» ÀнÀ´Ï´Ù. ´ÙÀ½ Àý¿¡¼­ ¼³¸íÇÏ°ÚÁö¸¸ ¸ðµç ½Ã½ºÅÛ ¼³Á¤ ÆÄÀÏÀÇ ÆĶó¹ÌÅ͵éÀº ÀÌ ÇϳªÀÇ ÆÄÀÏ¿¡ ´ë½Å Ãß°¡µÉ ¼ö ÀÖ½À´Ï´Ù.

µð¹ö±ëÀÇ ÆíÀǸ¦ À§ÇØ ÇÔ¼ö ½ºÅ©¸³Æ®µéÀÇ ¸ðµç Ãâ·ÂÀº /run/var/bootlog¿¡ ÀúÀåÇÕ´Ï´Ù. ÇÏÁö¸¸ /run µð·ºÅ丮°¡ tmpfsÀ̱⠶§¹®¿¡ ÀÌ ÆÄÀÏÀº boot ¶§¸¶´Ù ¹Ù²ò´Ï´Ù. Á» ´õ ¿µ±¸ÀûÀÎ(?) ºÎÆ®¶§¸¶´Ù °è¼ÓÇؼ­ Ãß°¡µÇ´Â ·Î±×ÆÄÀÏ¿¡¼­ ·Î±×¸¦ È®ÀÎÇÏ°í ½Í´Ù¸é /var/log/boot.log ÆÄÀÏÀÇ ³¡ºÎºÐÀ» »ìÆ캸½Ê½Ã¿À.

6.2. Run Level ¹Ù²Ù±â

run-levelÀº init <runlevel>À¸·Î ¹Ù²Ü¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î ÄÄÇ»Å͸¦ ÀçºÎÆÃÇϱâ À§ÇØ init 6À» »ç¿ëÀÚ°¡ reboot ¸í·É¾î ´ë½Å »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. °°Àº ¿ø¸®·Î init 0À» ÇÏ°Ô µÇ¸é halt ¸í·É¾î ´ë½Å »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

/etc/rc.d ¹Ø¿¡´Â rc?.d(?¿¡´Â run-levelÀÌ µé¾î°¨)¿Í rcsysinit.d°°Àº µð·ºÅ丮¿Í ¸ðµç symbolic ¸µÅ©µéÀÌ µé¾îÀÖ½À´Ï´Ù. ¾î¶²°ÍÀº K·Î ½ÃÀÛÇÏ´Â °Íµµ ÀÖ°í ´Ù¸¥ ¾î¶²°ÍÀº S·Î ½ÃÀ۵Ǵ °Í, ȤÀº ÀÌ µÑÀ» ¸ðµÎ °¡Áö°í ÀÖ´Â °ÍµéÀÌ ÀÖ½À´Ï´Ù. K´Â ¼­ºñ½º¸¦ Kill- ¸ØÃß´Â °ÍÀ» ¶æÇÏ°í S´Â ½ÃÀÛÇ϶ó´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. ½ºÅ©¸³Æ®°¡ ½ÇÇàµÇ´Â ¼ø¼­¸¦ À§ÇØ 00ºÎÅÍ 99±îÁöÀÇ ¼ýÀÚ¸¦ »ç¿ëÇÕ´Ï´Ù. initÀÌ ´Ù¸¥ run-level·Î ½ºÀ§Ä¡ÇÏ¸é °¢ run-level¿¡ ¸Â´Â ¼­ºñ½ºµéÀÌ ½ÃÀ۵ǰųª ¸ØÃä´Ï´Ù.

ÁøÂ¥ ½ºÅ©¸³Æ®´Â /etc/rc.d/init.d ¾È¿¡ ÀÖ½À´Ï´Ù. À̰͵éÀÌ ½ÇÁ¦ ¿ªÇÒÀÌ°í symlinkµéÀÌ À̰͵éÀ» Æ÷ÀÎÆÃÇÏ°í ÀÖ½À´Ï´Ù. K ¸µÅ©¿Í S ¸µÅ©¶ÇÇÑ /etc/rc.d/init.d¿¡¼­ÀÇ °°Àº ½ºÅ©¸³Æ®¸¦ °¡¸®Å°°í ÀÖ½À´Ï´Ù. ÀÌ°ÍÀº ½ºÅ©¸³Æ®¿¡ start, stop, restart, reload, status °°Àº ´Ù¸¥ ÆÄŸ¹ÌÅ͵éÀÌ Àü´ÞµÉ ¼ö Àֱ⠶§¹®ÀÔ´Ï´Ù. ¸¸¾à K ¸µÅ©¸¦ ¸¸³ª¸é ½ºÅ©¸³Æ®´Â stop argument°¡ ½ÇÇàµÉ °ÍÀÌ°í S ¸µÅ©¸¦ ¸¸³ª¸é start argument·Î ½ÇÇàµÉ °Ì´Ï´Ù.

¿©±â ¼³¸í¿¡¼­ ºü¶ß¸° °ÍÀÌ ÇÑ°¡Áö ÀÖ½À´Ï´Ù. rc0.d¿Í rc6.d µð·ºÅ丮 ¾È¿¡¼­ S·Î ½ÃÀÛÇÏ´Â ¸µÅ©´Â ¾Æ¹«°Íµµ ½ÇÇàÇÏÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù. ¿Ö³ÄÇϸé S·Î ½ÃÀÛÇÏ¿´±â ¶§¹®¿¡ stop ÆĶó¹ÌÅÍ°¡ ÀüÇØÁö±â ¶§¹®ÀÔ´Ï´Ù. ±×¸®°í run-level¶ÇÇÑ ÀçºÎÆõǰųª ½Ã½ºÅÛÀ» Á¾·áÇÏ·Á´Â °ÍÀ̱⠶§¹®¿¡ ½ÇÇàµÇ´Â °ÍÀº ¾Æ¹«°Íµµ ¾øÀÌ ÀüºÎ ÁߴܵǷÁÇÒ °ÍÀÔ´Ï´Ù.



start ¼­ºñ½º¸¦ ½ÇÇàÇÕ´Ï´Ù.

stop ¼­ºñ½º¸¦ ¸ØÃä´Ï´Ù.

restart ¼­ºñ½º¸¦ ¸ØÃß¾ú´Ù°¡ ´Ù½Ã ½ÇÇàÇÕ´Ï´Ù.

reload ¼­ºñ½ºÀÇ ¼³Á¤ÆÄÀÏÀÌ ¾÷µ¥ÀÌÆ®µÈ °æ¿ì À̸¦ À§ÇØ ´Ù½Ã Àç½ÃÀÛÇÒ ÇÊ¿ä ¾øÀÌ ¼³Á¤ÆÄÀϸ¸ ´Ù½Ã ºÒ·¯¿Ã ¼ö ÀÖ½À´Ï´Ù.

status ¼­ºñ½º°¡ ½ÇÇàÁßÀÏ °æ¿ì ÇØ´ç ÇÁ·Î¼¼½ºID¸¦ Ãâ·ÂÇÕ´Ï´Ù.


7. ½Ã½ºÅÛ È£½ºÆ®À̸§ ¼³Á¤Çϱâ

localnet½ºÅ©¸³Æ®ÀÇ ÀÛ¾÷ Áß Çϳª·Î½á ½Ã½ºÅÛÀÇ È£½ºÆ®À̸§À» ¼³Á¤ÇÕ´Ï´Ù. ÀÌ°ÍÀº /etc/sysconfig/network ÆÄÀÏÀ» ¼öÁ¤ÇÏ¿© ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

/etc/sysconfig/network ÆÄÀÏÀ» ¸¸µé¾î ´ÙÀ½°ú °°ÀÌ È£½ºÆ®À̸§À» ¸¸µé¾îÁÝ´Ï´Ù:
echo "HOSTNAME=<lfs>" > /etc/sysconfig/network
<lfs> ´ë½Å¿¡ ÀûÀýÇÑ È£½ºÆ®À̸§À» »ç¿ëÇϽʽÿÀ. ´ë½Å Fully Qualified Domain Name(FQDN)Àº ¿©±â¿¡ »ç¿ëÇÏÁö ¸¶½Ê½Ã¿À. FQDNÀº /etc/hosts ÆÄÀÏ¿¡ ÀÔ·ÂÇÒ °ÍÀÔ´Ï´Ù.

FQDNÀ̶õ?

¿¹¸¦À»¾î ktword°¡ È£½ºÆ® À̸§ÀÌ°í kt.co.krÀÌ µµ¸ÞÀÎ À̸§À̶ó¸é FQDNÀº ktword.kt.co.krÀÌ µË´Ï´Ù.

8. setclock ½ºÅ©¸³Æ® ¼³Á¤Çϱâ

setclock½ºÅ©¸³Æ®´Â Çϵå¿þ¾î Ŭ·°À¸·ÎºÎÅÍ ½Ã°£À» ÀнÀ´Ï´Ù. ¶ÇÇÑ ÀÌ°ÍÀº BIOS ¶Ç´Â CMOS(Complementary Metal Oxide Semiconductor) Ŭ·°À̶ó°íµµ ¾Ë·ÁÁ® ÀÖ½À´Ï´Ù. ¸¸¾à Çϵå¿þ¾î ½Ã°è°¡ UTC¸¦ ¼³Á¤ÀÌ µÇ¾î ÀÖ´Ù¸é ½ºÅ©¸³Æ®´Â Çϵå¿þ¾î Ŭ·°ÀÇ ½Ã°£À» /etc/localtime ÆÄÀÏÀ» ÀÌ¿ëÇØ Áö¿ª ½Ã°£À¸·Î ¹Ù²ß´Ï´Ù. ÇØ´ç Áö¿ª(timezone)Àº »ç¿ëÀÚ°¡ Á¤ÀÇÇÕ´Ï´Ù. ¸¸¾à ½Ã½ºÅÛ¿¡¼­ ÀÌ·¯ÇÑ ÆÄÀϵéÀÌ ¾Æ¹«·± °Íµµ º¸ÀÌÁö ¾Ê´Â´Ù¸é ¼öµ¿À¸·Î ¼³Á¤ÇØÁÖ¾î¾ß ÇÕ´Ï´Ù.

setclockÀº udev¸¦ ÅëÇؼ­ ½ÇÇàµÇ´Âµ¥ Ä¿³ÎÀÌ ºÎÆ®½Ã¿¡ Çϵå¿þ¾î¸¦ °¨ÁöÇÒ ¶§ ½ÇÇàµË´Ï´Ù. ÀÌ°ÍÀº stop ÆĶó¹ÌÅÍ·Î ½Ã½ºÅÛÀÇ ½Ã°£À» CMOS clock¿¡ ÀúÀåÇϱâ À§ÇØ ¼öµ¿À¸·Î ½ÇÇàµÉ ¼ö ÀÖ½À´Ï´Ù.

¸¸¾à ¿©·¯ºÐÀÇ Çϵå¿þ¾î clockÀÌ UTC·Î ¼³Á¤µÇ¾îÀÖ´ÂÁö ±â¾ïÇÏÁö ¸øÇÏ°Ú´Ù¸é hwclock --localtime --show ¸í·É¾î¸¦ ÅëÇؼ­ ¾Ë ¼ö ÀÖ½À´Ï´Ù. ÀÌ°ÍÀº Çϵå¿þ¾î clock¿¡ µû¸¥ ÇöÀçÀÇ ½Ã°£À» ³ªÅ¸³À´Ï´Ù. ¸¸¾à ÀÌ ½Ã°£ÀÌ ¿©·¯ºÐÀÌ º¸´Â°Í°ú ÀÏÄ¡ÇÑ´Ù¸é Çϵå¿þ¾î clockÀº local timeÀ¸·Î ¼³Á¤µÈ °ÍÀÔ´Ï´Ù. ¸¸¾à local timeÀÌ ¾Æ´Ï¶ó¸é UTC ·Î ¹Ù²Ù½Ê½Ã¿À. ÀÌ¿¡ ÀûÀýÇÏ°Ô timezoneÀ» ¼³Á¤ÇÏ¿© hwclockÀ¸·Î Ãâ·ÂµÇ´Â °á°ú¹°À» ¿Ã¹Ù¸£°Ô ¹Ù²Ü¼ö ÀÖ½À´Ï´Ù.

/etc/sysconfig/clockÀ» ´ÙÀ½°ú °°ÀÌ ¸¸µé¾îÁÝ´Ï´Ù.


cat > /etc/sysconfig/clock << "EOF"
# Begin /etc/sysconfig/clock

UTC=1

# Set this to any options you might need to give to hwclock, 
# such as machine hardware clock type for Alphas.
CLOCKPARAMS=

# End /etc/sysconfig/clock
EOF

¿©±â¿¡ ´ëÇÑ µµ¿ò¸»À» º¸°í ½Í´Ù¸é ´ÙÀ½ ¸µÅ©¸¦ Âü°íÇϼ¼¿ä: [http]http://www.linuxfromscratch.org/hints/downloads/files/time.txt

9. ¸®´ª½º ÄÜ¼Ö ¼³Á¤Çϱâ

À̹ø Àý¿¡¼­´Â ¾î¶»°Ô console bootscript¿¡¼­ Å°º¸µå ¸ÊÀ̳ª ÄÜ¼Ö ÆùÆ®, Ä¿³Î ·Î±× ·¹º§À» ¼³Á¤ÇÏ´ÂÁö¿¡ ´ëÇؼ­ ¾Ë¾Æº¸°Ú½À´Ï´Ù. ¸¸¾à ASCII ¹®ÀÚ¸¦ »ç¿ëÇÏÁö ¾Ê´Â °æ¿ì°¡ ¾Æ´Ï°Å³ª U.S Å°º¸µå¸¦ »ç¿ëÇÏ´Â °æ¿ì´Â ÀÌ ÀýÀÇ ¸¹Àº ºÎºÐ¿¡¼­ ±×³É ³Ñ¾î°¥ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ¿©±â¼­ ´Ù·ê ¼³Á¤ÆÄÀÏ ¾øÀÌ´Â console bootscript´Â ¾Æ¹«°Íµµ ½ÇÇàÇÏÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù.

console ½ºÅ©¸³Æ®´Â /etc/sys/config/console ÆÄÀϷκÎÅÍ ¼³Á¤ Á¤º¸µéÀ» ÀоîµéÀÔ´Ï´Ù. ¾î¶² keymap°ú È­¸é¿¡ ÆùÆ®¸¦ »ç¿ëÇÒ°ÇÁö¿¡ ´ëÇØ °áÁ¤ÇÕ´Ï´Ù. ÀÌ ºÎºÐ¿¡¼­ ¾ð¾î¿¡ µû¸¥ ¼³Á¤ ¹æ¹ýÀº ´ÙÀ½ ¸µÅ©¸¦ Âü°íÇϽʽÿÀ: [http]http://www.tldp.org/HOWTO/HOWTO-INDEX/other-lang.html ¸¸ÀÏ ¿©ÀüÈ÷ À̵é Á¤º¸°¡ ºÒÈ®½ÇÇÏ´Ù¸é /lib/kbd µð·ºÅ丮¿¡¼­ À¯È¿ÇÑ keymapµé°ú ÆùÆ®µéÀ» È®ÀÎÇϽʽÿÀ.

/etc/sysconfig/console ÆÄÀÏÀº ¹Ýµå½Ã VARIABLE="value"¶ó´Â Çü½ÄÀ¸·Î ´ÙÀ½ ¼³¸íÇÏ´Â °ÍµéÀÌ Æ÷ÇԵǾî ÀÖ¾î¾ß ÇÕ´Ï´Ù:
  • LOGLEVEL
    ÀÌ º¯¼ö´Â dmesg¿¡ ÀÇÇØ ÄַܼΠº¸³»Áö´Â Ä¿³Î ¸Þ¼¼ÁöÀÇ ·Î±× ·¹º§À» ¼³Á¤ÇÕ´Ï´Ù. "1"ºÎÅÍ "8"±îÁö °¡´ÉÇÏ°í ±âº»°ªÀº "7"ÀÔ´Ï´Ù.
  • KEYMAP
    ÀÌ º¯¼ö´Â loadkeys ÇÁ·Î±×·¥À» À§ÇÑ argument·Î "es"°°ÀÌ keymapÀÇ À̸§ÀÔ´Ï´Ù. ¸¸¾à º¯¼ö°¡ ¼³Á¤µÇ¾îÀÖÁö ¾Ê´Ù¸é bootscript´Â loadkeysÇÁ·Î±×·¥À» ½ÇÇàÇÏÁö ¾Ê°í ±âº» Ä¿³Î Å°¸ÊÀ» »ç¿ëÇÒ °Ì´Ï´Ù.
  • KEYMAP_CORRECTIONS
    ÀÌ º¯¼ö´Â ¾ÆÁÖ µå¹°°Ô »ç¿ëµÇÁö¸¸ loadkeys ÇÁ·Î±×·¥¿¡¼­ second callÀ» À§ÇØ »ç¿ëµÇ´Â argumentÀÔ´Ï´Ù. ¸¸¾à ÁöÁ¤ÇÑ keymapÀÌ ¿ÏÀüÇÏÁö ¸øÇϰųª ÇØ´ç keymap¿¡ ´ëÇØ ¾à°£¾¿ÀÇ ¼öÁ¤À» Çϱâ À§ÇØ ¼³Á¤µÇ´Â °ªÀÔ´Ï´Ù.
  • FONT
    setfont ÇÁ·Î±×·¥À» À§ÇÑ argumentÀÔ´Ï´Ù. º¸Åë "-m"°ú ÇÔ²² ÆùÆ® À̸§°ú ¾îÇø®ÄÉÀ̼ǿ¡¼­ ºÒ·¯¿Ã character mapÀ» Æ÷ÇÔÇÕ´Ï´Ù. ¿¹¸¦µé¾î "lat1-16" ÆùÆ®´Â "8859-1" ¾îÇø®ÄÉÀÌ¼Ç character map(ÀÌ°Ç ¹Ì±¹ÀÏ °æ¿ì¿¡ ÇØ´çÇÏ´Â ÆùÆ® ¼³Á¤ÀÇ ¿¹ÀÔ´Ï´Ù)°ú ÇÔ²² »ç¿ëµÇ¾î "lat1-16 -m 8859-1" °ú °°ÀÌ ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. UTF-8ÀÎ °æ¿ì´Â Ä¿³ÎÀÌ 8ºñƮ¥¸® key code¸¦ À§ÇØ ¾îÇø®ÄÉÀÌ¼Ç character mapÀ» »ç¿ëÇϱ⠶§¹®¿¡ µû·Î -m ÆĶó¹ÌÅ͸¦ »ç¿ëÇÏ¿© keymapÀ» »ç¿ëÇÒ ÇÊ¿ä ¾øÀÌ utf-8À̶ó°í¸¸ ÇØÁ־ µË´Ï´Ù.
  • UNICODE
    '1'·Î ¼³Á¤Çϸé "yes" ȤÀº "true"°ªÀÌ µË´Ï´Ù.
  • LEGACY_CHARSET
    ¸¹Àº Å°º¸µå ·¹À̾ƿô¿¡¼­ Unicode Å°¸ÊÀ» À§ÇÑ °ÍÀÌ ¾ø½À´Ï´Ù. ¶§¹®¿¡ ÀÌ °ªÀ» ¼³Á¤ÇÏ°Ô µÇ¸é console bootscript´Â UTF-8·ÎÀÇ À¯È¿ÇÑ keymapÀ¸·Î º¯È¯À» ÇÏ·ÁÇÒ °ÍÀÔ´Ï´Ù.

10. sysklogd ½ºÅ©¸³Æ® ¼³Á¤Çϱâ

sysklogd ½ºÅ©¸³Æ®´Â syslogd ÇÁ·Î±×·¥À» -m 0 ¿É¼Ç°ú ÇÔ²² ºÒ·¯¿É´Ï´Ù. ÀÌ ¿É¼ÇÀº ÁÖ±âÀûÀ¸·Î 20ºÐ¸¶´Ù syslogd°¡ ·Î±×ÆÄÀÏ¿¡ timestampÇÏ´Â ±â´ÉÀ» ²ü´Ï´Ù. ¸¸¾à ÀÌ·¯ÇÑ ±â´ÉÀ» ²ô±â ½È´Ù¸é /etc/sysconfig/rc.siteÆÄÀÏÀ» ¼­Á¤ÇÏ¿© SYSKLOGD_PARMS º¯¼ö¸¦ ¿øÇÏ´Â °ªÀ¸·Î Á¤ÀÇÇϽʽÿÀ. ¿¹¸¦ µé¾î ¸ðµç ÆĶó¹ÌÅ͸¦ Áö¿ì¸é ÇØ´ç °ªÀº null°ªÀÌ µË´Ï´Ù.

´õ ¸¹Àº ¿É¼Ç¿¡ ´ëÇØ ¾Ë°í ½ÍÀ¸½Ã¸é man syslogd¸¦ Âü°íÇϽʽÿÀ.

11. rc.site ÆÄÀÏ

/etc/sysconfig/rc.siteÆÄÀÏÀº °¢ bootscript¸¦ ÀÚµ¿ÀûÀ¸·Î ¼³Á¤ÇÕ´Ï´Ù. ÀÌ°ÍÀº /etc/sysconfig/ µð·ºÅ丮 ¾È¿¡ ÀÖ´Â hostname, console, clockµé¿¡ ƯÁ¤ º¯¼ö¸¦ ´ë½Å ¼³Á¤ÇÕ´Ï´Ù. ¸¸¾à rc.site¿Í ÇØ´ç º¯¼öµé¿¡ ´ëÇÑ ÆÄÀÏÀÌ µû·Î ÀÖ´Â °æ¿ì¿¡´Â rc.siteº¸´Ù °¢ ÆÄÀϵéÀÇ ¼³Á¤ÀÌ ¿ì¼±±ÇÀ» °®°Ô µË´Ï´Ù.

rc.site´Â ºÎÆ® ÇÁ·Î¼¼½º¿¡¼­ »ç¿ëµÉ ¼ö ÀÖ´Â ÆĶó¹ÌÅ͵éÀ» Æ÷ÇÔÇÏ°í ÀÖ½À´Ï´Ù. IPROMPT º¯¼ö´Â bootscript¸¦ ½ÇÇàÇϸ鼭 ¼±ÅÃÀÌ °¡´ÉÇÕ´Ï´Ù. ´Ù¸¥ ¿É¼ÇµéÀº ÆÄÀÏÀÇ commentÇü½ÄÀ¸·Î ¼³¸íµÇ¾î ÀÖ½À´Ï´Ù.

´ÙÀ½Àº default ¹öÀüÀÇ rc.siteÆÄÀÏÀÔ´Ï´Ù
# rc.site
# Optional parameters for boot scripts.

# Distro Information
# These values, if specified here, override the defaults
#DISTRO="Linux From Scratch" # The distro name
#DISTRO_CONTACT="lfs-dev@linuxfromscratch.org" # Bug report address
#DISTRO_MINI="LFS" # Short name used in filenames for distro config

# Define custom colors used in messages printed to the screen

# Please consult `man console_codes` for more information
# under the "ECMA-48 Set Graphics Rendition" section
#
# Warning: when switching from a 8bit to a 9bit font,
# the linux console will reinterpret the bold (1;) to
# the top 256 glyphs of the 9bit font.  This does
# not affect framebuffer consoles

# These values, if specified here, override the defaults
#BRACKET="\\033[1;34m" # Blue
#FAILURE="\\033[1;31m" # Red
#INFO="\\033[1;36m"    # Cyan
#NORMAL="\\033[0;39m"  # Grey
#SUCCESS="\\033[1;32m" # Green
#WARNING="\\033[1;33m" # Yellow

# Use a colored prefix
# These values, if specified here, override the defaults
#BMPREFIX="     "
#SUCCESS_PREFIX="${SUCCESS}  *  ${NORMAL}"
#FAILURE_PREFIX="${FAILURE}*****${NORMAL}"
#WARNING_PREFIX="${WARNING} *** ${NORMAL}"

# Interactive startup
#IPROMPT="yes" # Whether to display the interactive boot prompt
#itime="3"    # The amount of time (in seconds) to display the prompt

# The total length of the distro welcome string, without escape codes
#wlen=$(echo "Welcome to ${DISTRO}" | wc -c )
#welcome_message="Welcome to ${INFO}${DISTRO}${NORMAL}"

# The total length of the interactive string, without escape codes
#ilen=$(echo "Press 'I' to enter interactive startup" | wc -c )
#i_message="Press '${FAILURE}I${NORMAL}' to enter interactive startup"

# Set scripts to skip the file system check on reboot
#FASTBOOT=yes

# Skip reading from the console
#HEADLESS=yes

# Skip cleaning /tmp
#SKIPTMPCLEAN=yes

# For setclock
#UTC=1
#CLOCKPARAMS=

# For consolelog
#LOGLEVEL=5

# For network
#HOSTNAME=mylfs

# Delay between TERM and KILL signals at shutdown
#KILLDELAY=3

# Optional sysklogd parameters
#SYSKLOGD_PARMS="-m 0"

# Console parameters
#UNICODE=1
#KEYMAP="de-latin1"
#KEYMAP_CORRECTIONS="euro2"
#FONT="lat0-16 -m 8859-15"
#LEGACY_CHARSET=


12. The Bash Shell Startup Files

/bin/bash ¼Ð ÇÁ·Î±×·¥Àº ½ÇÇàµÉ ¶§ ¼Ð ¾ÈÀÇ È¯°æÀ» ¸¸µå´Â µ¥ startup ÆÄÀϵéÀÇ Ä÷º¼ÇÀ» »ç¿ëÇÕ´Ï´Ù. °¢ ÆÄÀϵéÀº /etc ¾È¿¡ Àü¹ÝÀûÀÎ ¼³Á¤ÆÄÀÏÀÌ ÀÖ°í home µð·ºÅ丮¿¡ °°Àº ÆÄÀÏÀÌ ÀÖ´Â °æ¿ì /etc ¾ÈÀÇ Àü¹ÝÀûÀÎ ¼³Á¤À» Ȩ µð·ºÅ丮ÀÇ ¼³Á¤ÀÌ ´ë½ÅÇÕ´Ï´Ù.

shell¿¡´Â login shell, non-login shell, non-interactive shellÀÌ Àִµ¥ login shell(/bin/login)ÀÌ /etc/passwd ÆÄÀÏÀ» Àо ¼º°øÀûÀ¸·Î ·Î±×ÀÎÀ» ÇÕ´Ï´Ù. non-login shellÀº Ä¿¸Çµå ¶óÀÎÀ» ½ÃÀÛÇϴ°ÍÀÌ°í non-interactive shellÀº »ç¿ëÀÚÀÇ ÀÔ·ÂÀ» ±â´Ù¸®Áö ¾Ê±â ¶§¹®¿¡ ½ºÅ©¸³Æ®¸¦ ÁøÇàÇϴµ¥ »ç¿ëµË´Ï´Ù.

¿©±â¿¡ ´õ ÀÚ¼¼ÇÑ ¼³¸íÀ» ¿øÇϽøé info bash¿¡¼­ Bash Startup Files and Interactive Shells ºÎºÐÀ» Âü°íÇϼ¼¿ä.

/etc/profile°ú ~/.bash_profileÀº interactive login shellÀÌ ½ÇÇàµÇ¾úÀ»¶§ ºÒ·¯¿À´Â ÆÄÀÏÀÔ´Ï´Ù.

/etc/profile ÆÄÀÏÀº ¸î¸îÀÇ È¯°æº¯¼öµéÀ» ºÒ·¯¿À±â À§ÇØ ¼³Á¤ÇÏ´Â °ÍÀÔ´Ï´Ù. ÇØ´ç º¯¼öµéÀ» ¿Ã¹Ù¸£°Ô ¼³Á¤Çϸé -
  • ¿©·¯ºÐÀÇ ¾ð¾î¿¡ ¸Â°Ô ÇÁ·Î±×·¥ÀÇ Ãâ·Â°á°ú¸¦ º¯È¯ÇÕ´Ï´Ù.
  • bash°¡ »ç¿ëÇÏ´Â ÀûÀýÇÑ ·ÎÄÉÀÏÀ» ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
  • ³ª¶ó¸¦ ¾ËÆĺª¼øÀ¸·Î Á¤·ÄÇÒ ¼ö ÀÖ½À´Ï´Ù.
  • ±âº» paper size¸¦ ¼öÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
  • ³¯Â¥, ½Ã°£, ÅëÈ­¿¡ »ç¿ëµÇ´Â Çü½ÄÀ» Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

¾Æ·¡¿¡ ³ª¿À´Â <ll>À» ¿©·¯ºÐÀÌ ¿øÇÏ´Â ¾ð¾î(e.g. "ko")·Î ¹Ù²Ù½Ã°í <CC>´Â "KR"°°Àº ÀûÀýÇÑ ³ª¶óº¯ ÄÚµå·Î ¹Ù²Ù½Ê½Ã¿À. <charmap>Àº ¿©·¯ºÐÀÌ ¼±ÅÃÇÑ ·ÎÄÉÀÏ·Î ±âº» character mapÀ» ¹Ù²Ù´Â °ÍÀÔ´Ï´Ù.(euckr À̳ª utf.8À» »ç¿ëÇÏ½Ã¸é µË´Ï´Ù)

Glibc¿¡ ÀÇÇØ Áö¿øµÇ´Â ·ÎÄÉÀÏ ¸ñ·ÏÀ» º¸·Á¸é ´ÙÀ½°ú °°ÀÌ ½ÇÇàÇϽʽÿÀ:
locale -a

/etc/profile ÆÄÀÏ¿¡ ¿©·¯ºÐÀÌ ¼±È£ÇÏ´Â ·ÎÄÉÀÏ·Î ¼³Á¤ÇϽʽÿÀ:
cat > /etc/profile << "EOF"
# Begin /etc/profile

export LANG=<ll>_<CC>.<charmap><@modifiers>

# End /etc/profile
EOF

13. /etc/inputrc ÆÄÀÏ »ý¼ºÇϱâ

input rc ÆÄÀÏÀº ƯÁ¤ »óȲÀ» À§ÇØ Å°º¸µå ¸ÅÇÎÀ» Á¶Á¤ÇÏ´Â ÆÄÀÏÀÔ´Ï´Ù. ÀÌ ÆÄÀÏÀº Readline¿¡ ÀÇÇØ »ç¿ëµË´Ï´Ù.

´ëºÎºÐÀÇ »ç¶÷µéÀÌ Å°º¸µå ¸ÅÇÎ(´ÜÃàÅ°°°Àº °Í)À» ÇÊ¿ä·Î ÇÏÁö ¾Ê½À´Ï´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ ±âº» ¸ÅÇÎÀ» ¹Ù²Ù°í ½Í°Å³ª »õ·Î¿î °ÍÀ» ¸¸µé°í ½Í´Ù¸é .inputrc ÆÄÀÏÀ» Ȩ µð·ºÅ丮¿¡ ¸¸µé¾î ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÀÚ¼¼ÇÑ Á¤º¸´Â info bash³ª info readlineÀ» »ìÆ캸½Ã±â ¹Ù¶ø´Ï´Ù.

´ÙÀ½Àº ÀϹÝÀûÀÎ inputrc ÆÄÀÏÀÔ´Ï´Ù. ´ÙÀ½°ú °°ÀÌ »õ·Î¿î ÆÄÀÏÀ» Çϳª ¸¸µé¾îÁÝ´Ï´Ù.
cat > /etc/inputrc << "EOF"
# Begin /etc/inputrc
# Modified by Chris Lynn <roryo@roryo.dynup.net>

# Allow the command prompt to wrap to the next line
set horizontal-scroll-mode Off

# Enable 8bit input
set meta-flag On
set input-meta On

# Turns off 8th bit stripping
set convert-meta Off

# Keep the 8th bit for display
set output-meta On

# none, visible or audible
set bell-style none

# All of the following map the escape sequence of the value
# contained in the 1st argument to the readline specific functions
"\eOd": backward-word
"\eOc": forward-word

# for linux console
"\e[1~": beginning-of-line
"\e[4~": end-of-line
"\e[5~": beginning-of-history
"\e[6~": end-of-history
"\e[3~": delete-char
"\e[2~": quoted-insert

# for xterm
"\eOH": beginning-of-line
"\eOF": end-of-line

# for Konsole
"\e[H": beginning-of-line
"\e[F": end-of-line

# End /etc/inputrc
EOF

ID
Password
Join
A gift of flower will soon be made to you.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2013-01-31 09:11:34
Processing time 0.0146 sec