Linux ÄÚºËÖÐµÄ GCC ÌØÐÔ(ת£©
Á˽âÓÃÓÚ C ÓïÑ﵀ GCC À©Õ¹
ÎĵµÑ¡Ïî
<tr
valign="top"><td width="8"><img alt="" height="1" width="8"
src="//www.ibm.com/i/c.gif"/></td><td width="16"><img alt="" width="16"
height="16" src="//www.ibm.com/i/c.gif"/></td><td class="small"
width="122"><p><span class="ast">δÏÔʾÐèÒª JavaScript
µÄÎĵµÑ¡Ïî</span></p></td></tr>
´òÓ¡±¾Ò³
½«´ËÒ³×÷Ϊµç×ÓÓʼþ·¢ËÍ
Ó¢ÎÄÔÎÄ
¼¶±ð£º Öм¶
M. Tim Jones
, ¹ËÎʹ¤³Ìʦ, Emulex Corp.
2009 Äê 4 ÔÂ 07 ÈÕ
Linux® ÄÚºËʹÓà GNU Compiler Collection (GCC) Ì×¼þµÄ¼¸¸öÌØÊ⹦ÄÜ¡£ÕâЩ¹¦ÄܰüÀ¨Ìṩ¿ì½Ý·½Ê½ºÍ¼ò»¯ÒÔ¼°Ïò±àÒëÆ÷ÌṩÓÅ»¯ÌáʾµÈµÈ¡£Á˽âÕâÐ©ÌØÊâµÄ GCC ÌØÐÔ£¬Ñ§Ï°ÈçºÎÔÚ Linux ÄÚºËÖÐʹÓÃËüÃÇ¡£
GCC ºÍ Linux ÊdzöÉ«µÄ×éºÏ¡£¾¡¹ÜËüÃÇÊǶÀÁ¢µÄÈí¼þ£¬µ«ÊÇ Linux ÍêÈ«ÒÀ¿¿ GCC ÔÚеÄÌåϵ½á¹¹ÉÏÔËÐС£Linux » ......
×î½ü×ölinuxϵͳ²Ã¼ô£¬ÐÞ¸ÄǶÈëʽϵͳµÄinittabÎļþʱÎ󽫱¾»úinittabÎļþÐ޸ġ£
rebootºó³öÏÖ
INIT: /etc/inittab[2]: missing id field
INIT: /etc/inittab[3]: missing id field.
Enterrunlevel:
ÊäÈë3,»ò1£¬»òsinggleºó³öÏÖ
INIT: no more processess left in this runlevel
ϵͳֹͣ¡£
google£¬baiduµ½Ò»ÆªÒýÓÃÆµÂʼ«¸ßµÄÎÄÕ£º
ÔÚrescueģʽÏÂÐÞ¸´inittab
½øÈërescueģʽ
#mount
#chroot /mnt/sysimage
#rpm -qf /etc/inittab
initscripts-7.31.6.EL-1
#mount /dev/cdrom /mnt/cdrom
#rpm -ivh --force --root / /mnt/cdrom/RPMS/initscripts-7.31.6.EL-1.i386.rpm
#sync
#exit
µ«ÊÇÎÒµÄϵͳʹÓÃrpm -qf /etc/inittab²éѯËùÊôrpm°üʱ£¬ÌáʾinittabÎļþÕÒ²»µ½¡£
×îºóÓÃÈçÏ·½·¨½â¾ö£º
linuxÆô¶¯Ê±Ìí¼ÓÆô¶¯²ÎÊýinit=/bin/sh
Æô¶¯ºóÌø¹ýinittabÖ±½Ó½øÈëshell¡£
Õâ´Î¿ÉÒԳɹ¦µÄ¿´µ½inittabÎļþÁË£¬vi /etc/inittab£º
¹ûÈ»inittab±»Ð޸ĵÃÃæÄ¿È«·ÇÁË¡£
ÐÞ¸ÄÈ´ÌáʾÊÇreadonlyÎļþ£¬Ö´ÐÐmount -o rw.remount /
ÎÊÌâ½â¾ö£¡
......
ÎÄÕÂѡȡµÄÀý×ӷdz£¼òµ¥£¬ÉÏÊÖÈÝÒ×£¬Ö»ÊÇΪÁ˽²Êö¾²Ì¬Ó붯̬Á´½Ó¿âµÄÉú³ÉºÍÁ´½Ó¹ý
³Ì£¬»¹ÓÐËûÃÇÖ®¼äµÄÇø±ð¡£ÒÔÏÂÀý×ÓÔÚ gcc 4.1.1 ÏÂ˳Àûͨ¹ý¡£
ÎļþÔ¤ÀÀ
ÎļþĿ¼Ê÷ÈçÏ£¬ÈçÄãËù¼û£¬·Ç³£¼òµ¥¡£
libtest/
|-- lt.c
|-- lt.h
`-- test.c
´úÂë
#lt.c
/* lt.c
*
*/
#include <stdio.h>
void myprint(void)
{
printf("Linux library test!\n");
}
# lt.h
/* lt.h
*
*/
void myprint(void);
#test.c
/* test.c
*
*/
#include "lt.h"
int main(void)
{
myprint();
return 0;
}
ÏÈ¿´¾²Ì¬¿â
Ê×ÏÈ× ......
ÓɲÙ×÷ϵͳʵÏÖµÄËùÓÐϵͳµ÷ÓÃËù¹¹³ÉµÄ¼¯ºÏ¼´³ÌÐò½Ó¿Ú»òÓ¦Óñà³Ì½Ó¿Ú(Application Programming Interface£¬API)¡£ÊÇÓ¦ÓóÌÐòͬϵͳ֮¼äµÄ½Ó¿Ú¡£
¡¡¡¡²Ù×÷ϵͳµÄÖ÷Òª¹¦ÄÜÊÇΪӦÓóÌÐòµÄÔËÐд´½¨Á¼ºÃµÄ»·¾³£¬ÎªÁË´ïµ½Õâ¸öÄ¿µÄ£¬ÄÚºËÌṩһϵÁо߱¸Ô¤¶¨¹¦ÄܵĵÄÄں˺¯Êý£¬Í¨¹ýÒ»×é³ÆÎªÏµÍ³µ÷Óõģ¨system call)µÄ½Ó¿Ú³ÊÏÖ¸øÓû§¡£ÏµÍ³µ÷ÓðÑÓ¦ÓóÌÐòµÄÇëÇ󴫸øÄںˣ¬µ÷ÓÃÏàÓ¦µÄµÄÄں˺¯ÊýÍê³ÉËùÐèµÄ´¦Àí£¬½«´¦Àí½á¹û·µ»Ø¸øÓ¦ÓóÌÐò£¬Èç¹ûûÓÐϵͳµ÷ÓúÍÄں˺¯Êý£¬Óû§½«²»Äܱàд´óÐÍÓ¦ÓóÌÐò¡£
¡¡¡¡Linuxϵͳµ÷Ó㬰üº¬Á˴󲿷ֳ£ÓÃϵͳµ÷ÓúÍÓÉϵͳµ÷ÓÃÅÉÉú³öµÄµÄº¯Êý¡£
¡¡¡¡Ò»¡¢½ø³Ì¿ØÖÆ£º
¡¡¡¡fork ´´½¨Ò»¸öнø³Ì
¡¡¡¡clone °´Ö¸¶¨Ìõ¼þ´´½¨×Ó½ø³Ì
¡¡¡¡execve ÔËÐпÉÖ´ÐÐÎļþ
¡¡¡¡exit ÖÐÖ¹½ø³Ì
¡¡¡¡_exit Á¢¼´ÖÐÖ¹µ±Ç°½ø³Ì
¡¡¡¡getdtablesize ½ø³ÌËùÄÜ´ò¿ªµÄ×î´óÎļþÊý
¡¡¡¡getpgid »ñȡָ¶¨½ø³Ì×é±êʶºÅ
¡¡¡¡setpgid ÉèÖÃÖ¸¶¨½ø³Ì×é±êÖ¾ºÅ
¡¡¡¡getpgrp »ñÈ¡µ±Ç°½ø³Ì×é±êʶºÅ
¡¡¡¡setpgrp ÉèÖõ±Ç°½ø³Ì×é±êÖ¾ºÅ
¡¡¡¡getpid »ñÈ¡½ø³Ì±êʶºÅ
¡¡¡¡getppid »ñÈ¡¸¸½ø³Ì±êʶºÅ
¡¡¡¡getpriority »ñÈ¡µ÷¶ÈÓÅÏȼ¶
¡¡¡¡setpriority ÉèÖõ÷¶ÈÓÅÏȼ¶
¡¡¡¡modify_ldt ¶Á ......
°²×°ÊµÀý£ºImageMagickµÄ°²×°·½·¨
ImageMagickµÄ°²×°·½·¨ÓÐRPM·½Ê½ºÍSOURCE·½Ê½¡£Ä¿Ç°×îаæÊÇImageMagick-6.5.5¡£¿ÉÒÔ´ÓÕâ¸öÍøÖ·ÏÂÔØ£º http://www.imagemagick.org
°²×°²½Ö裺
£±£®sshÁ¬½ÓLinux·þÎñÆ÷
£²£®°ÑÏÂÔØµÄ°²×°Îļþ·Åµ½Êʵ±µÄÎļþ¼ÐÏ¡£ÀýÈ磺cd /usr/local/src¡£»òÕßÖ±½ÓÔÚ·þÎñÆ÷ÉÏÏÂÔØ¡£
3£®½âѹÏÂÔØÎļþ ÃüÁ
tar -zxvf ImageMagick-6.5.5-7.tar.gz
£µ£®½øÈë½âѹºóµÄÎļþ¼Ð ÃüÁ
cd ImageMagick-6.3.5-7
£¶£®configureÅäÖà ÃüÁ
./configure
×¢£º
¿ÉÒÔÏÈÖ´ÐÐ ./configure --help ¿´¿´ÓÐÄÄЩÅäÖòÎÊý¡£È»ºó×Ô¼º¸ù¾ÝÐèÒªÉèÖá£
ÎÒÃÇÒ»°ãµÄͼƬ´¦Àí¶¼ÒªÇóÖ§³Ö¼¸ÖÖ³£¼ûµÄͼƬÐÎʽ£ºjpeg,png,gif¡£
²é¿´ÅäÖúó½á¹û£ºyesµÄ»°Ö§³Ö£¬no¾ÍÊDz»Ö§³Ö
JPEG v1 --with-jpeg=yes yes
PNG --with-png=yes yes
ZLIB --with-zlib=yes yes
Èç¹ûÊÇnoµÄÇé¿ö£¬ÓùýÒÔÏÂÃüÁî²é¿´ÊÇ·ñ°²×°ÁËÏàÓ¦µÄ¿â¡£
rpm -qa|grep jpeg //zlibµÄÓÃzlib£¬ pngµÄʱºòÓÃlibpng
Ö´Ðнá¹û£ºlibjpeg-6b-33
Ò»¿´Ö´Ðнá¹ûȷʵÊǰ²×°ÁËjpeg¿â£¬µ«ÎªÊ²Ã´²»Ê¶±ðÄØ£¿
×îºóÍøÉϲéÁËһϰëÌ죬·¢ÏÖ±ØÐëÒª°²×°libjpeg-devel¿â¡£
ÓеÄϵͳ¿ÉÄÜĬÈÏÒѾ°²×°ÁË£¬ËùÒÔ¿É ......
[root@ns1 opt]# du -h -s /* | sort
12K /mnt
13M /sbin
16K /lost+found
1.8G /usr
194M /root
22G /opt
24K /tmp
4.0K /initrd
4.0K /misc
424K /dev
4.5M /boot
4.9M /bin
61M /var
8.0K /home
81M /lib
903M /proc
9.1M /etc
-------------
²é¿´linuxÎļþĿ¼µÄ´óСºÍÎļþ¼Ð°üº¬µÄÎļþÊý
ͳ¼Æ×ÜÊý´óС
du -sh xmldb/
du -sm * | sort -n //ͳ¼Æµ±Ç°Ä¿Â¼´óС ²¢°²´óС ÅÅÐò
du -sk * | sort -n
du -sk * | grep guojf //¿´Ò»¸öÈ˵ĴóС
du -m | cut -d "/" -f 2 //¿´µÚ¶þ¸ö/ ×Ö·ûǰµÄÎÄ×Ö
-------------
du -sh Îļþ»òĿ¼Ãû
Ó÷¨£ºdu [Ñ¡Ïî]... [Îļþ]...
×ܽáÿ¸ö<Îļþ>µÄ´ÅÅÌÓÃÁ¿£¬Ä¿Â¼Ôò ......