linuxÎļþϵͳÌåϵ½á¹¹ ºÍ ÐéÄâÎļþϵͳ(VFS)
ͼ 1. Linux Îļþϵͳ×é¼þµÄÌåϵ½á¹¹
Óû§¿Õ¼ä°üº¬Ò»Ð©Ó¦ÓóÌÐò£¨ÀýÈ磬ÎļþϵͳµÄʹÓÃÕߣ©ºÍ GNU C ¿â£¨glibc£©£¬ËüÃÇΪÎļþϵͳµ÷Ó㨴ò¿ª¡¢¶ÁÈ¡¡¢Ð´ºÍ¹Ø±Õ£©ÌṩÓû§½Ó¿Ú¡£ÏµÍ³µ÷ÓýӿڵÄ×÷ÓþÍÏñÊǽ»»»Æ÷£¬Ëü½«ÏµÍ³µ÷ÓôÓÓû§¿Õ¼ä·¢Ë͵½Äں˿ռäÖеÄÊʵ±¶Ëµã¡£
VFS ÊǵײãÎļþϵͳµÄÖ÷Òª½Ó¿Ú¡£Õâ¸ö×é¼þµ¼³öÒ»×é½Ó¿Ú£¬È»ºó½«ËüÃdzéÏ󵽸÷¸öÎļþϵͳ£¬¸÷¸öÎļþϵͳµÄÐÐΪ¿ÉÄܲîÒìºÜ´ó¡£ÓÐÁ½¸öÕë¶ÔÎļþϵͳ¶ÔÏóµÄ»º´æ£¨inode ºÍ dentry£©¡£ËüÃÇ»º´æ×î½üʹÓùýµÄÎļþϵͳ¶ÔÏó¡£
ÿ¸öÎļþϵͳʵÏÖ£¨±ÈÈç ext2¡¢JFS µÈµÈ£©µ¼³öÒ»×éͨÓýӿڣ¬¹© VFS ʹÓ᣻º³åÇø»º´æ»á»º´æÎļþϵͳºÍÏà¹Ø¿éÉ豸֮¼äµÄÇëÇó¡£ÀýÈ磬¶Ôµ×²ãÉ豸Çý¶¯³ÌÐòµÄ¶ÁдÇëÇó»áͨ¹ý»º³åÇø»º´æÀ´´«µÝ¡£Õâ¾ÍÔÊÐíÔÚÆäÖлº´æÇëÇ󣬼õÉÙ·ÃÎÊÎïÀíÉ豸µÄ´ÎÊý£¬¼Ó¿ì·ÃÎÊËÙ¶È¡£ÒÔ×î½üʹÓã¨LRU£©ÁбíµÄÐÎʽ¹ÜÀí»º³åÇø»º´æ¡£×¢Ò⣬¿ÉÒÔʹÓà sync ÃüÁ»º³åÇø»º´æÖеÄÇëÇó·¢Ë͵½´æ´¢Ã½Ì壨ÆÈʹËùÓÐδдµÄÊý¾Ý·¢Ë͵½É豸Çý¶¯³ÌÐò£¬½ø¶ø·¢Ë͵½´æ´¢É豸£©¡£
ʲôÊÇ¿éÉ豸£¿
¿éÉ豸¾ÍÊÇÒԿ飨±ÈÈç´ÅÅÌÉÈÇø£©Îªµ¥Î»ÊÕ·¢Êý¾ÝµÄÉ豸£¬ËüÃÇÖ§³Ö»º³åºÍËæ»ú·ÃÎÊ£¨²»±ØË³Ðò¶ÁÈ¡¿é£¬¶øÊÇ¿ÉÒÔÔÚÈκÎʱºò·ÃÎÊÈκο飩µÈÌØÐÔ¡£¿éÉ豸°üÀ¨Ó²ÅÌ¡¢CD-ROM ºÍ RAM ÅÌ¡£Óë¿éÉ豸Ïà¶ÔµÄÊÇ×Ö·ûÉ豸£¬×Ö·ûÉ豸ûÓпÉÒÔ½øÐÐÎïÀíѰַµÄýÌå¡£×Ö·ûÉ豸°üÀ¨´®Ðж˿ںʹŴøÉ豸£¬Ö»ÄÜÖð×Ö·ûµØ¶ÁÈ¡ÕâЩÉ豸ÖеÄÊý¾Ý¡£
Õâ¾ÍÊÇ VFS ºÍÎļþϵͳ×é¼þµÄ¸ß²ãÇé¿ö¡£ÏÖÔÚ£¬ÌÖÂÛʵÏÖÕâ¸ö×ÓϵͳµÄÖ÷Òª½á¹¹¡£
Ö÷Òª½á¹¹
Linux ÒÔÒ»×éͨÓöÔÏóµÄ½Ç¶È¿´´ýËùÓÐÎļþϵͳ¡£ÕâЩ¶ÔÏóÊdz¬¼¶¿é£¨superblock£©¡¢inode¡¢dentry ºÍÎļþ¡£³¬¼¶¿éÔÚÿ¸öÎļþϵͳµÄ¸ùÉÏ£¬³¬¼¶¿éÃèÊöºÍά»¤ÎļþϵͳµÄ״̬¡£ÎļþϵͳÖйÜÀíµÄÿ¸ö¶ÔÏó£¨Îļþ»òĿ¼£©ÔÚ Linux ÖбíʾΪһ¸ö inode¡£inode °üº¬¹ÜÀíÎļþϵͳÖеĶÔÏóËùÐèµÄËùÓÐÔªÊý¾Ý£¨°üÀ¨¿ÉÒÔÔÚ¶ÔÏóÉÏÖ´ÐеIJÙ×÷£©¡£ÁíÒ»×é½á¹¹³ÆÎª dentry£¬ËüÃÇÓÃÀ´ÊµÏÖÃû³ÆºÍ inode Ö®¼äµÄÓ³É䣬ÓÐÒ»¸öĿ¼»º´æÓÃÀ´±£´æ×î½üʹÓÃµÄ dentry¡£dentry »¹Î¬»¤Ä¿Â¼ºÍÎļþÖ®¼äµÄ¹ØÏµ£¬´Ó¶øÖ§³ÖÔÚÎļþϵͳÖÐÒÆ¶¯¡£×îºó£¬VFS Îļþ±íʾһ¸ö´ò¿ªµÄÎļþ£¨±£´æ´ò¿ªµÄÎļþµÄ״̬£¬±ÈÈçÐ´Æ«ÒÆÁ¿µÈµÈ£©¡£
ÐéÄâÎļþϵͳ²ã
VFS ×÷ΪÎļþϵͳ½Ó¿ÚµÄ¸ù²ã¡£VFS ¼Ç¼µ±Ç°Ö§³ÖµÄÎļþϵͳÒÔ¼°µ±Ç°¹Ò×°µÄÎļþϵͳ¡£
¿ÉÒÔʹÓÃÒ»×é×¢²áº¯ÊýÔÚ Linux Öж¯Ì¬µØÌí¼Ó»òɾ³ýÎļþϵͳ¡£Äں˱£´æµ±Ç°Ö§³ÖµÄÎļþϵͳµÄÁÐ±í£¬¿ÉÒÔͨ¹
Ïà¹ØÎĵµ£º
²éѯÈí¼þÍêÕûÃû³Æ
¸ñʽ£ºrpm -qa ²¿·ÖÎļþÃû
ÀýÈ磺shell>rpm -qa firefox
firefox-3.0.5-l.e15.centos
»áÁгö»ðºüä¯ÀÀÆ÷µÄÈ«³Æ¡£Ò»°ã°²×°°ü¶¼»á°üº¬°æ±¾ºÅ¡£
²éѯÈí¼þ°²×°Ä¿Â¼
¸ñʽ£ºrpm -ql ÍêÕûÈí¼þÃû
ÀýÈ磺rpm -ql firefox-3.0.5-l.e15.centos
°²×°rpm°ü
¸ñʽ£ºrpm -ivh Èí¼þ°ü
ÀýÈ磺rpm -ivh firefox-3 ......
ǰ¼¸Ìì֨װÁËwindowsϵͳ£¬µ¼ÖÂÒÔǰ°²×°µÄLinux½ø²»È¥ÁË£¬ÎÞ·¨½øÈëLinux£¬Óò»ÏëÖØÐ°²×°Linux£¬ÄÇÑùÌ«·ÑÊÂÁË£¬ÔÚÍøÉÏËÑË÷ÁËһϣ¬ÕÒµ½»Ö¸´LinuxÒýµ¼µÄ·½·¨£¬¾ÊµÑ飬֨ÐÂÒýµ¼½øÈëÔÀ´µÄLinuxϵͳ£¬Ôڴ˼òµ¥¼Ç¼һÏ£º
Ê×ÏÈ£¬ÏÂÔØÒ»¸öGrub4dos£¬½âѹµ½CÅ̸ùĿ¼Ï£¬°ÑÀïÃæµÄgrldr¸´ÖƵ½¸ùĿ¼Ï£¬ÐÞ¸Äboot.iniÎļþ£ ......
Linux¿ªÆôTelnet£¨¸½RHEL5)
1¡£Èç¹û°²×°ÁËtelnet¡¢telnet-serverµÄrpm°ü£¬¾ÍÌøµ½2¡££¬·ñÔò°²×°Õâ¸ö°ü¡£
2¡£ÐÞ¸Ätelnet·þÎñÅäÖÃÎļþ
vi /etc/xinetd.d/telnet
service telnet
{
disable = yes
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failur ......
¿âÓж¯Ì¬Ó뾲̬Á½ÖÖ£¬¶¯Ì¬Í¨³£ÓÃ.soΪºó׺£¬¾²Ì¬ÓÃ.aΪºó׺¡£ÀýÈ磺libhello.so libhello.a
ΪÁËÔÚͬһϵͳÖÐʹÓò»Í¬°æ±¾µÄ¿â£¬¿ÉÒÔÔÚ¿âÎļþÃûºó¼ÓÉϰ汾ºÅΪºó׺,ÀýÈ磺 libhello.so.1.0,ÓÉÓÚ³ÌÐòÁ¬½ÓĬÈÏÒÔ.soΪÎļþºó׺Ãû¡£ËùÒÔΪÁËʹÓÃÕâЩ¿â£¬Í¨³£Ê¹Óý¨Á¢·ûºÅÁ¬½ÓµÄ·½Ê½¡£
ln -s libhello.so.1.0 libhello.so.1 ......
<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
A:link { so-language: zxx }
-->
¼ÆËã»ú×ÀÃæµÄ“ÃÀ”ȷʵºÜ³éÏ󣬲»ÏñÅ®ÐÔµÄÃÀ£¬ÈËÃDz»Ò×±í´ïÇå³þ¡£µ«ÊÇ£¬
A
Ïà¶Ô
B“
¸üÃÀ”µÄÂÛ¶Ï£¬È´ÊDZȽÏÈÝÒ×˵Ã÷°×µÄ¡£
& ......