¿©±â¿¡´Â Åë»óÀûÀÎ Áú¹®°ú ´äº¯ÀÌ ÀÖ´Ù.
Devfsd°¡ ¸ðµç ÆÛ¹Ì¼ÇÀ» °ü¸®ÇÏÁö ¾Ê´Â´Ù
´ç½ÅÀÌ Àû´çÇÑ À̺¥Æ®¸¦ ĸÃÄÇϰí ÀÖ´ÂÁö È®ÀÎÇ϶ó. ¿¹¸¦ µé¾î,Ä¿³ÎÀÌ ¸¸µç µð¹ÙÀ̽º ¿£Æ®¸®´Â REGISTER À̺¥Æ®¸¦ ¹ß»ý½ÃŰÁö¸¸, devfsd°¡ »ý¼ºÇÑ °ÍµéÀº CREATEÀ̺¥Æ®¸¦ ¹ß»ýÇÑ´Ù.
Devfsd ´Â ¸ðµç REGISTERÀ̺¥Æ®¸¦ ĸÃÄÇÏÁö ¾Ê´Â´Ù.
¾ÕÀÇ Ç׸ñÀ» º¸¶ó : ´ç½ÅÀº CREATEÀ̺¥Æ®¸¦ ĸÃÄÇÒ Çʿ䰡 ÀÖ´Ù.
X°¡ ½ÃÀÛÇÏÁö ¾Ê´Â´Ù.
À§¿¡ ¾à¼úµÈ ¸ðµç ´Ü°è¸¦ µû¶óÇß´ÂÁö È®ÀÎÇØº¸¶ó.
¿Ö ³×Æ®¿öÅ© µð¹ÙÀ̽º°¡ devfs¿¡ ³ªÅ¸³ªÁö ¾Ê´Â°¡?
À̰ÍÀº ¹ö±×°¡ ¾Æ´Ï´Ù. ³×Æ®¿÷ µð¹ÙÀ̽º´Â ³×ÀÓ½ºÆäÀ̽º¿Í´Â ¿ÏÀüÈ÷ ºÐ¸®µÇ¾î ÀÖ´Ù. ±×°ÍµéÀº socket(2)¿Í setsockopt(2)¿¡ ÀÇÇØ Á¢±ÙµÇ°í, µû¶ó¼ µð¹ÙÀ̽º ³ëµå°¡ ÇÊ¿ä¾ø´Ù. ³ª´Â ³×Æ®¿÷ µð¹ÙÀ̽º¸¦ µð¹ÙÀ̽º ³×ÀÓ½ºÆäÀ̽º¿¡ ¿Å±æ °ÍÀ» Á¦¾ÈÇÏ¿´Áö¸¸, ¾Æ¹«·± ÀÀ´äÀ» ¹ÞÁö ¸øÇß´Ù.
Ä¿³Î¿¡ devfs°¡ ÄÄÆÄÀϵǾî ÀÖ´ÂÁö È®ÀÎÇÏ´Â ¹æ¹ýÀº ¹«¾ùÀΰ¡?
Ä¿³Î¿¡ ³»ÀåµÇ¾î Àְųª ÇöÀç ·ÎµùµÇ¾î ÀÖ´Â ¸ðµç ÆÄÀϽýºÅÛµéÀº /proc/filesystems¿¡ ³ªÅ¸³´Ù. ¸¸¾à devfs ¿£Æ®¸®°¡ º¸Àδٸé, devfs°¡ ÄÄÆÄÀϵǾî ÀÖ´Â Ä¿³ÎÀ̶ó´Â °ÍÀ» ¾Ë¼ö ÀÖ´Ù. ¸¸¾à Á¤È®ÇÏ°Ô ¼³Á¤Çϰí Ä¿³ÎÀ» ÀçÄÄÆÄÀÏ ÇÑ´Ù¸é, devfs´Â ³»ÀåµÇ¾î ÀÖÀ» °ÍÀÌ´Ù. »ý°¢Çϱ⿡ Á¦´ë·Î ¼³Á¤ÇßÀ½¿¡µµ /proc/filesystems¿¡ ³ªÅ¸³ªÁö ¾Ê´Â´Ù¸é, ´ç½ÅÀÌ ½Ç¼ö¸¦ ÇÑ °ÍÀÌ´Ù. ÀϹÝÀûÀÎ ½Ç¼ö´Â:
devfs ÆÐÄ¡¸¦ Àû¿ëÇÏÁö ¾ÊÀº 2.2.x Ä¿³ÎÀ» »ç¿ëÁßÀÌ´Ù(¸¸¾à Ä¿³ÎÀ» ÆÐÄ¡ÇÏ´Â ¹æ¹ýÀ» ¸ð¸¥´Ù¸é, ´ë½Å¿¡ 2.4.x¸¦ »ç¿ëÇϰí, ³ª¿¡°Ô ÆÐÄ¡ÇÏ´Â ¹ýÀ» Áú¹®Çؼ ¼º°¡½Ã°Ô ÇÏÁö ¸»¶ó)
CONFIG_EXPERIMENTAL=y ·Î ¼³Á¤ÇÏ´Â °ÍÀ» Àؾú´Ù.
CONFIG_DEVFS_FS=y·Î ¼³Á¤ÇÏ´Â °ÍÀ» Àؾú´Ù.
CONFIG_DEVFS_MOUNT=y·Î ¼³Á¤ÇÏ´Â °ÍÀ» Àؾú´Ù. (¸¸¾à ºÎÆÃ½Ã devfs°¡ ÀÚµ¿À¸·Î ¸¶¿îÆ® µÇ±â¸¦ ¿øÇÑ´Ù¸é)
make config ³ª make xconfig ´ë½Å¿¡ .config ¸¦ Á÷Á¢ ¼öÁ¤Ç϶ó.
¼³Á¤À» º¯°æÇϰí ÄÄÆÄÀÏÇϱâ Àü¿¡ make dep; make cleanÇÏ´Â °ÍÀ» Àؾú´Ù.
Ä¿³Î°ú ¸ðµâÀ» ÄÄÆÄÀÏ ÇÏ´Â °ÍÀ» Àؾú´Ù.
Ä¿³ÎÀ» ¼³Ä¡ÇÏ´Â °ÍÀ» Àؾú´Ù.
¸ðµâÀ» ¼³Ä¡ÇÏ´Â °ÍÀ» Àؾú´Ù
Á¦¹ß ¹ö±× ¸®Æ÷Æ®¸¦ º¸³»±â Àü¿¡ À§ÀÇ ¸ðµç ´Ü°è¸¦ ¼öÇàÇÏ¿´´ÂÁö µÎ¹ø¾¿ üũÇϵµ·Ï Ç϶ó.
devfs°¡ /dev¿¡ ¸¶¿îÆ®µÇ¾ú´ÂÁö ¾î¶»°Ô È®ÀÎÇÏÁÒ?
µð¹ÙÀ̽º ÆÄÀϽýºÅÛÀº µ¥¸ó°ú Åë½ÅÇϱâ À§ÇØ »ç¿ëµÇ´Â ".devfsd" ¶ó ºÒ¸®´Â Ç׸ñÀ» Ç×»ó »ý¼ºÇÑ´Ù. µ¥¸óÀÌ ½ÇÇàÁßÀÌ ¾Æ´Ï¶ó ÇÒÁö¶óµµ, ±× Ç׸ñÀº Á¸ÀçÇÑ´Ù. ÀÌ Ç׸ñÀÇ Á¸Àç¿¡ ´ëÇØ È®ÀÎÇÏ´Â °ÍÀº devfs°¡ ¸¶¿îÆ® µÇ¾ú´ÂÁö ¾Æ´ÑÁö °áÁ¤ÇÏ´Â ÁÁÀº ¹æ¹ýÀÌ´Ù. Ç׸ñÀÇ ÇüÅÂ(i.e. ÀϹÝÀûÀÎ ÆÄÀÏ, ij¸¯ÅÍ µð¹ÙÀ̽º, named pipe, µîµî)Àº »çÀüÁÖÀÇ ¾øÀÌ ¹Ù²ð¼öµµ ÀÖ´Ù. ¿ÀÁ÷ ±× Ç׸ñ(.devfsd:¿ªÀÚ ÁÖ)ÀÇ Á¸À縸ÀÌ ¹ÏÀ»¸¸ÇÑ °ÍÀÌ´Ù
³ª´Â ¸ðµç devfs¸¦ ¹Ý´ëÇÑ Á¦¾Èµé°ú ´ëÁ¶ÇØ º¸¾Ò°í, ±×°ÍµéÀÇ ÇѰ踦 ¼³¸íÇß´Ù.
Âü°í: ÁغñÁßÀÔ´Ï´Ù.
¿©±â¿¡¼ ±×·¯ÇÑ Á¦¾ÈÀº µð¹ÙÀ̽ºµéÀÌ create/remove À̺¥Æ®µéÀ» µî·ÏÇÒ ¼ö ÀÖ°í, µ¥¸óÀº ±× À̺¥Æ®µéÀ» µéÀ» ¼ö ÀÖ´Â Ä¿³ÎÀÇ API¸¦ °³¹ßÇÏÀÚ´Â °ÍÀÌ´Ù. ±× µ¥¸óÀº (µð½ºÅ©»óÀÇ ÇѺκÐÀÎ)/dev¸¦ »ý¼º/ÇØÁ¦ ÇÒ °ÍÀÌ´Ù.
À̰ÍÀº ¿©·¯°¡Áö Á¦ÇÑÀ» °¡Áö°í ÀÖ´Ù:
±×°ÍÀº ¿ÀÁ÷ Ä¿³ÎÀÌ ºÎÆÃÀ» ³¡³½ÈÄ¿¡ ¸ðµâÀ» ¿Ã¸®°Å³ª Á¦°ÅÇÏ´Â (¶Ç´Â µð¹ÙÀ̽º¸¦ Ãß°¡Çϰųª Á¦°ÅÇÏ´Â) °Í¿¡ ´ëÇÑ ÀÛ¾÷ÀÌ´Ù. À̺¥Æ®ÀÇ µ¥ÀÌÅͺ£À̽º ¾øÀÌ´Â µ¥¸óÀÌ ¿ÏÀüÇÑ /dev¸¦ ¸¸µé ¼ö ÀÖ´Â ¹æ¹ýÀº ¾ø´Ù.
¸¸¾à ÀÌ ½ºÅ°¸¶¿¡ ´ëÇÑ µ¥ÀÌÅͺ£À̽º¸¦ Ãß°¡ÇÑ´Ù¸é, ¹®Á¦Á¡Àº »ç¿ëÀÚ °ø°£¿¡¼ ±× µ¥ÀÌÅͺ£À̽º¸¦ º¸¿©ÁÖ´Â ¹æ¹ýÀÌ´Ù. ¸¸¾à µ¥¸ó¿¡¼ ÆÄÀÌÇÁ¸¦ ÅëÇØ Åë°úµÇ´Â À̺¥Æ® ÄÚµåµéÀÇ ¹®ÀÚ¿ ¸®½ºÆ®¸¦ ¸¸µç´Ù¸é, ¿ÀÁ÷ µ¥¸ó¸¸ÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ³ª´Â ÀÌ µ¥ÀÌÅ͸¦ º¸¿©ÁÖ±â À§ÇÑ À忬ÀûÀº ¹æ¹ýÀ¸·Î devfs¿Í °°Àº ÆÄÀϽýºÅÛ ºñ½ÁÇÑ °ÍÀ» ¼³¸íÇÒ °ÍÀÌ´Ù. ÆÄÀϽýºÅÛÀ¸·Î½á ±× µ¥ÀÌÅ͸¦ º¸¿©ÁÖ´Â °ÍÀº »ç¿ëÀÚ°¡ »ç¿ë°¡´ÉÇÑ °ÍÀ» ¾Ë¾Æº¸±â ½±°Ô ÇÏ°í ¶ÇÇÑ ±× "µ¥ÀÌÅͺ£À̽º"¸¦ Ž»öÇϱ⠽±µµ·Ï ÇÏ´Â ½ºÅ©¸³Æ®¸¦ ÀÛ¼ºÇϱ⠽±°Ô ÇÑ´Ù.
µð¹ÙÀ̽º ³ëµå¿Í µå¶óÀ̹ö »çÀÌÀÇ ºýºýÇÑ ¹ÙÀεùÀÌ ´õ ÀÌ»ó °¡´ÉÇÏÁö ¾Ê´Ù. (requiring the otherwise perfectly avoidable Å×ÀÌºí °Ë»ö)
/dev¿¡¼ ¸ðµâÀÇ ÀÚµ¿·ÎµùÀº »ý¼ºµÈ µð¹ÙÀ̽º ³ëµå¸¦ ÇÊ¿ä·Î Çϱ⿡ inode Ž»ö À̺¥Æ®¸¦ ÀâÀ» ¼ö ¾ø´Ù. À̰ÍÀº Ä¿´Ù¶õ ¼ÂÀ¸·ÎºÎÅÍ »ý¼ºµÈ ¸Å¿ì ÀûÀº¼öÀÇ inodeµéÀÇ µå¶óÀ̹ö¿¡ ´ëÇÑ ¹®Á¦ÀÌ´Ù.
ÀÌ ±â¹ýÀº root ÆÄÀϽýºÅÛÀÌ Àбâ Àü¿ëÀ¸·Î ¸¶¿îÆ® µÇ¾úÀ»¶§´Â »ç¿ëÇÒ ¼ö ¾ø´Ù.
ÀÌ Á¦¾ÈÀº scsidev ÇÁ·Î±×·¥À» Æ÷ÇÔ½ÃÄѼ ±×°ÍÀ» SCSI µð¹ÙÀ̽º »Ó¸¸ ¾Æ´Ï¶ó, ¸ðµç µð¹ÙÀ̽º¸¦ Ž»öÇϴµ¥¿¡µµ È®ÀåÇÏÀÚ´Â °ÍÀÌ´Ù. scsidev ÇÁ·Î±×·¥Àº /proc/scsi ¸¦ Ž»öÇÏ´Â ¹æ¹ýÀ¸·Î ÀÛµ¿ÇÑ´Ù.
¹®Á¦Á¡:
Ä¿³ÎÀº ÇöÀç »ç¿ë°¡´ÉÇÑ ¸ðµç µð¹ÙÀ̽ºµéÀÇ ¸ñ·ÏÀ» Á¦°øÇÏÁö ¾Ê´Â´Ù. ¸ðµç µå¶óÀ̺êµéÀÌ Ä¿³Î ¸Þ¼¼Áö¸¦ »ý¼ºÇϰųª /proc¿¡ ¿£Æ®¸®¸¦ µî·ÏÇÏÁö´Â ¾Ê´Â´Ù.
devfs API¿Í´Â ´Ù¸£°Ô µð¹ÙÀ̽º¸¦ µî·Ï½ÃŰ´Â ÀÏÁ¤ÇÑ ¸ÞÄ¿´ÏÁòÀÌ ¾ø´Ù.
±×¿Í °°Àº API¸¦ ±¸ÇöÇÏ´Â °ÍÀº À§ÀÇ Á¦¾È°ú °°´Ù.
ÀÌ Á¦¾ÈÀº ·¥µð½ºÅ©¸¦ »ý¼ºÇÏ°í µð¹ÙÀ̽º ³ëµåµéÀ» °Å±â¿¡ µÐ ÈÄ /dev¿¡ ±×°ÍÀ» ¸¶¿îÆ® ÇÏÀÚ´Â °ÍÀÌ´Ù.
¹®Á¦Á¡:
À̰ÍÀº ·çÆ® ÆÄÀϽýºÅÛÀ» ¸¶¿îÆ® Çϱâ À§Çؼ´Â ¿©ÀüÈ÷ µð¹ÙÀ̽º ³ëµå°¡ ÇÊ¿äÇϹǷΠ·çÆ® ÆÄÀϽýºÅÛÀ» ¸¶¿îÆ® ÇÒ¶§´Â µµ¿òÀÌ µÇÁö ¸øÇÑ´Ù.
¸¸¾à ·çÆ® µð¹ÙÀ̽º ³ëµå¿¡µµ ÀÌ ±â¹ýÀ» »ç¿ëÇϱ⠿øÇÑ´Ù¸é, initrd¸¦ »ç¿ëÇÏ¿©¾ß ÇÑ´Ù. À̰ÍÀº ºÎÆÃ °úÁ¤À» º¹ÀâÇÏ°Ô Çϰí, °ü¸®ÀÚ¿Í ¼³Á¤ÇÏ´Â °ÍÀ» ´õ ¾î·Æ°Ô ÇÑ´Ù. initrd ´Â ½¬¿î ½Ã½ºÅÛ °ü¸®¸¦ ¾Ñ¾Æ°¨À¸·Î½á º»ÁúÀûÀ¸·Î ºÒÅõ¸íÇÏ´Ù.
Á¤È®ÇÏ°Ô ·¥µð½ºÅ©¸¦ À§Ä¡½Ã۱â À§ÇÑ Á¤º¸°¡ ºÒÃæºÐÇÏ´Ù. ±×·¡¼ ¿ì¸®´Â ±× ¹®Á¦¸¦ ÇØ°áÇϱâ À§Çؼ À§ÀÇ Á¦¾ÈÀ¸·Î µ¹¾Æ°£´Ù.
ramdisc-based ÇØ°áÃ¥Àº °¢ Ç׸ñ¸¶´Ù ÀÏ¹Ý VFS inode¿Í dentry ¿¡ ´ëÇØ¼ 284 ¹ÙÀÌÆ®¿Í 112 ¹ÙÀÌÆ®ÀÇ ±âº»ÀûÀÎ ÀúÀå°ø°£ÀÌ ÇÊ¿äÇϹǷÎ, ´õ ¸¹Àº Ä¿³Î ¸Þ¸ð¸®°¡ ÇÊ¿äÇÏ´Ù. devfs°¡ 72 ¹ÙÀÌÆ®¸¦ ¿ä±¸ÇÏ´Â °Í°ú ºñ±³Çغ¸¶ó.
¶§¶§·Î »ç¶÷µéÀº ÇöÀçÀÇ ½ºÅ°¸¶°¡ ÁÁ´Ù¶ó´Â ÁÖÀåÀ» µè°ï ÇÑ´Ù. À̰ÍÀº ±×µéÀÌ ¹«½ÃÇÏ´Â °Í¿¡ ´ëÇÑ °ÍÀÌ´Ù.
µð¹ÙÀ̽º ¹øÈ£ÀÇ Å©±â(¸ÞÀÌÀú/¸¶ÀÌ³Ê ¹øÈ£ ´ç 8ºñÆ®)Àº ½ÇÁ¦ Á¦ÇÑ»çÇ×À̰í, ¾î¶² ¹æ½ÄÀ¸·Î´ø ¼öÁ¤µÇ¾î¾ß¸¸ ÇÑ´Ù. ¿¹¸¦ µé¾î Å« SCSI µð¹ÙÀ̽º ¹øÈ£¸¦ °¡Áö´Â ½Ã½ºÅÛ¿¡¼´Â ÇÒ´çµÇÁö ¾ÊÀº ¸ÞÀÌÀú ¹øÈ£µéÀ» °è¼Ó »ç¿ëÇÒ °ÍÀÌ´Ù. USB´Â 8ºñÆ®ÀÇ ¸¶ÀÌ³Ê ¹øÈ£ Á¦ÇÑÀ» ³ÑÀ» Çʿ䰡 ÀÖ´Ù.
´Ü¼øÈ÷ µð¹ÙÀ̽º ¹øÈ£¸¦ Áõ°¡½ÃŰ´Â °Í¸¸À¸·Î´Â ºÒÃæºÐÇÏ´Ù. ¸¹Àº ³ë·ÂÀ» ÇÊ¿ä·Î ÇÏ´Â °Í°ú´Â ´Þ¸®, ¼öõ°³ ÀÌ»óÀÇ µð¹ÙÀ̽º ³ëµå¸¦ °¡Áö´Â /dev ¸¦ °ü¸®ÇÏ´Â ¹®Á¦¸¦ ÇØ°áÇÏÁö´Â ¸øÇÑ´Ù.
°Å´ëÇÑ /devÀÇ ¹®Á¦¸¦ ¹«½ÃÇÏ´Â °ÍÀº µ¿ÀûÀÎ /dev¸¦ ¿øÇÏ´Â ¸¹Àº ¼öÀÇ ÇÕ¸®ÀûÀÎ ÁÖÀåÀ» öȸÇϰųª ¿À·¡°¡Áö ¸øÇÒ °ÍÀÌ´Ù.
Ç¥ÁØ ÀÀ´ä: "µð¹ÙÀ̽º °ü¸® µ¥¸óÀ» ÀÛ¼ºÇ϶ó" À̰ÍÀº ¿ì¸®°¡ À§ÀÇ Á¦¾ÈÀ¸·Î µ¹¾Æ°¡°Ô ÇÑ´Ù.
¿©±â devfs¿¡ ´ëÇÑ ºÒÆòºÒ¸¸ÀÌ ÀÖ°í, ¾î¶² Á¦¾È°ú ÇØ°áÃ¥Àº Á»´õ ´ç½ÅÀÇ ¸¶À½¿¡ µé°ÍÀÌ´Ù. ³ª´Â ¸ðµç »ç¶÷À» ±â»Ú°Ô ÇÒ ¼ö ¾øÁö¸¸, ³ë·ÂÇϰڴ٠:-)
ù¹øÂ°·Î, ¸ðµç »ç¶÷À» ±â»Ú°Ô ÇØ ÁÙ¼ö ÀÖ´Â ³×ÀÌ¹Ö ½ºÅ°¸¶´Â ¾ø´Ù´Â °ÍÀ» ±â¾ïÇ϶ó. ´ç½ÅÀÌ ±× ½ºÅ°¸¶°¡ ½È¾îµµ, ´Ù¸¥ »ç¶÷Àº ÁÁ¾ÆÇÑ´Ù. ´©°¡ ¿Ç°í ±×¸§À» ¸»ÇÒ¼ö Àִ°¡? ±Ã±ØÀûÀ¸·Î, Äڵ带 ÀÛ¼ºÇÏ´Â »ç¶÷Àº ¼±ÅÃÀ» Çϰí, ÇöÀç ³²¾ÆÀÖ´Â °ÍÀº devfs ÀúÀÚ¿Í Ä¿³Î °ü¸®ÀÚ(Linus)¿¡ ÀÇÇØ ¸¸µé¾îÁø °ÍÀ» Á¶ÇÕÇÏ´Â °ÍÀÌ´Ù.
±×·¯³ª, ¸ðµç °ÍÀ» ÀÒÁö´Â ¾Ê´Â´Ù. ¸¸¾à ÀڽŸ¸ÀÇ ³×ÀÌ¹Ö ½ºÅ°¸¶¸¦ ¸¸µé°í ½Í´Ù¸é, µ¶¸³ÀûÀÎ ½ºÅ©¸³Æ®¸¦ ÀÛ¼ºÇϰųª, devfsd ¸¦ ÇÙ Çϰųª, devfsd ¿¡ ÀÇÇØ È£ÃâµÇ´Â ½ºÅ©¸³Æ®¸¦ ÀÛ¼ºÇÏ´Â µîÀÇ °£´ÜÇÑ ÀÏÀ» ÇϸéµÈ´Ù. ¿©·¯ºÐÀÌ ÁÁ¾ÆÇÏ´Â ³×ÀÌ¹Ö ½ºÅ°¸¶°¡ ¹«¾ùÀÌ´øÁö °£¿¡ ¸¸µé ¼ö ÀÖ´Ù.
¶ÇÇÑ, /dev·ÎºÎÅÍ devfs ³×ÀÌ¹Ö ½ºÅ°¸¶ÀÇ ¸ðµç °ÍÀ» Á¦°ÅÇϱ⸦ ¿øÇÑ´Ù¸é, devfs¸¦ ¾Æ¹«°÷À̳ª(/devfsµîÀÇ)¸¶¿îÆ®Çϰí, /devfs¿¡ /dev¸¦ ¸µÅ©ÇÏ¿© ¸¸µé ¼ö ÀÖ´Ù. ±×°ÍÀº ¿øÇÑ´Ù¸é devfsd¸¦ »ç¿ëÇÔÀ¸·Î½á ÀÚµ¿ÀûÀ¸·Î ÇØ°áµÉ ¼öµµ ÀÖ´Ù.
½ÉÁö¾î ½Éº¼¸¯ ¸µÅ©¸¦ »ç¿ëÇϱ⺸´Ù VFS ¹ÙÀεù Ű´ÉÀÌ ¸µÅ©¸¦ ¸¸µéµµ·Ï »ç¿ëÇÒ ¼öµµ ÀÖ´Ù. ÀÌ ¹æ¹ýÀº, ÀÌ ½Éº¼¸¯ ¸µÅ©µéÀÇ "¸ñÀûÁö"°¡ ¾îµðÀÎÁö ¾Ë Çʿ䰡 ¾ø´Ù.
ÀÌ¹Ì Ä¿³Î¾È¿¡¼ÀÇ Á¤Ã¥ÀÌ ÀÖ´Ù. µð¹ÙÀ̽º ¹øÈ£´Â ½ÇÁ¦·Î Á¤Ã¥¿¡ ÀÇÇÑ °ÍÀÌ´Ù (¿Ö ³»°¡ »ç¿ëÇÏ´Â µð¹ÙÀ̽º ¹øÈ£°¡ ¹«¾ùÀÎÁö¸¦ Ä¿³ÎÀÌ Áö½ÃÇØ¾ß¸¸ Çϴ°¡?). À̰Ϳ¡ ´ëÇØ, Ä¿³Î¿¡´Â ¾î¶² Á¤Ã¥ÀÌ ÀÖ´Ù. Á¤Ã¥À¸·Î½áÀÇ µð¹ÙÀ̽º À̸§°ú Á¤Ã¥À¸·Î¼ÀÇ µð¹ÙÀ̽º ¹øÈ£ÀÇ ½ÇÁ¦ Â÷ÀÌÁ¡Àº µð¹ÙÀ̽º ¹øÈ£´Â »ç¶÷¿¡°Ô´Â Àǹ̾ø´Â ¼ýÀÚÀÌ°í ³Ê¹« Á¶À⽺·´±â ¶§¹®¿¡ ´©±¸µµ Á÷Á¢ÀûÀ¸·Î »ç¿ëÇÏÁö ¾Ê´Â´Ù´Â °ÍÀÌ´Ù. ÃÖ¼ÒÇÑ devfs µð¹ÙÀ̽º À̸§¿¡¼´Â, (ÀڽŸ¸ÀÇ ³×ÀÌ¹Ö ½ºÅ°¸¶¸¦ ´õ ÇÒ ¼ö ÀÖ´Ù ÇÏ´õ¶óµµ) ¾î¶² »ç¶÷µéÀº devfs°¡ Á¦°øÇÏ´Â À̸§À» Á÷Á¢ÀûÀ¸·Î »ç¿ëÇÒ °ÍÀÌ´Ù. À̰ÍÀº ¾î¶² »ç¶÷µé¿¡°Ô´Â ±âºÐ ³ª»Û ÀÏÀÌ´Ù :-)
¾Õ¿¡¼ º¸¿©Áø °Íó·³, À̰ÍÀº ÀüÇô Áø½ÇÀÌ ¾Æ´Ï´Ù. ÄÚµå¿Í µ¥ÀÌÅÍ Å©±â ¸ðµÎ ¸Å¿ì ÀûÀº ¾çÀÌ´Ù.
¸¸¾à devfs¿¡ ´ëÇÑ ¹ö±×¸¦ ¾Ë°í ÀÖ´Ù¸é(¶Ç´Â ¾Ë°í ÀÖ´Ù°í »ý°¢ÇÑ´Ù¸é), ´ÙÀ½ÀÇ ´Ü°è´ë·Î ÇàÇ϶ó:
ÃÖ½ÅÀÇ devfs ÆÐÄ¡¸¦ Àû¿ëÇß´ÂÁö È®ÀÎÇØº¸¶ó. ÃÖ½ÅÀÇ Ä¿³Î¹öÀü¿¡ ÃÖ½ÅÀÇ devfs ÆÐÄ¡°¡ Àû¿ëµÇÁö ¾Ê¾ÒÀ» ¼öµµ ÀÖ´Ù(Linus´Â ¸Å¿ì ¹Ù»Ú´Ù)
´ç½ÅÀÇ ¹ö±× ¸®Æ÷Æ®¿¡ ¿ÏÀüÇÑ Ä¿³Î ·Î±× (dmesg¸¦ »ç¿ëÇÏ¿©)¸¦ ÀúÀåÇÏ¿© Æ÷ÇÔÇ϶ó. ¸ðµç ºÎÆ® ¸Þ¼¼Áö¸¦ Àâ¾Æ³»±â À§ÇÑ ³»ºÎ¹öÆÛÀÇ Å©±â¸¦ Áõ°¡½Ã۱â À§ÇØ -s¸¦ »ç¿ëÇÒ Çʿ䰡 ÀÖÀ» °ÍÀÌ´Ù.
Ä¿³Î ºÎÆ® Ä¿¸Çµå ¶óÀο¡ devfs=dall¸¦ ³Ö°í ºÎÆÃÇØº¸°í (ºÎÆ®·Î´õ¿¡¼ À̰ÍÀ» »ç¿ëÇÏ´Â ¹æ¹ýÀº ¹®¼¸¦ Àеµ·Ï Ç϶ó), ±× °á°ú¸¦ ÆÄÀÏ·Î ÀúÀåÇ϶ó. À̰ÍÀº ¸Å¿ì ÀåȲ½º·¯¿î ÀÏÀ̰í, ¸ÞÁ¦½Ã ¹öÆÛ¸¦ ³Ñ¾î¼³ ¼öµµ ÀÖÁö¸¸, ÇÒ¼ö¸¸ ÀÖ´Ù¸é ´õ ¸¹Àº °ÍÀ» Àâ¾Æ³»µµ·Ï ³ë·ÂÇØ´Þ¶ó.
´ç½ÅÀÇ devfsd ¼³Á¤ÆÄÀÏÀ» º¹»çÇØ º¸³»´Þ¶ó.
³ª ¿¡°Ô ¸ÕÀú ¹ö±× ¸®Æ÷Æ®¸¦ º¸³»¶ó. ´ç½ÅÀÌ ¸®´ª½º Ä¿³Î ¸ÞÀϸµ ¸®½ºÆ®¿¡ ¹ö±×¸¦ ¸®Æ÷Æ® ÇÑ´Ù°í ÇØ¼ ³»°¡ ¾Ë °ÍÀ̶ó°í ±â´ëÇÏÁö´Â ¸»¶ó. À§¿¡ ³ª¿µÈ ¸ðµç Á¤º¸¸¦ Æ÷ÇÔÇϰí, ±×¿Ü °ü·ÃÀÌ ÀÖ´Ù°í »ý°¢ÇÏ´Â °ÍÀ» Ãß°¡½ÃÄѵµ ÁÁ´Ù. Á¦¸ñ¿¡ devfs¸¦ ³Ö¾î¼, ³ªÀÇ ¸ÞÀÏ ÇÊÅͰ¡ ±ä±ÞÇÑ »óȲÀÓÀ» ¾Ë¼ö ÀÖ°Ô Ç϶ó.
¿©±â, ´äÀå¹ÞÀ» ±âȸ¸¦ Çâ»ó½ÃÄÑÁÖ´Â Áú¹®ÇÏ´Â ¹æ¹ýÀÌ ÀÖ´Ù: http://www.tuxedo.org/~esr/faqs/smart-questions.html ¸¸¾à ¹ö±×º¸°í¸¦ ÇÏ°í ½Í´Ù¸é, http://www.chiark.greenend.org.uk/~sgtatham/bugs.html ¸¦ ÀÐÀ» Çʿ䰡 ÀÖÀ» °ÍÀÌ´Ù.
´ç½ÅÀÇ Ä¿³Î·Î±×¿¡¼ devfs¿Í °ü·ÃµÈ ¸Þ¼¼Áö¸¦ º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ¾Æ·¡´Â ±× ¸Þ¼¼ÁöµéÀÇ Àǹ̸¦ ³ª¿Çß´Ù (±×¸®°í °¡´ÉÇÏ´Ù¸é ±× ¸Þ¼¼Áö¿Í °ü·ÃÇØ¼ ÇØ¾ß ÇÒ °ÍµéÀÇ ¸ñ·ÏÀÌ´Ù)
devfs_register(fred):could not append to parent, err: -17
´ç½ÅÀº ±× ¿¡·¯Äڵ尡 ÀǹÌÇÏ´Â ¹Ù¸¦ È®ÀÎÇÒ Çʿ䰡 ÀÖÁö¸¸, º¸Åë 17Àº EEXIST¸¦ ÀǹÌÇÑ´Ù. À̰ÍÀº µå¶óÀ̹ö°¡ µð·ºÅ丮¿¡ fred Ç׸ñÀ» »ý¼ºÇÏ·Á°í ÇßÁö¸¸, °°Àº À̸§ÀÇ Ç׸ñÀÌ ÀÌ¹Ì Á¸ÀçÇÑ´Ù´Â °ÍÀ» ³ªÅ¸³½´Ù. À̰ÍÀº Á¾Á¾ ÆÛ¹Ì¼ÇÀ» º¹±¸Çϱâ À§ÇÑ ¼ö´ÜÀ¸·Î /dev¿¡ inodeµéÀ» Ç®¾î³õÀ¸·Á´Â ½ºÅ©¸³Æ®°¡ À߸øµÇ¾úÀ»¶§ ÀϾÙ. ÀÌ ¸Þ¼¼Áö´Â ±× µð¹ÙÀ̽º ³ëµå°¡ ¿©ÀüÈ÷ ±× µå¶óÀ̹ö¿¡ Á¢±ÙÇϵµ·Ï Çã¿ëÇϱ⠶§¹®¿¡ (¿Â Á¤¼ºÀ» ´ÙÇÏ¿©:-) devfs=onlyºÎÆ® ¿É¼ÇÀ» »ç¿ëÇÏ´õ¶óµµ) À§ÇèÇÏ´Ù. ÀÌ·¯ÇÑ ºÒÇÊ¿äÇÑ ¸Þ¼¼Áö¸¦ Á¦°ÅÇϱ⠿øÇÑ´Ù¸é, devfsd-v1.3.20À¸·Î ¾÷±×·¹À̵å Çϰí, ÆÛ¹Ì¼ÇÀ» ÀúÀåÇϱâ À§ÇÏ¿© ÃßõµÈ RESTORE Áö½ÃÀÚ¸¦ »ç¿ëÇ϶ó.
devfs_mk_dir(bill): using old entry in dir: c1808724 ""
À̰ÍÀº µå¶óÀ̹ö°¡ ºÎ¸ðµð·ºÅ丮°¡ °°Àº À̸§À» °¡Áö´Â billÀ̶ó ºÒ¸®´Â µð·ºÅ丮¸¦ »ý¼ºÇÏ·Á°í ÇÑ´Ù´Â °ÍÀ» Á¦¿ÜÇϰíÀ§ÀÇ ¸Þ¼¼Áö¿Í À¯»çÇÏ´Ù. ÀÌ °æ¿ì¿¡, µå¶óÀ̹ö°¡ ÀÛµ¿À» ¿Ã¹Ù¸£°Ô °è¼ÓÇϱâ À§Çؼ, ¿¾ Ç׸ñÀÌ ±× µå¶óÀ̹ö¿¡ ÁÖ¾îÁö°í Àç»ç¿ëµÈ´Ù. 2.5 Ä¿³Î¿¡¼´Â, ±× µå¶óÀ̹ö´Â NULL Ç׸ñÀÌ ÁÖ¾îÁö°í, µû¶ó¼, ¾î¶² ȯ°æ¿¡¼´Â ¿äûµÈ µð¹ÙÀ̽º ³ëµå¸¦ »ý¼ºÇÏÁö ¸øÇÒ °ÍÀÌ´Ù. À̰ÍÀÇ ÇØ°áÃ¥Àº À§¿Í °°´Ù
º¸Åë, devfsdÄÄÆÄÀÏÀº ´ÜÁö ¼Ò½º µð·ºÅ丮¿¡¼ make¸¦ Ä£ ÈÄ, make install (·çÆ®·Î)À» Ä¡´Â °ÍÀ¸·Î µÈ´Ù. °¡²ûÀº, À߸øµÈ ¼³Á¤À¸·Î ÀÎÇØ ¹®Á¦°¡ ÀϾ ¼öµµ ÀÖ´Ù.
DEVFSD_NOTIFY_DELETE¿¡ °ü·ÃµÈ ¿¡·¯¸Þ¼¼Áö
À̰ÍÀº /usr/include/linux³ª /usr/src/linux¿¡ ¿¹ÀüÀÇ Ä¿³Î Çì´õ¸¦ °¡Áö°í Àֱ⠶§¹®¿¡ ÀϾÙ. KERNEL_DIRº¯¼ö¸¦ (¸¸¾à /usr/src/linux¿¡ »õ Ä¿³Î¼Ò½º¸¦ ¼³Ä¡ÇÏÁö ¾Ê¾Ò´Ù¸é) make¿¡ Àü´ÞÇϰųª, /usr/include/linux¿¡ Ä¿³Î ¼Ò½º¿¡ ÀÖ´Â devfs_fs.h¸¦ º¹»çÇÏ¸é µÈ´Ù.