Ŭ¶óÀ̾ðÆ® ³ëµå¸¦ ¼³Á¤Çϴµ¥´Â Å©°Ô ¼¼°¡Áö ¹æ¹ýÀÌ ÀÖ´Ù. ¿ì¼± dd
¸í·ÉÀ» ÀÌ¿ëÇÏ¿© ³ëµåµéÀ» º¹Á¦ÇÑ´Ù. µÎ¹ø° ¹æ¹ýÀ¸·Î´Â ÀúÀÚÀÇ topcat ½Ã½ºÅÛ¿¡¼ óÀ½´Ü°è¿¡¼ »ç¿ëÇß´ø ¹æ¹ýÀ¸·Î, °¢°¢ÀÇ Å¬¶óÀ̾ðÆ®¿¡ ¿î¿µÃ¼Á¦¸¦ µû·Î ¼³Ä¡ÇÏ°í ³ª¸ÓÁö ¼³Ä¡¸¦ ÇÒ ¼ö ÀÖ´Â ½ºÅ©¸³Æ®¸¦ ¼¹ö¿¡¼ ½ÇÇà½ÃŲ´Ù. ¼¼¹ø° ¹æ¹ýÀ¸·Î´Â ¼¹ö¿¡¼ ¸ðµç ¼³Ä¡°úÁ¤ÀÌ ³¡³ disk-less Ŭ¶óÀ̾ðÆ® ¹æ¹ýÀÌ´Ù. ÀúÀÚÀÇ °æ¿ì´Â topcat
½Ã½ºÅÛ¿¡¼ µÚÀÇ µÎ°¡Áö ¹æ¹ýÀ» »ç¿ëÇ߱⠶§¹®¿¡ ÀÌ µÎ°¡Áö ¹æ¹ý¿¡ ´ëÇؼ ÀÚ¼¼È÷ ¼³¸íÇÒ °ÍÀÌ´Ù.
º¹Á¦ÀÇ ±âº»ÀûÀÎ °³³äÀº ÇÑ°³ÀÇ µå¶óÀ̺꿡 ÀÖ´Â ÇϳªÀÇ ÆÄƼ¼ÇÀ» Á¤È®ÇÏ°Ô ´Ù¸¥ µå¶óÀ̺꿡 º¹»çÇÏ´Â °ÍÀÌ´Ù. ÇϳªÀÇ Å¬¶óÀ̾ðÆ®¸¦ ¼³Ä¡, ¼³Á¤ÇÒ ¼ö ÀÖ°í µð½ºÅ©ÀÇ Á¤È®ÇÑ º¹»ç¸¦ ÇÒ ¼ö ÀÖ´Ù. ÀÌ µð½ºÅ© À̹ÌÁö¸¦ ´Ù¸¥ Ŭ¶óÀ̾ðÆ®¿¡ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç ¿©·¯ºÐÀº IP ÁÖ¼Ò¿Í È£½ºÆ® ³×ÀÓ°ú °°Àº ¸î°³ÀÇ ºÎºÐ¸¸ º¯È½ÃÅ°¸é µÈ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÇ Å¬¶óÀ̾ðÆ®°¡ ¿î¿µÃ¼Á¦¸¦ °®°í ÀÖ´Â ÀڽŸ¸ÀÇ µð½ºÅ©¸¦ °®°í ÀÖ´Ù¸é, ÀÌ·¯ÇÑ ¹æ¹ýÀº ¾ÆÁÖ ¼Õ½±°Ô ÇÒ ¼ö ÀÖ´Ù. º¹Á¦´Â Jan Lindheim¿¡ ÀÇÇØ Building a Beowulf System http://www.carc.caltech.edu/beowulf/tutorial/beosoft/¿¡ ÀÚ¼¼È÷ ±â¼úµÇ¾î ÀÖ´Ù. ÇϳªÀÇ µð½ºÅ©¿¡¼ ÇÑ°³ÀÇ ÆÄƼ¼ÇÀ» ´Ù¸¥ µð½ºÅ©¿¡ º¹»çÇÏ´Â °ÍÀÌ´Ù.
ÀÌ ¹æ¹ýÀº ¸ðµç Ŭ¶óÀ̾ðÆ® ¼³Á¤À» ¼¹ö¿¡¼ ÇؾßÇϱ⠶§¹®¿¡ ¾Õ¼± µÎ°¡Áö ¹æ¹ý°ú´Â ´Ù¸£´Ù. À̴ Ŭ¶óÀ̾ðÆ®µéÀÌ ÀÚ½ÅÀÇ ¹°¸®Àû µð½ºÅ©¸¦ °®°í ÀÖÁö ¾Ê±â ¶§¹®¿¡, ¸ðµç ÆÄÀÏÀ» ¼¹ö³ëµå¿¡ ÀúÀåÇؾßÇÑ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ disk-less Ŭ¶óÀ̾ðÆ® ºÎÆÿ¡ °üÇÑ ´õ ¸¹Àº Á¤º¸¸¦ ¿øÇÑ´Ù¸é, NFS Root mini howto metalab.unc.edu/LDP/HOWTO/mini/NFS-Root.html¿Í NFS Root Client HOWTO¸¦ Àо¸é µÈ´Ù.
Ŭ¶óÀ̾ðÆ® »ó¿¡¼ ¸ðµç ½Ã½ºÅÛ ÆÄÀϵéÀÌ ¼¹ö¿¡ Á¸ÀçÇϱ⠶§¹®¿¡ Ŭ¶óÀ̾ðÆ® ¼³Á¤Àº ¸ðµÎ ¼¹ö¿¡¼ ÀÌ·ç¾îÁø´Ù. ½Ã½ºÅÛ¿¡ ¾à°£ÀÇ º¯È¸¦ ÁÖ¾î ½Ã½ºÅÛÀ» ¼³Á¤ÇÒ ¶§ NFS-root howto¸¦ µû¶ó¼ Çß´Ù.
make menuconfig
NFS-root¸¦ Áö¿øÇÏ´Â °ÍÀ» ÄÄÆÄÀÏÇ϶ó: CONFIG_ROOT_NFS, CONFIG_RNFS_BOOTP, CONFIG_RNFS_RARP
Ä¿³Î¿¡ ÀÖ´Â ¸ðµç ¼±ÅûçÇ×À» ¼³Á¤ÇÑ ÈÄ¿¡ Ä¿³ÎÀ» ÄÄÆÄÀÏÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½°ú °°Àº ¸í·ÉÀ» ½ÇÇàÇÑ´Ù.
make dep && make clean && make zImage
ÀÌÁ¦´Â Ä¿³ÎÀÇ root ÀåÄ¡¸¦ NFS-root·Î º¯°æÇÒ °ÍÀÌ´Ù. NFS-root Mini-howto¿¡¼ ¾Ë ¼öÀÖ´Â dummy ÀåÄ¡¸¦ Çü¼ºÇÏ´Â ¹æ¹ýÀ» äÅÃÇÏ¿´´Ù.
makenod /dev/nfsroot b 0 255 cd /usr/src/linux/arch/i386/boot rdev zImage /dev/nfsroot
À̹ø¿¡´Â Ä¿³Î À̹ÌÁö¸¦ Ç÷ÎÇÇ¿¡ º¹»ç¸¦ ÇÏ´Â °ÍÀÌ´Ù.
dd if=zImage of=/dev/fd0¸¸ÀÏ ¿©·¯ºÐÀÇ Å¬¶óÀ̾ðÆ®°¡ µ¿ÀÏÇÏ´Ù¸é ¸ðµç ½Ã½ºÅÛÀ» ½ÃÀÛÇÏ´Â µ¿ÀÏÇÑ À̹ÌÁö¸¦ »ç¿ëÇÒ ¼öÀÖ´Ù. ÀúÀÚÀÇ °æ¿ì µÎ°³ÀÇ ´Ù¸¥ Ç÷ÎÇǸ¦ ÁغñÇߴµ¥, Çϳª´Â CPU°¡ ÇϳªÀÎ °æ¿ìÀÌ°í ´Ù¸¥ Çϳª´Â SMP¸¦ À§ÇÑ °ÍÀÌ´Ù.
/var
¿Í /etc
³»ÀÇ ÆÄÀϵéÀ» º¯°æÇϱâ Àü¿¡ ÇÏ´Â °ÍÀÌ ÁÁ´Ù. ´Ü¼øÈ÷ 15 (sdct) ½ºÅ©¸³Æ®¸¦ À߶ó¼ ÆÄÀÏ¿¡ ºÙÀÌ¸é µÇ°í ½ÇÇà½ÃÅ°¸é µÈ´Ù. ±× ½ºÅ©¸³Æ®´Â ¸ðµç ÇÊ¿äÇÑ µð·ºÅ丮¸¦ Çü¼ºÇÏ°í ¸ðµç ÇÊ¿äÇÑ ÆÄÀÏÀ» º¹»çÇϴµ¥ »ç¿ëµÈ´Ù. ÀÌ ½ºÅ©¸³Æ®´Â ¾î¶² Ŭ¶óÀ̾ðÆ®¿¡ ´ëÇؼµµ root µð·ºÅ丮¸¦ Çü¼ºÇÏÁö ¾ÊÀ¸¸ç´ÜÁö ÀÌ root µð·ºÅ丮¸¦ ¸¸µå´Âµ¥ ÇÊ¿äÇÑ ´Ù¸¥ ½ºÅ©¸³Æ®¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ´Â ÅÛÇø´À» ¸¸µå´Âµ¥ ÀÌ¿ëµÈ´Ù. ¿©·¯ºÐÀº 16 (adcn) ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏ¿© °¢ Ŭ¶óÀ̾ðÆ®¿¡ ´ëÇØ NFS-root ÆÄÀÏ ½Ã½ºÅÛÀ» ¸¸µç´Ù.
/tftpboot
¾Æ·¡¿¡ ÆÄÀϽýºÅÛÀ» Çü¼ºÇÑ´Ù. ÀÌ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏ´Â ÀϹÝÀûÀÎ ¹æ¹ýÀº:
adcn -n node2 -i 10.0.0.2 -d beowulf.my.domain. -l -D eth1
½ÇÇà¸í·É ¿É¼ÇÀ» »ìÆ캸ÀÚ:
-n node2
Ŭ¶óÀ̾ðÆ®ÀÇ À̸§À» ÀǹÌÇÑ´Ù. µµ¸ÞÀÎÀ̸§Àº ¾²Áö ¾Ê´Â´Ù.
-i 10.0.0.2
Ŭ¶óÀ̾ðÆ®ÀÇ IPÁÖ¼Ò¸¦ Á¤ÇÑ´Ù.
-d beowulf.my.domain
´Â Ŭ·¯½ºÅÍÀÇ DNS¸¦ ÀǹÌÇÑ´Ù. ÀÌ ¼±ÅûçÇ×ÀÌ Á¤ÇØÁöÁö ¾ÊÀ¸¸é ¼¹öÀÇ DNS µµ¸ÞÀÎÀÌ »ç¿ëµÈ´Ù. ¿©·¯ºÐ ¼¹öÀÇ µµ¸ÞÀÎÀÌ Å¬·¯½ºÅÍÀÇ µµ¸ÞÀΰú ´Ù¸¥°æ¿ì¿¡ »ç¿ëÇÏÀÚ. ÀúÀÚÀÇ °æ¿ì, Ŭ¶óÀ̾ðÆ®ÀÇ ¿ÏÀüÇÑ À̸§Àº node2.beowulf.my.domain
ÀÌ´Ù.
-l
´Â RARP ¿äûÀ» µè´Â´Ù´Â ÀǹÌÀÌ´Ù. ÀÌ ¼±ÅûçÇ×ÀÌ ¾²¿©Áö¸é, adcn
´Â -D
¼±ÅûçÇ×°ú ÇÔ²² Á¤ÇØÁö´Â ÀÎÅÍÆäÀ̽º¿¡ ÀÖ´Â RARP ¿äûÀ» µè°Ô µÇ°í Ŭ¶óÀ̾ðÆ® Çϵå¿þ¾î Áּҷμ ù¹ø° "sniffed" RARP ¿äûÀ¸·ÎºÎÅÍ MAC ÁÖ¼Ò¸¦ »ç¿ëÇÑ´Ù. ÀÌ ¼±ÅûçÇ×Àº MAC ÁÖ¼Ò¸¦ °®°í ¿À±â À§ÇØ tcpdump
¸¦ »ç¿ëÇÑ´Ù. ¿ì¼± tcpdump
°¡ ¼³Ä¡µÇ¾îÀÖ´ÂÁö È®ÀÎÇ϶ó.
-D
´Â Ŭ·¯½ºÅÍ¿¡ ¿¬°áµÈ µð¹ÙÀ̽º¸¦ Á¤Çϴµ¥ ÇÊ¿äÇÑ ¼±ÅûçÇ×ÀÌ´Ù.¸¸ÀÏ ¿©·¯ºÐÀÌ ¿©·¯ºÐÀÇ Å¬·¯½ºÅÍ¿¡ ¿¬°áµÈ µð¹ÙÀ̽º°¡ ÇÑ°³ ÀÌ»óÀÌ¸é ¿©·¯ºÐÀº disk-less Ŭ¶óÀ̾ðÆ®°¡ ¿¬°áµÇ¾î ÀÖ´Â ³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽º¸¦ ÀÌ¿ëÇؾßÇÑ´Ù. ÀÌ ¼±ÅûçÇ×Àº /etc/sysconfig/network-scripts/ifcfg-*
¿¡¼ µð¹ÙÀ̽º Á¤º¸¸¦ ÀÐ°í ³×Æ®¿öÅ©¿Í, ³Ý¸¶½ºÅ©, °ÔÀÌÆ®¿þÀ̸¦ Àоîµå¸°´Ù.(¼¹öÀÇ IP´Â °ÔÀÌÆ®¿þÀÌ·Î »ç¿ëµÈ´Ù.) µð¹ÙÀ̽º Á¤º¸´Â -l
¼±ÅûçÇ׿¡ ÀÇÇØ ³ªÅ¸³ª°í ±× Á¤º¸¸¦ tcpdump
¸¦ ÅëÇØ Àü´ÞÇÑ´Ù.
¸¸ÀÏ -D ¼±ÅûçÇ×ÀÌ Á¤ÇØÁöÁö ¾ÊÀ¸¸é adcn
½ºÅ©¸³Æ®´Â default °ªÀ» »ç¿ëÇÒ °ÍÀÌ´Ù. ´Ù¸¥ ¸¹Àº ¼±ÅûçÇ×Àº adcn -h
¸¦ ÀÌ¿ëÇÏ¸é ¾Ë ¼ö ÀÖ´Ù. ´ëºÎºÐ ¿©·¯ºÐÀÌ ÇÊ¿äÇÑ ³»¿ëÀº À§¿¡ ¸í½ÃµÇ¾î ÀÖ´Ù. ¿©·¯ºÐÀº ½ºÅ©¸³Æ®¿¡ Áߺ¹¸í·ÉÀ» ½ÇÇàÇÒ ¼ö ÀÖÀ¸¸ç ÇϳªÀÇ ¸í·ÉÀ» ÀÌ¿ëÇÏ¿© disk-less Ŭ¶óÀ̾ðÆ® Àüü¸¦ ¼³Ä¡ÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î Ŭ·¯½ºÅÍ¿¡ ¿¬°áµÈ ¼¹öÀÇ ÀÎÅÍÆäÀ̽º eth1
¸¦ ÀÌ¿ë 16 node disk-less Ŭ¶óÀ̾ðÆ®¸¦ ¼³Ä¡Çϱâ À§ÇØ ¿©·¯ºÐÀº ´ÙÀ½°ú °°Àº ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏ¸é µÈ´Ù:
#!/bin/bash adcn -n node2 -i 10.0.0.2 -d beowulf.my.domain -l -D eth1 adcn -n node3 -i 10.0.0.3 -d beowulf.my.domain -l -D eth1 adcn -n node4 -i 10.0.0.4 -d beowulf.my.domain -l -D eth1 adcn -n node5 -i 10.0.0.5 -d beowulf.my.domain -l -D eth1 adcn -n node6 -i 10.0.0.6 -d beowulf.my.domain -l -D eth1 adcn -n node7 -i 10.0.0.7 -d beowulf.my.domain -l -D eth1 adcn -n node8 -i 10.0.0.8 -d beowulf.my.domain -l -D eth1 adcn -n node9 -i 10.0.0.9 -d beowulf.my.domain -l -D eth1 adcn -n node10 -i 10.0.0.10 -d beowulf.my.domain -l -D eth1 adcn -n node11 -i 10.0.0.11 -d beowulf.my.domain -l -D eth1 adcn -n node12 -i 10.0.0.12 -d beowulf.my.domain -l -D eth1 adcn -n node13 -i 10.0.0.13 -d beowulf.my.domain -l -D eth1 adcn -n node14 -i 10.0.0.14 -d beowulf.my.domain -l -D eth1 adcn -n node15 -i 10.0.0.15 -d beowulf.my.domain -l -D eth1 adcn -n node16 -i 10.0.0.16 -d beowulf.my.domain -l -D eth1
¸¸ÀÏ ¿©·¯ºÐÀÌ ½Ã½ºÅÛÀ» ½ÃÀÛÇÏ°í ³ª¼ "Sending BOOTP and RARP requests..."¶ó°í ¸Þ¼¼Áö°¡ ¶ß´Â °æ¿ì ¿©·¯ºÐÀº ´ÙÀ½ÀÇ ³»¿ëÀ» »ìÆ캸¾Æ¾ßÇÑ´Ù.
³×Æ®¿öÅ© ÄÉÀ̺í, ½ºÀ§Ä¡ ¼³Á¤µîÀ» È®ÀÎÇÏ°í ¼¹ö¿¡ ÀÖ´Â ÀÎÅÍÆäÀ̽º°¡ Á¤È®È÷ ¼³Á¤µÇ¾î ÀÖ´ÂÁö È®ÀÎÇÏ´Ù.
rarp°¡ ¼¹ö Ä¿³Î¿¡¼ Áö¿øÀÌ µÇ´ÂÁö È®ÀÎÇÑ´Ù.
¹®Á¦°¡ µÇ´Â Ŭ¶óÀ̾ðÆ®¿¡ ´ëÇÑ rarpÀÔ·ÂÀÌ ÀÖ´ÂÁö È®ÀÎÇÑ´Ù. ÀÌ´Â 'rarp -a'¸í·ÉÀ¸·Î ¾Ë ¼ö ÀÖ´Ù. Ŭ¶óÀ̾ðÆ® Çϵå¿þ¾î ÁÖ¼Ò°¡ Á¤È®ÇÑÁö È®ÀÎÇÑ´Ù.
'tcpdump -i eth1 rarp'¸¦ ¼¹ö¿¡¼ ½ÇÇà½ÃÅ°°í disk-lessŬ¶óÀ̾ðÆ®¸¦ ºÎÆÃÇÑ´Ù.(eth1ÀÌ Å¬·¯½ºÅÍ¿¡ ¿¬°áµÈ ÀÎÅÍÆäÀ̽º¶ó°í °¡Á¤ÇÑ´Ù.) Ŭ¶óÀ̾ðÆ®°¡ ºÎÆõǰí rarp ¿äûÀ» ³»º¸³¾ ¶§, ¿©·¯ºÐÀº tcpdump °á°ú¿¡¼ À̸¦ º¸¾Æ¾ßÇÑ´Ù. ¸¸ÀÏ ¸ðµç ¼³Á¤ÀÌ Á¤È®È÷ µÇ¾ú´Ù¸é, ¿©·¯ºÐÀº ¼¹öÀÇ rarp ÀÀ´äÀ» º¸¸é µÉ °ÍÀÌ´Ù. ¿©·¯ºÐÀÌ ¿äûÀ» º¸Áö ¸øÇß´Ù¸é, ¹®Á¦ÀÇ ´ëºÎºÐÀÇ ¿øÀÎÀº À߸øµÈ ¿¬°áÀÌ´Ù; ÀÌ´Â ÄÉÀ̺í, ½ºÀ§Ä¡, NIC°¡ ¹®Á¦·Î ÀÛ¿ëÇßÀ» ¼ö ÀÖ´Ù. Ŭ¶óÀ̾ðÆ®ÀÇ rarp ¿äûÀ» º¼ ¼ö ÀÖÁö¸¸, ¼¹ö°¡ ÀÀ´äÇÏÁö ¾Ê´Â´Ù¸é, ´ëºÎºÎÀÇ ¹®Á¦´Â rarp ÀÔ·ÂÀÌ À߸øµÇ¾î ³ª¿À´Â °á°úÀÌ´Ù.
¿©·¯ºÐÀÇ Å¬¶óÀ̾ðÆ®µéÀÌ ºñµð¿À Ä«µå³ª Å°º¸µåµîÀÌ ¾ø´Â °æ¿ì ¿©·¯ºÐÀÌ ¼¹ö¿¡¼ Á÷Á¢ÀûÀ¸·Î ±×µé¿¡°Ô ¿¬°áÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀÌ ¾ø´Ù. ¼³Á¤º¯ÈµµÁß ³×Æ®¿öÅ©¿¡ ¹®Á¦°¡ »ý±æ°æ¿ì¿Í Ŭ¶óÀ̾ðÆ®¿¡ telnet À̳ª rloginÀ» ÇÒ ¼ö ¾øÀ¸¸é ¿©·¯ºÐÀº ´Ù¸¥ ¹æ¹ýÀ¸·Î Á¢¼ÓÇؾßÇÑ´Ù. Ŭ¶óÀ̾ðÆ® ÄַܼΠÁ¢¼ÓÇÏ´Â ¸î°¡Áö ¹æ¹ýÀÌ ÀÖ´Ù. ù¹ø° ¹æ¹ýÀº Jan LindheimÀÌ ¸¸µç Building a Beowulf System http://www.cacr.caltech.edu/beowulf/tutorial/building.html¿¡ ³ª¿Â ¸ð´ÏÅÍ¿Í Å°º¸µå ½ºÀ§Ä¡¸¦ ÀÌ¿ëÇÏ¸é µÈ´Ù. ´Ù¸¥ ÇÑ°¡Áö ¹æ¹ýÀº serial terminalÀ» »ç¿ëÇÏ´Â °ÍÀÌ´Ù.
¸¸ÀÏ CD-ROM¿¡¼ ¼³Ä¡ÇÏ°í ´ÜÁö ÇϳªÀÇ µå¶óÀ̺갡 ÀÖ´Â °æ¿ì, ¿©·¯ºÐÀº ¼³Ä¡ÇÒ ¶§¸¶´Ù °¢ CD-ROM µå¶óÀ̺긦 ¿Å°Ü¾ßÇÑ´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì´Â NFS ¼³Ä¡¸¦ ÇϸéµÈ´Ù. ¿©·¯ºÐÀÌ ÇϳªÀÇ Ç÷ÎÇÇ µå¶óÀ̺긦 °®°í ÀÖ´Ù¸é ¸¶Âù°¡Áö·Î ÇؾßÇÑ´Ù. ÀúÀÚÀÇ °æ¿ì Áö¿ª ftp ¼¹ö¸¦ ÀÌ¿ëÇÏ¿© ¸ðµç ³ëµå¿¡ ¼³Ä¡ÇÏ¿´´Ù. Ç÷ÎÇÇ µå¶óÀ̺굵 ¿Å°Ü¾ßÇß´Ù. ¼³Ä¡½Ã°£À» ÁÙÀ̱â À§ÇØ ÀúÀÚ´Â ¿ÏÀüÇÑ ¼³Ä¡¸¦ ±ÇÀåÇÑ´Ù. ¼³Ä¡ÇÒ ²Ù·¯¹Ì¸¦ ¼±ÅÃÇÏ´Â °ÍÀº °íÅ뽺·¯¿î(?) ÀÏÀ̸ç 16³ëµåÀÇ °æ¿ì Á¤¸» Èûµé´Ù. ÃÖ±Ù¿¡´Â °¡Àå ÀÛÀº Å©±âÀÇ Çϵ尡 2GBÀ̹ǷΠ¼³Ä¡°ø°£Àº °ÆÁ¤ÇÏÁö ¾Ê¾Æµµ µÈ´Ù.