Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB
ÈÈÃűêÇ©£º c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 ×îÐÂÎÄÕ : linux

Linux ̽Ë÷

ת£ºhttp://www.nounix.com/linux-explore-the-legend-of-the-beginning-of-the-first-act-14577/
<Linux ̽Ë÷>
µÄÄ¿µÄÊǰïÖúÄúÈÏʶLinux Õâ¸ö²©´ó¾«ÉîµÄ²Ù×÷ϵͳ²úÆ·£¬Èç¹ûÄú´ø×ÅÏë³ÉΪר¼Ò»òÕß¶¥¼âLinux ÈËÎïÀ´¿´±¾Îĵϰ£¬Äú¿Ï¶¨ÒªÊ§ÍûÁË¡£ÒòΪÎÒ×Ô¼ºÒ²»¹ÊÇLinux µÄ³õѧÕߣ¬ÔõôÄܹ»Ð´³öÈÃÄú³ÉΪ¸ßÊÖµÄÎÄÕ£¿£¨Ð¦£©²»¹ýÔ¸Íû×ÜÊǺõ쬴ó¼ÒÒ»ÆðŬÁ¦°É£¡¼ÓÓÍ£¡
ok£¬ÏÖÔÚÇëÄú¿´¿´ÄúÊÇÊôÓÚÏÂÃæÄÄÖÖÀàÐ͵ÄÈË£º
1 £º¸ù±¾²»ÖªµÀʲôÊÇLinux£¬µ«ÊÇÖªµÀWindows£»
2 £º¿ÉÒÔÆ´Ð´³öLinux Õâ¸öµ¥´Ê£¬ÖªµÀÊÇÒ»ÖÖºÍWindows ²Ù×÷ϵͳÏà¹ØµÄ²úÆ·µ«½ö´Ë¶øÒÑ£»
3 £ºÖªµÀLinux ÊǸÉʲôµÄ£¬ÓÐʲôÓô¦£¬¶øÇÒÒ²×¼±¸Ñ§Ï°Linux ÁË£»
4 £ºÄúÊÇһλ׼±¸¿¼È¡RHCEÖ¤ÊéµÄѧÉú»òÕß¹¤×÷Õߣ¬ÒÔ±ãÌá¸ßÄúµÄ¾ºÕùÁ¦£»
5 £ºÄú¶ÔÓÚ¼¼Êõ×ÜÊÇÓÐÒ»ÖÖÏòÍù£¬Ï²»¶Ñо¿Ðµļ¼Êõ£¬½Ó´¥ÐµÄÁìÓò£»
Èç¹ûÄúÊÇÊôÓÚÉÏÃæÎåÖÖÖеÄÈκÎÒ»ÖÖ£¬ÄÇô±¾ÏµÁÐÎÄÕÂÊʺÏÄúµÄÔĶÁ£¬ÄúÄÜ´ÓÖеõ½Ðí¶àÀÖȤ¡£ÎÒ²»Äܱ£Ö¤Äú¿´Í걾ϵÁÐÎÄÕÂÖ®ºó£¬Äܹ»³ÉΪһ¸öºÏ¸ñµÄ
RHCE £¨RHCE£ºRed Hat Certified Engineer.RedHat Linux
Ó¦ÓõÄÒ»ÖÖˮƽÈÏÖ¤£¬¹ØÓÚRHCEÈÏÖ¤½«ÓÐÕ½ÚÏêϸÃèÊö£©£¬µ«ÊÇÄܹ»±£Ö¤Äú²»»á±»±ðÈ˶ÔÓÚLinux
掅 ......

Ò»¸öLinuxÏÂCÏ̳߳صÄʵÏÖ

