[Fedora-trans-ko] http://fedora.redhat.com/docs/udev/ÀÇ ¹ø¿ªÀÔ´Ï´Ù

TaeHwan Bae bth1202 at seo.incheon.kr
Mon Dec 13 07:17:07 UTC 2004


help

FC3 »ç¿ëÀÚ´Â ¼³Ä¡ÈÄ udev-039-10.FC3.1·Î °æ½Å(update)ÇØ¾ß ÇÑ´Ù.

½Ç¼ö·Î FC3 udev ÆÐÅ°Áö¿¡ µð¹ö±ë Äڵ带 Á¦°ÅÇÏÁö ¾Ê¾Æ, SIGCHLD ½Ã±×³ÎÀÌ udev¿¡¼­ ºÀ¼âµÇ¾î udev.rulesÀÇ Á¤»ó Á¾·á »óÅÂ(proper exit status)¸¦ ¹æÇØÇÑ´Ù(,which prevents getting the proper exit status in udev.rules). ÀÌ·ÎÀÎÇØ ½Ãµð·Ò ½Éº¼¸µÅ©(cdrom symlinks)°¡ ¸¸µé¾î ÁöÁö ¸øÇÏ¿©, pam_ consoleÀÌ µ¥½ºÅ©Å¾ »ç¿ëÀÚ ¼ÒÀ¯±Ç(desktop user ownerships)À» ½Ãµð·Ò µð¹ÙÀ̽º¿¡ Àû¿ëÇÒ ¼ö ¾øÀ½À» ÀǹÌÇÑ´Ù.

ÈÖµµ¶ó ÄÚ¾Æ 3¸¦ ¼³Ä¡ÇÑ ¸ðµç »ç¿ëÀÚ´Â ±ä±ÞÈ÷ ÀÌ ¹öÀüÀ¸·Î Çâ»ó(upgrade)½ÃÄÑ¾ß ÇÑ´Ù.

ÀÌ °»½Å(update)¿ë ÆÄÀϵéÀº ¿©±â¿¡¼­ ´Ù¿î ¹ÞÀ» ¼ö ÀÖ´Ù.

fce34e8e8ab6a54d07c46d2626529e22 SRPMS/udev-039-10.FC3.1.src.rpm
e86fc1ec12edddd4f7ca68bfebe956cc x86_64/udev-039-10.FC3.1.x86_64.rpm
8b69da0b3adb624a11fc8185f98bada6 x86_64/debug/udev-debuginfo-039-10.FC3.1.x86_64.rpm
7df95371172d0b52452df76612cf674d i386/udev-039-10.FC3.1.i386.rpm
9897ebb971ab099de04c9ceb1ad31b57 i386/debug/udev-debuginfo-039-10.FC3.1.i386.rpm

ÀÌ ¾÷±×·¹À̵å´Â Update Agent·Îµµ ¼öÇàÇÒ ¼ö ÀÖ´Ù; 'up2date' ¸í·ÉÀ¸·Î Update Agent¸¦ ±âµ¿ÇÒ ¼ö ÀÖ´Ù.

ÈÖµµ¶ó¿¡¼­ÀÇ udev

By Harald Hoyer

º» ¹®¼­´Â udevÀÇ ºñ¹Ð°ú ÈÖµµ¶ó¿¡¼­ ÀÛµ¿ÇÏ´Â ¹æ¹ýÀ» ¹àÈ÷·Á ÇÑ´Ù.

Udev´Â Dan Stekloff , Kay Sievers , ±×¸®°í ´Ù¸¥ ¸¹Àº ºÐµéÀÇ µµ¿òÀ» ¹Þ°í Greg Kroah-Hartman ÀÌ °³¹ßÇß´Ù.
udev homepage¿Í the Linux-hotplug-devel mailing list https://lists. sourceforge.net/lists/listinfo/linux-hotplug-devel°¡ ÁÖ¿ä °³¹ß ÀÚ¿øÀÌ´Ù.

Udev°¡ ÇÏ´Â ÀÏÀº?

