Linux編譯安裝相關(guān)命令,下面以Linux安裝MySQL工具為例進(jìn)行說明,代碼如下:
曲水網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站開發(fā)等網(wǎng)站項目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)自2013年起到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
1、測試環(huán)境在Linux MySQL下進(jìn)行,版本系統(tǒng)為CentOS5,以下為相關(guān)軟件:
mysql-5.1.30
memcached-1.2.6
libevent-1.4.7-stable
memcached_functions_mysql-0.8
libmemcached-0.26
2、編譯安裝Linux MySQL
[root@localhost?~]#tar?xzf?mysql-5.1.30.tar_001.gz??
[root@localhost?~]#cd?mysql-5.1.30??
[root@localhost?~]#./configure?--prefix=/usr/local/mysql51??
[root@localhost?~]#make??
[root@localhost?~]#make?install??
[root@localhost?~]#./scripts/mysql_install_db?--user=mysql?--skip-name-resolve??
[root@localhost?~]#/usr/local/mysql51/bin/mysqld_safe?
#連接符這是放入后臺,是前一個正確執(zhí)行,才會執(zhí)行后一個
#Linux編譯安裝流程./configure??make??make?install(默認(rèn)目錄安裝)
#./configure?--prefix=/usr/local/pcre??make??make?install(指定安裝目錄)
編譯方法:格式 gcc [option] [sourcefilename]常用的選項最簡單的是:gcc hello.c默認(rèn)的情況下將生成a.out的可執(zhí)行性文件,
只需要在終端上輸入./a.out就可以看到執(zhí)行的結(jié)果,如果你想指定生成目標(biāo)文件的名字那么你可以加上 -o選項,命令如下:gcc -o hello hello.c
命令:gcc -c hello hello.c
擴(kuò)展資料:
gcc命令的基本用法
gcc[options]?[filenames] ?
其中,filenames為文件名;options為編譯選項。
當(dāng)不使用任何編譯選項編譯hello.c時,gcc將會自動編譯產(chǎn)生一個a.out的可執(zhí)行文件:
[root@localhost?c]#?ls ?
hello.c ?
[root@localhost?c]#?gcc?hello.c ?
[root@localhost?c]#?ls ?
a.out??hello.c?
執(zhí)行:
[root@localhost?c]#?./a.out ?
Hello,?World!?
使用-o編譯選擇,可以為編譯后的文件指定一個名字:
[root@localhost?c]#?ls ?
a.out??hello.c ?
[root@localhost?c]#?gcc?hello.c?-o?hello ?
[root@localhost?c]#?ls ?
a.out??hello??hello.c ?
執(zhí)行:
[root@localhost?c]#?./hello ?
Hello,?World!?
注意:使用-o選項時,-o后面必須跟一個文件名,即:-o outfile。
為了便于描述后面的選項,刪除hello和a.out可執(zhí)行文件。
編譯及安裝簡要步驟:
編輯Makefile版本信息
定義內(nèi)核特性,生成配置文件.config,用于編譯:make xconfig
編譯內(nèi)核:make
安裝內(nèi)核:make install
安裝模塊:make modules_install
具體步驟如下:
內(nèi)核配置
先定義內(nèi)核需要什么特性,并進(jìn)行配置。內(nèi)核構(gòu)建系統(tǒng)(The kernel build system)遠(yuǎn)不是簡單用來構(gòu)建整個內(nèi)核和模塊,想了解更多的高級內(nèi)核構(gòu)建選項,你可以查看 Documentation/kbuild 目錄內(nèi)的內(nèi)核文檔。
可用的配置命令和方式:
make menuconfig
命令:make menuconfig
編譯內(nèi)核
編譯和安裝內(nèi)核
編譯步驟:
$ cd /usr/src/linux2.6
$ make
安裝步驟 (logged as
$ make install
$ make modules_install
提升編譯速度
多花一些時間在內(nèi)核配置上,并且只編譯那些你硬件需要的模塊。這樣可以把編譯時間縮短為原來的1/30,并且節(jié)省數(shù)百M(fèi)B的空間。另外,你還可以并行編譯多個文件:
$ make -j number
make 可以并行執(zhí)行多個目標(biāo)(target)(KEMIN:前提是目標(biāo)規(guī)則間沒有交叉依賴項,這個怎么做到的?)
$ make -j 4
即便是在單處理器的工作站上也會很快,讀寫文件的時間被節(jié)省下來了。多線程讓CPU保持忙碌。
number大于4不見得有效了,因?yàn)樯舷挛那袚Q過多反而降低的工作的速度。
make -j 4*number_of_processors
內(nèi)核編譯tips
查看完整的 (gcc, ld)命令行: $ make V=1
清理所有的生成文件 (to create patches...): $ make mrproper
部分編譯:$ make M=drivers/usb/serial
單獨(dú)模塊編譯:$ make drivers/usb/serial/visor.ko
最終生成的文件
vmlinux 原始內(nèi)核鏡像,非壓縮的
arch/arch/boot/zImage zlib壓縮的內(nèi)核鏡像(Default image on arm)
arch/arch/boot/bzImage bzip2壓縮的內(nèi)核鏡像。通常很小,足夠放入一張軟盤(Default image on i386)
格式 gcc [option] [sourcefilename]
介紹一些常用的選項:最簡單的是:gcc hello.c
默認(rèn)的情況下將生成a.out的可執(zhí)行性文件,你只需要在終端上輸入./a.out就可以看到執(zhí)行的結(jié)果.
如果你想指定生成目標(biāo)文件的名字那么你可以加上 -o選項,命令如下:
gcc -o hello hello.c
命令如下:
gcc -c hello hello.c