Linux ADSM Mini-Howto <author>by Thomas König, <tt/Thomas.Koenig@ciw.uni-karlsruhe.de/ <date>v, 15 January 1997 <trans>°ø¹®Çå <tt><htmlurl url="mailto:rain@physix.chonbuk.ac.kr" name = "rain@physix.chonbuk.ac.kr"></tt> <tdate>2000³â 3¿ù 26ÀÏ <abstract>ÀÌ ¹®¼­´Â Linux/i386¿¡¼­ ADSM ¹é¾÷ ½Ã½ºÅÛÀ» »ç¿ëÇϱâ À§ÇÑ Å¬¶óÀ̾ð Æ® ÇÁ·Î±×·¥ÀÇ ¼³Ä¡¿Í »ç¿ë¿¡ °üÇؼ­ ´Ù·é´Ù. <toc> <sect>¼Ò°³ <p> ADSMÀº ¸¹Àº ´Üü¿¡¼­ »ç¿ëµÇ°í ÀÖ´Â IBM¿¡¼­ ÆǸÅÇÏ´Â ³×Æ®¿öÅ© ±âº»ÀÇ ¹é¾÷ ½Ã½º ÅÛÀÌ´Ù. ¸Å¿ì ´Ù¾çÇÑ ½Ã½ºÅÛ(¿©·¯ Á¾·ùÀÇ À¯´Ð½º ºê·£µå, À©µµ¿ì, ³ëº§, ¸Æ, À©µµ¿ì NT)À» Áö¿øÇÑ´Ù. ºÒÇàÇÏ°Ôµµ À̱ÛÀ» ¾²°í ÀÖ´Â ½ÃÁ¡¿¡, °íÀ¯ÀÇ ¸®´ª½º ¹öÀüÀÌ Á¸Àç ÇÏÁö ¾Ê´Â´Ù. <p> ¿©·¯ºÐÀÌ SCO ¹ÙÀ̳ʸ®¸¦ »ç¿ëÇØ¾ß Çϸç, ADSMÀ» ½ÇÇà½ÃÅ°±â À§ÇØ iBCS2-¿¡¹Ä·¹ÀÌÅÍ ¸¦ ¼³Ä¡ÇØ¾ß ÇÑ´Ù. ¿©±â¼­´Â ADSM v2r1À» ´Ù·é´Ù. <p> À̱ÛÀ» ¾²°í ÀÖ´Â ÇöÀç, ³­ ¸®´ª½ºÀÇ i386¹öÀü¿¡¼­ ÀÛ¾÷À» ÇÏ°í ÀÖ´Ù. <sect>iBCS ¸ðµâ ¼³Ä¡ <p> iBCS2 ¸ðµâÀº <htmlurl name="ftp://tsx-11.mit.edu/pub/linux/BETA/ibcs2" url="ftp://tsx-11.mit.edu/pub/linux/BETA/ibcs2"> ¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù. ¸¸¾à ¿©·¯ºÐÀÌ ¸®´ª½º Ä¿³Î 1.2.13À» »ç¿ëÇÏ°í ÀÖ´Ù¸é <tt/ibcs-1.2-950721.tar.gz/¸¦ ¹Þ¾Æ¿Í ¾ÐÃàÀ» Ç®°í <tt/ibcs-1.2-950808.patch/¿Í <tt/ibcs-1.2-950828.patch2/·Î ÆÐÄ¡¸¦ Àû¿ëÇØ¾ß ÇÑ ´Ù. &dquot;<tt/make/&dquot;¸¦ ÀÔ·ÂÇÑ ´ÙÀ½ &dquot;<tt/insmod/&dquot; ¸í·ÉÀ¸·Î iBCS ¸ðµâÀ» ¼³Ä¡ÇÒ ¼ö ÀÖ´Ù. <p> 2.0Ä¿³Î ¹öÀüÀ» »ç¿ëÇÑ ´Ù¸é, <tt/ibcs-2.0-960610.tar.gz/¸¦ ¹Þ¾Æ¼­ Àû´çÇÑ µð·ºÅä ¸®¿¡ ¾ÐÃàÀ» Ç®°í µð·ºÅ丮·Î À̵¿ÇÏ¿© ´ÙÀ½°ú °°ÀÌ ÆÐÄ¡¸¦ Àû¿ë½ÃÅ°¸é µÈ´Ù: <verb> --- iBCSemul/ipc.c.orig Wed Jan 15 21:32:15 1997 +++ iBCSemul/ipc.c Wed Jan 15 21:32:31 1997 @@ -212,7 +212,7 @@ switch (command) { case U_SEMCTL: cmd = ibcs_sem_trans(arg3); - arg4 = (union semun *)get_syscall_parameter (regs, 4); + arg4 = (union semun *)(((unsigned long *) regs->esp) + (5)); is_p = (struct ibcs_semid_ds *)get_fs_long(arg4->buf); #ifdef IBCS_TRACE if ((ibcs_trace & TRACE_API) || ibcs_func_p->trace) </verb> ±×·± ´ÙÀ½, <tt/CONFIG.i386/À» <tt/CONFIG/·Î º¹»çÇÏ°í <tt/make/¸¦ ÃĶó. <p> ¸¸¾à ¿©·¯ºÐÀÌ ÀÌ¹Ì ±× °úÁ¤À» °ÅÄ¡Áö ¾Ê¾Ò´Ù¸é, ½ÇÇàÁß¿¡ ÇÊ¿äÇÑ µð¹ÙÀ̽º ÆÄÀÏÀ» »ý¼ºÇØ¾ß ÇÑ´Ù. <verb> # cd /dev # ln -s null XOR # ln -s null X0R # mknod socksys c 30 0 # mknod spx c 30 1 </verb> <sect>ADSM Ŭ¶óÀ̾ðÆ® ¼³Ä¡Çϱâ <p> SCO ¹ÙÀ̳ʸ®´Â ¼¼ °³ÀÇ tar ÆÄÀÏ ¶Ç´Â µð½ºÅ©¸¦ Á¦°øÇÑ´Ù. root µð·ºÅ丮·Î ¹Ù²Ù°í ¿© ·¯ºÐÀÇ Á¤Ã¥¿¡ µû¶ó ¿©·¯ºÐÀÇ umask¸¦ ¼³Á¤ÇÏ°í ±× ÆÄÀÏÀÇ ¾ÐÃàÀ» Ç®¾î¶ó(root ±ÇÇÑÀ¸ ·Î). /tmp µð·ºÅ丮¿¡¼­ ¼³Ä¡ ½ºÅ©¸³Æ®¸¦ ãÀ» ¼ö ÀÖÀ» °ÍÀÌ´Ù; ±×°ÍÀ» ½ÇÇà½ÃÄѶó. <p> <tt>/usr/adsm/dsm.sys</tt>¿Í <tt>/usr/adsm/dsm.opt</tt>¸¦ ¼Õ¼ö ÆíÁýÇØ¾ß ÇÒ °ÍÀÌ´Ù. <tt/dsm.sys/¿¡¼­ ÁöÁ¤ÇؾßÇÒ Áß¿äÇÑ ¶óÀÎÀº ´ÙÀ½°ú °°´Ù: <descrip> <tag/Servername/¼­¹öÀÇ À̸§ <tag/TCPServeraddress/¼­¹ö¿¡ ºÎ¿©µÈ È£½ºÆ®¸í <tag/NODename/¿©·¯ºÐ¸¸ÀÇ È£½ºÆ®¸í </descrip> <tt/dsm.opt/¿¡¼­ ¿©·¯ºÐÀº ´ÙÀ½°ú °°ÀÌ ÁöÁ¤ÇØ¾ß ÇÑ´Ù. <descrip> <tag/Server/Àü¿¡ Á¤ÇØÁÖ¾ú´ø µ¥·Î <tag/Followsymbolic/½Éº¼¸¯ ¸µÅ©¸¦ ÇÒ °ÍÀÎÁö, ¸» °ÍÀÎÁö(º¸Åë ÁÁÀº »ý°¢Àº ¾Æ´Ô) <tag/SUbdir/¹é¾÷ÇÒ ÇÏÀ§ µð·ºÅ丮(¿©·¯ºÐÀÌ ¿øÇÏ´Â °÷) </descrip> <p> <tt>/etc/fstab</tt>¿¡¼­ ºÎÅÍ SCO-ȣȯ <tt>/etc/mnttab</tt>À» »ý¼ºÇØ¾ß ÇÑ´Ù. ´ÙÀ½ °ú °°Àº ÆÞ ½ºÅ©¸³Æ®, <tt/fstab2mnttab/À» »ç¿ëÇÒ ¼ö ÀÖ´Ù. <tscreen> <code> #!/usr/bin/perl $mnttab_struct = "a32 a32 I L"; open(MTAB, "/etc/mtab") || die "Cannot open /etc/mtab: $!\n"; open(MNTTAB, ">/etc/mnttab") || die "Cannot open /etc/mnttab: $!\n"; while(<MTAB>) { next if /pid/; chop; /^(\S*)\s(\S*)\s(\S*)\s.*$/; $device = $1; $mountpt = $2; $fstype = $3; if($fstype ne "nfs" && $fstype ne "proc") { $mnttab_rec = pack($mnttab_struct, $device, $mountpt, 0x9d2f, time()); syswrite(MNTTAB, $mnttab_rec, 72); print "Mode entry for: $device $mountpt $fstype\n"; } } close(MNTTAB); exit 0; </code> </tscreen> À̵é Ŭ¶óÀ̾ðÆ®¸¦ À§ÇØ °øÀ¯ ¶óÀ̺귯¸®¸¦ ¼³Ä¡ÇÒ ÇÊ¿ä´Â ¾ø´Ù; ¸ðµÎ Á¤ÀûÀ¸·Î ¸µÅ© µÇ¾î ÀÖ´Ù. <sect>Ŭ¶óÀ̾ðÆ® ½ÇÇàÇϱâ <p> X11 ÀÎÅÍÆäÀ̽º¿¡¼­ÀÇ <tt/dsm/°ú Ä¿¸Çµå¶óÀÎ ÀÎÅÍÆäÀ̽º¿¡¼­ÀÇ <tt/dsmc/ µÎ °¡Áö Ŭ ¶óÀ̾ðÆ®°¡ ÀÖ´Ù. ¿©·¯ºÐÀÇ ÄÄÇ»ÅÍ °ü¸®ÀÚ°¡ ¾î¶²°É ½ÇÇà½ÃÄÑ¾ß ÇÒÁö ¾Ë·ÁÁÙ °ÍÀÌ´Ù. ºÎÆýÿ¡ ¸î °¡Áö ½ºÅ©¸³Æ®°¡ ½ÃÀÛµÉ °ÍÀÌ°í ´ÙÀ½ ¿¹Á¦°¡ ÇÊ¿äÇÏ°Ô µÉ °ÍÀÌ´Ù. <verb> dsmc schedule -quiet 2>&1 >/dev/null & </verb> <sect>¾Ë·ÁÁø ¹®Á¦Á¡µé <p> ºÒÇàÇÏ°Ôµµ, SCO´Â 8ÀÚ ÀÌ»óÀÇ È£½ºÆ®¸íÀ» Áö¿øÇÏÁö ¾Ê´Â´Ù. ¸¸¾à ¿©·¯ºÐÀÇ È£½ºÆ®¸íÀÌ ´õ ±æ°Ô ÁöÁ¤µÇ¾î ÀÖ´Ù¸é <tt>/usr/adsm/dsm.sys</tt>¿¡¼­ <tt/NODename/ÀÇ È£½ºÆ®¸íÀ» »õ·Î ÁöÁ¤ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. <p> ¿©·¯ºÐÀÌ ´Ù¾çÇÑ DISPLAY¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù¸é ¿ÏÀüÇÑ È£½ºÆ®¸íÀ» ÁöÁ¤ÇØ ÁÖ¾î¾ß ÇÒ °Í ÀÌ´Ù(¹Ù²ã ¸»Çϸé <tt/DISPLAY=host:0/´ë½Å¿¡ <tt/DISPLAY=host.full.do.main:0/À¸·Î). </article>