Linux軟體安裝管理,linux軟體安裝
1、軟體包管理簡介1.軟體包分類
源碼包
二進位包(RPM包、系統預設包)
2.源碼包源碼包的優點是:
- 開源,如果有足夠的能力,可以修改原始碼
- 可以自由選擇所需要的功能
- 軟體設計編譯安裝,所以更加適合自己的系統,更加穩定有效
- 卸載方便
源碼包的缺點:
- 安裝過程步驟較多,尤其是安裝較大的軟體集合時(如LAMP環境搭建),容易出現拼字錯誤
- 編譯過程時間較長,安裝比二進位安裝時間長
- 因為是編譯安裝,安裝過程中一旦報錯新手很難解決
3.RPM包二進位包的優點:
- 包管理系統簡單,只通過幾個命令就可以實現包的安裝、升級、查詢和卸載
- 安裝速度比源碼包安裝快的多
二進位包缺點:
- 經過編譯,不再可以看到原始碼
- 功能選擇不如源碼包靈活
- 依賴性
4.指令碼安裝包
所謂的指令碼安裝包,就是把複雜的軟體包安裝過程寫成了程式指令碼,初學者可以執行程式指令碼實現一鍵安裝。但實際安裝的還是源碼包和二進位包。
優點:安裝簡單、快捷
缺點:完全喪失了自訂性
2、rpm命令管理
Red Hat Package Manager/RPM 紅帽軟體包管理器
RPM包命名規則1.RPM包的來源
RPM包在系統光碟片中
2.RPM包命名原則
httpd-2.2.15-15.el6.centos.1.i686.rpm
- httpd 軟體包名
- 2.2.15 軟體版本
- 15 軟體發布的次數
- el6.centos 適合的Linux平台
- i686 適合的硬體平台
- rpm rpm副檔名
3.RPM包依賴性
樹形依賴:a -> b -> c
環形依賴:a -> b -> c -> a
模組依賴:模組依賴,查詢網站:www.rpmfind.net
安裝命令1.包全名與包名
包全名:操作的包是沒有安裝的軟體包時,使用包全名。而且要注意路徑。
包名:操作已經安裝的軟體包時,使用包名,是搜尋/var/lib/rpm/中的資料庫。
2.RPM安裝
rpm -ivh 包全名
選項:
- -i(install) 安裝
- -v(verbose) 顯示詳細資料
- -h(hash) 顯示進度
- --nodeps 不檢測依賴性
升級與卸載1、RPM包升級
rpm -Uvh 包全名
選項:
2.卸載
rpm -e 包名
選項:
- -e(erase) 卸載
- --nodeps 不檢查依賴性
RPM包查詢1.查詢是否安裝
rpm -q 包名
# 查詢包是否安裝
rpm -qa
# 查詢所有已經安裝的RPM包
rpm -qa | grep httpd
2.查詢軟體包詳細資料
rpm -qi 包名
選項:
- -i 查詢軟體資訊(information)
- -p 查詢未安裝包資訊(package)
3.查詢包中檔案安裝位置
rpm -ql 包名
選項:
- -l 列表(list)
- -p 查詢未安裝包資訊(package)
RPM包預設安裝位置
| RPM包預設安裝路徑 |
| /etc/ |
設定檔安裝目錄 |
| /usr/bin |
可執行檔命令安裝目錄 |
| /usr/lib/ |
程式所使用的函數庫儲存位置 |
| /usr/share/doc |
基本軟體使用手冊儲存位置 |
| /usr/share/man/ |
協助檔案儲存位置 |
4、查詢系統檔案屬於哪個RPM包
rpm -qf 系統檔案名稱
選項:
5、查詢軟體包的依賴性
rpm -qR 包名
選項:
- -R 查詢軟體包的依賴性(requires)
- -p 查詢未安裝包資訊(package)
RPM包校正1、RPM包校正
rpm -V 包名
驗證內容中的8個資訊的具體內容如下:
- S 檔案大小是否改變
- M 檔案的類型或檔案的許可權(rwx)是否被改變
- 5 檔案MD5校正和是否被改變(可以看成檔案內容是否改變)
- D 裝置的主從代碼是否被改變
- L 檔案路徑是否改變
- U 檔案的屬主(所有者)是否改變
- G 檔案的屬組是否改變
- T 檔案的修改時間是否改變
- 檔案類型
- c 設定檔(config file)
- d 普通文檔(documentation)
- g “鬼”檔案(ghost file),很少見,就是該檔案不應該被這個RPM包包含
- L 授權檔案(license file)
- r 描述檔案(read me)
2、RPM包中檔案提取
rpm2cpio 包全名 | cpio -idv .檔案絕對路徑
- rpm2cpio
# 將rpm包轉換為cpio格式的命令
- cpio
# 是一個標準工具,它用於建立軟體檔案檔案和從檔案檔案中提取檔案
[root@AmorLei ~]# cpio 選項 < [檔案|裝置]
選項:
- -i :copy-in模式,還原
- -d :還原時自動建立目錄
- -v :顯示還原過程
rpm -qf /bin/ls# 查詢ls命令屬於哪個軟體包mv /bin/ls /tmp/# 造成ls命令誤刪除現象rpm2cpio /mnt/cdrom/Package/coreutils-8.4-19.el6.i686.rpm | cpio -idv ./bin/ls# 提取RPM包中ls命令到目前的目錄的/bin/ls下cp /root/bin/ls /bin/# 把ls命令複製回/bin/目錄,修複檔案丟失
3、yum線上管理
RPM包缺點:安裝過程中,rpm包的依賴性太強。如果所有rpm包都是手工安裝,則rpm包使用難度較大。
yum優點:將所有包放到官方伺服器上,當進行yum線上安裝時,可以自動解決依賴性問題。
yum缺點:Red Hat的yum線上安裝需要付費
1.yum源檔案
vi /etc/yum.repos.d/CentOS-Base.repo
- [base] 容器名稱,一定要放在[]中
- name 容器說明,可以自己隨便寫
- mirrorlist 鏡像網站,這個可以注釋掉
- baseurl 我們的yum原始伺服器的地址。預設是CentOS官方的yum原始伺服器,是可以使用的,如果你覺得慢可以改成你喜歡的yum源地址
- enabled 此容器是否生效,如果不寫或寫成enable=1都生效,寫成enable=0就是不生效
- gpgcheck 如果是1是指RPM的數位憑證生效,如果是0則不生效
- gpgkey 數位憑證的共鑰檔案儲存位置。不用修改
2.光碟片搭建yum源1.掛載光碟片
mkdir /mnt/cdrom# 建立掛載點mount /dev/cdrom /mnt/cdrom# 掛載光碟片
2.使網路yum源失效
cd /etc/yum.repos.d/# 進入yum來源目錄mv CentOS-Base.repo CentOS-Base.repo.bak# 修改yum源檔案尾碼名,使其失效
3.使光碟片yum源生效
vim CentOS-Media.repo[c6-media]name=CentOS-$releasever-Mediabaseurl=file:///mnt/cdrom # 地址為你自己的光碟片掛載地址# file:///media/cdrom/# file:///media/cdrecorder # 注釋這兩個不存在的地址gpgcheck=1enabled=1 # 把enabled=0改為enabled=1,讓這個yum源設定檔生效gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
3.yum命令1.常用yum命令
(1)查詢
yum list# 查詢所有可用軟體包列表yum search 關鍵字# 搜尋伺服器上所有和關鍵字相關的包
(2)安裝
yum -y install 包名選項:- install 安裝- -y 自動回答yes例如:yum -y install gcc
(3)升級
yum -y update 包名選項:- update 升級- -y 自動回答yes
(4)卸載
yum -y remove 包名選項:- remove 卸載- -y 自動回答yes
伺服器使用迷你安裝,用什麼軟體安裝什麼,盡量不卸載
2.yum軟體組管理命令
yum grouplist# 列出所有可用的軟體組列表yum groupinstall 軟體組名# 安裝指定軟體組,組名可以由grouplist查詢出來yum groupremove 軟體組名# 卸載指定軟體組
4、源碼包管理1.源碼包和RPM包的區別區別
安裝之前的區別:概念上的區別
安裝之後的區別:安裝位置不同
RPM包安裝位置
是安裝在預設位置中
rpm安裝可以指定安裝位置,但是不建議指定安裝位置
[root@AmorLei ~]# rpm --help | grep prefix --prefix=<dir> relocate the package to <dir>, if
源碼包安裝位置
安裝在指定位置當中,一般是: /usr/local/軟體名/
源碼包沒有卸載命令
安裝位置不同帶來的影響
RPM包安裝的服務可以使用系統服務管理命令(service)來管理,例如RPM包安裝的apache的啟動方法是:
- /etc/rc.d/init.d/httpd start
- service httpd start(RedHat 專有方法)
源碼包安裝的服務則不能被服務管理命令管理,因為沒有安裝到預設路徑中。所以只能用絕對路徑進行服務的管理,如:
- /usr/local/apache2/bin/apachectl start
2.源碼包安裝過程1.安裝準備
安裝C語言編譯器
下載源碼包:使用httpd-2.2.34沒有報錯
http://mirror.bit.edu.cn/apache/httpd
2.安裝注意事項
原始碼儲存位置:/usr/local/src/
軟體安裝位置:/usr/local/
如何確定安裝過程報錯:
安裝過程停止 並出現error、warning或no的提示
3.源碼包安裝過程
下載源碼包
解壓縮下載的源碼包
進入解壓縮目錄
- /configure 軟體配置與檢查
- 定義需要的功能選項。
- 檢測系統內容是否符合安裝要求。
- 把定義好的功能選項和檢測系統內容的資訊都寫入Makefile檔案,用於後續的編輯。
- [root@AmorLei httpd-2.2.34]# ./configure --prefix=/usr/local/apache2
make 編譯 make cleanmake install 編譯安裝/usr/local/apache2/bin/apachectl start
RPM包網頁位置 /var/www/html/
源碼包網頁位置 /usr/local/apache2/htdocs/
4.源碼包的卸載
不需要卸載命令,直接刪除安裝目錄即可。不會遺留任何垃圾檔案。
5、指令碼安裝
指令碼安裝的筆記將在之後進行更新!