udev´Â ½ÇÁ¦·Î Á¸ÀçÇÏ´Â µð¹ÙÀ̽º¿¡ ´ëÇÑ ÆÄÀϸ¸À» Æ÷ÇÔÇÏ´Â µ¿Àû µð¹ÙÀ̽º µð·ºÅ丮¸¦ Á¦°øÇÑ´Ù. º¸Åë /dev/ µð·ºÅ丮¿¡ ÀÖ´Â µð¹ÙÀ̽º ³ëµå ÆÄÀϵéÀ» ¸¸µé°Å³ª Á¦°ÅÇÏ°í ȤÀº ³×Å©¿öÅ© ÀÎÅÍÆäÀ̽º¿¡ »õ À̸§À» ºÙ¿©ÁØ´Ù(or it renames network interfaces.).

hotplug ¼­ºê½Ã½ºÅÛÀÇ ÀϺημ­, ¸¸ÀÏ Ä¿³Î µð¹ÙÀ̽º°¡ Ãß°¡µÇ°Å³ª ½Ã½ºÅÛ¿¡¼­ Á¦°ÅµÇ¸é, udev°¡ ½ÇÇàµÈ´Ù. µð¹ÙÀ̽º »ý¼º½Ã, udev´Â ¶óº§, ½Ã¸®¾ó ¹øÈ£, ¶Ç´Â ¹ö½º µð¹ÙÀ̽º ¹øÈ£¿Í °°Àº µð¹ÙÀ̽º ¼Ó¼ºÀ» ¼öÁýÇϱâ À§ÇØ ÁÖ¾îÁø µð¹ÙÀ̽ºÀÇ sysfs µð·ºÅ丮¸¦ Àд´Ù. ÀÌ ¼Ó¼ºÀº µð¹ÙÀ̽ºÀÇ °íÀ¯ÇÑ À̸§(uni-que name)À» °áÁ¤ÇÏ´Â ¿­¼è(keys)·Î »ç¿ëµÉ ¼ö ÀÖ´Ù. udev´Â ½Ã½ºÅÛ¿¡ Á¸ÀçÇÏ´Â µð¹ÙÀ̽º¿¡ ´ëÇÑ µ¥ÀÌÅͺ£À̽º¸¦ À¯ÁöÇÑ´Ù. µð¹ÙÀ̽º Á¦°Å½Ã, udev´Â »èÁ¦µÉ µð¹ÙÀ̽º ÆÄÀÏÀ» ã±â À§ÇØ µ¥ÀÌÅͺ£À̽º¸¦ °Ë»öÇÑ´Ù.

¸ðµâÀÌ ÀûÀçµÇ¸é, hotplug¿¡ ÀÇÇØ udev°¡ È£ÃâµÇ°í, µð¹ÙÀ̽º°¡ Ãß°¡µÇ°Å³ª Á¦°ÅµÈ´Ù. ¸¸ÀÏ µð¹ÙÀ̽º ³ëµå°¡ µå¶óÀ̹ö¿Í Åë½ÅÇÒ ¼ö ÀÖ´Â ¸ÞÀÌÁ®¿Í ¸¶ÀÌ³Ê ¹øÈ£(major and minor number)¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Â "dev" ÆÄÀÏÀ» µå¶óÀ̹ö°¡ Á¦°øÇϸé, udev´Â /sys/¾ÈÀ» µé¿©´Ùº»´Ù. µð¹ÙÀ̽º ³ëµå ÆÄÀϸí°ú ½Éº¼¸¯¸µÅ©(symlinks)¸¦ ÁöÁ¤ÇÏ´Â /etc/udev/rules.d/µð·ºÅ丮¿¡ ÀÖ´Â udev ±ÔÄ¢À» »ìÆ캻ÈÄ, µð¹ÙÀ̽º ³ëµå´Â /etc/udev/permissions.d/¿¡ ÁöÁ¤µÈ Çã°¡(perm-issions)¸¦ °®°í /dev/¿¡ »ý¼ºµÈ´Ù. 

