|
¿ÀǼֶ󸮽ºÀÇ ºôµå¿Í ¼³Ä¡ (Part 2 of 2)
¼Ò°³
ÀÌ ±ÛÀº OpenSolaris ¼Ò½º Äڵ带 ºôµå ÇÏ´Â ¹ýÀ» ¼Ò°³ÇÏ´Â µÎ °³ÀÇ ¹®¼Áß µÎ¹øÂ° ÀÔ´Ï´Ù. ù¹øÂ° ¹®¼´Â ¸ðµç ÇÊ¿äÇÑ ¹è°æ Á¤º¸(´Ü¾î³ª,
Åø µî) ±×¸®°í ±âº»ÀûÀÎ ÄÄÆÄÀϰú ¼³Ä¡¿¡ ´ëÇØ ¼³¸íÇß½À´Ï´Ù. ù¹øÂ° ±Û¿¡¼ ¼öÇàÇß´ø ´Ü°èµé Áß¿¡ ¿ì¸®ÀÇ ¿ä±¸¿¡ ¸ÂÁö ¾Ê°Ô ºÎÁ·ÇÑ ºÎºÐÀÌ ÀÖ¾ú½À´Ï´Ù.
ÀÌ ±Û¿¡¼´Â ºÎÁ·ÇÑ ³ª¸ÓÁö ºÎºÐÀ» ä¿ì´Â °Í¿¡ ´ëÇØ ¼³¸íÇÒ °ÍÀÔ´Ï´Ù.
ÀÌ ±ÛÀº µ¶ÀÚµéÀÌ Ã¹¹øÂ° ±Û¿¡ Ä£¼÷ÇÏ´Ù´Â °¡Á¤ÇÏ¿¡ ¶Ç´Â Àû¾îµµ OpenSolaris ¼Ò½º Äڵ带 ¾ò¾î¼ ºôµåÇϰí ÀνºÅç ÇÏ´Â ¹æ¹ýÀ» ¾È´Ù´Â
°¡Á¤ÇÏ¿¡¼ ¾²¿© Á³½À´Ï´Ù. Àϰü¼ºÀ» À§Çؼ ù¹øÂ° ±Û°ú °°Àº ¼Ò½º ÄÚµå ¹öÀüÀ» »ç¿ëÇÒ °ÍÀÔ´Ï´Ù.
°£´ÜÇÑ º¹½À
ù¹øÂ° ±Û¿¡¼ ¿ì¸®´Â OenSolaris¸¦ ´Ù·ê¶§ ¸¶ÁÖÄ¡´Â °¢ ´Ü¾îµé¿¡ ´ëÇØ Á¤ÀǸ¦ ³»·È½À´Ï´Ù. ¶ÇÇÑ ¼Ò½ºÄڵ带 ¾ò´Â ¹æ¹ý°ú ÄÄÆÄÀÏ ÇÏ´Â ¹æ¹ý
±×¸®°í OpenSolaris¸¦ ¼³Ä¡ ÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ¼µµ ´Ù·ç¾ú½À´Ï´Ù. ÀÌ·¯ÇÑ ´Ü°èµéÀº:
- www.opensolaris.org ¶Ç´Â ¹Ì·¯»çÀÌÆ®¿¡¼ ¼Ò½º ÄÚµå, ¹ÙÀ̳ʸ®. ÄÄÆÄÀÏ·¯ ±×¸®°í ºôµå ÅøÀ» ¾òÀ½.
- ON ºôµå Åø ±×¸®°í ½ã ½ºÆ©µð¿À ÄÄÆÄÀÏ·¯¸¦ /opt ¿¡ ¼³Ä¡
ÇÏ°í µð·ºÅ丮µéÀ» PATH¿¡ Ãß°¡.
- ¼Ò½º ±×¸®°í ¹ÙÀ̳ʸ®µéÀÇ tar ballÀ» ¾ÐÃàÇØÁ¦.
- opensolaris.sh ½ºÅ©¸³Æ®¸¦ º¹»çÇÏ°í ¼öÁ¤.
- nightly ½ºÅ©¸³Æ®¸¦ ÀÌ¿ëÇÏ¿© ¼Ò½º Äڵ带 ºôµå.
- Install
½ºÅ©¸³Æ®¸¦ ÀÌ¿ëÇÏ¿© »õ·Î¿î Ä¿³ÎÀ» ÀνºÅç.
- »õ·Î¿î Ä¿³ÎÀ» ÀÌ¿ëÇÏ¿© ÀçºÎÆÃ.
ÀÌ·¯ÇÑ ´Ü°èµéÀº »õ·Î¿î Ä¿³ÎÀ» ºôµåÇϰí Å×½ºÆ® Çϴµ¥¿¡´Â ¾ÆÁÖ ÀûÇÕÇÕ´Ï´Ù. ±×·¯³ª À̰ÍÀ¸·Î´Â ºÎÁ·ÇÒ ¶§µµ ÀÖ½À´Ï´Ù: »õ·Î¿î »ç¿ëÀÚ ¿µ¿ª ÄÄÆ÷³ÍÆ®µéÀ»
¼³Ä¡Çϰųª »õ·Ó°Ô ºôµåµÈ Ä¿³ÎÀÌ »ç¿ëÀÚ ¿µ¿ª ÀÇ ¶óÀ̺귯¸®, ¾îÇø®ÄÉÀ̼ǰú Ãæµ¹ÇÏ´Â °æ¿ì. ÈÄÀÚÀÇ ½Ã³ª¸®¿À´Â Flag Day ¶ó°í ºÒ¸³´Ï´Ù.
Flag DayÀÇ ¶Ç´Ù¸¥ ¿¹·Î´Â ±× ÀڽŵéÀ» ÀÇÁ¸Çϰí ÀÖ´Â ¶óÀ̺귯¸®¿Í Ä¿¸Çµå¸¦ ÀÌ¿ëÇÏ¿© ¾÷µ¥ÀÌÆ®¸¦ ¼öÇàÇÒ ¶§ ÀÔ´Ï´Ù.
Flag Days
Flag Day ¶õ ON ÄÄÆ÷³ÍÆ®µéÀ» »ç¿ëÇϱâ Àü¿¡ ÃֽŹöÀüÀÇ ½Ã½ºÅÛ
ÆÐŰÁöµéÀÌ ¹Ýµå½Ã ¸ÕÀú ¼³Ä¡ µÇ¾î¾ß ÇÔÀ» ¶æÇÕ´Ï´Ù. ¸¸¾à ÀÌ·¯ÇÑ »óȲÀÌ ¹ß»ýÇÑ´Ù¸é Flag Day °øÁö°¡ OpenSolaris À¥ »çÀÌÆ®(www.opensolaris.org/os/community/onnv)
¿¡ ¿Ã¶ó¿Ã °ÍÀÔ´Ï´Ù. ÀÌ·¯ÇÑ °øÁö´Â »õ·Ó°Ô ¿ä±¸µÇ´Â ¼ÒÇÁÆ®¿þ¾î¸¦ ºôµåÇϰųª ÀνºÅçÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ ¼³¸íÀ» Æ÷ÇÔÇÒ °ÍÀÔ´Ï´Ù. Ưº°È÷ À̱ÛÀº BFU
À¯Æ¿¸®Æ¼ »ç¿ë¿¡ ÃÐÁ¡À» ¸ÂÃß¾î Ç¥ÁØ ¼Ö¶ó¸®½º ÆÐŰÁö¿¡¼ ¾÷µ¥ÀÌÆ®°¡ ºÒ°¡´ÉÇÑ ÄÄÆ÷³ÍÆ®µéÀ» ¾÷±×·¹À̵å ÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¼³¸íÇÒ °ÍÀÔ´Ï´Ù. ÀÌ·¯ÇÑ
¹æ¹ý¿¡ Àǹ®ÀÌ »ý±ä´Ù¸é ÃÖ½ÅÀÇ Solaris Express¸¦ ¼³Ä¡ ÇÏ´Â °ÍÀÌ °®¾Æ ÁÁÀº ¼±ÅÃÀÌ µÉ°ÍÀÔ´Ï´Ù. »ç½Ç BFU ´Â ON ÄÚµåÀÇ ´Éµ¿ÀûÀÎ
°³¹ßÀÚµéÀÌ »ç¿ëÇϱ⸦ ±ÇÀåÇÕ´Ï´Ù. (¶Ç´Â Ãֽбâ¼ú¿¡ ¸ñ¸»¶ó ÀÖ´Â °³¹ßÀÚµé).
BFU 񃧯
ONÀÇ ¸ðµç ºÎºÐÀ» ¼³Ä¡ ÇÏ´Â ÀýÂ÷¸¦ BFU ¶ó°í ºÎ¸¨´Ï´Ù. ÀÌ °ÍÀº
Blindingly Fast Upgrade (¶Ç´Â Bonwick-Faulkner Upgrade, º»·¡ÀÇ °³¹ßÀÚ À̸§ÀÎ Jeff Bonwick
±×¸®°í Roger FaulknerÀÇ À̸§À» º»µû¼)ÀÇ ¾àÀÚÀÔ´Ï´Ù. BFU´Â cpio
¾îÄ«À̺긦 ÀÌ¿ëÇÏ¿© ±âÁ¸¿¡ ½Ã½ºÅÛÀÇ Á¸ÀçÇÏ´Â ÄÄÆ÷³ÍÆ®µéÀ» Á÷Á¢ÀûÀ¸·Î µ¤¾î ¾º¿ì´Âµ¥ »ç¿ëµË´Ï´Ù. (BFU¸¦ ¼öÇàÇÏ°í ³ª¼ ¼Ö¶ó¸®½º ÆÐŰ¡ ÅøÀ»
´õÀÌ»ó »ç¿ëÇÏÁö ¾Ê¾Æµµ µÇ´Â ÀÌÀ¯À̱⵵ ÇÔ); ÀÌ·¯ÇÑ ¾îÄ«À̺êµéÀº nightly ºôµå ÀýÂ÷ÀÇ ÀϺηΠ¸¸µé¾î Á³°í ÀÌ Àü¿¡
±Û¿¡¼µµ ÀÌ¹Ì ¾ð±ÞÇÑ ¹Ù ÀÖ½À´Ï´Ù.
BFU¸¦ ÀÌ¿ëÇÏ¿© »õ·Ó°Ô ÄÄÆÄÀÏµÈ ÄÄÆ÷³ÍÆ®µéÀ» ÀνºÅç Çϱâ Àü¿¡ ¿ì¸®´Â ´ÙÀ½°ú °°Àº ¼¼°¡ÁöÀÇ È¯°æ º¯¼öµéÀ» Á¤ÀÇÇØ¾ß ÇÕ´Ï´Ù. ±× °ÍµéÀº:
FASTFS
º¸Åë /opt/onbld/bin/`uname -p`/fastfs ¿¡ Á¸Àç.
BFULD
º¸Åë /opt/onbld/bin/`uname -p`/bfuld¿¡ Á¸Àç.
GZIPBIN º¸Åë /bin/gzip¿¡ Á¸Àç.
ÀÌ·¯ÇÑ º¯¼öµéÀ» ½©ÀÇ ½ÃÀÛ ½ºÅ©¸³Æ®¿¡ ÁöÁ¤ÇÕ´Ï´Ù.(¿¹¸¦ µé¾î .profile) ÀÌ·¸°Ô ÇØ³õ´Â °ÍÀÌ BFU¸¦ ÀÚÁÖ »ç¿ëÇÒ¶§ ÆíÇÑ ¹æ¹ýÀÌ µÉ°ÍÀÔ´Ï´Ù.
ù ¹øÂ° ±Û¿¡¼ ¼³¸íÇß´ø opensolaris.sh ȯ°æ ÆÄÀÏ ¶ÇÇÑ ÀÌ·¯ÇÑ
º¯¼öµéÀ» ÁöÁ¤ÇÕ´Ï´Ù. bfu¸¦ »ç¿ëÇϱâÀü¿¡ bldenv
opensolaris.sh usr/src/tools/env/opensolaris.sh
¿¡¼ óÀ½ ÆÄÀÏÀ» Ä«ÇÇÇØ ¿Í¼ Çʿ信 ¸Â°Ô °íħ) À» ÀÌ¿ëÇÏ´Â °ÍÀÌ ÃÖ°íÀÇ ¹æ¹ýÀÔ´Ï´Ù. °¢ ¼Ò½º ¹öÀüÀ» °¡Á® ¿Ã¶§ ¸¶´Ù opensolaris.sh
ÀÇ Ä«ÇǸ¦ ¼öÁ¤ÇÏ´Â ¹ö¸©À» µéÀÌ´Â °ÍÀ» ±ÇÀåÇÕ´Ï´Ù. ¿Ö³ÄÇÏ¸é »õ·Î¿î ȯ°æº¯¼öµéÀ» ÀÚµ¿À¸·Î °¡Á® ¿À´Â °ÍÀ» È®½ÇÈ÷ ÇØÁֱ⠶§¹®ÀÔ´Ï´Ù.
BFU ¸¦ ÀÌ¿ëÇÏ¿© ON ÀνºÅçÇϱâ
BFU¸¦ ÀÌ¿ëÇÏ¿© OpenSolarisÀÇ ON ºÎºÐÀ» ÀνºÅçÇÏ´Â °ÍÀº »ó´ëÀûÀ¸·Î ½¬¿î ÀÛ¾÷ÀÔ´Ï´Ù.: bfu ¸í·É¾î¸¦ ¾îÄ«À̺긦 ÀνºÅçÇϰíÀÚ
ÇÏ´Â ÆÐ½º¸¦ ÁöÁ¤ÇÏ´Â ÇϳªÀÇ ÀÎÀÚ¿Í ½ÇÇà½ÃŰ´Â °ÍÀÔ´Ï´Ù.
ù¹øÂ° ±Û¿¡¼ ¿ì¸®´Â $HOME/open_solaris/build-17/testws µð·ºÅ丮¸¦
¿öÅ©½ºÆäÀ̽º µð·ºÅ丮·Î »ç¿ëÇß½À´Ï´Ù. ÀÌ ±Û¿¡¼µµ ¸¶Âù°¡Áö·Î °°Àº µð·ºÅ丮¸¦ »ç¿ëÇÏ¿© bfu¸¦ ½ÇÇà½Ãŵ´Ï´Ù:
# bfu `pwd`/archives/`uname
-p`/nightly
½Ã½ºÅÛ ÆÄÀϵéÀÌ µ¤¾î ¾º¿©Áö±â ¶§¹®¿¡ bfu ´Â ¹Ýµå½Ã ·çÆ® ±ÇÇÑÀ¸·Î
¼öÇàµÇ¾î¾ß ÇÕ´Ï´Ù. ¶ÇÇÑ /opt/onbld/bin µð·ºÅ丮°¡
·çÆ®ÀÇ PATH¿¡ Ãß°¡µÇ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù.
bfuÀº ´ÙÀ½°ú °°Àº Ãâ·ÂÀ» ³ªÅ¸³À´Ï´Ù:
# bfu `pwd`/archives/`uname
-p`/nightly
Copying /opt/onbld/bin/bfu
to /tmp/bfu.1100
Executing /tmp/bfu.1100
/home/rich/open_solaris/build-17/testws/archives/i386/nightly
Loading /home/rich/open_solaris/build-17/testws/archives/i386/nightly
on /
Creating bfu execution
environment ...
/tmp/bfu.1100[2261]:
/net/onnv.eng/export/gate/public/bin/acr: cannot open
chmod: WARNING: can't
access /tmp/bfubin/acr
Verifying archives ...
Performing basic sanity
checks ...
/etc/svc/repository.db:
passed integrity check
Disabling kernel module
unloading ... moddebug: 0 = 0x20000
Quiescing init ...
Unmounting /lib/libc.so.1
...
Disabling sendmail temporarily
...
Disabling remote logins
...
Disabling syslog temporarily
...
Killing httpd ...
Disabling fmd temporarily
...
Killing nscd ...
Turning on delayed i/o
...
Filesystem Mode
/ safe
/usr safe
2423 blocks
Saving configuration
files in /bfu.child ... 4464 blocks
Removing init.d links
... done.
Removing obsolete rc.d
scripts ... done.
Preserving user-installed
perl modules...
cp: cannot access /usr/perl5/site_perl/5.8.3/*
Removing perl 5.8.3
packages
Removing perl 5.8.3
from /var/sadm/install/contents
Removing perl 5.8.3
from /usr/perl5
Extracting ufs modules
for boot block ... 410 blocks
Extracting generic.usr
... 269143 blocks
Extracting i86pc.usr
... 410 blocks
Extracting generic.lib
... 34359 blocks
Extracting generic.sbin
... 1420 blocks
Extracting generic.kernel
... 108072 blocks
Extracting generic.root
... 3962 blocks
Extracting i86pc.root
... 6790 blocks
Extracting i86pc.boot
... 2430 blocks
Removing duplicate kernel
binaries ...
Simulating SUNWcry*
installation...
Cleaning up old Kerberos
GSS-API mechanisms...
[... Conflict info (see
later) omitted for brevity ...]
Create /platform/i86pc/boot_archive
updating /platform/i86pc/boot_archive...this
may take a minute
For each file in conflict,
your version has been restored.
The new versions are
under /bfu.conflicts.
MAKE SURE YOU RESOLVE
ALL CONFLICTS BEFORE REBOOTING.
To install resolved
changes required for reboot in the boot
archive, invoke 'bootadm
update-archive'
Removing obsolete smf
services ...
Disabling unneeded inetd.conf
entries ...
Connecting platform
and name service profiles ...
Marking converted services
as enabled ...
cp: cannot access /net/greenline.eng/meta0/smf/post-5090532/sysidtool.xml
bfu: could not copy
/net/greenline.eng/meta0/smf/post-5090532/sysidtool.xml
cp: cannot access /net/greenline.eng/meta0/smf/post-5090532/kdmconfig.xml
bfu: could not copy
/net/greenline.eng/meta0/smf/post-5090532/kdmconfig.xml
Upgrade of orac took
2:09.
Turning off delayed
i/o and syncing filesystems ...
Filesystem Mode
/ safe
/usr safe
Entering post-bfu protected
environment (shell: ksh).
Edit configuration files
as necessary, then reboot.
BFU ÀýÂ÷(ÀúÀÚÀÇ Ferrari 3400 ·¦Å¾¿¡¼ ´ë·« 2ºÐ Á¤µµ ¼Ò¿ä µÇ¾ú½À´Ï´Ù)°¡ ¿Ï·áµÈ ÈÄ¿¡ »õ·Ó°Ô »ý¼ºµÈ ¼ºê½©À» º¼ ¼ö ÀÖ½À´Ï´Ù.
¿Ö³ÄÇÏ¸é »õ·Î¿î ¸í·É¾îµé°ú ¶óÀ̺귯¸®µéÀº ±âÁ¸ÀÇ Ä¿³Î°ú ȣȯµÇÁö ¾ÊÀ»°Í À̱⠶§¹®ÀÔ´Ï´Ù. »õ·Î¿î ¼ºê½©Àº PATH¿¡ /tmp/bfubin
±×¸®°í LD_LIBRARY_PATH ÀÌ /tmp/bfulib¿¡ ÁöÁ¤µÇ¾úÀ½À» È®ÀÎ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ
µð·ºÅ丮µéÀº ¸í·É¾îµé°ú ¶óÀ̺귯¸®µéÀÇ ±¸ ¹öÁ¯À» Æ÷ÇÔÇÏ´Â µð·ºÅ丮ÀÌ°í ¹®Á¦¸¦ ÇØ°áÇÏ°í ½Ã½ºÅÛÀ» ÀçºÎÆÃ Çϴµ¥ ÇÊ¿äÇÏ°Ô µË´Ï´Ù. (/net/greenline.eng
¸¦ ¿¢¼¼½º ÇÒ¶§ ¹ß»ýÇÏ´Â ¿¡·¯´Â ¹ö±× 4865419 ÀÌ°í ¹«½ÃÇϼŵµ µË´Ï´Ù.) ÁÖÀÇÇÒ Á¡Àº init ¶Ç´Â shutdown
Àº BFU ÀÛ¾÷ÀÌ ³¡³ ÈÄ¿¡ »ç¿ëµÇ¾îÁ®¾ß ÇÕ´Ï´Ù; reboot ¸í·ÉÀ»
´ë½Å »ç¿ëÇϽñ⠹ٶø´Ï´Ù.
Notice that the bfu Ãâ·ÂÀÌ Ãæµ¹À» ÇØ°áÇϰí ÀÖÀ½À» ³ªÅ¸³»´Â Ãâ·Â¿¡ ÁÖ¸ñÇϽñ⠹ٶø´Ï´Ù.
ÀÌ °ÍµéÀº ´ÙÀ½°ú ºñ½ÁÇÑ bfu Ãâ·ÂÀ»
ãÀ½À¸·Î½á ÀνÄÇÒ ¼ö ÀÖ½À´Ï´Ù:
NEW conflict: boot/grub/menu.lst
NEW conflict: boot/solaris/bootenv.rc
NEW conflict: boot/solaris/devicedb/master
update: etc/.login
update: etc/aggregation.conf
NEW conflict: etc/auto_home
update: etc/auto_master
update: etc/bootrc
ÀÌ·¯ÇÑ Ãæµ¹µéÀº ¹Ýµå½Ã ½Ã½ºÅÛÀÌ ÀçºÎÆÃ µÇ±â Àü¿¡ ÇØ°áµÇ¾îÁ®¾ß ÇÕ´Ï´Ù.
Ãæµ¹ ÇØ°áÇϱâ
¼Ö¶ó¸®½º¸¦ ¿î¿ëÇÏ´Â ¸ðµç ¸Ó½ÅµéÀº ´Ù¾çÇÑ ¼³Á¤ ÆÄÀϵéÀ» °¡Áö°í ÀÖ°í ±âº» ÀνºÅç½Ã¿¡ ¼öÁ¤µÇ¾î Áý´Ï´Ù. ÀÌ·¯ÇÑ ¼³Á¤ ÆÄÀÏ¿¡´Â /etc/auto_home, /etc/nsswitch.conf, ±×¸®°í /etc/path_to_inst¿Í
°°Àº ÆÄÀÏÀ» Æ÷ÇÔÇÕ´Ï´Ù. bfu
¸í·ÉÀº ÀÌ·¯ÇÑ ÆÄÀϵéÀÇ ¸ñ·ÏÀ» º¸°üÇϸç Ãæµ¹ µ¥ÀÌŸº£À̽º ¶ó°í ºÎ¸¨´Ï´Ù.
BFU°¡ ¼³Á¤ÆÄÀÏÀ» µ¤¾î¾º¿ï¶§ º»·¡ÀÇ ÆÄÀÏÀº óÀ½¿¡ /bfu.child ¾Æ·¡¿¡ ÀúÀåµË´Ï´Ù. »õ·Î¿î ÆÄÀÏÀÇ Ä«ÇÇ(cpio
¾îÄ«À̺ê) ¶ÇÇÑ under /bfu.parent
¾Æ·¡¿¡ Ä«ÇÇ µÇ°í ±âÁ¸ÀÇ /bfu.parent (¸¸¾à Á¸ÀçÇÕ´Ï´Ù.) µð·ºÅ丮´Â /bfu.ancestor
·Î Ä«ÇÇ µË´Ï´Ù. ÀÌ·¯ÇÑ ÆÄÀϵéÀº °¢°¢ child, parent,
±×¸®°í ancestor ¸¦ ³ªÅ¸³À´Ï´Ù.
bfu°¡ cpio ¾îÄ«À̺êµé ÃßÃâÀÛ¾÷À» ¿Ï·á ÇÏ¸é ¿©·¯ °¡Áö ¹öÀüÀÇ ÆÄÀϵéÀ» ºñ±³ÇÏ°í ´ÙÀ½°ú °°Àº ·êÀ» µû¸¨´Ï´Ù:
- ¸¸¾à ÆÄÀÏÀÌ º¯°æµÇÁö ¾Ê¾Ò´Ù¸é (¿¹ parent¿Í child°¡ µ¿ÀÏÇÒ¶§), nothing Áï ¾Æ¹«°Íµµ ÇÒÀÏÀÌ ¾ø´Ù°í ¾Ë·ÁÁÜ.
- ¸¸¾à ÆÄÀÏÀÌ ÀÌÀüÀÇ BFU ½ÇÇà¿¡¼ ÀÌ¿ëµÇ¾î Á³´Ù¸é(¿¹¸¦ µé¾î child¿Í ancestor°¡ µ¿ÀÏÇÒ¶§) parent´Â ÀÚµ¿ÀûÀ¸·Î
ÀÌ¿ëµÇ°í ÆÄÀÏ¿¡ "update"¸¦ ¸¶Å© ÇÔ. À̰ÍÀº ¶ÇÇÑ BFU¸¦ ¼öÇàÇÏ°í ´Ù¸¥ ¾î¶°ÇÑ ·êµµ Àû¿ëµÇÁö ¾ÊÀ»¶§ ¼öÇàµÇ¾î
Áý.
- ¸¸¾à ÆÄÀÏÀÌ ±âÁ¸ÀÇ ÆÄÀϰú ¶È°°Àº ±¸¹®À¸·Î ½ÃÀÛÇÑ´Ù¸é BFU´Â À¯Àú°¡ ¸¶Áö¸·¿¡ ¶óÀÎÀ» Ãß°¡Çß´Ù°í °¡Á¤ÇÔ.(´Ù½Ã ¸»ÇØ child´Â
parent¿Í ºÙ¿©Áø ¶óÀÎÀ¸·Î ±¸¼º) child ¹öÀüÀº ÀúÀåµÇ¾î Áö°í ÆÄÀÏ¿¡ "restore:"¸¦ ¸¶Å©.
- ¸¸¾à parent¿Í child°¡ ´Ù¸£°í parent¿Í ancestor°¡ °°´Ù¸é Ãæµ¹Àº ¿À·¡µÈ Ãæµ¹À̶ó°í °¡Á¤ÇÏ°í ÆÄÀÏ¿¡ "old:
"¸¦ ¸¶Å©.
- ÃÖÁ¾ÀûÀ¸·Î parent¿Í child°¡ ´Ù¸£°í parent¿Í ancestor ¶ÇÇÑ ´Ù¸£´Ù¸é Ãæµ¹Àº »õ·Î¿î Ãæµ¹À̶ó°í °¡Á¤ÇÏ°í ÆÄÀÏ¿¡
"NEW: "¸¦ ¸¶Å©.
Ãæµ¹ÀÌ NEW ¶ó°í ÇÏ¸é ±âº» ¼³Á¤°ú ´Ù¸£´Ù°í °£ÁÖµÇ°í ±âº» ¼³Á¤ÀÌ ¼öÁ¤µÇ¾î Áý´Ï´Ù. ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇϱâ À§Çؼ´Â »õ·Î¿î ºôµåÀÇ ¾î¶°ÇÑ
º¯°æ »çÇ×ÀÌµç ±âÁ¸ÀÇ ÆÄÀÏ¿¡ ±â·ÏÇØ¾ß ÇÕ´Ï´Ù.
ºñ·Ï Ãß°¡ÀûÀÎ Á¶»ç ¾øÀÌ parent¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù°í °¡Á¤ÇÏ´õ¶óµµ ÀÌ·¯ÇÑ ÀÛ¾÷Àº child¿¡¼ ¼öÁ¤Çß´ø ÀÛ¾÷µéÀ» ÀÒ¾î ¹ö¸± ¼öµµ ÀÖÀ½À»
À¯ÀÇÇØ¾ß ÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ¼öÁ¤ ÀÛ¾÷µéÀº ON ÆÐŰÁö°¡ ¾Æ´Ñ ½ºÅ©¸³Æ®µé¿¡ ÀÇÇØ ¼öÇàµÇ¾î ÁüÀ¸·Î ¾Æ¹«·± ÀǽɾøÀÌ parent¸¦ »ç¿ëÇϴ°ÍÀº ½Ã°£
³¶ºñ¸¦ ÃÊ·¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯¹Ç·Î Ãæµ¹Àº ¼öµ¿ÀûÀ¸·Î Çϵç ÀÚµ¿ÀûÀ¸·Î ÇÏµç ¹Ýµå½Ã ÇØ°áµÇ¾îÁ®¾ß ÇÕ´Ï´Ù. ÇØ°á ÇÏ´Â ¹æ¹ýÀº ÃßÈÄ¿¡ ¼³¸íÇÕ´Ï´Ù.
±×·¯³ª ¸ðµç Ãæµ¹µéÀÌ ÀÚµ¿ÀûÀ¸·Î ÇØ°áµÇÁö ¾Ê´Â´Ù¸é(¶Ç´Â ¼öµ¿À¸·Î ¶óµµ) ±âº»ÀûÀÎ Ãæµ¹ µ¥ÀÌŸº£À̽º¸¦ °¡Áö°í ÀÖ´Â °ÍÀº Á¤¸»·Î ÁÁÀº »ý°¢ÀÓÀ»
¾Ë¾Æ¾ß ÇÕ´Ï´Ù. ¶ÇÇÑ ÀÌ·¯ÇÑ ÀÛ¾÷Àº BFU ¾îÄ«À̺긦 ÇöÀç ½Ã½ºÅÛ ¸±¸®Áî¿¡ ¸Â°Ô ¼³Ä¡ ÇÔÀ¸·Î½á ¼öÇàµÉ ¼ö ÀÖ½À´Ï´Ù.
´Ù¸¥ ¹æ¹ý¿¡ ÀÇÇØ ¹ú½á ¼³Ä¡µÈ ºôµå¿Í ¶È°°Àº ºôµå¸¦ BFU ÇÒ¶§¿¡´Â ¸ðµç Ãæµ¹À» ¾ÈÀüÇÏ°Ô ¹«½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿Ö³ÄÇϸé ÇöÀçÀÇ ¼³Á¤ÆÄÀÏÀÌ µ¿ÀÛÀÌ
°¡´ÉÇÔÀ» ÀÌ¹Ì ¾Ë°í ÀÖ±â ?¹®ÀÔ´Ï´Ù. ÀçºÎÆÃÀº »õ·Î¿î ºôµå¸¦ BFUÇϱâ Àü¿¡ ¹Ýµå½Ã ¼öÇàµÇ¾î¾ß ÇÕ´Ï´Ù.
ÀÚµ¿ Ãæµ¹ ÇØ°á
°ÅÀÇ ´ëºÎºÐ Ãæµ¹Àº acr ½ºÅ©¸³Æ®¸¦ ÀÌ¿ëÇÏ¿© ÀÚµ¿ÀûÀ¸·Î ÇØ°áµÉ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ½ºÅ©¸³Æ®´Â
BFU ¼öÇà ÈÄ ¾ÈÀüÀÌ º¸ÀåµÈ ȯ°æÀ» ¼öÇàÇϴµ¥ »ç¿ëµÇ¾î Áý´Ï´Ù.; ÀÌ·¯ÇÑ °æ¿ì¿¡ »ç¿ëµÇ¸é Ä¿¸Çµå ¶óÀÎ ¿É¼ÇµéÀº ÇÊ¿äÇÏÁö ¾Ê½À´Ï´Ù. (Á» ´õ
Ư¼öÈµÈ ¾îÇø®ÄÉÀÌ¼Ç acr Àº ÇѰ³ ȤÀº µÎ°³ÀÇ Ä¿¸Çµå ¶óÀÎ ¿É¼ÇÀ» ÇÊ¿ä·ÎÇÔ. ù¹øÂ°´Â º¯°æµÈ root µð·ºÅ丮ÀÇ °æ·Î ±×¸®°í µÎ¹øÂ°´Â BFU
¾îÄ«À̺긦 Æ÷ÇÔÇϰí ÀÖ´Â µð·ºÅ丮)
acr
Àº conflict_resolution.gz, À̶ó´Â nightly -a ¿É¼ÇÀ» »ç¿ëÇÏ¿© ¼öÇà½Ã¿¡ »ý¼ºµÇ¾îÁö´Â ÆÄÀÏÀ» »ç¿ëÇÕ´Ï´Ù.(BFU
¾îÄ«À̺긦 Æ÷ÇÔÇϰí ÀÖ´Â µð·ºÅ丮¿Í °°Àº µð·ºÅ丮¿¡ ÀúÀåµÊ). acr ½ºÅ©¸³Æ®´Â
Ç¥ÁØ Ãâ·Â¿¡ ÆÄÀÏ ¸®½ºÆ®¸¦ ó¸®Çϰí ÀÚ¼¼ÇÑ °á°ú¸¦ allresults,¶ó´Â ÆÄÀÏ(/tmp¿¡ ÀúÀåµÊ) ¿¡ ÀúÀåÇÕ´Ï´Ù.
´ÙÀ½Àº The acr
½ÇÇà Ãâ·ÂÀÇ ¿¹ÀÔ´Ï´Ù:
bfu# acr
Getting conflict resolution
information from /home/rich/open_solaris/build-17/testws/archives/i386/nightly/conflict_resolution.gz:
590 blocks
Building command list
for the class action scripts:
Begin processing files
PROCESSING etc/devlink.tab
PROCESSING etc/driver_classes
PROCESSING etc/security/device_policy
PROCESSING etc/path_to_inst
PROCESSING etc/shadow
PROCESSING etc/vold.conf
PROCESSING etc/rmmount.conf
PROCESSING etc/inet/hosts
PROCESSING etc/inet/ipnodes
PROCESSING var/spool/cron/crontabs/root
PROCESSING etc/passwd
PROCESSING etc/inet/inetd.conf
PROCESSING etc/default/init
PROCESSING etc/remote
PROCESSING etc/nsswitch.conf
PROCESSING etc/inet/services
PROCESSING etc/security/auth_attr
PROCESSING etc/security/exec_attr
PROCESSING etc/security/prof_attr
PROCESSING etc/user_attr
PROCESSING etc/vfstab
PROCESSING etc/auto_home
PROCESSING etc/datalink.conf
PROCESSING boot/grub/menu.lst
PROCESSING etc/krb5/krb5.conf
PROCESSING etc/openwin/server/etc/OWconfig
PROCESSING kernel/drv/sd.conf
PROCESSING boot/solaris/bootenv.rc
PROCESSING boot/solaris/devicedb/master
See /tmp/acr.Yda49i/allresults
for more information.
And this is the corresponding allresults file:
bfu# cat /tmp/acr.Yda49i/allresults
PROCESSING etc/devlink.tab
RETURN CODE : 0
PROCESSING etc/driver_classes
RETURN CODE : 0
PROCESSING etc/security/device_policy
RETURN CODE : 0
PROCESSING etc/path_to_inst
RETURN CODE : 0
PROCESSING etc/shadow
RETURN CODE : 0
PROCESSING etc/vold.conf
RETURN CODE : 0
PROCESSING etc/rmmount.conf
RETURN CODE : 0
PROCESSING etc/inet/hosts
RETURN CODE : 0
PROCESSING etc/inet/ipnodes
RETURN CODE : 0
PROCESSING var/spool/cron/crontabs/root
RETURN CODE : 0
PROCESSING etc/passwd
RETURN CODE : 0
PROCESSING etc/inet/inetd.conf
RETURN CODE : 0
PROCESSING etc/default/init
RETURN CODE : 0
PROCESSING etc/remote
RETURN CODE : 0
PROCESSING etc/nsswitch.conf
RETURN CODE : 0
PROCESSING etc/inet/services
RETURN CODE : 0
PROCESSING etc/security/auth_attr
RETURN CODE : 0
PROCESSING etc/security/exec_attr
RETURN CODE : 0
PROCESSING etc/security/prof_attr
RETURN CODE : 0
PROCESSING etc/user_attr
RETURN CODE : 0
PROCESSING etc/vfstab
RETURN CODE : 0
PROCESSING etc/auto_home
RETURN CODE : 0
PROCESSING etc/datalink.conf
RETURN CODE : 0
PROCESSING boot/grub/menu.lst
RETURN CODE : 0
PROCESSING etc/krb5/krb5.conf
RETURN CODE : 0
PROCESSING etc/openwin/server/etc/OWconfig
Converting old OWconfig
file to new format.
RETURN CODE : 0
PROCESSING kernel/drv/sd.conf
RETURN CODE : 0
PROCESSING boot/solaris/bootenv.rc
RETURN CODE : 0
PROCESSING boot/solaris/devicedb/master
RETURN CODE : 0
allresults
ÆÄÀÏÀº acr °úÁ¤¿¡¼
¹ß»ýµÈ ¿¡·¯¸¦ È®ÀÎ Çϱâ À§ÇØ ¹Ýµå½Ã °Ë»çµÇ¾îÁ®¾ß ÇÕ´Ï´Ù. ¸¸¾à ¾î¶°ÇÑ ¿¡·¯°¡ ¹ß»ýÇß´Ù¸é Ãæµ¹Àº ¹Ýµå½Ã ¼öµ¿À¸·Î ÇØ°áµÇ¾îÁ®¾ß ÇÕ´Ï´Ù. acr ¿À·ù´Â Á¾Á¾ ½ºÅ©¸³Æ®ÀÇ ¹ö±×¸¦ ³ªÅ¸³¾ ¼öµµ ÀÖÀ¸¹Ç·Î opensolaris-bug
¸ÞÀϸµ ¸®½ºÆ®¿¡ º¸°í ÇÏ´Â °Íµµ ÁÁÀº »ý°¢ÀÔ´Ï´Ù.
¼öµ¿À¸·Î Ãæµ¹ ÇØ°á
ancestor¿Í parent ¹öÁ¯µéÀÇ ÆÄÀÏÀ» diff ¸¦ ÀÌ¿ëÇØ¼ ¼öµ¿À¸·Î Ãæµ¹À» ÇØ°á ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î¼ ´ÙÀ½°ú °°Àº ¸í·ÉÀ»
¼öÇàÇÕ´Ï´Ù.
bfu# diff /bfu.ancestor/$file
/bfu.parent/$file
±×¸®°í diif °á°ú¸¦ ¼öµ¿À¸·Î Àû¿ë½ÃÄÑ ÁÝ´Ï´Ù. (¸¸¾à BFU¸¦ óÀ½ ¼öÇàÇÏ´Â °ÍÀ̶ó¸é /bfu.ancestor
´Â Á¸ÀçÇÏÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù. ¸¹Àº ÆÄÀϵéÀ» °Ë»ç Çϱâ À§ÇØ Á»´õ °£´ÜÇÑ ¹æ¹ýÀ» »ç¿ëÇÕ´Ï´Ù. ¸ðµç º¯°æµéÀÌ Ãß°¡ ȤÀº ¼öÁ¤ÀÌ¶ó °¡Á¤ÇÒ¶§ BFU
ÇÁ·Î¼¼½º´Â /bfu.conflicts,µð·ºÅ丮¸¦
³²°Ü ÁÝ´Ï´Ù.
bfu# pw
/bfu.conflicts
bfu# diff $file /$file
¸ðµç diff °á°úµéÀº ¿À¸¥ÂÊ °ýÈ£ (¿¹¸¦ µé¾î ">" °¡ ¾Æ´Ñ "<") °¡ ÀÛ¾÷ÀÌ ÇÊ¿äÇÑ °ÍÀÓÀ» ÀÇ¹Ì ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î:
bfu# diff boot/solaris/bootenv.rc
/boot/solaris/bootenv.rc
5d4
< # CDDL HEADER START
7,10c6
< # The contents
of this file are subject to the terms of the
< # Common Development
and Distribution License, Version 1.0 only
< # (the "License").
You may not use this file except in compliance
< # with the License.
---
> #pragma ident "@(#)bootenv.rc
1.34 05/04/15 SMI"
12,26d7
< # You can obtain
a copy of the license at usr/src/OPENSOLARIS.LICENSE
< # or http://www.opensolaris.org/os/licensing.
< # See the License
for the specific language governing permissions
< # and limitations
under the License.
< #
< # When distributing
Covered Code, include this CDDL HEADER in each
< # file and include
the License file at usr/src/OPENSOLARIS.LICENSE.
< # If applicable,
add the following below this CDDL HEADER, with the
< # fields enclosed
by brackets "[]" replaced with your own identifying
< # information:
Portions Copyright [yyyy] [name of copyright owner]
< #
< # CDDL HEADER END
< #
< #pragma ident "@(#)bootenv.rc
1.35 05/06/08 SMI"
< #
38a20,22
> setprop prealloc-chunk-size
0x2000
> setprop bootpath
/pci@0,0/pci-ide@11,1/ide@0/cmdk@0,0:a
> setprop console
'text'
ÀÌ ¿¹¿¡¼ Áß¿äÇÑ diff ¶óÀεéÀº ¿À¸¥ÂÊÀ» °¡¸£Å°°í ÀÖÀ¸¹Ç·Î º° ¹®Á¦°¡ ¾ø´Ù°í °£ÁÖÇÒ ¼ö ÀÖ½À´Ï´Ù.
ºñ·Ï ÀÌ·¯ÇÑ °úÁ¤µéÀÌ ´ëºÎºÐÀÇ ½Ã°£À» Â÷ÁöÇÏÁö¸¸ ¾Æ·¡¿Í °°ÀÌ ¸î°¡Áö Ưº°ÇÑ ¿¹¿Ü»óȲµµ Á¸Àç ÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ¿¹¿Ü»óȲµéÀº etc/name_to_major,
etc/security/*_attr, ±×¸®°í /etc/path_to_instÀÔ´Ï´Ù.
ÆÄÀÏ etc/name_to_major
´Â µð¹ÙÀ̽º À̸§µéÀ» major ¼ýÀڵ鿡 ¸ÅÇÎ ½ÃÄÑ ÁÝ´Ï´Ù; °¢ µð¹ÙÀ̽ºµéÀº ¹Ýµå½Ã °íÀ¯ÀÇ major ¼ýÀÚ¸¦ °¡Áö°í ÀÖ¾î¾ß ÇÕ´Ï´Ù. ancestor¸¦ parent¿Í
ºñ±³ÇÏ´Â °ÍÀº ÁÁÀº ½ÃÀÛ ¹æ¹ýÀÔ´Ï´Ù; µð¹ÙÀ̽º À̸§Àº Áß¿äÇÏÁö¸¸ major ¼ýÀÚ´Â ±×·¸Áö ¾ÊÀ» ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ»óÀûÀ¸·Î ´õÀÌ»ó »ç¿ëµÇÁö ¾Ê´Â
µð¹ÙÀ̽ºµéÀº Áö¿öÁ®¾Æ ÇÏÁö¸¸ ±×³É ³öµÎ´Â °Íµµ º¸Åë ³ª»ÚÁö ¾Ê½À´Ï´Ù. È®½ÇÇÏÁö ¾ÊÀ» ¶§´Â ±×³É ³öµÎ´Â °ÍÀÌ ÁÁ½À´Ï´Ù.
»õ·Î¿î µð¹ÙÀ̽ºµéÀº »ç¿ëµÇÁö ¾ÊÀº major ¼ýÀڵ鿡 Ãß°¡µÇ¾îÁ®¾Æ ÇÕ´Ï´Ù. ¸¸¾à °¡´ÉÇÏ´Ù¸é diff¿¡¼ ³ªÅ¸³ °ÍÀ» »ç¿ëÇϱ⸦ ±ÇÀåÇÔ.
ÀÛ¾÷À» ¸¶Ä¡°í ³´ÙÀ½ ´ÙÀ½ÀÇ µÎ sort ¸í·É¾î¸¦ ÀÌ¿ëÇÏ¿© º¯°æÇÑ ÀÛ¾÷µéÀ» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù:
bfu# sort -k1,1 /etc/name_to_major | sort -uc
-k1,1
bfu# sort -k2n /etc/name_to_major | sort -uc -k2n
ù¹øÂ° ¸í·É¾î´Â Áߺ¹µÈ µð¹ÙÀ̽º À̸§À» º¸°íÇØÁÖ°í µÎ¹øÂ° ¸í·É¾î´Â Áߺ¹µÈ major ³Ñ¹öÁß¿¡¼ °¡Àå ³·Àº °ÍÀ» º¸°íÇØ ÁÝ´Ï´Ù. µÎ°³ÀÇ ¸í·É
¸ðµå ÀçºÎÆÃ Çϱâ Àü¿¡ ¾Æ¹«·± º¸°í¸¦ ÇÏÁö ¾Ê¾Æ¾ß ÇÕ´Ï´Ù. (¸®ºÎÆÃ½Ã¿¡ Ä¿³ÎÀº ÀÌ·¯ÇÑ Ãæµ¹¿¡ ´ëÇØ °æ°íÇÒ °ÍÀÌÁö¸¸ À̶§´Â ³Ê¹« ´Ê½À´Ï´Ù.)
The etc/security/*_attr
ÆÄÀϵéÀº class-action ½ºÅ©¸³Æ® µé¿¡ ÀÇÇØ ²Ï ¸¹Àº ºÎºÐÀÌ º¯°æ µÇ¹Ç·Î parent¿Í child ¹öÁ¯µé¿¡´Â Å« Â÷À̰¡ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù.
Áï ±×Àü¿¡ ¼³¸íÇÑ diff ¹æ¹ýÀÌ È¿°úÀûÀÌÁö ¾ÊÀ» ¼öµµ ÀÖ½À´Ï´Ù.
¸¶Áö¸· ¿¹¿Ü»óȲÀº /etc/path_to_instÀÔ´Ï´Ù. ¿ì¸®°¡ Çϰí ÀÖ´Â ÀÛ¾÷À» Á¤È®ÇϰÔ
¾Ë°í ÀÖ´õ¶óµµ ÀÌ ÆÄÀÏÀº ¼öÁ¤ÇÏÁö ¾Ê±â¸¦ ±ÇÀåÇÕ´Ï´Ù.
ÀϹÝÀûÀ¸·Î NEW·Î ¸¶Å©µÈ Ãæµ¹µé¸¸ °Ë»ç ÇØµµ µË´Ï´Ù.
BFU ±×¸®°í Zones
¸¸¾à BFU¸¦ ¼öÇàÇϴ ȣ½ºÆ®¿¡ global Á¸À̿ܿ¡ Á¸ÀÌ ¼³Ä¡ µÇ¾î ÀÖ´Ù¸é ¸î°¡Áö Ãß°¡ÀûÀÎ ÀÛ¾÷ÀÌ ÇÊ¿äÇÕ´Ï´Ù. ¿Ö³ÄÇϸé Á¸À» »ý¼ºÇÒ ¶§¸¶´Ù
±Û·Î¹úÁ¸ÀÇ ³»¿ëÀÌ Á¸À¸·Î Ä«ÇÇ µÇ±â ?¹®¿¡ ¸ðµç ³í-±Û·Î¹ú Á¸µéÀÇ ³»¿ëÀÌ ±Û·Î¹ú Á¸°ú ȣȯÀÌ À¯ÁöµÇ¾î¾ß Çϱ⠶§¹®ÀÔ´Ï´Ù. ´ÙÇàÈ÷µµ BFU´Â
±Û·Î¹ú Á¸ÀÌ ¾÷µ¥ÀÌÆ® µÆÀ»¶§ ³í-±Û·Î¹ú Á¸µéµµ ¾÷µ¥ÀÌÆ® ÇÏ´Â ÀÛ¾÷À» ÇØ ÁÝ´Ï´Ù. ¿Ö³ÄÇÏ¸é °¢ Á¸µéÀº ±Û·Î¹ú Á¸°ú Á¶±Ý ´Ù¸¥ ¼³Á¤ ÆÄÀϵéÀ» °¡Áö°í
ÀÖÀ» °ÍÀÌ°í ¶ÇÇÑ °¢°¢ °íÀ¯ÀÇ Ãæµ¹ °ü¸® µð·ºÅ丮 ¶ÇÇÑ °¡Áö°í ÀÖÀ» °ÍÀ̱⠶§¹®ÀÔ´Ï´Ù. ÁÖÀÇÇÒÁ¡Àº BFU¸¦ ¼öÇàÇϱâ Àü¿¡ ¸ðµç Á¸µéÀ» shut
down ½ÃŰ´Â °ÍÀÔ´Ï´Ù. ÀÌÀ¯´Â ÀÌ ÀÛ¾÷À¸·Î ÀÎÇØ¼ Á¸»ó¿¡ ÆÄÀϵ鿡 ÀÇÇØ ÀÇÁ¸¼ºÀÌ ÈѼյÇÁö ¾Êµµ·Ï µµ¿ÍÁֱ⠶§¹®ÀÔ´Ï´Ù. BFU ÀÛ¾÷ ÈÄ¿¡
»õ·Î¿î Á¸À» Ãß°¡ ÇßÀ»¶§ ´Ù½Ã bfu¸¦ Çϴ°͵µ ÁÁÀº ¹æ¹ýÀÔ´Ï´Ù.
½Ì±ÛÁ¸¸¸À» BFUÇÏ´Â °ÍÀº ºÒ°¡´ÉÇÕ´Ï´Ù. ¸¸¾à Á¸ÀÇ À¯Àú ¿µ¿ª º¯°æÀ» Å×½ºÆ® ÇÏ±æ ¿øÇÑ´Ù¸é ÀÛ¾÷ µð·ºÅ丮¿¡¼ Á¸À¸·Î Á÷Á¢ ÆÄÀϵéÀ» Ä«ÇÇÇØ¾ß
ÇÕ´Ï´Ù.
Ãæµ¹Àº ±Û·Î¹úÁ¸¿¡¼ ÇØ°á µÇ¾î¾ß ÇÕ´Ï´Ù. ±×¸®°í ±× ´ÙÀ½¿¡ ¸®ºÎÆÃ Àü¿¡ °¢ ³í-±Û·Î¹ú Á¸¿¡¼µµ 󸮰¡ µÇ¾î¾ß ÇÕ´Ï´Ù. °¢ Á¸¿¡¼ÀÇ Ãæµ¹ 󸮴Â
±Û·Î¹ú Á¸¿¡¼ÀÇ ÀÛ¾÷°ú ¶È°°Àº ¹æ¹ýÀ¸·Î ÁøÇàµË´Ï´Ù. ±×·¯³ª ¸¹Àº ÆÄÀϵéÀÌ ±Û·Î¹ú Á¸ÀÇ »ó´ëÀûÀÎ ÆÄÀϰú °ÅÀÇ µ¿ÀÏÇÒ °ÍÀÓÀ¸·Î ¼öµ¿À¸·Î ÇÕÃÄ ÁÖ´Â
ÀÛ¾÷Àº ÇÊ¿äÇÏÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù:±Û·Î¹úÁ¸¿¡¼ ÆÄÀÏÀ» Ä«ÇÇ ÇÏ´Â °Í¸¸À¸·Îµµ ÃæºÐÇÒ °ÍÀÔ´Ï´Ù.
±Û·Î¹ú Á¸°ú ³í-±Û·Î¹ú Á¸¿¡¼ÀÇ ¸ðµç Ãæµ¹ÀÌ ÇØ°á µÇ¾ú´Ù¸é ÀÌÁ¦ ½Ã½ºÅÛÀ» ÀçºÎÆÃ ½Ãų ¼ö ÀÖ½À´Ï´Ù. ÁÖÀÇÇÒ Á¡Àº ³í-±Û·Î¹ú Á¸ÀÌ ÀçºÎÆÃ µÇ°ÅÀü¿¡
¹Ýµå½Ã ½Ã½ºÅÛÀÌ ¸ÕÀú ÀçºÎÆÃ µÇ¾î¾ß ÇÑ´Ù´Â Á¡ÀÔ´Ï´Ù.
ºôµå ¾øÀÌ BFU ÀÛ¾÷Çϱâ
Áö±Ý ±îÁö´Â Á÷Á¢ ºôµåÇÑ ¾îÄ«À̺긦 ÀÌ¿ëÇØ BFU ÀÛ¾÷À» Çϴ°Ϳ¡ ´ëÇØ ¼³¸íÇß½À´Ï´Ù. ¸¸¾à ÃÖ½ÅÀÇ ¹öÀüÀ» ÄÄÆÄÀϸµ ÇÏÁö ¾ÊÀº ä »ç¿ëÇϰíÀÚ
ÇÑ´Ù¸é ¾î¶»°Ô ÇØ¾ß ÇÒ±î¿ä? ´ÙÇàÈ÷ ¹Ì¸® Á¦ÀÛµÈ BFU ¾îÄ«À̺갡 ÀÖ½À´Ï´Ù. ¼Ò½º¸¦ ºôµåÇÏÁö ¾Ê°í BFU¸¦ ÇϰíÀÚ ÇÑ´Ù¸é BFU ¾îÄ«À̺ê¿Í
ON ºôµå ÅøµéÀÌ ÇÊ¿ä ÇÕ´Ï´Ù. ¿©±â¼ ¾Ë¾Æ¾ß ÇÒ Á¡Àº ÇöÀçÀÇ ºôµå¿Í BFU¸¦ Çϱ⸦ ¿øÇÏ´Â ºôµå¿ÍÀÇ Â÷À̰¡ ÀÖ´Ù¸é BFU ÀÛ¾÷À» ¿©·¯¹ø ÁøÇàÇØ¾ß
ÇÒ Áöµµ ¸ð¸¨´Ï´Ù.
¿¹¸¦ º¾½Ã´Ù. ÇöÀçÀÇ BFUµÈ Build 17 ½Ã½ºÅÛÀ» Build 18 ¹öÀüÀ¸·Î BFU ÀÛ¾÷À» ÇØ º¾½Ã´Ù. ù¹øÂ° ±Û¿¡¼ ¿ì¸®´Â µÎ°³ÀÇ ÇÊ¿äÇÑ
ÆÄÀϵéÀ» $HOME/open_solaris/build-18, µð·ºÅ丮¿¡ ´Ù¿î·Îµå ÇØ ³õ¾Ò±â
¶§¹®¿¡ ÇöÀç ¿ì¸®ÀÇ µð·ºÅ丮´Â Àú µð·ºÅ丮 ÀÔ´Ï´Ù. ÆíÀǸ¦ À§Çؼ ÀÌ µð·ºÅ丮¸¦ $OPEN_SOLÀ̶ó°í
ÇÕ´Ï´Ù.
¸ÕÀú BFU ¾îÄ«À̺êµéÀ» ¾ÐÃàÇØÁ¦ ÇÕ´Ï´Ù:
$ bzip2 -dc opensolaris-bfu-20050720.i386.tar.bz2
| tar xf -
ÀÌ ÀÛ¾÷Àº archives-20050720,À̶õ µð·ºÅ丮¸¦ »ý¼ºÇÒ °ÍÀ̰í
BFU ¾îÄ«À̺êµéÀ» Æ÷ÇÔÇÒ °ÍÀÔ´Ï´Ù. (ÀÌ ÆÄÀÏÀÇ À̸§ ¶Ç´Â ºñ½ÁÇÑ °ÍÀº °¢ ¸±¸®Áî ¹öÁ¯¿¡¼ ¹Ù²ð ¼ö ÀÖ½À´Ï´Ù). root·Î ±ÇÇÑÀ» º¯°æ ÇÑ
ÈÄ ON ºôµå ÅøµéÀ» ¼³Ä¡ ÇØ¾ßÇÕ´Ï´Ù.
# cd /tmp
# bzip2 -dc $OPEN_SOL/SUNWonbld-20050720.i386.tar.bz2
| tar xf -
# cd onbld
# pkgadd -d . SUNWonbld
°£°áÇÔÀ» À§Çؼ pkgadd ÀÇ Ãâ·ÂÀ» »ý·«ÇÏ¿´½À´Ï´Ù. ´ÙÀ½ ´Ü°è·Î ÀÌ ÀüÀÇ ¿¹¿Í ºñ½ÁÇÑ Ä¿¸Çµå¸¦ »ç¿ëÇÏ¿© BFU¸¦ ÁøÇàÇÕ´Ï´Ù. (±× Àü¿¡
FASTFS, BFULD, ±×¸®°í GZIPBIN
ÀÌ ¿Ã¹Ù¸£°Ô Á¤ÀÇ µÇ¾ú°í /opt/onbld/bin °¡ PATH¿¡ ÁöÁ¤µÇ¾î ÀÖ´ÂÁö È®ÀÎ):
# bfu $OPEN_SOL/archives-20050720/`uname
-p`
´ÙÀ½¿¡´Â Ãæµ¹À» ÇØ°áÇÕ´Ï´Ù.(ÀÌ ¿¹¿¡¼´Â ¾øÀ½) ±×¸®°í ÀçºÎÆÃÇÕ´Ï´Ù:
bfu# acr
No conflicts to resolve.
bfu# reboot
updating /platform/i86pc/boot_archive...this
may take a minute
À§ÀÇ /platform/i86pc/boot_archive À̶õ ¸Þ¼¼Áö´Â
x86 ÀÓÀ» ÀǹÌÇÕ´Ï´Ù. ¸ðµç ÀÛ¾÷ÀÌ ¼øÁ¶·Î¿ü´Ù¸é ¸Ó½ÅÀº »õ·Î¿î ºôµå(ÀÌ °æ¿ì¿¡´Â Build 18)À» ¼øÁ¶·Ó°Ô ºÎÆÃ ½Ãų °ÍÀÔ´Ï´Ù. ·Î±×ÀÎ
ÈÄ¿¡ ´ÙÀ½ ¸í·ÉÀ» ÀÌ¿ëÇÏ¿© È®ÀÎ ÇÒ ¼ö ÀÖ½À´Ï´Ù.:
$ uname -a
SunOS orac 5.11 opensol-20050720
i86pc i386 i86pc
¿ä¾à
ÀÌ ±ÛÀº Á÷Á¢ ºôµå ÇÑ ¼Ò½º¸¦ ÅëÇØ ¶Ç´Â opensolaris.org »çÀÌÆ®¿¡¼ ´Ù¿î·Îµå ¹ÞÀº BFU ¾îÄ«À̺긦 ÅëÇØ OpenSolarisÀÇ
¹öÁ¯À» ¾÷µ¥ÀÌÆ® ½ÃŰ´Â ¹æ¹ý¿¡ ´ëÇØ ¼³¸íÇÏ¿´½À´Ï´Ù. ¶ÇÇÑ ÀÌÀü ±Û¿¡¼ BFU ÀÛ¾÷ Çß¾ú´ø Build 17À» º¸¿© ÁÖ°í BFU¸¦ ÀÌ¿ëÇÏ¿© Build
17À» Build 18·Î ¾÷µ¥ÀÌÆ® ÇÏ´Â °Í¿¡ ´ëÇØ¼µµ ´Ù·ç¾ú½À´Ï´Ù.
Á÷Á¢ ºôµåÇÑ ¼Ò½º¸¦ ÅëÇØ¼ BFU¸¦ ¼öÇàÇÏ´Â ´Ü°è´Â ´ÙÀ½°ú °°½À´Ï´Ù:
- FASTFS, BFULD, ±×¸®°í GZIPBIN ȯ°æ º¯¼ö°¡ ¿Ã¹Ù¸£°Ô ¼³Á¤ µÇ¾úÀ½À» È®ÀÎ.
- bfu Ä¿¸Çµå¸¦ ÀÛ¾÷ µð·ºÅ丮¿¡¼ ·çÆ® ±ÇÇÑÀ¸·Î ¼öÇà Çϰí Ä¿¸Çµå
¶óÀÎ ¿É¼ÇÀ» ÅëÇØ ¾îÄ«À̺êÀÇ À̸§À» ³Ñ°ÜÁÜ. º¸Åë ÀÌ À̸§Àº `pwd`/archives/`uname
-p`/nightly°¡ µÉ °ÍÀÓ.
- acr ½ºÅ©¸³Æ®¸¦ ÅëÇØ Ãæµ¹À» ÇØ°á.
- ¾ÆÁ÷ ³²¾Æ ÀÖ´Â Ãæµ¹À» ¼öµ¿À¸·Î ÇØ°á.
- reboot Ä¿¸Çµå¸¦ ÀÌ¿ëÇØ ÀçºÎÆÃ.(init ¶Ç´Â shutdown ´ë½Å).
¹Ì¸® ºôµåµÈ BFU ¾îÄ«À̺긦 ÀÌ¿ëÇØ ÀνºÅç ÇÏ´Â ´Ü°èµµ ºñ½ÁÇÔ:
- BFU ¾îÄ«À̺ê¿Í ON ºôµå µµ±¸µé À» opensolaris.org »çÀÌÆ® ¶Ç´Â ¹Ì·¯ »çÀÌÆ®¸¦ ÅëÇØ ´Ù¿î·Îµå.
- BFU ¾îÄ«ÀÌºê ¾ÐÃàÇØÁ¦.
- ON ºôµå µµ±¸µé ¼³Ä¡.
- FASTFS, BFULD, ±×¸®°í GZIPBIN ȯ°æº¯¼ö°¡ ¿Ã¹Ù·Î ¼³Á¤ µÇ¾úÀ½À» È®ÀÎ.
- ·çÆ® ±ÇÇÑÀ¸·Î bfu Ä¿¸Çµå¸¦ ¼öÇàÇϰí 2¹ø ´Ü°è¿¡¼ ¾ÐÃàÇØÁ¦ Çß´ø BFU ¾îÄ«À̺êÀÇ
À̸§À» Ä¿¸Çµå¶óÀÎ ¿É¼ÇÀ¸·Î Àü´Þ.
- acr ½ºÅ©¸³Æ®¸¦ ÅëÇØ Ãæµ¹À» ÇØ°á.
- ¾ÆÁ÷ ³²¾Æ ÀÖ´Â Ãæµ¹À» ¼öµ¿À¸·Î ÇØ°á.
- reboot Ä¿¸Çµå¸¦ ÀÌ¿ëÇØ ÀçºÎÆÃ.(init ¶Ç´Â shutdown ´ë½Å).
ÀÌÀü¿¡ °æ°í ÇßµíÀÌ Çѹø BFUµÇ¸é Á¤»óÀûÀÎ ½Ã½ºÅÛ ¾÷µ¥ÀÌÆ® ¹æ¹ý(¿¹: ÆÐÄ¡ ¶Ç´Â ¾÷±×·¹À̵å ÀνºÅç)Àº »ç¿ëµÇÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù: ¿ÏÀüÈ÷ »õ·Î¿î
ÀνºÅç ¶Ç´Â ´Ù¸¥ BFUÀÇ ¼³Ä¡°¡ ÇÊ¿äÇÕ´Ï´Ù. °á±¹ BFU´Â ´Éµ¿ÀûÀº OpenSolaris °³¹ßÀÚ¸¦ À§ÇÑ °ÍÀ̶ó°í ÇÒ ¼ö ÀÖ½À´Ï´Ù; ÀϹÝÀûÀÎ
¿ëµµ·Î´Â Solaris Express°¡ ÃÖ°íÀÇ ¹æ¹ýÀÔ´Ï´Ù.
±ÇÀåÇÏ´Â Âü°í ±Û
opensolaris.org À¥ »çÀÌÆ®´Â OpenSolaris Developer's Reference °°Àº ¸î°¡Áö ¹®¼µéÀ» °¡Áö°í ÀÖ½À´Ï´Ù. ¶ÇÇÑ OpenSolaris Tools Ä¿¹Â´ÏƼ¿Í
½ã ½ºÆ©µð¿À ´Ù¿î·Îµå »çÀÌÆ® opensolaris.org/os/community/tools/sun_studio_tools/
¸¦ Âü°íÇϽñ⠹ٶø´Ï´Ù. ÀúÀÚÀÇ Ã¥ÀÎ Solaris Systems Programming [Teer 2005],
¶ÇÇÑ OpenSolaris ÄÚµåÀÇ »ç¿ëÀÚ ¿µ¿ª Äڵ带 ´Ù·ç°íÀÚ ÇÒ¶§ ±âº»ÀûÀÎ µµ¼ ÀÔ´Ï´Ù. ±×¸®°í Solaris Internals
[Mauro ¿Í McDougall 2001] (Jim Mauro ¿Í Richard McDougall ÁöÀ½.) ¶ÇÇÑ OpenSolaris
Ä¿³Î ÇØÄ¿µéÀÇ ±âº»ÀûÀΠå ÀÔ´Ï´Ù. Ä¿¹Â´ÏƼÀÇ ºí·Î±×ÀÎ www.opensolaris.org/os/blogs/ ¿¡µµ ¹æ´ëÇÑ ¾çÀÇ Á¤º¸°¡ ÀÖ½À´Ï´Ù.
[Mauro ¿Í McDougall 2001]: Solaris Internals,
ISBN 0-13-022496-0. ºÎ°¡ Á¤º¸´Â www.solarisinternals.com/ Âü°í
[Teer 2005]: Solaris Systems Programming, ISBN 0-201-75039-2.
ºÎ°¡ Á¤º¸´Â www.rite-group.com/rich/ssp/ Âü°í
ÀúÀÚ¿¡ °üÇÏ¿©
Rich Teer´Â µ¶¸³ÀûÀÎ ¼Ö¶ó¸®½º ÄÁ¼³ÅÏÆ®·Î½á Solaris Ä¿¹Â´ÏƼ¿¡ 10³â ÀÌ»ó Ȱµ¿ÇÑ ¸â¹ö ÀÔ´Ï´Ù. ±×´Â º£½ºÆ® ¼¿·¯ÀÎ Solaris Systems Programming, °ú ¼Ö¶ó¸®½º¿¡ °ü·ÃÇÑ
±Ûµé·Î À¯¸íÇÕ´Ï´Ù. OpenSolaris ÆÄÀÏ·µ ÇÁ·Î±×·¥ÀÇ ¸â¹ö¿´°í ¶ÇÇÑ ÇöÀç OpenSolaris Community Advisory Board(CAB)ÀÇ
¸â¹öÀ̱⵵ ÇÕ´Ï´Ù. ±×ÀÇ À¥»çÀÌÆ®´Â ´ÙÀ½ ¸µÅ©¿¡¼ ãÀ¸ ½Ç ¼ö ÀÖ½À´Ï´Ù www.rite-group.com/rich.
|