在Linux下軟體分三種:
1.綠色軟體:即不用安裝直接就能用的軟體
2.rpm安裝包:以rpm結尾的可執行檔案
3.源碼檔案:沒有進行過編譯和打包的檔案,需要編譯後再進行安裝
一、綠色軟體的安裝
這類軟體安裝最簡單,隻需要将複制到/usr/bin目錄下面,即可完成安裝;
二、rpm安裝包安裝
使用rpm指令來安裝rpm程式:以安裝Java JDK為例:
1.首先要檢查在目前系統中是否安裝了jdk: 使用指令: rpm -qa | grep jdk 如果什麼執行指令後,什麼也沒顯示就代表沒有安裝該程式;
2.下面我們将java的rpm包上傳到Home目錄下 jdk-7u79-linux-x64.rpm
3.執行安裝指令:rpm -ivh jdk-7u79-linux-x64.rpm 然後系統會提示你是否安裝,輸入y
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiNzgDN0YzMzITNwEDM2EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
4.安裝完成以後想檢視是否安裝成功:
先使用rpm -qa | grep jdk 指令來查詢看已安裝過的軟體中是否存在這個軟體,我們查到的結果是 jdk-1.7.0_79-fcs.x86_64
然後使用 rpm -qc jdk-1.7.0_79-fcs.x86_64 可以檢視軟體安裝到哪個目錄下面了;
注:每個rpm包在軟體商打包的時候,指定的安裝目錄都不一樣,是以不能指定軟體的安裝目錄,但是可以使用上面的方法查詢安裝的目錄;
5.配置JDK的環境變量
Linux中環境變量包括系統級和使用者級,系統級的環境變量是每個登入到系統的使用者都要讀取的系統變量,而使用者級的環境變量則是該使用者使用系統時加載的環境變量。
系統級:/etc/profile 一些系統級的環境變量都會在這裡面配置(強烈不不不不推薦使用者将程式的系統變量配置在這裡面,因為會影響其他使用者的使用)
使用者級:~/.bash_profile 在這裡配置環境變量隻有目前登入的使用者才用得到,強烈推薦在這裡配置
指令:vi ~/.bash_profile 然後在PATH下面輸入以下指令:
儲存退出以後,需要使該配置檔案生效,使用指令 source ~/.bash_profile 可以使用檔案配置檔案生效
然後輸入 java -version 如果能顯示Java的版本号,就表明安裝成功了
下面來詳細說明一下rpm的參數的功能:
1、安裝
rpm -i /PATH/TO/PACKAGE_FILE
-h: 以#顯示進度;每個#表示2%;
-v: 顯示詳細過程
-vv: 更詳細的過程
rpm -ivh /PATH/TO/PACKAGE_FILE
--nodeps: 忽略依賴關系;
--replacepkgs: 重新安裝,替換原有安裝;
--force: 強行安裝,可以實作重裝或降級;
安裝jdk
配置環境變量:編輯/etc/profile 或者 ~/.bash_profile
export JAVA_HOME=/usr/java/jdk1.7.0_71
export PATH=$PATH:$JAVA_HOME/bin
2、查詢
rpm -q PACKAGE_NAME: 查詢指定的包是否已經安裝
rpm -qa : 查詢已經安裝的所有包
rpm -qi PACKAGE_NAME: 查詢指定包的說明資訊;
rpm -ql PACKAGE_NAME: 查詢指定包安裝後生成的檔案清單;
rpm -qc PACEAGE_NEME:查詢指定包安裝的配置檔案;
rpm -qd PACKAGE_NAME: 查詢指定包安裝的幫助檔案;
rpm -q --scripts PACKAGE_NAME: 查詢指定包中包含的腳本
rpm -qf /path/to/somefile: 查詢指定的檔案是由哪個rpm包安裝生成的;
如果某rpm包尚未安裝,我們需查詢其說明資訊、安裝以後會生成的檔案;
rpm -qpi /PATH/TO/PACKAGE_FILE
rpm -qpl
3、更新
rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE: 如果裝有老版本的,則更新;否則,則安裝;
rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE:如果裝有老版本的,則更新;否則,退出;
--oldpackage: 降級
4、解除安裝
rpm -e PACKAGE_NAME
--nodeps
5、校驗
rpm -V PACKAGE_NAME
6、重建資料庫
rpm
--rebuilddb: 重建資料庫,一定會重建立立;
--initdb:初始化資料庫,沒有才建立,有就不用建立;
7、檢驗來源合法性,及軟體包完整性;
加密類型:
對稱:加密解密使用同一個密鑰
公鑰:一對兒密鑰,公鑰,私鑰;公鑰隐含于私鑰中,可以提取出來,并公開出去;
單向:
# ls /etc/pki/rpm-gpg/
RPM-GPG-KEY-redhat-release
rpm -K /PAPT/TO/PACKAGE_FILE
dsa, gpg: 驗正來源合法性,也即驗正簽名;可以使用--nosignature,略過此項
sha1, md5: 驗正軟體包完整性;可以使用--nodigest,略過此項
二、使用yum 安裝程式
在使用rpm安裝程式的時候,每次隻能安裝一個安裝包,并且如果要安裝的安裝包還依賴于其他的程式,那還需要一步一步的去解決依賴關系,是以非常麻煩,幸好有yum 他可以解決程式之間的依賴關系;
在使用yum 安裝的時候,他首先會根據程式名稱到yum 源中下載下傳要安裝的軟體包和依賴包,然後進行安裝;
下面我們以安裝httpd來說明:
1.檢查yum 源中是否存在httpd的安裝包 使用指令 yum search httpd
2.在結果中,這兩上是我們想要的,一個是32位安裝包,一個是64位安裝包,下面是安裝了 使用指令 yum install httpd-devel.x86_64
安裝過程有點慢, 因為yum 需要先下載下傳安裝包,然後解決依賴關系,是以較慢。
3.怎麼檢視我們安裝到哪個目錄下面了呢,使用rpm 指令,如上面,指令: rpm -qc `rpm -qa | grep httpd`
4.啟動httpd 指令:service httpd start
5.關閉防火牆,并通路httpd預設端口 指令:service iptables stop 然後在浏覽器中通路:http://ip:80 如果彈出Apache的頁面,說明成功了
6.啟動以後就可以使用指令:netstat -nptl 檢視到httpd監聽的端口等資訊
yum幫助文檔: http://vbird.dic.ksu.edu.tw/linux_basic/0520rpm_and_srpm_4.php
三、源碼檔案安裝(這個最複雜)
源碼檔案安裝要遵循六大步驟:
1、下載下傳
2、檢視源碼:檢視源代碼,檢視軟體是什麼語言、什麼開發平台開發的
3、準備編譯環境:根據源代碼的開發環境去下載下傳安裝,相應的編譯環境;
4、檢查(依賴,相容),預編譯:在真正編譯前要解決軟體的依賴關系和依賴的軟體
5、編譯:編譯軟體
6、安裝:安裝
下面我們以安裝nginx這個軟體為例:
1.下載下傳位址:http://nginx.org/en/download.html 源碼軟體一般下載下傳下來都是一個壓縮包
2.檢視代碼的開發語言和平台,解壓後通過檢視src下的core目錄下的檔案擴充名及代碼,可以看出該軟體的開發語言是C和C++;
3.那我們要安裝的編譯器就是gc和gc++ 還是使用yum工具,運作指令:yum search gc 找到我們要安裝的gc軟體 gc-devel.x86_64
然後指令:yum install gc-devel.x86_64; yum install gcc-c++
4.預編譯,先解壓Nginx的壓縮包 使用指令: tar -zxvf 壓縮包名 進行解壓
解壓完成後,要進行預編譯,進麼該目錄下會看一個configure 檔案,通過這個檔案我們可以指定軟體的安裝目錄,同時還會報出一些軟體依賴,然後我們要解決這些依賴;
預設的情況下我們的軟體都放在/usr/bin/下面;仍然使用指令: ./configure --prefix=/usr/bin/nginx-1.8.0
我們看到有一個叫PCRE 的軟體依賴,那我們依然使用yum 進行安裝這個PCRE
安裝完成PCRE以後,繼續運作指令: ./configure --prefix=/usr/bin/nginx-1.8.0
這時我們又看到,又一個叫zlib的依賴,然後繼續解決依賴(就是這麼讓人xx疼);
安裝完成以後,發現沒再報什麼依賴錯誤,我們就可以安心的進行下一步了;
5.編譯
運作指令:make 進行編譯
6.安裝軟體 運作指令:make install
在安裝完成以後,到預編譯的目錄下面去檢視一下檔案是否安裝在該目錄下面,如果有就說明我們安裝成功了