LinuxϵͳµÄÍ·ÎļþºÍ¿âÎļþËÑË÷·¾¶
IncludeµÄheaderÎļþ,Á¬½áÊý¾Ý¿â£¬ÏµÍ³¶¨Ò壬×ܹ²ÓÐÏÂÁÐÀ´Ô´Ö¸¶¨gccÈ¥ÄÇÕÒ¡£
µ±³õÔÚ±àÒëʱָ¶¨µÄ(ÔÚ~gcc/gcc/collect2.c:locatelib()
дÔÚspecsÄÚµÄ
ºóÀ´ÓÃ-D -I -LÖ¸¶¨µÄ
gcc»·¾³±äÁ¿É趨(±àÒëµÄʱºò)
ld.soµÄ»·¾³±äÁ¿(ÕâÊÇrun timeµÄʱºò£©
Ò»¡¢Í·Îļþ
gcc ÔÚ±àÒëʱÈçºÎȥѰÕÒËùÐèÒªµÄÍ·Îļþ £º
¡ùËùÒÔheader fileµÄËÑѰ»á´Ó-I¿ªÊ¼
¡ùÈ»ºóÕÒgccµÄ»·¾³±äÁ¿ C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INCLUDE_PATH
¡ùÔÙÕÒÄÚ¶¨Ä¿Â¼
/usr/include
/usr/local/include
/usr/lib/gcc-lib/i386-linux/2.95.2/include
/usr/lib/gcc-lib/i386-linux/2.95.2/../../../../include/g -3
/usr/lib/gcc-lib/i386-linux/2.95.2/../../../../i386-linux/include
¿âÎļþµ«ÊÇÈç¹û×°gccµÄʱºò£¬ÊÇÓиø¶¨µÄprefixµÄ»°£¬ÄÇô¾ÍÊÇ
/usr/include
prefix/include
prefix/xxx-xxx-xxx-gnulibc/include
prefix/lib/gcc-lib/xxxx-xxx-xxx-gnulibc/2.8.1/include
¶þ¡¢¿âÎļþ
cos()µÈº¯Ê½¿âµÄÑ¡ÏîÒª¶à¼Ó -lm
±àÒëµÄʱºò:
¡ùgcc»áÈ¥ÕÒ-L
¡ùÔÙÕÒgccµÄ»·¾³±äÁ¿LIBRARY_PATH
¡ùÔÙÕÒÄÚ¶¨Ä¿Â¼ /lib /usr/lib /usr/local/lib ÕâÊǵ±³õcompile gccʱдÔÚ³ÌÐòÄÚµÄ
Èý¡¢ÔËÐÐʱ¶¯Ì¬¿âµÄËÑË÷·¾¶
1¡¢ÔÚÅäÖÃÎļþ/etc/ld.so.confÖÐÖ¸¶¨¶¯Ì¬¿âËÑË÷·¾¶
2¡¢Í¨¹ý»·¾³±äÁ¿LD_LIBRARY_PATHÖ¸¶¨¶¯Ì¬¿âËÑË÷·¾¶£¨µ±Í¨¹ý¸Ã»·¾³±äÁ¿Ö¸¶¨¶à¸ö¶¯Ì¬¿âËÑË÷·¾¶Ê±£¬Â·¾¶Ö®¼äÓÃðºÅ"£º"·Ö¸ô£©
3¡¢ÔÚ±àÒëÄ¿±ê´úÂëʱָ¶¨¸Ã³ÌÐòµÄ¶¯Ì¬¿âËÑË÷·¾¶£¨»¹¿ÉÒÔÔÚ±àÒëÄ¿±ê´úÂëʱָ¶¨³ÌÐòµÄ¶¯Ì¬¿âËÑË÷·¾¶¡£
ÕâÊÇͨ¹ýgcc µÄ²ÎÊý"-Wl,-rpath,"Ö¸¶¨£¨ÈçÀý3Ëùʾ£©¡£µ±Ö¸¶¨¶à¸ö¶¯Ì¬¿âËÑË÷·¾¶Ê±£¬Â·¾¶Ö®¼äÓÃðºÅ"£º"·Ö¸ô£©
4¡¢Ä¬ÈϵĶ¯Ì¬¿âËÑË÷·¾¶/lib
5¡¢Ä¬ÈϵĶ¯Ì¬¿âËÑË÷·¾¶/usr/lib
¿ÉÒÔͨ¹ýÖ´ÐпÉÖ´ÐÐÎļþposµÃµ½µÄ½á¹û²»Í¬»ñÖªÆäËÑË÷µ½ÁËÄĸö¶¯Ì¬¿â£¬´Ó¶ø»ñµÃµÚ1¸ö¶¯Ì¬¿âËÑË÷˳Ðò£¬È»ºóɾ³ý¸Ã¶¯Ì¬¿â£¬
ÔÙÖ´ÐгÌÐòpos£¬»ñµÃµÚ2¸ö¶¯Ì¬¿âËÑË÷·¾¶£¬ÔÙɾ³ýµÚ2¸ö±»ËÑË÷µ½µÄ¶¯Ì¬¿â£¬
Èç´ËÍù¸´£¬½«¿ÉµÃµ½LinuxËÑË÷¶¯Ì¬¿âµÄÏȺó˳Ðò¡£
³ÌÐòposÖ´ÐеÄÊä³ö½á¹ûºÍËÑË÷µ½µÄ¶¯Ì¬¿âµÄ¶ÔÓ¦¹ØÏµÈç±í1Ëùʾ
³ÌÐòposÊä³ö½á¹û ʹÓõĶ¯Ì¬¿â ¶ÔÓ¦µÄ¶¯Ì¬¿âËÑË÷·¾¶Ö¸¶¨·½Ê½
./ ./libpos.so ±àÒëÄ¿±ê´úÂëʱָ¶¨µÄ¶¯Ì¬¿âËÑË÷·¾¶
/root/test/env/lib /root/test/env/lib/libpos.so »·¾³±äÁ¿LD_LIBRARY_PATHÖ¸¶¨µÄ¶¯Ì¬¿âËÑË÷·¾¶
/root/test/conf/lib /root/test/conf/lib/libpos.so ÅäÖÃÎļþ/etc/ld.so.
Ïà¹ØÎĵµ£º
ÍøÉϵÄÎÄÕ¿ÉÄܹýÓÚÉîÈ룬²»Ì«ÊʺÏÐÂÊÖ¿´£¬ÕâÀï½éÉÜ×î¼òµ¥µÄ¼¸ÌõSMTPÖ¸Á½öÐèÒªÊäÈëºÜÉÙµÄÃüÁî¼´¿É³É¹¦·¢ËÍÒ»·âÓʼþ¡£
ÆäÖдÖÌ岿·ÖΪÊäÈëµÄÃüÁÀ¶É«²¿·ÖΪ¿É±äÄÚÈÝ£¬»ÒɫΪ·þÎñÆ÷Ó¦´ðÄÚÈÝ©¤©¤
[root@localhost ~]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Esc ......
ÖÐÎİæÊéÄ¿
¡¶Apache CookbookÖÐÎİ棨µÚ¶þ°æ£©¡· New!
¡¶Linux Networking CookbookÖÐÎİ桷 New!
¡¶Shell½Å±¾Ñ§Ï°Ö¸ÄÏ¡· New!
¡¶×¿ÓгÉЧµÄ³ÌÐòÔ±¡· New!
¡¶´úÂëÖ®ÃÀ¡· New!
¡¶Ç¶ÈëʽӲ¼þÉè¼Æ£¨µÚ¶þ°æ£©¡· New!
¡¶LPI LinuxÈÏ֤ȨÍþÖ¸ÄÏ£¨µÚ¶þ°æ£©¡· New!
¡¶LINUX SERVER HACKS£¨¾í¶þ£©¡· New!
¡¶BSD Hacks¡· ......
ÈçºÎÓÃÓï¾äɱËÀËùÓÐoracle´ø(LOCAL=NO)µÄ½ø³Ì£¿
·½·¨Ò»£º(½øÈëoracleÓû§ÏÂ)
$ a=`ps -ef |grep oracle$ORACLE_SID|grep LOCAL=NO |awk '{print $2}'`
»òÕß (È¥³ýµ±Ç°grep½ø³Ì)
$ a=`ps -ef |grep oracle$ORACLE_SID|grep LOCAL=NO |grep -v grep|awk '{print $2}'`
$ echo $a
$ kill -9 $a
·½·¨¶þ£º£¨Ö±½Óɱ£©
$ p ......
Linux Îļþϵͳ¸ÅÊö
×÷Õߣº±±ÄÏÄϱ±
À´×Ô£ºLinuxSir.Org
ÕªÒª£º ±¾ÎÄͨ¹ýÎļþϵͳµÄ¶¨Òå˵Æð£¬È»ºóͨ¹ýÒýÎļòµ¥µÄ½éÉÜÁËÒ»ÏÂÎļþϵͳÀàÐÍ£»¶ÔLinux³£ÓõÄext2¡¢ext3¼°reiserfs ¸ù¾Ý±¾ÈËʹÓþÑéÒ²·º·ºµÄ̸ÁË̸£¬µ«²¢²»ÊÇרҵµÄ¡£ÈçºÎÔĶÁ±¾ÎÄ£¬»¹ÊÇÓÃÂí¿Ë˼ÀíÂÛ¸æËßÎÒÃǵķ½·¨£ºÒ»·ÖΪ¶þ£¬±ß¿´±ßÅú°É£»
Ŀ¼Ë÷Òý
Ò» ......
ÃüÁî
1.
file
×÷Óãº
file ͨ¹ý̽²âÎļþÄÚÈÝÀ´ÅжÏÎļþÀàÐÍ¡£
ʹÓÃfileÃüÁî¿ÉÒÔÖªµÀij¸öÎļþ¾¿¾¹ÊǶþ½øÖÆ(ELF¸ñʽ)µÄ¿ÉÖ´ÐÐÎļþ, »¹ÊÇShell scrīptÎļþ,»òÕßÊÇÆäËüµÄʲô¸ñʽ¡£fileÄÜʶ±ðµÄÎļþÀàÐÍÓÐĿ¼¡¢Shell½Å±¾¡¢Ó¢ÎÄÎı¾¡¢¶þ½øÖÆ¿ÉÖ´ÐÐÎļþ¡¢CÓïÑÔÔ´Îļþ¡¢Îı¾Îļþ¡¢DOSµÄ¿ÉÖ´ÐÐÎļþ¡£ ÐèҪ˵Ã÷µÄÊÇ,fileà ......