· 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
Do not clog intellect's sluices with bits of knowledge of questionable uses.


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.0015 sec