Linux系統中,軟件裝置順序比較紛繁復雜,不過最常見的有兩種:
1一種是軟件的源代碼,您需要自己動手編譯它這種軟件裝置包通常是用gzip壓縮過的tar包(后綴為.tar.gz
2另一種是軟件的可執行程序,只要裝置它就可以了這種軟件裝置包通常被是一個RPM包(RedhatLinuxPacketManag就是Redhat包管理器)后綴是.rpm
當然,也有用rpm格式打包的源代碼,用gzip壓縮過的可執行程序包。只要您理解了以下的思路,這兩種形式的裝置包也不在話下了 /
下面,就分成兩個局部來說明軟件安裝思路:
第一部分:搞定.tar.gz
1.首先,使用tar-xzvf來解開這個包,如:
#tar-xzvfapache_1_3_6_tar.gz
這樣就會在當前目錄中創建了一個新目錄(目錄名與.tat.gz包的文件名類似)用來存放解壓了內容。如本例中就是apache_1.3.6
2.進入這個目錄,再用ls命令檢查一下所包含的文件,如:
#cdapache_1.3.6
#l
觀察一下這個目錄中包含了以下哪一個文件:configurMakefil還是Imake
1如果是configur文件,就執行:
#./configur
#make
#makeinstal
2如果是Makefil文件,就執行:
#make
#makeinstal
3如果是Imake文件,就執行:
#xmkmf
#make
#makeinstal
3.如果沒有出現什么錯誤提示的話,就搞定了至于軟件裝置到什么地方,通常會在裝置時出現。否則就只能查閱一下REA DME或者問問我:-
如果遇到錯誤提示,也別急,通常是十分簡單的問題:
1沒有裝置C或C++編譯器;計算機基礎知識
確診方法:執行命令gccC++則為g++提示找不到這個命令。
解決方法:將Linux裝置光盤mount上來,然后進入RPMS目錄,執行命令:
#rpm-ivhgcc*哈哈,用到第二種安裝方式)
2沒有裝置make工具;
確診方法:執行命令make提示找不到這個命令。
解決方法:將Linux裝置光盤mount上來,然后進入RPMS目錄,執行命令:
#rpm-ivhmake*
3沒有裝置autoconf工具;
確診方法:執行命令make提示找不到這個命令。
解決方法:將Linux裝置光盤mount上來,然后進入RPMS目錄,執行命令:
#rpm-ivhautoconf*
4缺少某些鏈接庫;
確診方法:make時,提示需要某些文件。
解決方法:裝置包括這個文件的包,這就需要積累了
第二部分:搞定.rpm
RPMRedHat公司隨RedhatLinux推出了一個軟件包管理器,通過它能夠更加輕松容易地實現軟件的裝置。
1.裝置軟件:執行rpm-ivhrpm包名,如:
#rpm-ivhapache-1.3.6.i386.rpm
2.升級軟件:執行rpm-Uvhrpm包名。
3.反安裝:執行rpm-erpm包名。
4.查詢軟件包的詳細信息:執行rpm-qpirpm包名
5.查詢某個文件是屬于那個rpm包的執行rpm-qfrpm包名
6.查該軟件包會向系統里面寫入哪些文件:執行 rpm-qplrpm包名
[遺留問題:redhatlinux系統上有RedhatLinuxPacketManag就是Redhat包管理器,所以如果原來機器沒裝gcc編譯器,裝二進制碼格式的編譯器時,就可以直接下載相適應的rpm包來搞定??墒瞧渌兎N的linux系統怎么辦呢?有相應格式的二進制編譯器軟件還是說也可以使用redhatrpm?]
—A NSWER:其他發行版也有相應的包管理器,比方debian包管理器叫dpkggentoo好像可以merg等等。
下面,先再來一篇關于安裝可執行程序的文章,說明一下,用的機器裝的redhat9.0strike版,所以我就在學校的ftp上下載了相應版本的is0光盤影響文件(3張盤)用虛擬光驅虛擬出三張盤來,便于后面找依賴的rpm格式的其它包的便當。基本上,裝的過程和他一樣,只是不它還多裝了個binutils.
————————–begin
quicklinux中安裝gcc詳細方法 計算機
?。?作者:maseng轉貼自:來源不明 點擊數:493文章錄入:admin]
quicklinux中安裝gcc詳細方法
—maseng.2004-2005
需要的東東有 :
glibc-devel-2.3.2-11.9.i386.rpm
glibc-kernheaders-2.4-8.10.i386.rpm
gcc-3.2.2-5.i386.rpm
cpp-3.2.2-5.i386.rpm
手中有三張光盤(redhatlinux9.0
要安裝gcc編譯器,三張光盤中搜。如果你沒有這三張光盤,可以到網站上去下載.
也可以到internet上去搜索下載.
http://mirrors.kernel.org/redhat/redhat/linux/9/en/os/i386/RedHat/RPMS/
第二張光盤上發現:gcc-3.2.2-5.i386.rpm
現在將它從ftp傳到linux中,拷貝到/root/instal目錄
[root@masengroot]#cdinstal
[root@masenginstall]#ls
gcc-3.2.2-5.i386.rpmtelnet-server-0.17-25.i386.rpm
裝置gcc:
[root@masenginstall]#rpm-ivhgcc-3.2.2-5.i386.rpm
warning:gcc-3.2.2-5.i386.rpm:V3DSA signature:NOKEY,keiIDdb42a60
error:Faildependencies:
cpp=3.2.2-5isneedbygcc-3.2.2-5
glibc-devel>=2.2.90-12isneedbygcc-3.2.2-5
由此看見需要glibc-devel至少2.2.90版本.光盤上搜索后找到.
把它從ftp傳到linux中,拷貝到/root/instal目錄
[root@masenginstall]#ls
gcc-3.2.2-5.i386.rpmglibc-devel-2.3.2-11.9.i386.rpmtelnet-server-0.17-25.i386.rpm
裝置glibc-devel:
[root@masenginstall]#rpm-ivhglibc-devel-2.3.2-11.9.i386.rpm
warning:glibc-devel-2.3.2-11.9.i386.rpm:V3DSA signature:NOKEY,keiIDdb42a60
error:Faildependencies:
kernel-headisneedbyglibc-devel-2.3.2-11.9
kernel-head>=2.2.1isneedbyglibc-devel-2.3.2-11.9
由此看見需要kernel-head至少2.2.1版本.光盤上搜索后找到.
但是發現沒有叫kernel-head.但是有一個glibc-kernheaders-2.4-8.10.i386.rpm
把它從ftp傳到linux中,拷貝到/root/instal目錄
[root@masenginstall]#ls
gcc-3.2.2-5.i386.rpmglibc-kernheaders-2.4-8.10.i386.rpm
glibc-devel-2.3.2-11.9.i386.rpmtelnet-server-0.17-25.i386.rpm
裝置kernel-head:
[root@masenginstall]#rpm-ivhglibc-kernheaders-2.4-8.10.i386.rpm
warning:glibc-kernheaders-2.4-8.10.i386.rpm:V3DSA signature:NOKEY,keiIDdb42a60
Preparing…###########################################[100%]
1:glibc-kernhead###########################################[100%]
裝置glibc-devel:
[root@masenginstall]#rpm-ivhglibc-devel-2.3.2-11.9.i386.rpm
warning:glibc-devel-2.3.2-11.9.i386.rpm:V3DSA signature:NOKEY,keiIDdb42a60
Preparing…###########################################[100%]
1:glibc-devel###########################################[100%]
裝置gcc:
[root@masenginstall]#rpm-ivhgcc-3.2.2-5.i386.rpm
warning:gcc-3.2.2-5.i386.rpm:V3DSA signature:NOKEY,keiIDdb42a60
error:Faildependencies:
cpp=3.2.2-5isneedbygcc-3.2.2-5
又提示你需要cpp至少3.2.2-5版本.光盤上搜索后找到.
把它從ftp傳到linux中,拷貝到/root/instal目錄
裝置cpp:
[root@masenginstall]#rpm-ivhcpp-3.2.2-5.i386.rpm
warning:cpp-3.2.2-5.i386.rpm:V3DSA signature:NOKEY,keiIDdb42a60
Preparing…###########################################[100%]
1:cpp###########################################[100%]
裝置gcc:
[root@masenginstall]#rpm-ivhgcc-3.2.2-5.i386.rpm
warning:gcc-3.2.2-5.i386.rpm:V3DSA signature:NOKEY,keiIDdb42a60
Preparing…###########################################[100%]
1:gcc###########################################[100%]
此為止,gcc就裝好了
—————end
沒試過裝源代碼形式的就是不爽,所以按就一氣呵成,再try一下裝源代碼格式的gcc編譯器。下載了3.4.1版本的gccgcc-3.4.1.tar.gz基本上依照下面這篇文章搞定的雖然gnu網站上以及gcc解壓后文件目錄里面的INSTA LL目錄里面的介紹很全,但是仍覺得洋碼不如咱中文看得舒服,哈哈,
—————–begin
2004年4月20日最新版本的GCC編譯器3.4.0發布了目前,GCC可以用來編譯C/C++FORPA NJA VA OBJCADA 等語言的順序,可根據需要選擇安裝支持的語言。GCC3.4.0比以前版本更好地支持了C++規范。本文以在RedhatLinux上安裝GCC3.4.0為例,介紹了GCC裝置過程。
裝置之前,系統中必須要有cc或者gcc等編譯器,并且是可用的或者用環境變量CC指定系統上的編譯器。如果系統上沒有編譯器,不能安裝源代碼形式的GCC3.4.0如果是這種情況,可以在網上找一個與你系統相適應的如RPM等二進制形式的GCC軟件包來安裝使用。本文介紹的以源代碼形式提供的GCC軟件包的裝置過程,軟件包自身和其安裝過程同樣適用于其它Linux和Unix系統。
系統上原來的GCC編譯器可能是把gcc等命令文件、庫文件、頭文件等分別存放到系統中的不同目錄下的與此不同,現在GCC建議我將一個版本的GCC裝置在一個單獨的目錄下。這樣做的好處是將來不需要它時候可以方便地刪除整個目錄即可(因為GCC沒有uninstal功能)缺點是裝置完成后要做一些設置工作才干使編譯器工作正常。本文中我采用這個方案裝置GCC3.4.0并且在裝置完成后,仍然能夠使用原來低版本的GCC編譯器,即一個系統上可以同時存在并使用多個版本的GCC編譯器。
依照本文提供的方法和設置選項,即使以前沒有裝置過GCC也可以在系統上安裝上一個可工作的新版本的GCC編譯器。
1.下載
GCC網站上(http://gcc.gnu.org/或者通過網上搜索可以查找到下載資源。目前GCC最新版本為 3.4.0可供下載的文件一般有兩種形式:gcc-3.4.0.tar.gz和gcc-3.4.0.tar.bz2只是壓縮格式不一樣,內容完全一致,下載其中一種即可。
2.解壓縮
根據壓縮格式,選擇下面相應的一種方式解包(以下的%表示命令行提示符)
%tarxzvfgcc-3.4.0.tar.gz
或者
%bzcatgcc-3.4.0.tar.bz2|tarxvf-
新生成的gcc-3.4.0這個目錄被稱為源目錄,用${srcdir}表示它以后在呈現${srcdir}地方,應該用真實的路徑來替換它用pwd命令可以檢查當前路徑。
${srcdir}/INSTA LL目錄下有詳細的GCC裝置說明,可用瀏覽器打開index.html閱讀。
3.建立目標目錄
目標目錄(用${objdir}表示)用來存放編譯結果的地方。GCC建議編譯后的文件不要放在源目錄${srcdir]中(雖然這樣做也可以)最好單獨存放在另外一個目錄中,而且不能是${srcdir}子目錄。
例如,可以這樣建立一個叫 gcc-build目標目錄(與源目錄${srcdir}同級目錄)
%mkdirgcc-build
%cdgcc-build
以下的操作主要是目標目錄 ${objdir}下進行。
4.配置
配置的目的決定將GCC編譯器安裝到什么地方(${destdir}支持什么語言以及指定其它一些選項等。其中,${destdir}不能與${objdir}或${srcdir}目錄相同。
配置是通過執行${srcdir}下的configur來完成的其命令格式為(記得用你真實路徑替換${destdir}
%${srcdir}/configur–prefix=${destdir}[其它選項]
例如,如果想將GCC3.4.0裝置到/usr/local/gcc-3.4.0目錄下,則${destdir}就表示這個路徑。
機器上,這樣配置的
%../gcc-3.4.0/configur–prefix=/usr/local/gcc-3.4.0–enable-threads=posix–disable-check–enable–long-long–host=i386-redhat-linux–with-system-zlib–enable-languages=c,c++,java
將GCC裝置在/usr/local/gcc-3.4.0目錄下,支持C/C++和JA VA 語言,其它選項參見GCC提供的協助說明。
5.編譯
%make
這是一個漫長的過程。機器上(P4-1.6這個過程用了50多分鐘。
6.裝置
執行下面的命令將編譯好的庫文件等拷貝到${destdir}目錄中(根據你設定的路徑,可能需要管理員的權限)
%makeinstal
至此,GCC3.4.0裝置過程就完成了
6.其它設置
GCC3.4.0所有文件,包括命令文件(如gccg++庫文件等都在${destdir}目錄下分別存放,如命令文件放在bin目錄下、庫文件在lib下、頭文件在includ下等。由于命令文件和庫文件所在目錄還沒有包含在相應的搜索路徑內,所以必需要作適當的設置之后編譯器才能順利地找到并使用它
6.1gccg++gcj設置
要想使用GCC3.4.0gcc等命令,簡單的方法就是把它路徑${destdir}/bin放在環境變量PA TH中。不用這種方式,而是用符號連接的方式實現,這樣做的好處是仍然可以使用系統上原來的舊版本的GCC編譯器。
首先,檢查原來的gcc所在路徑:
%whichgcc
系統上,上述命令顯示:/usr/bin/gcc因此,原來的gcc命令在/usr/bin目錄下。可以把GCC3.4.0中的gccg++gcj等命令在/usr/bin目錄下分別做一個符號連接:
%cd/usr/bin
%ln-s${destdir}/bin/gccgcc34
%ln-s${destdir}/bin/g++g++34
%ln-s${destdir}/bin/gcjgcj34
這樣,就可以分別使用gcc34g++34gcj34來調用GCC3.4.0gccg++gcj完成對CC++JA VA 順序的編譯了同時,仍然能夠使用舊版本的GCC編譯器中的gccg++等命令。
6.2庫路徑的設置
將${destdir}/lib路徑添加到環境變量LD_LIBRA RY_PA TH中,最好添加到系統的配置文件中,這樣就不必要每次都設置這個環境變量了
例如,如果GCC3.4.0裝置在/usr/local/gcc-3.4.0目錄下,RHLinux下可以直接在命令行上執行或者在文件/etc/profil中添加下面一句:
setenvLD_LIBRA RY_PA TH/usr/local/gcc-3.4.0/lib:$LD_LIBRA RY_PA TH
7.測試
用新的編譯命令(gcc34g++34等)編譯你以前的CC++順序,檢驗新安裝的GCC編譯器是否能正常工作。
8.根據需要,可以刪除或者保存${srcdir}和${objdir}目錄。
后記:
前兩天剛安裝好了GCC3.4.0把安裝規劃、裝置過程、一些注意事項記錄下來就形成了這篇文章。希望對大家、特別是還沒有安裝過GCC朋友在裝置GCC時候有所協助
下一條:PNP無盤的快速安裝方法