ʲôʱºòÐèÒª´´½¨Ï̳߳ØÄØ£¿¼òµ¥µÄ˵£¬Èç¹ûÒ»¸öÓ¦ÓÃÐèҪƵ·±µÄ´´½¨ºÍÏú»ÙỊ̈߳¬¶øÈÎÎñÖ´ÐеÄʱ¼äÓַdz£¶Ì£¬ÕâÑùÏ̴߳´½¨ºÍÏú»ÙµÄ´øÀ´µÄ¿ªÏú¾Í²»ÈݺöÊÓ£¬ÕâʱҲÊÇÏ̳߳ظóö³¡µÄ»ú»áÁË¡£Èç¹ûÏ̴߳´½¨ºÍÏú»Ùʱ¼äÏà±ÈÈÎÎñÖ´ÐÐʱ¼ä¿ÉÒÔºöÂÔ²»¼Æ£¬ÔòûÓбØÒªÊ¹ÓÃÏ̳߳ØÁË¡£
ÏÂÃæÊÇLinuxϵͳÏÂÓÃCÓïÑÔ´´½¨µÄÒ»¸öÏ̳߳ء£Ï̳߳ػáά»¤Ò»¸öÈÎÎñÁ´±í(ÿ¸öCThread_worker½á¹¹¾ÍÊÇÒ»¸öÈÎÎñ)¡£
pool_init()º¯ÊýÔ¤ÏÈ´´½¨ºÃmax_thread_num¸öỊ̈߳¬Ã¿¸öÏß³ÌÖ´thread_routine ()º¯Êý¡£¸Ãº¯ÊýÖÐ
1. while (pool->cur_queue_size == 0)
2. {
3. pthread_cond_wait (&(pool->queue_ready),&(pool->queue_lock));
4. }
±íʾÈç¹ûÈÎÎñÁ´±íÖÐûÓÐÈÎÎñ£¬Ôò¸ÃÏ̳߳öÓÚ×èÈûµÈ´ý״̬¡£·ñÔò´Ó¶ÓÁÐÖÐÈ¡³öÈÎÎñ²¢Ö´ÐС£
pool_add_worker()º¯ÊýÏòÏ̳߳صÄÈÎÎñÁ´±íÖмÓÈëÒ»¸öÈÎÎñ£¬¼ÓÈëºóͨ¹ýµ÷ÓÃpthread_cond_signal (&(pool->queue_ready))»½ÐÑÒ»¸ö³öÓÚ×èÈû״̬µÄÏß³Ì(Èç¹ûÓеϰ)¡£
pool_destroy ()º¯ÊýÓÃÓÚÏú»ÙÏ̳߳أ¬Ï̳߳ØÈÎÎñÁ´±íÖеÄÈÎÎñ²»»áÔÙ±»Ö´ÐУ¬µ«ÊÇÕýÔÚÔËÐеÄÏ̻߳áÒ»Ö±°ÑÈÎÎñÔËÐÐÍêºóÔÙÍ˳ö¡£
ÏÂÃæÌù³öÍêÕû´úÂë
1. #include
2. #include
3 ......

Ò»¸öLinuxÏÂCÏ̳߳صÄʵÏÖ