µð¹ÙÀ̽º ³ëµå »ý¼º, Á¦°Å, ȤÀº ³×Æ®¿öÅ© µð¹ÙÀ̽ºÀÇ À̸§À» »õ·Î ºÙÀÎ ÈÄ, udev´Â /etc/dev.d/¾Æ·¡ µð·ºÅ丮 Æ®¸®(directory tree)¿¡¼­ ÇÁ·Î±×·¥À» ½ÇÇàÇÑ´Ù. ÇÁ·Î±×·¥ÀÇ À̸§Àº ¾Ë¾Æº¸±â ½±°Ô .dev¶õ Á¢¹Ì»ç¸¦ ºÙ¿©¾ß ÇÑ´Ù. hot-plug ȯ°æ º¯¼ö¿¡ ´õÇÏ¿©, DEVNAMEµµ »ý¼ºµÈ ³ëµåÀÇ À̸§À̳ª ³×Æ®¿öÅ© µð¹ÙÀ̽ºÀÇ »õ·Î ºÙ¿©Áø À̸§ÀÌ ½ÇÇàµÈ ÇÁ·Î±×·¥¿¡ ÀÌ¿ëµÉ ¼ö ÀÖµµ·Ï º¸³»Áø´Ù(be exported). ¸ðµç µð·ºÅ丮¿¡ ÀÖ´Â ÇÁ·Î±×·¥Àº »çÀüÀû ¼ø¼­·Î Á¤·ÄµÇ´Â ¹Ý¸é, µð·ºÅ丮´Â ´ÙÀ½ ¼ø¼­·Î Á¶È¸µÈ´Ù:

