軟件包管理
Linux兩大系列的區別——軟件包管理不同:Redhat系列rpm/yum,Debian系列apt-get/dpkg
CentOS屬於Redhat系列,本節只介紹rpm和yum等軟件包管理方式
一 軟件包分類:
二進制(rpm)包
特點:安裝速度快 簡易
缺點:自定義性差 依賴性
a---->b---->c 樹形依賴(http安裝的例子)
a---b---c---a 環形依賴
源碼包
由軟件開發源碼組成,安裝時需要編譯工具如gcc、gcc-c++等
優點:特點、開源、定製
缺點:安裝時間長,一旦報錯,不易解決
另:腳本安裝包
shell腳本編寫的安裝包,實際內容依然是兩種基本的安裝方式,安裝過程可以交互。
二 二進制(rpm)包的管理
(一) rpm管理工具
1 軟件包命名
包名-版本號-發佈次數-適合linux系統-硬件平臺.rpm
包全名:操作沒有安裝的軟件包,軟件包使用包全名
包 名:操作的是已經安裝的軟件,軟件包使用包名
2 安裝及升級
rpm -ivh 包全名(絕對路徑,一般在光盤的軟件包目錄中)
-i 安裝
-v 顯示詳細信息
-h 顯示進度
rpm -Uvh 包全名 提前下載好高版本的軟件包
-U 升級
3 卸載
rpm -e 包名 如有依賴卸載失敗
--nodeps 不檢查依賴性,強卸!
4 查詢
rpm -q 包名 查詢包是否安裝
rpm -qa | grep httpd 顯示所有安裝包
rpm -qi 包名 查詢包的信息 -p 未安裝包
rpm -qip 包全名 查詢沒有安裝包的信息
-i information
rpm -ql 包名 查詢包中文件的安裝位置
rpm -qlp 包全名 查詢沒有安裝的包,打算安裝位置
-l list
rpm -qf 系統文件名 查詢系統文件屬於哪個包
實驗:安裝httpd並手動解除依賴關係,安裝後啓動測試安裝結果。
service httpd restart|start|stop|status
(二) yum在線管理工具
yum相對於rpm管理工具的優勢:
yum可以在線安裝升級,使用CentOS提供的網絡站點下載所需軟件包。
yum可以自動解除軟件包之間的依賴關係,方便安裝卸載
1 安裝
yum -y install 包名
-y 自動回答yes
2 卸載
yum -y remove 包名
3 升級(有網)
yum -y update 包名
4 查看
yum list 查詢所有可以安裝的包
yuminfo 包名
如果沒有網絡,yum管理工具可以將多媒體軟件庫作爲yum源(池),繼續完成軟件管理。
yum默認將/etc/yum.repo.d/CentOS-base.repo文件作爲第一yum源配置文件,此文件描述了網絡站點的下載地址,如果此文件存在,則繼續上網安裝,斷網時會安裝失敗。需要將yum源切換爲光盤的多媒體文件中去。
將光盤作爲yum源(以下步驟順序部分先後):
1 修改yum源配置文件
mv /etc/yum.repo.d/CentOS-Base.repo /root/
剪切或改名皆可,只要在原位置無同名配置文件即可。
2 掛載使用光盤
mount/dev/cdrom /mnt/cdrom
3 修改Media配置文件,指定yum源爲掛載點
vi /etc/yum.repos.d/CentOS-Media.repo
#修改開始#
baseurl=file:///mnt/cdrom/ 指定yum源位置
enabled=1 yum源文件生效
gpgcheck=1 rpm驗證不生效
#修改結束#
測試安裝
yum -y install gcc (gcc是c語言編譯器,不裝gcc,源碼包不能安裝)
安裝軟件包8個自動解除依賴關係。
三 源碼包安裝
1 上傳軟件包
使用winscp等工具遠程連接Linux,上傳所需軟件包
實例:上傳httpd(apache)軟件包至家目錄
2 安裝(重點)
1)解壓
tar-xf包文件
2)cd 解壓目錄
進入解壓文件目錄
3) 查看安裝文檔
INSTALL README
4)檢測
./configure --prefix=/usr/local/apache2
功能:
1 檢測系統環境,生成Makefile
2 定義軟件選項
--prefix 指定軟件安裝目錄
5) 編譯
make
若編譯失敗使用make clean清除編譯文件
6)安裝
make install
報錯判斷:
第一:安裝過程是否停止
第二:停止處是否出現 error warning no 等錯誤報警
3 啓動
/usr/local/apache2/bin/apachectl start
源碼包的啓動腳本大多存在於安裝目錄下
提示:httpd: Could not reliably determine theserver's fully qualified domain name, using localhost.localdomain forServerName
將配置文件的ServerName行註釋取消後pkill httpd即可,並非報錯!!!
4 卸載
直接刪除安裝目錄
rm -rf /usr/local/apache2/
四 腳本安裝
有提示一步步的跟着執行。
實例:webmin安裝