一、本章導言:
linux應用程式基礎
查詢RPM軟體包資訊
安裝、更新、解除安裝、RMP軟體包
源代碼編譯安裝
二、linux應用程式基礎:
1、應用程式與系統指令的關系
a、檔案位置
系統指令:一般在/bin和/sbin目錄中,成為shell内部指令
應用程式:通常在/usr/bin和/usr/sbin中
b、主要用途
系統指令:完成對系統的基本管理工作,例如IP配置工具
應用程式:完成相對獨立的其他輔助任務。例如網頁浏覽器
c、适用環境
系統指令:一般隻在字元操作界面中運作
應用程式:根據實際需要,有些程式可在圖形界面中運作
d、運作格式
系統指令:一般包括指令字、指令選項和指令參數
應用程式:通常沒有固定的執行格式
2、典型應用程式的目錄結構
檔案類型 | 儲存目錄 |
普通執行程式檔案 | /usr/bin |
應用程式配置檔案和管理程式 | /usr/sbin |
應用程式配置檔案 | /etc |
日志檔案 | /var/log |
應用程式文檔檔案 | /usr/share/doc |
應用程式手冊頁檔案 | /usr/share/man |
3、常見的軟體包封裝類型:
檔案類型 | 儲存目錄 |
rpm軟體包 | 擴充名為“.rpm” |
deb軟體包 | 擴充名為“.deb” |
源代碼軟體包 | 一般為“.tar.gz"、".tar.bz2"等格式的壓縮包包含程式的原始代碼 |
綠色免安裝的軟體包 | 在壓縮包内提供已編譯好的執行程式檔案,解開壓縮包後的檔案可直接使用 |
三、rpm包管理工具
1、RPM Package Manager
由Red Hat公司提出,被衆多linux發行版所采用
建立統一的資料庫檔案
詳細記錄軟體包安裝、解除安裝等變化資訊
自動分析軟體包依賴關系
2、RPM軟體包:
軟體素材參考:http://www.rpm.org
一般命名格式: bash-4.1.2.15.el6_4.x86_64.rpm
四、rpm軟體包資訊
1、查詢已安裝的RPM軟體資訊
rpm -q【子選項}】【軟體包】
常用選項
-qa:檢查所有已安裝的rpm軟體包
-qi:檢查詳細資訊,版本資訊
-ql:檢查rpm軟體包包含的内容
-qf:檢查某一個rpm軟體包裡的檔案
-qc:檢查已安裝rpm軟體包裡的配置檔案
-qd:手冊文檔
2、查詢未安裝的rpm軟體封包件中資訊
rpm -qp【子選項】 rpm封包件
常用選項:
-qpi:檢查未安裝軟體包的詳細資訊
-qpl:檢查未安裝軟體包中包含了哪些内容
-qpc:查詢未安裝軟體包中的配置檔案
-qpd:檢查未安裝軟體包的文檔手冊
ps:
yun倉庫yum list:yum源,軟體包的集中存放地點,輸入yum list即可檢視到所有的軟體包(下圖為所展示的軟體包的一部分)
源的軟體包的是實時更新的,當我們使用yum進行安裝時直接安裝的是最新版本的,因為官方會自動維護的,具體這個官方的路徑在什麼位置,我們來看一下:
輸入cd /etc/ 進入etc目錄下,ls我們查清單資訊,可以看到下圖中的三個yum軟體包,其中一個就是軟體包的源的配置地點
輸入cd yum.repos.d/進入檔案中,再輸入ls檢視詳細資訊,此時我們會看到以CentOS開頭的,以repo結尾的配置檔案在其中(以下全是),其中CentOS-Base.repo這個檔案為基本配置檔案
輸入vim CentOS-Base.repo 檢視檔案中的詳細資訊,看到鏡像清單,為網站位址連結,表示當處于聯網狀态時才能安裝軟體包,斷網狀态軟體包不能使用安裝
當在線上狀态安裝軟體包(httpd):yum install httpd -y
因為這是一個網站服務,是以我們接下來需要開啟此項服務,
輸入:
systemctl start httpd.service
開啟網站服務
systemtcl stop firewalld.service
關閉防火牆
setenforce 0
關閉增強安全功能
ifconfig
擷取到IP位址為192.168.64.138
用主控端輸入此位址是可以通路到建立好的Apache網站服務的。
五、安裝、更新、解除安裝rpm軟體包
1、安裝或更新rpm軟體
rpm 【選項】 rpm封包件...
-i:安裝
-U:更新
-F:檢視某一個檔案目錄屬于哪一個rpm安裝包
2、解除安裝指定的rpm軟體
rpm -e 軟體名
-e:已解除安裝的rpm軟體包
3、輔助選項
--force:強制執行
--nodeps:解決依賴問題
-h:友好顯示
-v:顯示過程
六、解決軟體包依賴關系方法:
1.安裝有依賴關系的多個軟體時
被依賴的軟體包需要先安裝
可同時指定多個.rpm封包件進行安裝
2.解除安裝有依賴關系的多個軟體時
依賴其他程式的軟體包需要先解除安裝
可同時指定多個軟體名進行解除安裝
3.忽略依賴關系
結合“--nodeps”選項,但可能導緻軟體異常
七、維護RPM資料庫
1、重建RPM資料庫
2、導入驗證公鑰
八、源代碼編譯概述
1、使用源代碼安裝軟體時的優點
擷取最新的軟體版本,及時修複bug
根據使用者需要,靈活定制軟體功能
2、應用場合舉例
安裝較新版本的應用程式時
目前安裝的程式無法滿足需要時
需要為應用程式添加新的功能時
九、編譯安裝源代碼包
1、Tarball封包
.targz和.tar.bz2格式居多
軟體素材參考:http://sourceforge.net
2、完整性校驗
3、确認源代碼編譯環境:
需安裝支援C/C++程式語言的編譯器,如:
gcc-4.4.7-4.el6、 gcc-c++-4.4.7-4.el6 等等
十、編譯安裝過程
十一、tar解包
解包
習慣上将軟體包釋放到/usr/src/目錄
解包後的源代碼檔案位置:
/usr/src/軟體名-版本号/
示例:
補充:如何在斷網情況下安裝RPM軟體包
1、将你的虛拟機設定為僅主機模式斷網,在僅主機模式下隻能與主控端與主控端中的虛拟機通訊
2、配靜态IP,配好後遠端連接配接也會斷掉,我們在虛拟機中打開終端
a、輸入:vim /etc/sysconfig/network.scripts/ifcfg.ens33進入網卡配置,此時BOOTPROTO為dhcp自動擷取模式
b、輸入/dhcp,直接查詢到,按dw整個删除,輸入statci
c、G到末行,$符号到末尾,确認ONBOOT狀态為yes,按o進入下一行插入
d、.輸入IPADDR=192.168.100.100設定好靜态IP,再按o進入下一行插入
e、輸入NETMASK=255.255.255.0設定MAC位址,再按o進入下一行插入
f、輸入GATEWAY=192.168.100.1設定網關,按Esc退回到指令模式,按“:”号到末行模式
i、輸入wq儲存退出
g、輸入service network restart重新開機服務,改完配置檔案之後必須要重新開機服務,否則不會生效
k、輸入ifconfig檢視此時的網卡IP為192.168.100.100
l、用火狐浏覽器嘗試通路網際網路,此時無法通路網際網路
3、輸入yum clean all清除之前聯網狀态下的yum緩存
4、此時進行離線安裝,就要用到鏡像檔案裡的軟體包,并為鏡像裡的軟體包自行建立一個yum倉庫。首先需要挂載鏡像。
a、右鍵點選虛拟光驅選擇設定,在使用ISO鏡像檔案中會有我們之前安裝系統時加載的鏡像檔案,我們使用這個鏡像檔案就可以,選擇狀态為已連接配接,點選确定
b、輸入:df -h檢視CD光牒是否被成功挂載,此時我們看下我們的光驅在什麼位置
c、輸入:cd /dev/,進入dev中,再輸入ls檢視詳細資訊,可以看到其中有一個目錄為cdrom
d、将光驅挂載到自己的一個目錄中(此處設定目錄為mnt),在以後再需要用到時,直接到開這個目錄就可以了
e、輸入:mount /dev/cdrom /mut敲回車,此時CD光牒挂載到mnt目錄下成功
f、輸入:df -h檢視挂載是否成功
g、輸入:ls /mnt/進入mnt目錄中檢視詳細資訊,可以看到其中有鏡像檔案當中的東西,其中我們安裝所需的安裝包都在Package這個目錄裡面,我們進入此目錄後會發現裡面都是rpm包
5、解除安裝vim,再安裝vim驗證安裝包的使用
輸入:rpm -evh vim.enhanced-7.4.160-2.el7.x86_64(此處可檢視路徑後複制),敲回車進行解除安裝,此時在使用vim功能是無法使用的,顯示沒有檔案或目錄,過程和結果如下圖所示: