_Linux软件安装
【131】
Linux軟件安裝
這里主要有三種:
- 編譯安裝(麻煩,不推薦)
- rpm安裝(一般,不太推薦)
- yum安裝(推薦)
一、編譯安裝
編譯安裝是最麻煩的方式,一般不推薦使用。但是我們依然要了解下,萬一以后不得已用到了呢?我們拿淘寶的Tengine(基于Nginx的Web服務(wù)器)的安裝示例:
首先解壓: tar -zxvf tengine-2.1.0.tar.gz解壓完成后,有一個tengine的文件夾,我們進入查看README文件
README文件找到如下內(nèi)容,要安裝Tengine,需要執(zhí)行下面三個步驟:
./configure :執(zhí)行configure生成一個mikefile文件,用于生成各個模塊依賴【./configure --help查看幫助】。
我們試著執(zhí)行下,發(fā)現(xiàn)有個錯誤,C編譯器環(huán)境沒有,也就是沒有g(shù)cc
我們來安裝下gcc ,命令yum install -y gcc,安裝完成后我們再次執(zhí)行./configure命令,發(fā)現(xiàn)又有一個錯誤,缺少PCRE庫:
我們不知道,PCRE是啥意思,命令yum search PCRE查看如下,我們選擇安裝開發(fā)版本的pcre包,命令yum install pcre-devel,不用選擇32位的還是64位的,會自動識別。
安裝完成,我們繼續(xù)執(zhí)行./configure文件,發(fā)現(xiàn)又有一個錯誤!!!,如圖所示,和上面操作一樣,安裝吧。。。。。。
直到我們安裝完,所有缺少的包,執(zhí)行./configure,結(jié)果如下所示:
來查看一下,Makefile文件如下圖所示,我們在讀取README文件的時候知道第一步是執(zhí)行./configure文集,第二步就是執(zhí)行make命令(沒有參數(shù))。n那么沒有參數(shù),他就會默認找default對應(yīng)的build。也就是執(zhí)行/objs/下的Makefile文件,記得不是tengine-2.1.0文件下的Makefile。
/objs/Makefile里面有哪些東西呢?里面指定了一些文件安裝的目錄,以及編譯過程描述。因此make就是執(zhí)行我們Makefile所指定的編譯過程。回到tengine根目錄下執(zhí)行make命令,然后執(zhí)行make install。當看到如下顯示,說明編譯并安裝完成。
我們最后到來測試下nginx是否可以執(zhí)行,到/usr/local/下找到nginx并找到可執(zhí)行文件(說明:Linux默認都是安裝在我們/usr/local文件目錄下的):
nginx啟動成功了。既然nginx是一個web服務(wù)器那么他就可以通過瀏覽器來訪問【ps->記得關(guān)閉防火墻 service iptables stop】:
至此我們的編譯安裝tengine的示例完成,但是特別麻煩,需要自己去安裝一些依賴的庫。因此不推薦,一般也不采用這樣的方式。我們有更好的方式。
二、rpm安裝
- Redhat提供了rpm管理體系
- 已經(jīng)編譯的軟件包:針對不同的平臺系統(tǒng)編譯目標軟件包
- 操作系統(tǒng)維護安裝信息
- 軟件包包含依賴檢查,但,還需人為解決
示例安裝:
安裝jdk-7u67-linux-x64.rpm,執(zhí)行命令如下:rpm -ivh jdk-7u67-linux-x64.rpm
- i:install
- v:顯示安裝進度
安裝完如下,我們執(zhí)行java -version來查看發(fā)現(xiàn)安裝成功了,但是我們并沒有配置環(huán)境變量,在執(zhí)行下java的內(nèi)部命令jps發(fā)現(xiàn)命令沒有找到:
為什么環(huán)境變量沒有配置反而java -version可以執(zhí)行呢?
因為安裝java的過程中會有個小腳本,讓java指向/usr/java下的default
配置環(huán)境變量:
生效并測試:
命令總結(jié):
- rpm安裝
- -ivh filename
- --prefix
- rpm升級
- -Uvh
- -Fvh
- rpm卸載
- -e PACKAGE_NAME
- rpm查詢(類似windows 控制面板-程序/卸載)
- rpm -qa : 查詢已經(jīng)安裝的所有包
- rpm -q PACKAGE_NAME: 查詢指定的包是否已經(jīng)安裝
- 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
查詢某個工具需要安裝那個包示例:
說明:rpm會有一個數(shù)據(jù)庫記錄文件安裝的目錄以及所對應(yīng)的包,及時文件被移除,也能查詢出來需要安裝的包。但是:
有的包需要相關(guān)的依賴,如果沒有還是會像編譯安裝一樣先安裝相關(guān)依賴的包比較麻煩。
三、yum安裝
- 基于rpm包管理
- 提供rpm倉庫
國內(nèi)鏡像倉庫:
- http://mirrors.163.com/
- https://opsx.alibaba.com/mirror
查看yum倉庫配置:
配置鏡像倉庫(如阿里的):
1.備份配置文件:
2.安裝wget工具:yum install wget -y
3.復制阿里云幫助文檔的命令:
完成后有如下文件:
4.生成緩存【注意應(yīng)當先清除之前的依賴】
5.接下來就可以愉快的從阿里鏡像庫下載軟件了。
6.網(wǎng)易鏡像庫同理,使用幫助:http://mirrors.163.com/.help/centos.html配置本地源:
1.修改CentOS-Base.repo文件
之前阿里云的配置如下:
配置后如下:
說明:baseurl=
- http:// 互聯(lián)網(wǎng)上
- file:// 本地
- ftp:// ftp服務(wù)
2.清除依賴-生成依賴yum clean allyum makecache
3.注意記得掛載上含有倉庫的目錄 mount /dev/cdrom /myrepo,有時候明明有依賴卻下載失敗,就是因為沒有掛載上倉庫目錄。yum常用命令:
- yum repolist
- yum clean all
- yum makecache
- yum update
- 查詢:
- yum list 列出安裝的包
- yum search 查詢
- yum info 如 yum info mysql-server
- 安裝&卸載:
- yum install 安裝
- remove|erase 卸載
- 分組
- yum grouplist
- yum groupinfo
- yum groupinstall
- yum groupremove
- yum groupupdate
注意如果安裝的包中間包含空格,需要用引號括起來
如 Romanian Support 要括起來“Romanian Support”
總結(jié)
以上是生活随笔為你收集整理的_Linux软件安装的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NTFS文件系统的简述
- 下一篇: LeetCode题解-3-Longest