* /etc/dev.d/$(DEVNAME)/*.dev 
* /etc/dev.d/$(SUBSYSTEM)/*.dev 
* /etc/dev.d/default/*.dev 
Udev°¡ ÈÖµµ¶ó¿¡ ¾î¶»°Ô ÅëÇյǴ°¡?

initrd / initfs

mkinitrd´Â /sbin/udev.static¸¦ initrd /sbin/udev¿¡ º¹»çÇÏ°í /sbin/udev start¿¡ ½Éº¼¸¯ ¸µÅ©¸¦ ÇÑ´Ù(symlink).

Ä¿³ÎÀÌ ºÎÆÃÇÑ ÈÄ, initrdÀÇ ³»½¬ ½ºÅ©¸³Æ®(nash script)¸¦ ½ÇÇàÇÑ´Ù. ÀÌ°ÍÀº tmpfs ÆÄÀÏ ½Ã½ºÅÛÀ» /dev/¿¡ ¸¶¿îÆ®ÇÑ´Ù. hotplug´ë½Å¿¡, /sbin/udev´Â initrd ´Ü°è(phase)¿¡¼­ È£ÃâµÈ´Ù. udevstart´Â µð¹ÙÀ̽º¿¡ ´ëÇÑ ¸ðµç µð¹ÙÀ̽º ³ëµå¸¦ »ý¼ºÇÏ´Â µ¥, ÀÌ µð¹ÙÀ̽º´Â Ä¿³Î¿¡ ÄÄÆÄÀÏ(compile)µÇ°í ±× ¸ðµâÀº ³»½¬(nash)¿¡ ÀÇÇØ ÀûÀçµÈ´Ù.

¹®Á¦Á¡

Àü(whole) udev¿Í hotplug ÇϺα¸Á¶(infrastructure)°¡ initrd¿¡ ÀÌ¿ëµÉ ¼ö ÀÖ´Â °ÍÀº ¾Æ´Ï´Ù. µû¶ó¼­, hotplug ½ºÅ©¸³Æ®, udev ±ÔÄ¢, Çã°¡(permissions), ±×¸®°í /etc/dev.d/ ½ºÅ©¸³Æ®°¡ Ä¿³ÎÀÌ º¸³½ ¾î¶°ÇÑ hotplug event¿¡ ´ëÇؼ­µç ¸ðµÎ ½ÇÇàµÇ´Â °ÍÀº ¾Æ´Ï´Ù. 

rc.sysinit

Á¦ÀÏ ¸ÕÀú, SELinux°¡ ÀûÀçµÇ°í È°¼ºÈ­µÇ¸é, /dev/ÀÇ ¹®¸ÆÀÌ ¼³Á¤(set)µÈ´Ù. rc.sysinit´Â /sbin/start_udev¸¦ È£ÃâÇÑ´Ù. start_udev´Â, ¾ÆÁ÷ ¸¶¿îÆ®µÈ °ÍÀÌ ¾ø´Ù¸é, tmpfs ÆÄÀϽýºÅÛÀ» /dev/¿¡ ¸¶¿îÆ®½ÃŲ´Ù. ÀÌ ¶§, ¸ðµâ ÀÚµ¿ÀûÀç°¡ ÇÊ¿äÇϰųª Ä¿³Î ¸ðµâÀÌ ¾ø´Â °÷¿¡ µð¹ÙÀ̽º ³ëµå¸¦ »ý¼ºÇÑ´Ù. ±×¸®°í³ª¼­, /sbin/udevstart´Â ´Ù½Ã È£ÃâµÈ´Ù. Áï, Àü udev¿Í Çã°¡(permissions)À» Àû¿ëÇϱâ À§ÇØ, initrd ´Ü°è¿¡¼­ hotplug event¸¦ ¸ðÀÇ ½ÇÇèÇÑ´Ù(? simulate). ±×¸®°í, rc.sysinit´Â /sbin/kmoduleÀÇ °á°ú¹°¸¦ ºÐ¼®ÇÏ°í(parse) ¸ðµç ¸ðµâÀ» ÀûÀçÇÑ´Ù. ÀÌ°ÍÀº ÄÄÇ»ÅÍ¿¡¼­ ¹ß°ßµÈ ¸ðµç Çϵå¿þ¾î¿¡ µð¹ÙÀ̽º ³ëµå¸¦ Á¦°øÇÒ °ÍÀÌ´Ù. 

ÄÜ¼Ö »ç¿ëÀÚ Çã°¡(Console User Permissions)

µð¹ÙÀ̽º³ëµå°¡ »ý¼ºµÉ ¶§¸¶´Ù /etc/dev.d/default/pam_console.dev°¡ È£ÃâµÇ¾î, µð¹ÙÀ̽º ³ëµåÀÇ ÆÄÀϸí(¼±ÅÃÀûÀ¸·Î ½Éº¼¸¯ ¸µÅ©µµ °°ÀÌ)°ú ÇÔ²² /sbin/ pam_console_setowner¸¦ È£ÃâÇÑ´Ù. ÀÌ°ÍÀº /etc/security/console.perms¿¡¼­ ÁöÁ¤ÇÑ´ë·Î ÄÜ¼Ö »ç¿ëÀÚ¸¦ À§ÇÑ Çã°¡¸¦ ¼³Á¤ÇÑ´Ù.

ÈÖµµ¶ó¿¡¼­ udev¸¦ Ä¿½ºÅ͸¶ÀÌ¡Çϱâ

udev¿Í udevinfoÀÇ ¸Å´º¾óÆäÀÌÁö¸¦ ÀоÀÚ. RPM ÆÐÅ°Áö ÆÄÀÏÀ» ¼öÁ¤ÇÏÁö ¸»ÀÚ.

»õ ±ÔÄ¢

»õ ±ÔÄ¢Àº /etc/udev/rules.d/¿¡ .rules·Î ³¡³ª´Â ÆÄÀÏ¿¡ ÀÖ¾î¾ß ÇÑ´Ù. 50-udev.rulesÀº »ç¿ëÇÏÁö ¸¶¶ó. ÁöÁö¹Þ°í ¼±È£¹Þ´Â ¹æ¹ýÀº "NAME" tag¾øÀÌ ±ÔÄ¢À» »ý¼ºÇÏ°í "SYMLINK"¸¸À» ¸¸µå´Â °ÍÀÌ´Ù.

±ÔÄ¢ ÀÛ¼º¹ý¿¡ °üÇÑ ÁÁÀº ¹®¼­´Â http://www.reactivated.net/udevrules.php¿¡¼­ ãÀ» ¼ö ÀÖ´Ù.

Çã°¡

»õ Çã°¡´Â /etc/udev/permissions.d/¿¡ .permissions·Î ³¡³ª´Â ÆÄÀÏ¿¡ ÀÖ¾î¾ß ÇÑ´Ù. 50-udev.permissions´Â »ç¿ëÇÏÁö ¸»ÀÚ.

±×·¯³ª ÀÚ½ÅÀÇ µð¹ÙÀ̽º ³ëµåÀÇ »ç¿ë¸¦ °£ÀýÈ÷ ¿øÇÑ´Ù¸é!

¿øÇÏ´Â µð¹ÙÀ̽º ³ëµå¸¦ /etc/udev/devices/¿¡ ³öµÎÀÚ. ±×·¯¸é /dev/¿¡ º¹»çµÉ °ÍÀÌ´Ù. ¸¸ÀÏ ±âº» ½ÇÇàÀ¸·Î ó¸® µÇ¾ß ÇÑ´Ù°í »ý°¢µÇ¸é, a bugzilla entry¿¡ ÀÇ°ßÀ» ¿Ã¸®ÀÚ.

/dev/¾øÀÌ udev¸¦ ¾÷µ¥ÀÌÆ®Çϱâ

¾Æ³ªÄÜ´Ù³ª º¹±¸ CD¾øÀÌ ¾÷±×·¹À̵åÇÏ´Â ´Ü°è(ÃßõÇÏ°í ½ÍÁö ¾Ê´Ù):

* kernel-2.6À» ½ÃÀÛÇÑ´Ù 
* /sys/°¡ ¸¶¿îÆ®µÈ °ÍÀ» È®ÀÎÇÑ´Ù 
* ÃֽŠinitscripts ÆÐÅ°Áö¸¦ ¼³Ä¡ÇÑ´Ù 
* ÃֽŠudev ÆÐÅ°Áö¸¦ ¼³Ä¡ÇÑ´Ù 
* /sbin/start_udev¸¦ ½ÇÇàÇÑ´Ù
* ÃֽŠmkinitrd ÆÐÅ°Áö¸¦ ¼³Ä¡ÇÑ´Ù 
* ÃֽŠkernel ÆÐÅ°Áö¸¦ ¼³Ä¡ÇÑ´Ù 
* ȤÀº ±âÁ¸ Ä¿³Î¿¡ ´ëÇؼ­ mkinitrd ¸¦ ½ÇÇàÇÑ´Ù 

initrd ¾ø´Â udev

º¸Åë ¶§Ã³·³ ÈÖµµ¶ó ÄھƸ¦ ¼³Ä¡ÇÏ°í ÀçºÎÆÃÇÑ´Ù. ´ÙÀ½ ¸í·ÉÀ» ½ÇÇàÇÑ´Ù

mkdir /tmp/dev
mount --move /dev /tmp/dev
sbin/MAKEDEV null console zero
mount --move /tmp/dev /dev

initrd ¾øÀÌ Ä¿³ÎÀ» ¼³Ä¡ÇÏ°í ÀçºÎÆÃÇÑ´Ù.

SELinux ¿À·ù°¡ ¹ß»ýÇÏ°í syslogd´Â ¹Ù¶ó´ø ´ë·Î(as expected) µ¿ÀÛÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù.



ÈÖµµ¶ó¿¡¼­ÀÇ Çö ¹®Á¦

udev¿¡ ´ëÇÏ¿© ¾Ë·ÁÁø ¸ðµç ¹ö±×
Nvidia

ºü¸¥ ÇØ°á: ¸¸ÀÏ rhgb°¡ ÇÊ¿äÄ¡ ¾ÊÀ¸¸é, ´ÜÁö /etc/rc.local¿¡ nvidia ¸ðµâÀ» ÀûÀçÇÑ´Ù.

¸¸ÀÏ udev>=032-5À̸é, nvidia ¸ðµâÀ» ÀûÀçÇÑ´Ù:

cp -a /dev/nvidia* /etc/udev/devices
chown root.root /etc/udev/devices/nvidia*

ÀÌ ¹®Á¦¿¡ °ü·ÃµÈ ¹ö±×Áú¶ó´Â 133900ÀÌ´Ù.

Palm Pilot

¸¸ÀÏ udev >= 032-5À̸é, ´ÙÀ½ ¸í·ÉÀ» ½ÇÇàÇÑ´Ù:

ln -s ttyUSB1 /etc/udev/devices/pilot

ISDN

¸¸ÀÏ udev >= 032-5À̸é:

/sbin/MAKEDEV -d /etc/udev/devices isdn





-------------- next part --------------
HTML ÷ºÎ¸¦ ¾ø¾Ö¹ö·È½À´Ï´Ù...
URL: https://admin.fedoraproject.org/mailman/private/trans-ko/attachments/20041213/7602f5ff/attachment.html