ʲôʱºòÐèÒª´´½¨Ï̳߳ØÄØ£¿¼òµ¥µÄ˵£¬Èç¹ûÒ»¸öÓ¦ÓÃÐèҪƵ·±µÄ´´½¨ºÍÏú»ÙỊ̈߳¬¶øÈÎÎñÖ´ÐеÄʱ¼äÓַdz£¶Ì£¬ÕâÑùÏ̴߳´½¨ºÍÏú»ÙµÄ´øÀ´µÄ¿ªÏú¾Í²»ÈݺöÊÓ£¬ÕâʱҲÊÇÏ̳߳ظóö³¡µÄ»ú»áÁË¡£Èç¹ûÏ̴߳´½¨ºÍÏú»Ùʱ¼äÏà±ÈÈÎÎñÖ´ÐÐʱ¼ä¿ÉÒÔºöÂÔ²»¼Æ£¬ÔòûÓбØÒªÊ¹ÓÃÏ̳߳ØÁË¡£
ÏÂÃæÊÇLinuxϵͳÏÂÓÃCÓïÑÔ´´½¨µÄÒ»¸öÏ̳߳ء£Ï̳߳ػáά»¤Ò»¸öÈÎÎñÁ´±í(ÿ¸öCThread_worker½á¹¹¾ÍÊÇÒ»¸öÈÎÎñ)¡£
pool_init()º¯ÊýÔ¤ÏÈ´´½¨ºÃmax_thread_num¸öỊ̈߳¬Ã¿¸öÏß³ÌÖ´thread_routine ()º¯Êý¡£¸Ãº¯ÊýÖÐ
1. while (pool->cur_queue_size == 0)
2. {
3. pthread_cond_wait (&(pool->queue_ready),&(pool->queue_lock));
4. }
±íʾÈç¹ûÈÎÎñÁ´±íÖÐûÓÐÈÎÎñ£¬Ôò¸ÃÏ̳߳öÓÚ×èÈûµÈ´ý״̬¡£·ñÔò´Ó¶ÓÁÐÖÐÈ¡³öÈÎÎñ²¢Ö´ÐС£
pool_add_worker()º¯ÊýÏòÏ̳߳صÄÈÎÎñÁ´±íÖмÓÈëÒ»¸öÈÎÎñ£¬¼ÓÈëºóͨ¹ýµ÷ÓÃpthread_cond_signal (&(pool->queue_ready))»½ÐÑÒ»¸ö³öÓÚ×èÈû״̬µÄÏß³Ì(Èç¹ûÓеϰ)¡£
pool_destroy ()º¯ÊýÓÃÓÚÏú»ÙÏ̳߳أ¬Ï̳߳ØÈÎÎñÁ´±íÖеÄÈÎÎñ²»»áÔÙ±»Ö´ÐУ¬µ«ÊÇÕýÔÚÔËÐеÄÏ̻߳áÒ»Ö±°ÑÈÎÎñÔËÐÐÍêºóÔÙÍ˳ö¡£
ÏÂÃæÌù³öÍêÕû´úÂë
1. #include
2. #include
3 ......

LinuxÄÚºËÔ´ÂëKconfigÓï·¨·ÖÎö


linuxÔÚ2.6°æ±¾ÒÔºó½«ÅäÖÃÎļþÓÉÔ­À´µÄconfig.in¸ÄΪkconfig£¬¶ÔÓÚkconfigµÄÓï·¨ÔÚ/Documentation/kbuild/kconfig-language.txtÖÐ×öÁËÏêϸµÄ˵Ã÷£¬ÔÚÕâÀï¸ø³ökconfig-language.txtµÄÖÐÎİ档
½éÉÜ
----
ÔÚÅäÖÃÊý¾Ý¿âµÄÅäÖÃÑ¡ÏîÊÇÒÔÊ÷µÄÐÎʽ×éÖ¯µÄ£º
   +- Code maturity level options
   | +- Prompt for development and/or incomplete code/drivers
   +- General setup
   | +- Networking support
   | +- System V IPC
   | +- BSD Process Accounting
   | +- Sysctl support
   +- Loadable module support
   | +- Enable loadable module support
   |     +- Set version information on all module symbols
   |     +- Kernel module loader
   +- ...
