資源描述:
《Linux系統(tǒng)第07章Vsftpd源碼包的編譯安裝.ppt》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第07章vsftpd源碼包安裝重點(diǎn)、難點(diǎn):掌握tar命令的使用掌握源碼包的編譯安裝過程1開源軟件的優(yōu)勢1.1GNU組織GNU是一個自由軟件工程項目。GNU工程已經(jīng)開發(fā)了一個被稱為“GNU”(GNU是“不是UNIX”的縮寫)的、對Unix向上兼容的完整的自由軟件系統(tǒng)(freesoftwaresystem)。由RichardStallman完成的最初的GNU工程的文檔被稱為‘GNU宣言’,該宣言已經(jīng)被翻譯成多種其它語言。我們還有創(chuàng)作與1983年的GNU工程創(chuàng)始宣言。上述單詞“free”指的是自由(freedom),而不是價格。你可能需要或者不需要為獲取GNU軟件而支付費(fèi)用。不論是否免費(fèi),一
2、旦你得到了軟件,你在使用中就擁有三種特定的自由。首先是復(fù)制程序并且把它送給你的朋友或者同事的自由;而后是通過獲取完整的源代碼,按照你的意愿修改程序的自由;最后是發(fā)布軟件的改進(jìn)版并且有助于創(chuàng)建自由軟件社團(tuán)的自由。(如果你重新發(fā)布GNU軟件,你可能對分發(fā)拷貝這項體力勞動收費(fèi),也可能不收費(fèi)。)1.2開源軟件的意義、優(yōu)點(diǎn)Linux賣的是服務(wù),不是產(chǎn)品開源就是一種思想,互相提高更重要開放源代碼,利用眾人的智慧來完善代碼2文檔歸檔管理方式tar功能:tar是“tapearchive”(磁帶存檔)的簡稱,建立存檔。格式:tar[參數(shù)][tar包名][源文件名][-C指定存放目錄]參數(shù):-c:創(chuàng)建tar
3、包-f:指定文件名-v:顯示操作信息-t:列出tar包中的文件(*.tar)-x:解tar包(*.tar)-z:使用gzip壓縮/解壓縮文件實(shí)例:#tar-cvfaaa.taraaa/#tar-czvfaaa.tar.gzaaa/#tar-czvfaaa.tgzaaa/#tar-cjvfaaa.tar.bz2aaa/#tar-xvfaaa.tar#tar-zxvfaaa.tar.gz#tar-zxvfaaa.tar.gz-C/home/aaa/#tar-jxvfaaa.tar.bz2gzip功能:文件壓縮/解壓縮(并替換原文件,解壓路徑取決于壓縮時的路徑)格式:gzip[參數(shù)][文件名]
4、參數(shù):-d:解壓縮-t:檢驗壓縮包文件是否損壞-l:列出壓縮文件的壓縮比例等信息-r:遞歸壓縮(同時壓縮子目錄中的文件)-v:顯示詳細(xì)信息實(shí)例:#gzipabc.txt#gzip-cabc.txt>aaa.gz//壓縮到其他文件,并保留原文件。#gunzipabc.txt.gz#gzip-dvabc.txt.gz3源碼編譯過程首先檢查是否在你的機(jī)器上安裝了GCC,使用命令:可用rpm-qgcc檢查。如果沒有安裝,請依序檢查並安裝下面各RPMlibbinutilsbinutilsmakeglibc-develgcc-cppgcc看下面的例子:test.c#inclu
5、demain(){char*str="IlikeLinux!IadvicesyoujionintheLinuxWorld";printf("%s",str);exit(0);}使用gcc編譯。輸入gcc-ctest.c得到目標(biāo)文件test.o.-c命令表示對文件進(jìn)行編譯和匯編。但并不連接。如果再健入gcc-o../bin/testtest.o,那么將得到名為test的可執(zhí)行文件。其實(shí)這兩不可以一氣呵成,gcc../bin/testtest.c.如果程序沒有錯誤救生成了可執(zhí)行文件。也許你會覺得基于命令行的編譯器比不上如VC之類的集成開發(fā)環(huán)境,的確gcc的界面要改進(jìn),但是
6、你一旦熟練了就會感到。gcc的效率如此之高。可以告訴大家的是Linux底下強(qiáng)大的C/C++集成開發(fā)環(huán)境Kdevelope和Vc一樣強(qiáng)大,使用了Gcc編譯器。Make使用和makefile腳本配置文件介紹makefile關(guān)系到了整個工程的編譯規(guī)則。一個工程中的源文件不計數(shù),其按類型、功能、模塊分別放在若干個目錄中,makefile定義了一系列的規(guī)則來指定,哪些文件需要先編譯,哪些文件需要后編譯,哪些文件需要重新編譯,甚至于進(jìn)行更復(fù)雜的功能操作,因為makefile就像一個Shell腳本一樣,其中也可以執(zhí)行操作系統(tǒng)的命令。makefile帶來的好處就是——“自動化編譯”,一旦寫好,只需要一個
7、make命令,整個工程完全自動編譯,極大的提高了軟件開發(fā)的效率。make是一個命令工具,是一個解釋makefile中指令的命令工具make命令執(zhí)行時,需要一個Makefile文件,以告訴make命令需要怎么樣的去編譯和鏈接程序。首先,我們用一個示例來說明Makefile的書寫規(guī)則。以便給大家一個感興認(rèn)識。這個示例來源于GNU的make使用手冊,在這個示例中,我們的工程有8個C文件,和3個頭文件,我們要寫一個Makefile來告訴ma