| ½ºÄõ½Ã Squashfs´Â Linux ¿ë ¾ÐÃà µÈ Àбâ Àü¿ë ÆÄÀÏ ½Ã½ºÅÛÀÔ´Ï´Ù. |
Áö±Ý ´Ù¿î·Îµå |
½ºÄõ½Ã ¼øÀ§ ¹× ¿ä¾à
- °Ô½ÃÀÚ À̸§:
- Phil Lougher
½ºÄõ½Ã ű×
½ºÄõ½Ã ¼³¸í
Squashfs´Â Linux ¿ë ¾ÐÃà µÈ Àбâ Àü¿ë ÆÄÀÏ ½Ã½ºÅÛÀÔ´Ï´Ù. Squashfs Project´Â Linux ¿ë ¾ÐÃà µÈ Àбâ Àü¿ë ÆÄÀÏ ½Ã½ºÅÛÀÔ´Ï´Ù. SquashFS´Â ÀϹÝÀûÀÎ Àбâ Àü¿ë ÆÄÀÏ ½Ã½ºÅÛ »ç¿ëÀ»À§ÇÑ °ÍÀ¸·Î, ¾ÆÄ«ÀÌºê »ç¿ë (¿¹ : .tar.gz ÆÄÀÏÀÌ »ç¿ëµÉ ¼öÀÖ´Â °æ¿ì) ¹× ³·Àº ¿À¹ö Çìµå°¡ ÇÊ¿äÇÑ °æ¿ì Á¦ÇÑµÈ ºí·Ï ÀåÄ¡ / ¸Þ¸ð¸® ½Ã½ºÅÛ (¿¹ : ÀÓº£µðµå ½Ã½ºÅÛ)¿¡¼. ÆÄÀÏ ½Ã½ºÅÛÀº ÇöÀç ¾ÈÁ¤ÀûÀ̸ç PowerPC, i586, SPARC ¹× ARM Architectures¿¡¼ Å×½ºÆ®µÇ¾ú½À´Ï´Ù. ¡¤ µ¥ÀÌÅÍ, inodes ¹× µð·ºÅ丮°¡ ¾ÐÃàµË´Ï´Ù. ¡¤ Squashfs°¡ Àüü UID / GID (32 ºñÆ®), ÆÄÀÏ »ý¼º ½Ã°£. ¡¤ ÃÖ´ë 2 ^ 32 ¹ÙÀÌÆ®±îÁö ÆÄÀÏÀÌ Áö¿øµË´Ï´Ù. ÆÄÀÏ ½Ã½ºÅÛÀº ÃÖ´ë 2 ^ 32 ¹ÙÀÌÆ®±îÁö »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¡¤ inode ¹× µð·ºÅ丮 µ¥ÀÌÅÍ´Â ¸Å¿ì ¾ÐÃàµÇ°í ¹ÙÀÌÆ® °æ°è¿¡ Æ÷ÀåµË´Ï´Ù. °¢ ¾ÐÃà µÈ inode´Â ±æÀÌ°¡ Æò±Õ 8 ¹ÙÀÌÆ®ÀÔ´Ï´Ù (Á¤È®ÇÑ ±æÀÌ´Â ÆÄÀÏ À¯Çü¿¡ µû¶ó ´Ù¸¨´Ï´Ù. Áï, ÀÏ¹Ý ÆÄÀÏ, µð·ºÅ丮, ±âÈ£ ¸µÅ© ¹× ºí·Ï / char ÀåÄ¡ inodes°¡ Å©±â°¡ ´Ù¸¨´Ï´Ù). ¡¤ ½ºÄõ½Ã´Â ÃÖ´ë 64K±îÁö ºí·Ï Å©±â¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù ( ±âº» Å©±â´Â 64KÀÔ´Ï´Ù. 64K ºí·ÏÀ» »ç¿ëÇϸé Á¤»óÀûÀÎ 4K ºí·Ï Å©±âº¸´Ù ´õ Å« ¾ÐÃà ºñÀ²À» ´Þ¼ºÇÕ´Ï´Ù. ¡¤ ÆÄÀÏ Áߺ¹ÀÌ °¨ÁöµÇ°í Á¦°ÅµË´Ï´Ù. ¡¤ Å©°í ÀÛÀº ¿£µð¾È ¾ÆÅ°ÅØó°¡ ¸ðµÎ Áö¿øµË´Ï´Ù. Mksquashfs ÇÁ·Î±×·¥Àº È£½ºÆ® ¹ÙÀÌÆ® ¼ø¼°¡ ´ë»ó°ú ´Ù¸¥ °æ¿ì¿¡ ´Ù¸¥ ¿£µð¾È ¾ÆÅ°ÅØó¿¡ ´ëÇÑ ÆÄÀÏ ½Ã½ºÅÛÀ» »ý¼º ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¸±¸®½º¿¡¼´Â ÀÓº£µðµå ½Ã½ºÅÛ¿¡ À¯¿ëÇÕ´Ï´Ù.ÀÌ ¸±¸®½ºÀÇ »õ·Î¿î ±â´ÉÀº ´ÙÀ½°ú °°½À´Ï´Ù. ¡¤ÀÌ ¸±¸®½º¿¡´Â ÆÄÀÏ ½Ã½ºÅÛ ÀÚü (´õ Å« ºí·Ï ¹× ½ºÆÄ ½º ÆÄÀÏ)¿Í µµ±¸ mksquashfs ¹× unsquashfs Tools¿¡ ¸¹Àº °³¼± »çÇ×ÀÌ ÀÖÀ¸¸ç, ÀÌÁ¦´Â Á¦¿Ü¿¡¼ ¿ÍÀϵå Ä«µå ÆÐÅÏ ÀÏÄ¡¸¦ Áö¿øÇÕ´Ï´Ù. / ÆÄÀÏ ÃßÃâ. ¡¤ ´Ù¸¥ °³¼± »çÇ×°ú ¹ö±× ¼öÁ¤ÀÌ ÀÖ½À´Ï´Ù. ÀÌ ¸±¸®½º¿¡¼´Â »õ·Î¿î ±â´É : 1. Ä¿³Î ÄÚµå °³¼± »çÇ× : ¡¤ 1.1 ³»ºÎ Squashfs Ä¿³Î ¸ÞŸ µ¥ÀÌÅÍ ¹× Á¶°¢ ij½Ã ±¸ÇöÀÌ º´Çյǰí ÃÖÀûȵǾú½À´Ï´Ù. ½ºÇÉ ¶ôÀÌ ÀÌÁ¦ »ç¿ëµÇ¸ç ¼Ò±Ô¸ð ±â°£ µ¿¾È Àá±Ý ÀåÄ¡°¡ À¯ÁöµÇ°í ¿þÀÌÅ© ¾÷ÀÌ ÃÖ¼ÒȵǾú½À´Ï´Ù. ÀÛÀº °æÁÖ Á¶°ÇÀÌ °íÁ¤ µÈ µÎ °³ ÀÌ»óÀÇ ÇÁ·Î¼¼½º°¡ µ¿ÀÏÇÑ Ä³½Ã ºí·ÏÀ» µ¿½Ã¿¡ ÀÐÀ¸·Á°íÇϸéÀÌ ¸ðµÎ ÀÐ°í ¾ÐÃà ÇØÁ¦µË´Ï´Ù. Å×½ºÆ®¿¡¼ 10-20 % ¼Óµµ Çâ»óÀÌ ³ªÅ¸³µ½À´Ï´Ù. ¡¤ 1.2 NFS Linux-2.6.24ÀÇ VFS º¯°æ ´ÙÀ½ VFS º¯°æ »çÇ×À» ´Ù½Ã ÀÛ¼ºÇÕ´Ï´Ù. ¡¤ 1.3 Linux-2.6.25, Linux-2.6.26 ¹× Linux-2.6.27 ¿ë »õ ÆÐÄ¡. Linux-2.6.24 ¿ë °íÁ¤ ÆÐÄ¡. ¡¤ 1.4°¡ À߸ø ¼Õ»óµÈ ÆÄÀÏ ½Ã½ºÅÛÀ» ó¸® ÇÒ ¶§ Squashfs_read_dataÀÇ ÀÛÀº Buffer_head ´©¼ö°¡ ¼öÁ¤µÇ¾ú½À´Ï´Ù. ¡¤ 1.5 get_dir_index_using_offsetÀÇ ¹ö±×°¡ ¼öÁ¤µÇ¾ú½À´Ï´Ù. 2. uncashfs °³¼± »çÇ× : ¡¤ 2.1 unsquashfs°¡ º´·ÄµÇ¾ú½À´Ï´Ù. ÆÄÀÏ ½Ã½ºÅÛ Àбâ, ¾²±â ¹× ¾ÐÃà ÇØÁ¦ ÀÌÁ¦ ¸ÖƼ ½º·¹µå°¡µË´Ï´Ù. Å×½ºÆ®¿¡¼ ÃÖ´ë 40 %ÀÇ ¼Óµµ Çâ»ó. ¡¤ 2.2 UnsquashFS´Â ÁøÇà·ü ¸·´ë¸¦ °¡Áö°í ÀÖ½À´Ï´Ù. -no-no-no-no-no-no-no°¡ ºñÈ°¼ºÈµË´Ï´Ù. ¡¤ 2.3ÀÌ ¹èÆ÷ÀÚ°¡ ¾Æ´Ñ LSEEK°¡ »ç¿ëµÇÁö ¾Ê´Â LSEEK°¡ 4GBº¸´Ù Å« ÆÄÀÏ ½Ã½ºÅÛÀ» Áö¿øÇÏÁö ¾Ê´Â LSEEK64 (LSEEK)°¡ »ç¿ëµÇÁö ¾Ê´Â LSEEK°¡ »ç¿ëµÇÁö ¾Ê´Â ÀϺΠºÐÆ÷°¡ Æ÷ÇÔ µÈ ÀÛÀº ¹ö±×°¡ ¼öÁ¤µÇ¾ú½À´Ï´Ù. 3. Mksquashfs °³¼± »çÇ× : ¡¤ 3.1Àº ÀÛÀº ÀÜÁ¸ º´¸ñ Çö»óÀ» Á¦°ÅÇß½À´Ï´Ù. ¼Ò½º ÆÄÀÏ ½Ã½ºÅÛ¿¡ µû¶ó ÃÖ´ë 10 %ÀÇ ¼Óµµ Çâ»ó. 3.2 ÁøÇà·ü Ç¥½Ã ÁÙÀÌ °³¼±µÇ°í º°µµÀÇ ½º·¹µå·Î À̵¿Çß½À´Ï´Ù. ¡¤ 3.3 Sparse ÆÄÀÏ Ã³¸® ¹ö±×´Â Mksquashfs 3.3 ¼öÁ¤µÇ¾ú½À´Ï´Ù. ¡¤ 3.42 °³ÀÇ Èñ±Í ÇÑ Ã·ºÎ º¹¿ø ¹ö±×°¡ ¼öÁ¤µÇ¾ú½À´Ï´Ù (^ C°¡ µÎ ¹ø ÃÆÀ» ¶§).
½ºÄõ½Ã °ü·Ã ¼ÒÇÁÆ®¿þ¾î