½Ã½ºÅÛ¹× °ü¸®ÀÚ¿ë ¸í·É¾îµé¿¡ ´ëÇÑ »ç¿ë¹ýÀº /etc/rc.d ¿¡ ÀÖ´Â ½ÃÀÛ, Á¾·á ½ºÅ©¸³Æ®°¡ ¾ÆÁÖ ÁÁÀº ¿¹Á¦ÀÔ´Ï´Ù. º¸Åë ½Ã½ºÅÛ °ü¸®³ª ÆÄÀϽýºÅÛÀ» ±ä±ÞÇÏ°Ô °íÄ¡·Á°í ÇÒ ¶§ ·çÆ®°¡ ÀÌµé ¸í·É¾î¸¦ »ç¿ëÇÕ´Ï´Ù. ÀÌµé ¸î¸îÀº Àß ¸ø ¾²¸é ½Ã½ºÅÛÀ» ¸Á°¡Æ®¸± ¼ö Àֱ⠶§¹®¿¡ »ç¿ë¿¡ ÁÖÀǸ¦ ¿äÇÕ´Ï´Ù.
½Ã½ºÅÛ »ç¾çÀ» Ç¥ÁØ Ãâ·ÂÀ¸·Î º¸¿©ÁÝ´Ï´Ù(OS, Ä¿³Î ¹öÀü µîµî). -a ¿É¼ÇÀ» ¾²¸é ½Ã½ºÅÛ Á¤º¸¸¦ ¾ÆÁÖ ÀÚ¼¼ÇÏ°Ô º¸¿©ÁÝ´Ï´Ù (예 3-48 Âü°í).
uname -a °á°ú´Â ´ÙÀ½Ã³·³ ³ª¿É´Ï´Ù:
Linux localhost.localdomain 2.2.15-2.5.0 #1 Sat Feb 5 00:13:43 EST 2000 i586 unknown |
½Ã½ºÅÛ ¾ÆÅ°ÅØÃĸ¦ º¸¿©ÁÝ´Ï´Ù. uname -m°ú °°½À´Ï´Ù.
arch °á°ú´Â ´ÙÀ½Ã³·³ ³ª¿É´Ï´Ù:
i586 |
»ç¿ëÀÚ ¾ÆÀ̵ð¿Í ±×·ì ¾ÆÀ̵𸦠º¸¿©ÁÝ´Ï´Ù. ÀÌ ¸í·É¾îÀÇ Ãâ·ÂÀ» °¡Áö°í sed³ª awk¿¡¼ ÆÄ½ÌÇØ¼ ¾µ ¼ö ÀÖ½À´Ï´Ù.
idÀÇ Ãâ·ÂÀÔ´Ï´Ù.
uid=521(bozo) gid=521(bozo) groups=521(bozo),22(cdrom),80(cdwriter),81(audio),504(xgrp) |
½Ã½ºÅÛ ¸®¼Ò½º¿¡ ´ëÇØ¼ ÃÖ´ë ÇѰè(upper limit)¸¦ ÁöÁ¤ÇØ ÁÝ´Ï´Ù. º¸Åë -f ¿É¼ÇÀ» ¾²´Âµ¥, ½©ÀÌ ¸¸µé ¼ö ÀÖ´Â ÆÄÀÏ Å©±â¿¡ Á¦ÇÑÀ» °É¾î ÁÝ´Ï´Ù(ulimit -f 1000´Â ÃÖ´ë ÆÄÀÏ Å©±â¸¦ 1 ¸Þ°¡·Î Àâ¾Æ ÁÝ´Ï´Ù).
½Ã½ºÅÛÀÌ ¾ó¸¶³ª ¿À·§µ¿¾È µ¹°í ÀÖ¾ú´ÂÁö Åë°è¿Í ÇÔ²² º¸¿©ÁÝ´Ï´Ù.
bash$ uptime 10:28pm up 1:57, 3 users, load average: 0.17, 0.34, 0.27 |
ÇÁ·Î±×·¥À̳ª ½ºÅ©¸³Æ®¸¦ ƯÁ¤ ȯ°æ º¯¼ö°ªÀ¸·Î ½ÇÇà½Ã۴µ¥, Àüü ½Ã½ºÅÛ È¯°æ º¯¼ö´Â °Çµå¸®Áö ¾Ê½À´Ï´Ù.
´Ù¸¥ »ç¿ëÀÚ(substitute user)·Î ÇÁ·Î±×·¥À̳ª ½ºÅ©¸³Æ®¸¦ µ¹¸®°Ô ÇÕ´Ï´Ù. rjones¶õ »ç¿ëÀÚ·Î ¼¿À» »õ·Ó°Ô ½ÃÀÛÇÏ·Á¸é su rjones ¶ó°í ÇÏ¸é µË´Ï´Ù. su¸¸ Ä¡¸é root·Î ¹Þ¾ÆµéÀÔ´Ï´Ù. 예 A-7¸¦ Âü°íÇϼ¼¿ä.
½© ¿É¼ÇÀ» Áï½Ã ¹Ù²Ü ¼ö ÀÖ°Ô ÇØÁÝ´Ï´Ù(예 3-85 Âü°í). bash ¹öÀü 2 ¿¡¼¸¸ µ¿ÀÛÇÕ´Ï´Ù.
shopt -s cdspell # 'cd' ¸í·É¾î¿¡¼ öÀÚ°¡ Ʋ¸° µð·ºÅ丮¸¦ ÀÚµ¿À¸·Î °íÃÄÁÝ´Ï´Ù. command. |
ÀÌ À¯Æ¿¸®Æ¼´Â procmail ÆÐŰÁö ÁßÀÇ ÇϳªÀÔ´Ï´Ù( www.procmail.org). ÀÌ ¸í·É¾î´Â Àá±Ý ÆÄÀÏÀ» ¸¸µé¾î Áִµ¥, Àá±Ý ÆÄÀÏÀ̶õ ƯÁ¤ ÆÄÀÏÀ̳ª µð¹ÙÀ̽º, ¸®¼Ò½º¿¡ ´ëÇØ¼ Á¢±Ù Á¦¾î¸¦ ÇØÁÖ´Â ¼¼¸¶Æ÷¾î ÆÄÀÏÀÔ´Ï´Ù. Àá±Ý ÆÄÀÏÀº ÀÌ Æ¯Á¤ÇÑ ÆÄÀÏ, µð¹ÙÀ̽º, ¸®¼Ò½º¸¦ ƯÁ¤ ÇÁ·Î¼¼½º°¡ ¾²°í ÀÖ´Ù´Â Ç÷¡±×·Î ¾²¿©, ´Ù¸¥ ÇÁ·Î¼¼½º¿¡°Ô Á¦ÇÑµÈ Á¢±Ù¸¸À» Çã¿ëÇϰųª ¾Æ¿¹ Á¢±ÙÀ» ¸øÇϵµ·Ï ¸¸µé¾î ÁÝ´Ï´Ù. Àá±Ý ÆÄÀÏÀº ¿©·¯ »ç¿ëÀÚ¿¡ ÀÇÇØ µ¿½Ã¿¡ ½Ã½ºÅÛ ¸ÞÀÏ Æú´õ°¡ º¯°æµÇ´Â °ÍÀ» ¸·¾ÆÁÖ°í, ¸ðµ© Æ÷Æ®°¡ »ç¿ëÁßÀ̶ó´Â °ÍÀ» ¾Ë·ÁÁÖ¸ç, Netscape°¡ ij½¬¸¦ »ç¿ëÁßÀ̶ó´Â °ÍÀ» º¸¿©Áִµ¥ ¾²ÀÏ ¼ö ÀÖ½À´Ï´Ù. ½ºÅ©¸³Æ®¿¡¼ ƯÁ¤ ÇÁ·Î¼¼½º°¡ ¸¸µé¾î ³õÀº Àá±Ý ÆÄÀÏÀÌ ÀÖ´ÂÁö È®ÀÎÇØ ±× ÇÁ·Î¼¼½º°¡ ÀÌ¹Ì ¶° ÀÖ´ÂÁö ¾Ë¾Æ³¾ ¼öµµ ÀÖ½À´Ï´Ù. ¸¸¾à¿¡ ½ºÅ©¸³Æ®°¡ ÀÌ¹Ì ÀÖ´Â Àá±Ý ÆÄÀÏÀ» ¸¸µé·Á°í ÇÑ´Ù¸é ½ºÅ©¸³Æ®°¡ ¸ØÃâ ¼öµµ ÀÖÀ¸´Ï Á¶½ÉÇϼ¼¿ä.
½Ã½ºÅÛ °ü¸®¿ë ÇÁ·Î±×·¥ ½ºÄÉÁì·¯·Î½á, ½Ã½ºÅÛ ·Î±× ÆÄÀÏÀ» Á¤¸®Çϰí Áö¿î´Ù°Å³ª slocate µ¥ÀÌŸ º£À̽º¸¦ ¾÷µ¥ÀÌÆ®ÇѴٰųª ÇÏ´Â ÀϵéÀ» ÇØ ÁÝ´Ï´Ù. atÀÇ ½´ÆÛ À¯Àú¿ë ¹öÀüÀÔ´Ï´Ù. µ¥¸ó(¹é±×¶ó¿îµå ÇÁ·Î¼¼½º)À¸·Î µ¹¸é¼ /etc/crontab¿¡ ÀÖ´Â ³»¿ëµéÀ» ÁÖ±âÀûÀ¸·Î ½ÇÇà½ÃÄÑ ÁÝ´Ï´Ù.
·çÆ® µð·ºÅ丮¸¦ ¹Ù²ãÁÝ´Ï´Ù(CHange ROOT directory). º¸Åë ±âº» ·çÆ® µð·ºÅ丮ÀÎ /¸¦ ±âÁØÀ¸·Î ÇÑ $PATH¿¡ ´ëÇØ¼ ¸í·É¾î¸¦ ÇØ¼®ÇÕ´Ï´Ù. chroot´Â ·çÆ® µð·ºÅ丮¸¦ ´Ù¸¥ °÷À¸·Î ¹Ù²ãÁÝ´Ï´Ù(¶ÇÇÑ ÀÛ¾÷ µð·ºÅ丮¸¦ ±× °÷À¸·Î ¿Å°ÜÁÝ´Ï´Ù). ¿¹¸¦ µé¾î, chroot /opt ¶ó°í ÇÑ ´ÙÀ½ºÎÅÍ´Â /usr/binÀ» /opt/usr/binÀ¸·Î ÇØ¼®ÇÏ°Ô µË´Ï´Ù. ÀÌ´Â º¸¾ÈÀ» À§Çؼ À¯¿ëÇÏ°Ô ¾µ ¼ö Àִµ¥, ¿¹¸¦ µé¸é ½Ã½ºÅÛ °ü¸®ÀÚ°¡ ÅÚ³ÝÀ¸·Î Á¢¼ÓÁßÀÎ »ç¿ëÀÚ¸¦ º¸¾È°ú °ü·ÃµÈ ÆÄÀÏ ½Ã½ºÅÛÀ¸·ÎÀÇ Á¢±ÙÀ» Á¦ÇÑ ½ÃŰ°í ½ÍÀ» ¶§ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. chrootÈÄ¿¡´Â ½Ã½ºÅÛ ¹ÙÀ̳ʸ®¿¡ ´ëÇÑ ½ÇÇà °æ·Î°¡ ´õ ÀÌ»ó ¸ÂÁö ¾Ê°Ô µË´Ï´Ù.
ºñ»ó¿ë ºÎÆ® Ç÷ÎÇÇ¿¡¼ ÆíÇÏ°Ô ¾µ ¼ö ÀÖ°í(/dev/fd0¿¡ chroot¸¦ °É±â), ½Ã½ºÅÛÀÌ ¹Ú»ì ³ª¼ °íÄ¡·Á°í ÇÒ ¶§ lilo¿¡ ¿É¼ÇÀ¸·Î ÁÙ ¼öµµ ÀÖ½À´Ï´Ù. ¶ÇÇÑ ´Ù¸¥ ÆÄÀÏ ½Ã½ºÅÛ¿¡¼ ¼³Ä¡¸¦ ÇÏ·Á°í ÇÒ ¶§µµ »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù(rpm ¿É¼Ç). ·çÆ® »ç¿ëÀÚ¸¸ÀÌ ½ÇÇà ½Ãų ¼ö ÀÖÀ¸¸ç, »ç¿ë½Ã ÁÖÀǰ¡ ÇÊ¿äÇÕ´Ï´Ù.
ƯÁ¤ ½ÇÇà ÆÄÀÏ¿¡ ÇÊ¿äÇÑ °øÀ¯ ¶óÀ̺귯¸®¸¦ º¸¿©ÁÝ´Ï´Ù.
bash$ ldd /bin/ls libc.so.6 => /lib/libc.so.6 (0x4000c000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000) |
ÇöÀç Á¢¼Ó µÇ¾î ÀÖ´Â ¸ðµç »ç¿ëÀÚµéÀ» º¸¿©ÁÝ´Ï´Ù.
whoami´Â whoÀÇ º¯Á¾À¸·Î ÇöÀç »ç¿ëÀÚ¸¸ º¸¿©ÁÝ´Ï´Ù.
ÇöÀç »ç¿ëÀÚÀÇ ·Î±×ÀÎ À̸§À» /var/run/utmp¿¡¼ ã¾Æ¼ º¸¿© ÁÝ´Ï´Ù. À§ÀÇ whoami¿Í °°Àº ¸í·É¾îÀÔ´Ï´Ù.
·Î±×ÀÎ µÇ¾î ÀÖ´Â ¸ðµç »ç¿ëÀÚ¿Í °ü·ÃµÈ ¸ðµç ÇÁ·Î¼¼½º¸¦ º¸¿© ÁÝ´Ï´Ù. ÀÌ´Â whoÀÇ È®Àå ¹öÀüÀε¥, wÀÇ Ãâ·ÂÀº grepÀ¸·Î ÆÄÀÌÇÁ¸¦ °É¾î¼ ƯÁ¤ÇÑ »ç¿ëÀÚ³ª ƯÁ¤ ÇÁ·Î¼¼½º¸¦ ã´Âµ¥ ¾²ÀÏ ¼ö ÀÖ½À´Ï´Ù.
bash# w | grep startx grendel tty1 - 4:22pm 6:41 4.47s 0.45s startx |
·Î±×ÀÎ Çϰí ÀÖ´Â ¸ðµç »ç¿ëÀÚ¸¦ º¸¿© ÁÝ´Ï´Ù. who -q¿Í °ÅÀÇ ºñ½ÁÇÑ ¸í·É¾îÀÔ´Ï´Ù.
ÇöÀç »ç¿ëÀÚÀÇ Å͹̳ΠÀ̸§À» ¾Ë·Á ÁÝ´Ï´Ù. ¼·Î ´Ù¸¥ ¿¢½ºÅÒ À©µµ¿ì´Â ´Ù¸¥ Å͹̳ÎÀ» °®´Â´Ù´Â °Í¿¡ ÁÖÀÇÇϼ¼¿ä.
bash# tty /dev/pts/1 |
Å͹̳Π¼¼ÆÃÀ» º¸¿©Áְųª º¯°æÇÕ´Ï´Ù.
예 3-67. secret password: Å͹̳Π¿¡ÄÚ ²ô±â
#!/bin/bash echo echo -n "ºñ¹Ð¹øÈ£¸¦ ³ÖÀ¸¼¼¿ä " read passwd echo "ºñ¹Ð¹øÈ£´Â $passwd ÀÔ´Ï´Ù." echo -n "´©±º°¡°¡ ¾î±ú ³Ê¸Ó·Î ´ç½ÅÀ» º¸°í ÀÖ¾ú´Ù¸é, " echo "´ç½ÅÀÇ ºñ¹Ð¹øÈ£¸¦ ¾Ë¾Æ³ÂÀ» ¼öµµ ÀÖ½À´Ï´Ù." echo && echo # "and list"·Î ¹Àº ¶óÀÎ ÇÇµå µÎ ÁÙ. stty -echo # È¸é ¿¡ÄÚ¸¦ ²ü´Ï´Ù. echo -n "ºñ¹Ð¹øÈ£¸¦ ´Ù½Ã ³ÖÀ¸¼¼¿ä " read passwd echo echo "ºñ¹Ð¹øÈ£´Â $passwd ÀÔ´Ï´Ù." echo stty echo # È¸é ¿¡ÄÚ¸¦ ŵ´Ï´Ù. exit 0 |
"write all"ÀÇ ¾Õ±ÛÀÚ¸¦ µû¼ wallÀÌ µÈ ÀÌ ¸í·É¾î´Â ÇöÀç ·Î±×ÀÎ µÇ¾î ÀÖ´Â ¸ðµç »ç¿ëÀڵ鿡°Ô ¸Þ¼¼Áö¸¦ ³¯¸³´Ï´Ù. ¿ø·¡´Â ½Ã½ºÅÛ °ü¸®ÀÚ¿ë µµ±¸ÀÔ´Ï´Ù. ¿¹¸¦ µé¾î ½Ã½ºÅÛ¿¡ ¹®Á¦°¡ »ý°Ü¼ Àá±ñ µ¿¾È ´Ù¿î ½ÃÄÑ¾ß ÇÒ Çʿ䰡 »ý°åÀ» ¶§ ¸ðµç »ç¿ëÀڵ鿡°Ô °æ°í¸¦ ÇÒ ¼ö°¡ ÀÖ°Ô ÇØ ÁÝ´Ï´Ù(예 3-93 Âü°í).
wall System going down for maintenance in 5 minutes! |
»ç¿ëÀÚ°¡ ¸¸µé¾î³½ ¸Þ¼¼Áö¸¦ ½Ã½ºÅÛ ·Î±×(/var/log/messages)¿¡ Ãß°¡ ½Ãŵ´Ï´Ù. ÀÌ ¸í·É¾î´Â ·çÆ®°¡ ¾Æ´Ï¾îµµ ±¦Âú½À´Ï´Ù.
logger Experiencing instability in network connection at 23:10, 05/21. # ÀÚ, ÀÌÁ¦ 'tail /var/log/messages' ¶ó°í ÇØº¸¼¼¿ä. |
½Ã½ºÅÛ ºÎÆÃ ¸Þ¼¼Áö¸¦ Ç¥ÁØ Ãâ·ÂÀ¸·Î º¸¿©ÁÝ´Ï´Ù. µð¹ö±ëÇÒ ¶§, ¾î¶² µð¹ÙÀ̽º µå¶óÀ̹ö°¡ ¼³Ä¡µÆ´ÂÁö È®ÀÎÇÒ ¶§, »ç¿ëÁßÀÎ ½Ã½ºÅÛ ÀÎÅÍ·´Æ®°¡ ¹«¾ùÀÎÁö È®ÀÎÇÒ ¶§ À¯¿ëÇÏ°Ô ¾µ ¼ö ÀÖ½À´Ï´Ù. ½ºÅ©¸³Æ®¿¡¼ dmesgÀÇ Ãâ·ÂÀ» grepÀ̳ª, sed, awk·Î ÆÄ½ÌÇØ¼ ¾µ ¼ö ÀÖ½À´Ï´Ù.
¹é±×¶ó¿îµå·Î µ¹°í ÀÖ´Â ¸ðµç ÀÛ¾÷µéÀ» º¸¿©ÁÝ´Ï´Ù.
¾î¶² ÆÄÀÏÀ̳ª, ÆÄÀÏ ÁýÇÕ, µð·ºÅ丮¿¡ Á¢±ÙÇϰí ÀÖ´Â ÇÁ·Î¼¼½º¸¦ ÇÁ·Î¼¼½º ID·Î ã¾Æ ÁÝ´Ï´Ù. -k ¿É¼ÇÀ» ¾²¸é ÇØ´ç ÇÁ·Î¼¼½º¸¦ Á×ÀÏ ¼ö ÀÖ½À´Ï´Ù. ½Ã½ºÅÛÀÇ ¼ºñ½º¿¡ ´ëÇØ Çã°¡ ¹ÞÁö ¾ÊÀº »ç¿ëÀÚÀÇ Á¢±ÙÀ» ¸·´Â µîÀÇ ¿ëµµ·Î ¾µ ¼ö°¡ ÀÖ½À´Ï´Ù.
½ÇÇàÁßÀÎ ÀÛ¾÷ÀÇ ÇÁ·Î¼¼½º ID(pid)¸¦ ¾Ë·ÁÁÝ´Ï´Ù. ÇÁ·Î¼¼½ºÀÇ À̸§ÀÌ ¾Æ´Ñ pid¿¡ ´ëÇØ¼ µ¿ÀÛÇÏ´Â killÀ̳ª renice°°Àº ÀÛ¾÷ Á¦¾î ¸í·Éµé¿¡ À¯¿ëÇÕ´Ï´Ù.
예 3-68. ÇÁ·Î¼¼½º¸¦ Á×ÀÏ ¶§ pidof »ç¿ëÇϱâ
#!/bin/bash # kill-process NOPROCESS=2 process=xxxyyyzzz # Á¸ÀçÇÏÁö ¾ÊÀ» ÇÁ·Î¼¼½º¸¦ °¡Áö°í, # ±×³É µ¥¸ð¿ë... # ... ½ÇÁ¦·Î µ¹°í ÀÖ´Â ¾î¶² ÇÁ·Î¼¼½ºµµ Á×ÀÌ·Á°í ÇÏ´Â°Ô ¾Æ´Ï´Ï±î. # ÇÏÁö¸¸, ¿¹¸¦ µé¾î ÀÎÅͳݿ¡¼ ·Î±×¿ÀÇÁ ÇÏ°í ½Í´Ù¸é process=pppd ¶ó°í ÇÏ¸é µË´Ï´Ù. t=`pidof $process` # $process ÀÇ pid(ÇÁ·Î¼¼½º ID)¸¦ ã¾Æ¼ # 'kill'Àº ÇÁ·Î±×·¥ À̸§ÀÌ ¾Æ´Ï¶ó pid¸¦ ¾²±â ¶§¹®¿¡ if [ -z $t ] # ÇÁ·Î¼¼½º°¡ ¾ø´Ù¸é 'pidof'´Â nullÀ» ¸®ÅÏÇÔ. then echo "½ÇÇàÁßÀÎ $process ÇÁ·Î¼¼½º°¡ ¾ø¾î¼ ±×³É Á¾·áÇÕ´Ï´Ù." exit $NOPROCESS fi kill $t # Àß Á×Áö ¾Ê´Â ÇÁ·Î¼¼½º¶ó¸é 'kill -9'¶ó°í ÇØ¾ß ÇÒÁöµµ ¸ð¸¨´Ï´Ù. # Á×Áö ¾Ê°Ô µÅ ÀÖ´Â ÇÁ·Î¼¼½ºÀϼöµµ Àֱ⠶§¹®¿¡ # ´Ù½Ã ÇÑ ¹ø " t=`pidof $process` "·Î È®ÀÎÇØ ºÁ¾ß ÇÒÁöµµ ¸ð¸¨´Ï´Ù. exit 0 |
¹é±×¶ó¿îµå ÀÛ¾÷ÀÇ ¿ì¼±¼øÀ§¸¦ º¸¿©Áְųª ¹Ù²ãÁÝ´Ï´Ù. ¿ì¼±¼øÀ§´Â 19(Á¦ÀÏ ³·À½)¿¡¼ -20(Á¦ÀÏ ³ôÀ½)±îÁö ÀÔ´Ï´Ù. ¿ÀÁ÷ root ¸¸ÀÌ À½¼ö ¿ì¼±¼øÀ§(³ôÀº)¸¦ ÁÙ ¼ö ÀÖ½À´Ï´Ù. °ü·Ã ¸í·É¾î·Î´Â renice, snice, skillÀÌ ÀÖ½À´Ï´Ù.
»ç¿ëÀÚ°¡ ½ÇÇà½ÃŲ ÇöÀç ÇÁ·Î¼¼½º¸¦ º¸¿©ÁÝ´Ï´Ù. º¸Åë ps axó·³ ½á¼ ½ÇÇàÁßÀÎ ¸ðµç ÇÁ·Î¼¼½º¸¦ º¸¿©ÁÝ´Ï´Ù(예 3-51 Âü°í).
»ç¿ëÀÚ°¡ ·Î±× ¾Æ¿ôÀ» ÇÏ´õ¶óµµ ¸í·É¾î°¡ °è¼Ó µ¹°Ô ÇØ ÁÝ´Ï´Ù. &¸¦ ºÙ¿©¼ ½ÇÇà ½ÃŰÁö ¾ÊÀ¸¸é Æ÷±×¶ó¿îµå·Î ½ÇÇàÀÌ µÉ °ÍÀÔ´Ï´Ù. nohupÀ» ½ºÅ©¸³Æ®¿¡¼ »ç¿ëÇÑ´Ù¸é °í¾Æ ÇÁ·Î¼¼½º³ª Á»ºñ ÇÁ·Î¼¼½º°¡ »ý±âÁö ¾Êµµ·Ï wait¿Í °°ÀÌ »ç¿ëÇÏ¼Å¾ß µË´Ï´Ù.
¸Þ¸ð¸®¿Í ij½¬ »ç¿ë·®À» ÅÇÀÌ µé¾î°£ ÇüÅ·Πº¸¿©ÁÝ´Ï´Ù. ÀÌ ¸í·É¾îÀÇ Ãâ·ÂÀº grepÀ̳ª awk, PerlÀ» ½á¼ ÆÄ½ÌÇϱ⿡ ¾Ë¸ÂÀº ÇüÅÂÀÔ´Ï´Ù.
bash$ free total used free shared buffers cached Mem: 30504 28624 1880 15820 1608 16376 -/+ buffers/cache: 10640 19864 Swap: 68540 3128 65412 |
¹öÆÛ¿¡ ÀÖ´Â Ãֽе¥ÀÌŸ¸¦ ÇÏµå µå¶óÀ̺ê·Î Áï½Ã ¾²µµ·Ï ¸¸µì´Ï´Ù. ÀÌ°Ô ²À ÇÊ¿äÇÑ °ÍÀº ¾Æ´ÏÁö¸¸ °©Àڱ⠽ýºÅÛ Àü¿øÀÌ ³ª°¡¹ö¸®´Â »óȲ¿¡¼ ±× Àü µ¥ÀÌŸµéÀÌ ¾ÈÀüÇÏ°Ô º¯°æ µÆ´Ù´Â °ÍÀ» È®½ÇÈ÷ ÇØÁÝ´Ï´Ù. ¿¹Àü¿¡´Â sync sync°¡ ½Ã½ºÅÛÀ» ¸®ºÎÆ® Çϱâ Àü¿¡ ¾ÆÁÖ ÁÁÀº ¿¹¹æÃ¥À¸·Î ¾²¿´½À´Ï´Ù.
init ¸í·É¾î´Â ¸ðµç ÇÁ·Î¼¼½ºÀÇ ºÎ¸ð ÇÁ·Î¼¼½º·Î¼, ½Ã½ºÅÛ ºÎÆÃ °úÁ¤ÀÇ Á¦ÀÏ ¸¶Áö¸·¿¡ ºÒ¸³´Ï´Ù. init´Â /etc/inittabÀ» ÇØ¼®Çؼ ½Ã½ºÅÛÀÇ ·±·¹º§À» °áÁ¤ÇÕ´Ï´Ù. ¿ÀÁ÷ ·çÆ®¸¸ÀÌ º°¸íÀÎ telinit·Î ºÎ¸¦ ¼ö ÀÖ½À´Ï´Ù.
init¿¡ ´ëÇÑ ½Éº¼¸¯ ¸µÅ©·Î¼, ½Ã½ºÅÛÀ» °ü¸®ÇؾßÇϰųª ±ä±ÞÇÏ°Ô ÆÄÀÏ ½Ã½ºÅÛÀ» Á¡°Ë ÇØ¾ß ÇÒ Çʿ䰡 ÀÖÀ» ¶§ ½Ã½ºÅÛ ·±·¹º§À» ¹Ù²Ü ¼ö ÀÖµµ·Ï ÇØ ÁÝ´Ï´Ù. ·çÆ® »ç¿ëÀÚ¸¸ÀÌ ½ÇÇà½Ãų ¼ö ÀÖ°í¾ÆÁÖ À§ÇèÇÑ ¸í·É¾îÀ̱⠶§¹®¿¡ »ç¿ëÀü¿¡ È®½ÇÈ÷ ÀÌÇØ¸¦ Çϰí ÀÖ¾î¾ß ÇÕ´Ï´Ù.
ÇöÀç¿Í ¹Ù·Î ÀüÀÇ ·±·¹º§À» º¸¿©ÁÝ´Ï´Ù. ½Ã½ºÅÛÀÌ Á¤Áö »óÅÂÀÎÁö(·±·¹º§ 0), ´ÜÀÏ »ç¿ëÀÚ ¸ðµåÀÎÁö(1), ´ÙÁß »ç¿ëÀÚ ¸ðµåÀÎÁö(2³ª 3), X À©µµ¿ì ¸ðµåÀÎÁö(5), ¸®ºÎÆÃÁßÀÎÁö(6).
º¸Åë ½Ã½ºÅÛ Àü¿øÀ» ³»¸®±â Àü¿¡ ½Ã½ºÅÛÀ» Á¤Áö½ÃŰ´Â ¸í·É¾î.
½ÇÁ¦´Â ÇöÀç ÇÁ·Î¼¼½º¸¦ ƯÁ¤ÇÑ ¸í·É¾î·Î ¹Ù²ãÁÖ´Â ½Ã½ºÅÛ ÄÝÀÔ´Ï´Ù. º¸Åë °ÅÀÇ ´ëºÎºÐÀÌ find¿Í °°ÀÌ ½á¼, find·Î ãÀº ÆÄÀÏ¿¡ ´ëÇØ¼ ¾î¶² ¸í·É¾î¸¦ ½ÇÇà½Ã۴µ¥ ¾²ÀÔ´Ï´Ù(예 3-47 Âü°í). ½ºÅ©¸³Æ® ¾È¿¡¼ ´Üµ¶À¸·Î ¾²À̸é exec µÈ ¸í·É¾î°¡ Á¾·áµÈ ÈÄ °Á¦·Î ½ºÅ©¸³Æ®¸¦ Á¾·á½Ãŵ´Ï´Ù. ÆÄÀÏ µð½ºÅ©¸³Å͸¦ ÀçÇÒ´çÇÒ ¶§µµ ¾²À̴µ¥, exec <zzz-fileÀ̶ó°í Çϸé Ç¥ÁØ ÀÔ·ÂÀ» zzz-file·Î º¯°æÇÕ´Ï´Ù(예 3-72 Âü°í).
³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽º ¼³Á¤ À¯Æ¿¸®Æ¼.
Ä¿³ÎÀÇ ¶ó¿ìÆÃ Å×À̺í Á¤º¸¸¦ º¸¿©Áְųª º¯°æ Çϱâ.
¶ó¿ìÆÃ Å×À̺íÀ̳ª Ȱ¼ºÈµÇ¾î ÀÖ´Â ¿¬°á°°Àº ³×Æ®¿öÅ© Á¤º¸µé°ú Åë°è¸¦ º¸¿©ÁÖ±â.
ºí·° µð¹ÙÀ̽º³ª ¹®ÀÚ µð¹ÙÀ̽º ÆÄÀÏÀ» ¸¸µé±â(¿¹¸¦ µé¸é »õ·Î Çϵå¿þ¾î¸¦ ¼³Ä¡ ÇÒ °æ¿ì).
ÆÄÀϽýºÅÛÀ» ¸¶¿îÆ®Çϱâ. º¸ÅëÀº Ç÷ÎÇdzª ½Ãµð·Ò °°Àº ¿ÜºÎ µð¹ÙÀ̽º¿¡ ´ëÇØ ¾²ÀÔ´Ï´Ù. /etc/fstab¿¡´Ù°¡ ¿É¼Ç°°Àº °Í°ú ÇÔ²² °¡´ÉÇÑ ÆÄÀϽýºÅÛ ¸ñ·ÏÀ» Àû¾î ³õÀ¸¸é ÀÚµ¿À̳ª ¼öµ¿À¸·Î ¸¶¿îÆ®¸¦ ½Ãų ¶§ ÂüÁ¶ ÇÒ ¼ö ÀÖ½À´Ï´Ù. /etc/mtab ÆÄÀÏÀº /proc°°Àº °¡»ó ÆÄÀϽýºÅÛµµ Æ÷ÇÔÇØ¼ ÇöÀç ¸¶¿îÆ® µÇ¾î ÀÖ´Â ÆÄÀϽýºÅÛÀ» º¸¿©ÁÝ´Ï´Ù.
mount -t iso9660 /dev/cdrom /mnt/cdrom # CDROM ¸¶¿îÆ® Çϱâ mount /mnt/cdrom # /etc/fstab¿¡ /mnt/cdrom ¿¡ ´ëÇÑ Ç׸ñÀÌ µé¾î ÀÖÀ» ¶§ °£´ÜÈ÷ ¸¶¿îÆ® Çϱâ |
ÇöÀç ¸¶¿îÆ® µÇ¾î ÀÖ´Â ÆÄÀϽýºÅÛÀ» ¾ð¸¶¿îÆ® Çϱâ. ÀÌ¹Ì ¸¶¿îÆ® µÇ¾î ÀÖ´Â Ç÷ÎÇdzª ½Ãµð·Ò µð½ºÅ©¸¦ »©±â Àü¿¡ ²À umount ÇØ¾ß ÇÕ´Ï´Ù. ¾È ±×·¯¸é ÆÄÀϽýºÅÛÀÌ ±úÁú ¼öµµ ÀÖ½À´Ï´Ù.
umount /mnt/cdrom |
ÇöÀç ¿Ã¶ó¿Í ÀÖ´Â Ä¿³Î ¸ðµâ ¸ñ·Ï.
°Á¦·Î Ä¿³Î ¸ðµâÀ» ¿Ã¸®±â. ·çÆ®¸¸ ½ÇÇà ½Ãų ¼ö ÀÖ½À´Ï´Ù.
º¸ÅëÀº ½Ã½ºÅÛ ½ÃÀÛ ½ºÅ©¸³Æ®¿¡¼ ÀÚµ¿À¸·Î ºÒ¸®´Â ¸ðµâ ·Î´õÀÔ´Ï´Ù.
º¸Åë, ½Ã½ºÅÛ ½ÃÀÛ ½ºÅ©¸³Æ®¿¡¼ ºÒ·Á¼ ¸ðµâ ÀÇÁ¸¼º ÆÄÀÏÀ» ¸¸µé¾î ³À´Ï´Ù.
·çÆ® µð¹ÙÀ̽º, ½º¿Ò °ø°£, ºñµð¿À ¸ðµå¿¡ ´ëÇÑ Á¤º¸¸¦ º¸¿©Áְųª ¹Ù²Ü ¼ö ÀÖ°Ô ÇØ ÁÝ´Ï´Ù. rdevÀÇ ±â´ÉÀº lilo°¡ ´Ù ³Ñ°Ü ¹Þ¾ÒÁö¸¸ ¾ÆÁ÷ ·¥µð½ºÅ©¸¦ ¼¼ÆÃÇϴµ¥¿¡´Â ¾µ ¸¸ÇÕ´Ï´Ù. À߸ø ¾²¸é ¾ÆÁÖ À§ÇèÇÑ ¸í·É¾îÀÔ´Ï´Ù.
Áö±Ý±îÁö ¹è¿î °ü¸®ÀÚ¿ë ¸í·É¾îµéÀ» °¡Áö°í ½Ã½ºÅÛ ½ºÅ©¸³Æ®¸¦ ÇÑ ¹ø »ìÆì º¸°Ú½À´Ï´Ù. killallÀº ½Ã½ºÅÛ ¼Ë´Ù¿î½Ã¿¡ µ¹°í ÀÖ´Â ÇÁ·Î¼¼½ºµéÀ» ¸ØÃß°Ô ÇØÁÖ´Â ÇÁ·Î¼¼½º·Î¼, ªÀ¸¸é¼µµ ÀÌÇØÇϱ⠽¬¿î ½ºÅ©¸³Æ®Áß ÇϳªÀÔ´Ï´Ù.
예 3-70. killall, /etc/rc.d/init.d¿¡¼ ¹ßÃé
#!/bin/sh # --> "-->" Ç¥½Ã´Â º» HOWTO ÀúÀÚ°¡ ºÙÀÎ ÁÖ¼®ÀÔ´Ï´Ù. # --> ÀÌ ½ºÅ©¸³Æ®´Â Miquel van Smoorenburg(<miquels@drinkel.nl.mugnet.org>)ÀÇ # --> 'rc' ½ºÅ©¸³Æ® ÆÐŰÁöÁßÀÇ ÀϺÎÀÔ´Ï´Ù. # --> ÀÌ ½ºÅ©¸³Æ®´Â ·¹µåÇÞ Æ¯À¯ÀÇ ½ºÅ©¸³Æ®ÀÎ °Íó·³ º¸À̱⠶§¹®¿¡ # --> ´Ù¸¥ ¹èÆ÷ÆÇ¿¡´Â ¾øÀ» ¼öµµ ÀÖ½À´Ï´Ù. # ¾²ÀÌÁö ¾ÊÀ¸¸é¼ ½ÇÇàÁßÀÎ ¸ðµç ¼ºñ½º¸¦ Á×ÀÔ´Ï´Ù(½ÇÁ¦·Î ½ÇÇàÁßÀÎÁö¸¦ # È®½ÇÈ÷ È®ÀÎÇϱ⠶§¹®¿¡ ¾Æ¹« ¼ºñ½ºµµ ¾È Á×ÀÏ ¼ö ÀÖ½À´Ï´Ù). for i in /var/lock/subsys/*; do # --> Ç¥ÁØ for/in ·çÇÁÀ̳ª "do"°¡ °°Àº ÁÙ¿¡ Àֱ⠶§¹®¿¡ # --> ";"¸¦ ºÙ¿©Áà¾ß ÇÕ´Ï´Ù. # ½ºÅ©¸³Æ®°¡ ½ÇÁ¦·Î ÀÖ´ÂÁö È®ÀÎ. [ ! -f $i ] && continue # --> "and list"¸¦ ¾ÆÁÖ Àß ½è½À´Ï´Ù. ´ÙÀ½°ú ¶È°°½À´Ï´Ù. # --> if [ ! -f $i ]; then continue # ¼ºê½Ã½ºÅÛ À̸§À» ¾Ë¾Æ³½ ´ÙÀ½ subsys=${i#/var/lock/subsys/} # --> º¯¼ö À̸§ ¸ÅĪÀε¥ ¿©±â¼´Â ÆÄÀÏ À̸§ÀÌ µÇ°ÚÁÒ. # --> subsys=`basename $i`¿Í ¶È°°½À´Ï´Ù. # --> Àá±Ý ÆÄÀÏ À̸§À» ¾ò´Âµ¥, Àá±Ý ÆÄÀÏÀÌ ÀÖ´Ù¸é ÇØ´ç ÇÁ·Î¼¼½º°¡ # --> ½ÇÇàÁßÀ̶ó´Â Áõ°ÅÀÔ´Ï´Ù. # --> ¾Õ¿¡¼ ¼³¸íÇß´ø "lockfile" À» Âü°íÇϼ¼¿ä. # ±× ¼ºê½Ã½ºÅÛÀ» ³»¸³´Ï´Ù. if [ -f /etc/rc.d/init.d/$subsys.init ]; then /etc/rc.d/init.d/$subsys.init stop else /etc/rc.d/init.d/$subsys stop # --> 'stop'À» ½á¼ µ¹°í ÀÖ´Â ÀÛ¾÷µé°ú µ¥¸óÀ» ³»¸³´Ï´Ù. fi done |
º°·Î ¾î·Á¿ö º¸ÀÌÁö ¾Ê½À´Ï´Ù. º¯¼ö ¸ÅĪ¿¡ ´ëÇÑ ºÎºÐ¸¸ »©°í ¾Õ¿¡¼ ´Ù ¹è¿î °ÍµéÀÔ´Ï´Ù.
¿¬½À¹®Á¦. /etc/rc.d/init.d¿¡ ÀÖ´Â halt ½ºÅ©¸³Æ®¸¦ ºÐ¼®ÇØ º¸¼¼¿ä. killallº¸´Ù ¾à°£ ´õ ±æÁö¸¸ °³³äÀº °°½À´Ï´Ù. ÀÚ½ÅÀÇ È¨ µð·ºÅ丮 ¾îµðÂë¿¡´Ù º¹»ç ÇØ ³õ°í À̰ÍÀú°Í ½ÇÇèÀ» ÇØ º¸¼¼¿ä(·çÆ®·Î ½ÇÇà½ÃŰ¸é ¾È µË´Ï´Ù). shÀÇ -vn ¿É¼ÇÀ» ½á¼ °¡»ó ¸ðµå·Î ½ÇÇà ½ÃÄÑ º¸¼¼¿ä(sh -vn scriptname). ÁÖ¼®À» ²Ä²ÄÇÏ°Ô ´Þ¾Æ º¸¼¼¿ä. "action" ¸í·É¾î¸¦ "echo"·Î ¹Ù²ã º¸¼¼¿ä.
ÀÚ ÀÌÁ¦, /etc/rc.d/init.d¿¡¼ ´õ º¹ÀâÇÑ ½ºÅ©¸³Æ®¸¦ ´Ù·ï º¸¼¼¿ä. °Å±â¿¡ ÀÖ´Â °ÍµéÀ» ÀÌÇØ ÇÒ ¼ö ÀÖ³ª¿ä? ¹æ±Ý À§¿¡¼ Çß´ø ¹æ¹ýÀ» ½á¼ ºÐ¼®ÇØ º¸¼¼¿ä. /usr/doc/initscripts-X.XX¿¡ ÀÖ´Â sysinitfilesÀ» ºÐ¼®Çؼ ÅëÂû·ÂÀ» ±â¸£¼¼¿ä. ¿©±â¿¡ ÀÖ´Â ÆÄÀϵéÀº "initscripts" ¹®¼ÀÇ ÀϺκÐÀÔ´Ï´Ù.
´Ü ÇϳªÀÇ ¸¸´É ÅøÀ̳ª ½ºÀ§½º ±º¿ë Ä® °°Àº ±â´ÉÀÌ ÇÊ¿äÇÑ ½ºÅ©¸³Æ®µéÀ» À§ÇØ ÆÞÀÌ ÀÖ½À´Ï´Ù. ÆÞÀº sed¿Í awkÀÇ ±â´ÉÀ» ¹¾î CÀÇ Å« ºÎºÐÀ¸·Î ¸¸µì´Ï´Ù. ¸ðµâ·Î µ¿ÀÛÇÏ¸ç °´Ã¼ ÁöÇâ ÇÁ·Î±×·¡¹Ö¿¡¼ ºÎ¾ý ½ÌÅ©´ë±îÁö ¸ðµç °ÍÀ» Áö¿øÇÕ´Ï´Ù. ªÀº ÆÞ ½ºÅ©¸³Æ®´Â ½© ½ºÅ©¸³Æ® »ó¿¡¼ È¿°úÀûÀ¸·Î ¾²ÀÏ ¼ö ÀÖ°í, ÆÞÀÌ ½© ½ºÅ©¸³Æ®¸¦ ¿ÏÀüÈ÷ ´ëüÇÒ ¼ö ÀÖÀ» °Å¶õ ¾ê±âµµ ÀÖÁö¸¸ ÀúÀÚ´Â ±×·¸°Ô »ý°¢ÇÏÁö ¾Ê½À´Ï´Ù.