Sophie

Sophie

distrib > Mandriva > current > x86_64 > by-pkgid > b611ea73723a8287cce23d3124a6eeea > files > 286

howto-sgml-ko-2006-5mdv2010.0.noarch.rpm

#!/bin/bash
# ramdisk.sh

#  "ramdisk" ¶õ ½Ã½ºÅÛÀÇ RAM ÀÇ ÀÏÁ¤ ºÎºÐ(segment)À» 
#+ ÆÄÀϽýºÅÛó·³ ¾²´Â °ÍÀ» ¸»ÇÕ´Ï´Ù.
#  ·¥µð½ºÅ©ÀÇ ÀåÁ¡Àº Àаí/¾²±â°¡ ¾ÆÁÖ ºü¸£´Ù´Âµ¥ ÀÖ½À´Ï´Ù.
#  ´ÜÁ¡: Èֹ߼ºÀÌ Àֱ⠶§¹®¿¡ ½Ã½ºÅÛÀÌ ¸®ºÎÆ®µÇ°Å³ª ²¨Áö¸é ±× ³»¿ëÀ» ÀÒ¾î¹ö¸³´Ï´Ù.
#        ·¥µð½ºÅ©·Î ÇÒ´çÇÑ ¸¸Å­ÀÇ ¸Þ¸ð¸®¸¦ ¸ø ¾²°Ô µË´Ï´Ù.
#
#  ·¥µð½ºÅ©°¡ ¹¹°¡ ÁÁÀ»±î¿ä?
#  Å×À̺íÀ̳ª »çÀüó·³ ¾ÆÁÖ Å« µ¥ÀÌŸ¸¦ ·¥µð½ºÅ©¿¡ ¿Ã·Á ³õÀ¸¸é
#+ µð½ºÅ© Á¢±Ù ¼Óµµº¸´Ù ¸Þ¸ð¸® Á¢±Ù ¼Óµµ°¡ ÈξÀ ºü¸£±â ¶§¹®¿¡ µ¥ÀÌŸ Ž»ö ¼Óµµ°¡ »¡¶óÁý´Ï´Ù.


E_NON_ROOT_USER=70             # ·çÆ®·Î ½ÇÇà.
ROOTUSER_NAME=root

MOUNTPT=/mnt/ramdisk
SIZE=2000                      # 2K ºí·°(ÇÊ¿ä¿¡ µû¶ó ¼öÁ¤)
BLOCKSIZE=1024                 # 1K (1024 byte) ºí·° Å©±â
DEVICE=/dev/ram0               # ù¹ø° ·¥ µð¹ÙÀ̽º

username=`id -nu`
if [ "$username" != "$ROOTUSER_NAME" ]
then
  echo "\"`basename $0`\" ´Â ·çÆ®·Î ½ÇÇà½ÃÄÑ¾ß µË´Ï´Ù."
  exit $E_NON_ROOT_USER
fi

if [ ! -d "$MOUNTPT" ]         #  ¸¶¿îÆ® Æ÷ÀÎÆ®°¡ Á¸ÀçÇÏ´ÂÁö È®ÀÎÇؼ­
then                           #+ ÀÌ ½ºÅ©¸³Æ®¸¦ ¿©·¯¹ø ½ÇÇà½ÃÄѵµ ¿¡·¯°¡ ³ªÁö ¾Êµµ·Ï ÇÔ.
  mkdir $MOUNTPT              
fi

dd if=/dev/zero of=$DEVICE count=$SIZE bs=$BLOCKSIZE  # ·¥ µð¹ÙÀ̽º ÃʱâÈ­(zero out).
mke2fs $DEVICE                 # ·¥ µð½ºÅ©¿¡ ext2 ÆÄÀϽýºÅÛÀ» ¸¸µé°í,
mount $DEVICE $MOUNTPT         # ¸¶¿îÆ®.
chmod 777 $MOUNTPT             # ÀÏ¹Ý »ç¿ëÀÚµµ Á¢±Ù °¡´ÉÇÏ°Ô.
                               # ÇÏÁö¸¸ ¾ð¸¶¿îÆ®´Â ·çÆ®¸¸.

echo "ÀÌÁ¦ \"$MOUNTPT\" ¸¦ ¾µ ¼ö ÀÖ½À´Ï´Ù."
# ÀÌÁ¦ºÎÅÍ´Â ÀϹݻç¿ëÀÚ±îÁöµµ ·¥µð½ºÅ©¿¡ ÆÄÀÏÀ» ÀúÀåÇÒ ¼ö ÀÖ½À´Ï´Ù.

#  ÁÖÀÇÇÒ Á¡Àº ·¥µð½ºÅ©°¡ Èֹ߼ºÀ» °®±â ¶§¹®¿¡ ¸®ºÎÆ®³ª Àü¿øÀÌ ²¨Áú ¶§¿¡´Â
#+ ±× ³»¿ëÀÌ ¾ø¾îÁý´Ï´Ù. 
#  ÀúÀåÇÏ°í ½ÍÀº °ÍÀÌ ÀÖ´Ù¸é ·¥µð½ºÅ©°¡ ¾Æ´Ñ ÀÏ¹Ý µð·ºÅ丮·Î º¹»çÇؼ­ ¾²¸é µË´Ï´Ù.

# ¸®ºÎÆ®ÈÄ¿¡ ·¥µð½ºÅ©¸¦ ´Ù½Ã ¼Â¾÷ÇÏ°í ½Í´Ù¸é ÀÌ ½ºÅ©¸³Æ®¸¦ ½ÇÇà½ÃÅ°¸é µË´Ï´Ù.
#  /mnt/ramdisk ¸¦ ÀÌ ½ºÅ©¸³Æ®¸¦ ÅëÇÏÁö ¾Ê°í 
#+ ´Ù¸¥ ¹æ¹ýÀ¸·Î ´Ù½Ã ¸¶¿îÆ®ÇÏ·Á°í ÇÑ´Ù¸é Á¦´ë·Î µ¿ÀÛÇÏÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù.

exit 0