ÿ¸öÑ¡Ïî¶¼ÓÐÆä×Ô¼ºµÄÒÀÀµ¹ØÏµ¡£ÕâЩÒÀÀµ¹ØÏµ¾ö¶¨ÁËÑ¡ÏîÊÇ·ñÊǿɼûµÄ¡£¸¸Ñ¡Ïî¿É¼û£¬×ÓÑ¡Ïî²ÅÄܿɼû¡£
²Ëµ¥Ñ¡Ïî
--------
´ó¶àÊýµÄÑ¡Ïî¶¼¶¨ÒåÁËÒ»¸öÅäÖÃÑ¡ÏÆäËüÑ¡ÏîÔòÓÐÖúÓÚ¶ÔËüÃǽøÐÐ×éÖ¯¡£(Ô­ÎÄ£ºMost entries d ......

¸ß¼¶Linux³ÌÐòÉè¼ÆµÚÒ»Õ£ºÈëÃÅ

1¡¢ÓÃGCC±àÒë
1.1¡¢´´½¨Ô´Îļþ
(main.c) C Ô´Îļþ - main.c
#include
#include “reciprocal.hpp”
int main (int argc, char **argv)
{
    int i;
    i = atoi (argv[1]);
    printf (“The reciprocal of %d is %g\n”, i, reciprocal (i));
    return 0;
}
(reciprocal.cpp) C++ Ô´Îļþ - reciprocal.cpp
#include
#include “reciprocal.hpp”
double reciprocal (int i) {
    // I should be non-zero.
    assert (i != 0);
    return 1.0/i;
}
(reciprocal.hpp) Í·Îļþ - reciprocal.hpp
#ifdef __cplusplus
    extern “C” {
#endif
    extern double reciprocal (int i);
#ifdef __cplusplus
    }
#endif
1.2¡¢±àÒëÔ´Îļþ
±àÒëmain.c:
% gcc -c main.c
±àÒëreciprocal.cpp:
% g++ -c reciprocal.cpp
²ÎÊý-IÖ¸¶¨ËÑË÷Í·ÎļþµÄλÖá£
ĬÈÏÇé¿öÏ£¬GCCÔÚµ±Ç°Îļþ¼Ð¼°±ê×¼¿âµÄÍ·ÎļþËùÔÚµÄÎļþ¼ÐÀ´ËÑË÷Í·Îļþ¡£
% g++ ......

CÓïÑÔ±àдlinuxϵÄÊØ»¤½ø³Ì

ÀûÓÃ
ÏÂÔØµÄÕâ¶Î´úÂ룬³É¹¦ÊµÏÖÁËÊØ»¤½ø³Ì£¬Ô­À´ÊØ»¤½ø³ÌÊǺܼòµ¥µÄÊÂÇé¡£
¡¡¡¡ÔÚmainº¯ÊýÖÐÖ´ÐÐ
¡¡¡¡init_daemon();//³õʼ»¯ÎªDaemon
¡¡¡¡¾Í¿ÉÒ԰ѽø³Ì±ä³ÉÊØ»¤½ø³Ì
¡¡¡¡
#include
#include
#include
#include
#include
void
 init_daemon(void
)
{
int
 pid;
int
 i;
if
(pid=fork())
exit
(0);//ÊǸ¸½ø³Ì£¬½áÊø¸¸½ø³Ì
else
 if
(pid< 0)
exit
(1);//forkʧ°Ü£¬Í˳ö
//ÊǵÚÒ»×Ó½ø³Ì£¬ºǫ́¼ÌÐøÖ´ÐÐ
setsid();//µÚÒ»×Ó½ø³Ì³ÉΪеĻỰ×鳤ºÍ½ø³Ì×鳤
//²¢Óë¿ØÖÆÖÕ¶Ë·ÖÀë
if
(pid=fork())
exit
(0);//ÊǵÚÒ»×Ó½ø³Ì£¬½áÊøµÚÒ»×Ó½ø³Ì
else
 if
(pid< 0)
exit
(1);//forkʧ°Ü£¬Í˳ö
//Êǵڶþ×Ó½ø³Ì£¬¼ÌÐø
//µÚ¶þ×Ó½ø³Ì²»ÔÙÊǻỰ×鳤
for
(i=0;i< NOFILE;++i)//¹Ø±Õ´ò¿ªµÄÎļþÃèÊö·û
close
(i);
chdir("/tmp"
);//¸Ä±ä
¹¤×÷Ŀ¼µ½/tmp
umask(0);//ÖØÉèÎļþ´´½¨ÑÚÄ£
return
;
} ......

CÓïÑÔ±àдlinuxϵÄÊØ»¤½ø³Ì

ÀûÓÃ
ÏÂÔØµÄÕâ¶Î´úÂ룬³É¹¦ÊµÏÖÁËÊØ»¤½ø³Ì£¬Ô­À´ÊØ»¤½ø³ÌÊǺܼòµ¥µÄÊÂÇé¡£
¡¡¡¡ÔÚmainº¯ÊýÖÐÖ´ÐÐ
¡¡¡¡init_daemon();//³õʼ»¯ÎªDaemon
¡¡¡¡¾Í¿ÉÒ԰ѽø³Ì±ä³ÉÊØ»¤½ø³Ì
¡¡¡¡
#include
#include
#include
#include
#include
void
 init_daemon(void
)
{
int
 pid;
int
 i;
if
(pid=fork())
exit
(0);//ÊǸ¸½ø³Ì£¬½áÊø¸¸½ø³Ì
else
 if
(pid< 0)
exit
(1);//forkʧ°Ü£¬Í˳ö
//ÊǵÚÒ»×Ó½ø³Ì£¬ºǫ́¼ÌÐøÖ´ÐÐ
setsid();//µÚÒ»×Ó½ø³Ì³ÉΪеĻỰ×鳤ºÍ½ø³Ì×鳤
//²¢Óë¿ØÖÆÖÕ¶Ë·ÖÀë
if
(pid=fork())
exit
(0);//ÊǵÚÒ»×Ó½ø³Ì£¬½áÊøµÚÒ»×Ó½ø³Ì
else
 if
(pid< 0)
exit
(1);//forkʧ°Ü£¬Í˳ö
//Êǵڶþ×Ó½ø³Ì£¬¼ÌÐø
//µÚ¶þ×Ó½ø³Ì²»ÔÙÊǻỰ×鳤
for
(i=0;i< NOFILE;++i)//¹Ø±Õ´ò¿ªµÄÎļþÃèÊö·û
close
(i);
chdir("/tmp"
);//¸Ä±ä
¹¤×÷Ŀ¼µ½/tmp
umask(0);//ÖØÉèÎļþ´´½¨ÑÚÄ£
return
;
} ......

linuxÏÂdataguardʹÓÃrman±¸·Ý

oracle dataguardÊÇÖ¸Ò»ÖÖÊý¾Ý¿â¼¶±ðµÄHA·½°¸£¬×îÖ÷ÒªµÄ¹¦ÄÜÊÇÈÝÔÖ£¬Êý¾Ý±£»¤£¬¹ÊÕϻָ´µÈ
ÔÚÉú²úÊý¾Ý¿âµÄÊÂÎñÒ»ÖÂÐÔʱ£¬Ê¹ÓòúÉúµÄÎïÀíÈ«±¸·Ý´´½¨±¸¿â£¬±¸¿âͨ¹ý´«Êä¹ýÀ´µÄ¹éµµÈÕÖ¾×Ô¶¯Î¬»¤±¸ÓÃÊý¾Ý¿â
½«ÖØ×öµÄÊý¾ÝÓ¦Óõ½±¸ÓÿâÉÏ¡£
1£¬Ç°Ì᣺
 primary£º192.168.18.1;
   oracle_SID:db1
 db_unique_name=db1
 
 standby: 192.168.18.2
   oracle_sid:standby
 db_unique_name=standby
  
Ö÷Êý¾Ý¿âµÄ×¼±¸
 1£¬ÉèÖÃÖ÷Êý¾Ý¿âµÄforce logging
 alter database force logging;
 
 2,£¬´´½¨ÃÜÂëÎļþ
  cd $ORACLE_HOME/DBS/ orapwdfile=orapwdb1 password=123 force=yes
 
 3,ÐÞ¸ÄÖ÷¿âµÄ³õʼ»¯²ÎÊý
  alter system set log_archive_config='dg_config=(db1,standby)' scope=both;
  alter system set log_archive_dest1='location=/../db1/arch/ scope=both;
  alter system db_unique_name='db1' scope=both;
 4,Éú³ÉÊý¾Ý¿â±¸·Ý£¬
  conn target sys/123
  backup database forma ......
×ܼǼÊý:5772; ×ÜÒ³Êý:962; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [220] [221] [222] [223] 224 [225] [226] [227] [228] [229]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