Ò». yumÊÇʲô
yum = Yellow dog Updater, Modified
Ö÷Òª¹¦ÄÜÊǸü·½±ãµÄÌí¼Ó/ɾ³ý/¸üÐÂRPM°ü.
ËüÄÜ×Ô¶¯½â¾ö°üµÄÒÐÀµÐÔÎÊÌâ.
ËüÄܱãÓÚ¹ÜÀí´óÁ¿ÏµÍ³µÄ¸üÐÂÎÊÌâ
¶þ. yumÌØµã
*¿ÉÒÔͬʱÅäÖöà¸ö×ÊÔ´¿â(Repository)
*¼ò½àµÄÅäÖÃÎļþ(/etc/yum.conf
*×Ô¶¯½â¾öÔö¼Ó»òɾ³ýrpm°üʱÓöµ½µÄÒÐÀµÐÔÎÊÌâ
*ʹÓ÷½±ã
*±£³ÖÓëRPMÊý¾Ý¿âµÄÒ»ÖÂÐÔ
Èý. yum°²×°
Fedora×Ô´ø(yum-2.0.4-2.noarch.rpm)
#rpm -ivh yum-2.0.4-2.noarch.rpm
ËÄ. yumÖ¸Áî
×¢:µ±µÚÒ»´ÎʹÓÃyum»òyum×ÊÔ´¿âÓиüÐÂʱ,yum»á×Ô¶¯ÏÂÔØËùÓÐËùÐèµÄheaders·ÅÖÃÓÚ/var/cache/yumĿ¼ÏÂ,ËùÐèʱ¼ä¿ÉÄܽϳ¤.
*rpm°üµÄ¸üÐÂ
//¼ì²é¿É¸üеÄrpm°ü
#yum check-update
//¸üÐÂËùÓеÄrpm°ü
#yum update
//¸üÐÂÖ¸¶¨µÄrpm°ü,Èç¸üÐÂkernelºÍkernel source
#yum update kernel kernel-source
//´ó¹æÄ£µÄ°æ±¾Éý¼¶,Óëyum update²»Í¬µÄÊÇ,Á¬¾ÉµÄÌÔ̵İüÒ²Éý¼¶
#yum upgrade
*rpm°üµÄ°²×°ºÍɾ³ý
//°²×°rpm°ü,Èçxmms-mp3
#yum install xmms-mp3
//ɾ³ýrpm°ü,°üÀ¨Óë¸Ã°üÓÐÒÐÀµÐԵİü
#yum remove licq
×¢:ͬʱ»áÌáʾɾ³ýlicq-gnome,licq-qt,licq-text
*yumÔÝ´æ(/var/cache/yum/)µÄÏà¹Ø²ÎÊ ......
Linux Kernelѧϰ±Ê¼Ç
Table of Contents
1. ´æ´¢Æ÷Ѱַ
2. É豸Çý¶¯³ÌÐò¿ª·¢
3. ×Ö·ûÉ豸Çý¶¯³ÌÐò
3.1. É豸ºÅ
3.2. É豸ºÅµÄ·ÖÅäºÍÊÍ·Å
3.3. ÖØÒªµÄÊý¾Ý½á¹¹
3.4. ¶ÁºÍд
4. PCIÉ豸
5. Äں˳õʼ»¯ÓÅ»¯ºê
6. ·ÃÎÊÄں˲ÎÊýµÄ½Ó¿Ú
7. Äں˳õʼ»¯Ñ¡Ïî
8. ÄÚºËÄ£¿é±à³Ì
8.1. ÈëÃÅ
8.2. Ϊģ¿éÌí¼ÓÃèÊöÐÅÏ¢
8.3. ÄÚºËÄ£¿é´¦ÀíÃüÁî½éÉÜ
9. ÍøÂç×Óϵͳ
9.1. sk_buff½á¹¹
9.2. sk_buff½á¹¹²Ù×÷º¯Êý
9.3. net_device½á¹¹
9.4. ÍøÂçÉ豸³õʼ»¯
9.5. ÍøÂçÉ豸ÓëÄں˵ŵͨ·½Ê½
9.6. ÍøÂçÉ豸²Ù×÷²ãµÄ³õʼ»¯
9.7. ÄÚºËÄ£¿é¼ÓÔØÆ÷
9.8. ÐéÄâÉ豸
9.9. 8139too.cÔ´Âë·ÖÎö
9.10. ÄÚºËÍøÂçÊý¾ÝÁ÷
10. ±¸Íü¼
Chapter 1. ´æ´¢Æ÷Ѱַ
ÔÚ80x86΢´¦ÀíÆ÷ÖУ¬ÓÐÈýÖÖ´æ´¢Æ÷µØÖ·£º
· Âß¼µØÖ·£¨logical address£©£¬°üº¬ÔÚ»úÆ÷ÓïÑÔÖ¸ÁîÖÐÓÃÀ´Ö¸¶¨Ò»¸ö²Ù×÷Êý»òÒ»ÌõÖ¸ÁîµÄµØÖ·¡£Ã¿¸öÂß¼µØÖ·¶¼ÓÉÒ»¸ö¶Î£¨segment£©ºÍÒ»¸öÆ«ÒÆÁ¿£¨offset£©×é³É¡£Æ«ÒÆÁ¿Ö¸Ã÷Á˴ӶεĿªÊ¼µ½Êµ¼ÊµØÖ·Ö®¼äµÄ¾àÀë¡£
· ÏßÐÔµØÖ·£¨linear address£©£¨Ò²³ÆÎªÐéÄâµØÖ·£¬virtual address£©£¬ËüÊÇÒ»¸ö32λÎÞ·ûºÅÕûÊý£¬¿ÉÓà ......
zz linux yum°²×°mysqlºóҪעÒâµÄһЩ³õʼ»¯ÎÊÌâ
ÎҵķþÎñÆ÷×°µÄÊÇcentos 5.3,ÓÉÓÚ×ʼ°²×°×öÁËÏêϸµÄ¼Ç¼,ËùÒÔÕû¸ö¹ý³ÌÒ²ÊÇÇá³µÊì·,һ·yumÏÂÀ´£¬¾Í¸ã¶¨ÁË£¬È»ºó¾ÍÊÇÊý¾Ý¿â¡¢ÍøÕ¾µÄ°á¼Ò£¬ÇáËɸ㶨~
¿ÉÊǽñÌìÔÚ¼Ò¿´ÁËϹ«Ë¾µÄÍøÕ¾£¬ÎÊÌâ³öÀ´ÁË~ ÓÐЩ²úÆ·µã»÷²é¿´ÏêϸÐÅÏ¢µÄʱºò£¬ÕÒ²»µ½ÍøÒ³~¾¹ýÒ»·¬Ë¼¿¼£¬·¢ÏÖÊÇmysqlĬÈÏ×Ö·û¼¯µÄÎÊÌ⣬°ÑÔÀ´·þÎñÆ÷ÉϵÄmy.cnfÒ»¿´£¬»¹¹ûÕæÊÇ~~ÔÎÁË~~~
ÏÂÃæÐ´³ömysql×°ÍêºóÐèҪעÒâµÄһЩ³õʼ»¯ÉèÖÃ~
1. ÅäÖÿª»úÆô¶¯·þÎñ
/sbin/chkconfig httpd on [ÉèÖÃapache·þÎñÆ÷httpd·þÎñ¿ª»úÆô¶¯]
/sbin/chkconfig –add mysqld [ÔÚ·þÎñÇåµ¥ÖÐÌí¼Ómysql·þÎñ]
/sbin/chkconfig mysqld on [ÉèÖÃmysql·þÎñ¿ª»úÆô¶¯]
/sbin/service httpd start [Æô¶¯httpd·þÎñ,Ó뿪»úÆô¶¯ÎÞ¹Ø]
/sbin/service mysqld start &nb ......
zz linux yum°²×°mysqlºóҪעÒâµÄһЩ³õʼ»¯ÎÊÌâ
ÎҵķþÎñÆ÷×°µÄÊÇcentos 5.3,ÓÉÓÚ×ʼ°²×°×öÁËÏêϸµÄ¼Ç¼,ËùÒÔÕû¸ö¹ý³ÌÒ²ÊÇÇá³µÊì·,һ·yumÏÂÀ´£¬¾Í¸ã¶¨ÁË£¬È»ºó¾ÍÊÇÊý¾Ý¿â¡¢ÍøÕ¾µÄ°á¼Ò£¬ÇáËɸ㶨~
¿ÉÊǽñÌìÔÚ¼Ò¿´ÁËϹ«Ë¾µÄÍøÕ¾£¬ÎÊÌâ³öÀ´ÁË~ ÓÐЩ²úÆ·µã»÷²é¿´ÏêϸÐÅÏ¢µÄʱºò£¬ÕÒ²»µ½ÍøÒ³~¾¹ýÒ»·¬Ë¼¿¼£¬·¢ÏÖÊÇmysqlĬÈÏ×Ö·û¼¯µÄÎÊÌ⣬°ÑÔÀ´·þÎñÆ÷ÉϵÄmy.cnfÒ»¿´£¬»¹¹ûÕæÊÇ~~ÔÎÁË~~~
ÏÂÃæÐ´³ömysql×°ÍêºóÐèҪעÒâµÄһЩ³õʼ»¯ÉèÖÃ~
1. ÅäÖÿª»úÆô¶¯·þÎñ
/sbin/chkconfig httpd on [ÉèÖÃapache·þÎñÆ÷httpd·þÎñ¿ª»úÆô¶¯]
/sbin/chkconfig –add mysqld [ÔÚ·þÎñÇåµ¥ÖÐÌí¼Ómysql·þÎñ]
/sbin/chkconfig mysqld on [ÉèÖÃmysql·þÎñ¿ª»úÆô¶¯]
/sbin/service httpd start [Æô¶¯httpd·þÎñ,Ó뿪»úÆô¶¯ÎÞ¹Ø]
/sbin/service mysqld start &nb ......
°²×°»·¾³£ºVMware Workstation 5.5.0 build-18463
Linux°æ±¾£ºRed Hat Enterprise Linux AS (2.6.9-42.EL)
Èí¼þ°æ±¾£ºMySQL5 - mysql-5.0.37.tar.gz
¡¡¡¡¡¡¡¡¡¡Apache2 - httpd-2.2.4.tar.gz
¡¡¡¡¡¡¡¡¡¡PHP5 - php-5.2.1.tar.gz
¡¡¡¡¡¡¡¡¡¡(½«ÒÔÉÏÎļþ±£´æÖÁ/home/tmpĿ¼)
[MySQL]
# cd /home/tmp (½øÈëѹËõ°üËùÔÚĿ¼)
# groupadd mysql (½¨Á¢mysql×é)
# useradd -g mysql mysql (ÔÚmysql×éÖн¨Á¢mysqlÓû§)
# tar -zxvf mysql-5.0.37.tar.gz (½âѹmysqlÔ´Âë,bz2ѹËõ°üÇëÓÓtar -jvxf ÎļþÃû”Ö¸Áî)
# cd mysql-5.0.37 (½øÈë½âѹĿ¼)
# ./configure --prefix=/usr/local/mysql (prefix²ÎÊýÖ¸Ã÷mysql°²×°Ä¿Â¼)
# make
# make install
# /usr/local/mysql/bin/mysql_install_db --user=mysql
# cp support-files/my-medium.cnf /etc/my.cnf (¸´ÖÆmysqlÅäÖÃÎĵµµ½/etcĿ¼)
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod 700 /etc/rc.d/init.d/mysqld
# chkconfig --add mysqld
# cd /usr/local/mysql (½øÈëmysql°²×°Ä¿Â¼)
# chown -R root ......
°²×°»·¾³£ºVMware Workstation 5.5.0 build-18463
Linux°æ±¾£ºRed Hat Enterprise Linux AS (2.6.9-42.EL)
Èí¼þ°æ±¾£ºMySQL5 - mysql-5.0.37.tar.gz
¡¡¡¡¡¡¡¡¡¡Apache2 - httpd-2.2.4.tar.gz
¡¡¡¡¡¡¡¡¡¡PHP5 - php-5.2.1.tar.gz
¡¡¡¡¡¡¡¡¡¡(½«ÒÔÉÏÎļþ±£´æÖÁ/home/tmpĿ¼)
[MySQL]
# cd /home/tmp (½øÈëѹËõ°üËùÔÚĿ¼)
# groupadd mysql (½¨Á¢mysql×é)
# useradd -g mysql mysql (ÔÚmysql×éÖн¨Á¢mysqlÓû§)
# tar -zxvf mysql-5.0.37.tar.gz (½âѹmysqlÔ´Âë,bz2ѹËõ°üÇëÓÓtar -jvxf ÎļþÃû”Ö¸Áî)
# cd mysql-5.0.37 (½øÈë½âѹĿ¼)
# ./configure --prefix=/usr/local/mysql (prefix²ÎÊýÖ¸Ã÷mysql°²×°Ä¿Â¼)
# make
# make install
# /usr/local/mysql/bin/mysql_install_db --user=mysql
# cp support-files/my-medium.cnf /etc/my.cnf (¸´ÖÆmysqlÅäÖÃÎĵµµ½/etcĿ¼)
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod 700 /etc/rc.d/init.d/mysqld
# chkconfig --add mysqld
# cd /usr/local/mysql (½øÈëmysql°²×°Ä¿Â¼)
# chown -R root ......
°²×°»·¾³£ºVMware Workstation 5.5.0 build-18463
Linux°æ±¾£ºRed Hat Enterprise Linux AS (2.6.9-42.EL)
Èí¼þ°æ±¾£ºMySQL5 - mysql-5.0.37.tar.gz
¡¡¡¡¡¡¡¡¡¡Apache2 - httpd-2.2.4.tar.gz
¡¡¡¡¡¡¡¡¡¡PHP5 - php-5.2.1.tar.gz
¡¡¡¡¡¡¡¡¡¡(½«ÒÔÉÏÎļþ±£´æÖÁ/home/tmpĿ¼)
[MySQL]
# cd /home/tmp (½øÈëѹËõ°üËùÔÚĿ¼)
# groupadd mysql (½¨Á¢mysql×é)
# useradd -g mysql mysql (ÔÚmysql×éÖн¨Á¢mysqlÓû§)
# tar -zxvf mysql-5.0.37.tar.gz (½âѹmysqlÔ´Âë,bz2ѹËõ°üÇëÓÓtar -jvxf ÎļþÃû”Ö¸Áî)
# cd mysql-5.0.37 (½øÈë½âѹĿ¼)
# ./configure --prefix=/usr/local/mysql (prefix²ÎÊýÖ¸Ã÷mysql°²×°Ä¿Â¼)
# make
# make install
# /usr/local/mysql/bin/mysql_install_db --user=mysql
# cp support-files/my-medium.cnf /etc/my.cnf (¸´ÖÆmysqlÅäÖÃÎĵµµ½/etcĿ¼)
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod 700 /etc/rc.d/init.d/mysqld
# chkconfig --add mysqld
# cd /usr/local/mysql (½øÈëmysql°²×°Ä¿Â¼)
# chown -R root ......
c++¿âÎļþÖеķûºÅµÄº¬Ò壺
ËùÓеķûºÅ¶¼ÊÇÒÔÏ»®Ïß¼ÓÉÏ´óд×ÖĸҲ¾ÍÊÇ"_Z"¿ªÍ·£¬¶ÔÓÚÔÚ ÀàÀï»òÕßÃüÃû¿Õ¼äÖеķûºÅ£¬ºóÃæ½ô¸ú"N"£¬È»ºóÊǸ÷¸öÃüÃû¿Õ¼äºÍÀàµÄÃû×Ö£¬Ã¿¸öÃû×ÖǰÊÇÃû×Ö×Ö·û´®µÄ³¤¶È£¬ËæºóÊÇ´óд×Öĸ"E"£¬¶ÔÓÚÒ»¸öº¯Êý£¬ËûµÄ²ÎÊýÁÐ±í¶¼ÔÚEºóÃæ£¬±ÈÈç¶ÔÓÚfloatÀàÐÍ£¬¾ÍÊÇ×Öĸ"f"£¬¾Ù¸öÀý×Ó£¬¶ÔÓÚº¯ÊýN::C::func(int, float)£¬ÔÚ¿âÎļþ»òÕßÄ¿±êÎļþÖеķûºÅ¾ÍÊÇ_ZN1N1C4funcEif¡£ÔÚbinutilsÖÐÌṩÁËÒ»¸ö¹¤¾ßc++filt¿ÉÒÔÖ±½Ó½«·ûºÅ·ÒëΪ´úÂëÖеÄÃû³Æ£¬±ÈÈçÃüÁîc++filt ZN1N1C4funcEif£¬Êä³ö½á¹ûÊÇN::C::func(int, float) ......
c++¿âÎļþÖеķûºÅµÄº¬Ò壺
ËùÓеķûºÅ¶¼ÊÇÒÔÏ»®Ïß¼ÓÉÏ´óд×ÖĸҲ¾ÍÊÇ"_Z"¿ªÍ·£¬¶ÔÓÚÔÚ ÀàÀï»òÕßÃüÃû¿Õ¼äÖеķûºÅ£¬ºóÃæ½ô¸ú"N"£¬È»ºóÊǸ÷¸öÃüÃû¿Õ¼äºÍÀàµÄÃû×Ö£¬Ã¿¸öÃû×ÖǰÊÇÃû×Ö×Ö·û´®µÄ³¤¶È£¬ËæºóÊÇ´óд×Öĸ"E"£¬¶ÔÓÚÒ»¸öº¯Êý£¬ËûµÄ²ÎÊýÁÐ±í¶¼ÔÚEºóÃæ£¬±ÈÈç¶ÔÓÚfloatÀàÐÍ£¬¾ÍÊÇ×Öĸ"f"£¬¾Ù¸öÀý×Ó£¬¶ÔÓÚº¯ÊýN::C::func(int, float)£¬ÔÚ¿âÎļþ»òÕßÄ¿±êÎļþÖеķûºÅ¾ÍÊÇ_ZN1N1C4funcEif¡£ÔÚbinutilsÖÐÌṩÁËÒ»¸ö¹¤¾ßc++filt¿ÉÒÔÖ±½Ó½«·ûºÅ·ÒëΪ´úÂëÖеÄÃû³Æ£¬±ÈÈçÃüÁîc++filt ZN1N1C4funcEif£¬Êä³ö½á¹ûÊÇN::C::func(int, float) ......
1. man ¶ÔÄãÊìϤ»ò²»ÊìϤµÄÃüÁîÌṩ°ïÖú½âÊÍ
eg:man ls ¾Í¿ÉÒԲ鿴lsÏà¹ØµÄÓ÷¨
×¢£º°´q¼ü»òÕßctrl+cÍ˳ö£¬ÔÚlinuxÏ¿ÉÒÔʹÓÃctrl+cÖÕÖ¹µ±Ç°³ÌÐòÔËÐС£
2. ls ²é¿´Ä¿Â¼»òÕßÎļþµÄÊô*£¬ÁоٳöÈÎһĿ¼ÏÂÃæµÄÎļþ
eg: ls /usr/man
ls -l
a.d±íʾĿ¼(directory)£¬Èç¹ûÊÇÒ»¸ö”-”±íʾÊÇÎļþ£¬Èç¹ûÊÇlÔò±íʾÊÇÒ»¸öÁ¬½ÓÎļþ(link)
b.±íʾÎļþ»òÕßĿ¼Ðí¿ÉȨÏÞ.·Ö±ðÓÿɶÁ(r)£¬¿Éд(w)£¬¿ÉÔËÐÐ(x)¡£
3. cp ¿½±´Îļþ
eg: cp filename1 filename2 //°Ñfilename1¿½±´³Éfilename2
cp 1.c netseek/2.c //½«1.c¿½µ½netseekĿ¼ÏÂÃüÃûΪ2.c
4. rm ɾ³ýÎļþºÍĿ¼
eg: rm 1.c //½«1.cÕâ¸öÎļþɾ³ý
5. mv ÒÆ×ßĿ¼»òÕ߸ÄÎļþÃû
eg: mv filename1 filename2 //½«filename1 ¸ÄÃûΪfilename2
mv qib.tgz ../qib.tgz //ÒÆµ½ÉÏÒ»¼¶Ä¿Â¼
6. cd ¸Ä±äµ±Ç°Ä¿Â¼ pwd ²é¿´µ±Ç°ËùÔÚĿ¼ÍêÕû·¾¶
eg: pwd //²é¿´µ±Ç°ËùÔÚĿ¼·¾¶
cd netseek //½øÈënetseekÕâ¸öĿ¼
cd //Í˳öµ±Ç°Ä¿Â¼
7. cat£¬moreÃüÁî
½«Ä³¸öÎļþµÄÄÚÈÝÏÔʾ³öÀ´¡£Á½¸öÃüÁîËù²»Í¬µÄÊÇ:cat°ÑÎļþÄÚÈÝÒ»Ö±´òÓ¡³öÀ´£¬¶ø moreÔò·ÖÆÁÏÔʾ
eg; cat>1.c //¾Í¿ÉÒÔ°Ñ´úÂëÕ³Ìûµ½1.cÎļþÀ°´ctrl+d ±£´æ´úÂë¡£
......