文章目錄
Linux安裝及管理程序
前言
隨着Linux操作系統一起安裝的軟件包畢竟只有少數,實現的功能也比較有限,當需要爲主機提供更多的功能時,需要學會使用RPM包管理工具和從源代碼包編譯安裝程序,才能更好的在Linux系統中安裝、管理應用程序。
一、Linux應用程序基礎
1.應用程序與系統命令的關係
2.典型應用程序的目錄結構
3.常見的軟件包封裝類型
二、RPM軟件包管理工具
1.RPM(Red-Hat Package Manager)概述
由Red Hat公司提出,被衆多Linux發行版所使用;
建立統一的數據庫文件;
詳細記錄軟件包安裝、卸載等文化信息;
自動分析軟件包依賴關係
2.RPM封裝的軟件包的命名格式
3.rpm命令功能
查詢、驗證RPM軟件包的相關信息;
安裝、升級、卸載RPM軟件包;
維護RPM數據庫信息等綜合管理操作
4.查詢RPM軟件包信息
4.1查詢已經安裝的RPM軟件信息
rpm -q 【子選項】 【軟件名】
用法:
-qa:查看已經安裝的所有的RPM軟件包列表
-qi :查看指定軟件包詳細信息
-ql :查詢軟件包的安裝目錄、文件列表
-qf:查詢指定的文件或目錄是由哪個軟件包所安裝的
#####查詢文件或目錄是由哪個RPM包生成的####
[root@localhost opt]# which vim ###先找出vim程序位置
/usr/bin/vim
[root@localhost opt]# rpm -qf /usr/bin/vim ###查詢/usr/bin/vim是由哪個文件或目錄生成的
vim-enhanced-7.4.160-2.el7.x86_64
注意:使用rpm命令只能查詢通過RPM方式安裝的軟件包信息,對其他途徑安裝的軟件包,無法獲取相關信息。
4.2查詢未安裝的RPM包文件
rpm -qp 【子選項】【RPM包文件】
用法:
-qpi: 查看該軟件的詳細信息
-qpl :查看包內所有包含的目錄、文件列表
5.安裝、升級、卸載RPM包
-i 安裝一個新的rpm軟件 ## 常用
-U 升級、若未安裝、則進行安裝 ## 不是經常用 版本要更新的時候可能用
-h 以#號顯示安裝的進度 ## 常用
-v 顯示安裝過程的詳細信息 ## 常用
-F 更新某個rpm軟件,若未安裝,則放棄安裝
--force 強制安裝所指定的rpm軟件包
--nodeps 安裝、升級或卸載軟件一個軟件包時,不檢查與其他軟件包的依賴關係。
rpm -ivh【軟件名】 安裝軟件包(升級將i換成U)
rpm -e 【軟件名】 卸載軟件包
####安裝與卸載lynx軟件包####(lynx命令是純文本模式的網頁瀏覽器)
root@localhost Packages]# rpm -ivh /mnt/Packages/lynx-2.8.8-0.3.dev15.el7.x86_64.rpm
[root@localhost Packages]# rpm -e lynx
補充:
1.如何掛載/取消掛載光盤
mount /dev/cdrom /mnt 掛載光盤
umount /dev/cdrom /mnt 取消掛載
df -Th 查看掛載
2.解決軟件包依賴關係
安裝:被依賴的軟件包需要先安裝、可同時指定多個.rpm包軟件進行安裝
卸載:依賴其他程序的軟件包需要先卸載、可同時指定多個軟件名進行卸載
忽略依賴關係:結合–nodeps 選項,但可能會導致軟件異常。#####一般不用###
6.維護RPM數據庫
用於記錄在Linux系統中安裝,卸載,升級應用程序的相關信息,由RPM包管理系統自動完成維護,一般不需要用戶干預。當RPM數據庫發生損壞(誤刪文件,非法關機,病毒破壞等導致),且Linux系統無法自動完成修復時,當導致無法使用rpm命令正常的安裝,卸載及查詢軟件包。
這時候可以使用rpm命令的“–rebuilddb”或“–initdb”功能對RPM數據庫進行重建。
rpm --rebuilddb
或
rpm --initdb
三、yum概述與常用命令
Yum(全稱爲 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及CentOS中的Shell前端軟件包管理器。基於RPM包管理,能夠從指定的服務器自動下載RPM包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝。也可以從本地配置文件裏指定的本地地址安裝。
安裝軟件
yum -y install httpd 安裝HTTP
卸載軟件
yun -y remove httpd 卸載HTTP
四、源代碼編譯安裝
1.編譯安裝前準備(gcc和make)
編譯源代碼需要有相應 的開發環境,對於自由軟件來說,gcc和make是最佳的編譯工具。Linux系統採用默認安裝後沒有安裝gcc,我們可以使用rpm命令來安裝gcc。所需的軟件包在鏡像文件中就有提供。
yum -y install gcc gcc-c++ make
HTTP的7個依賴關係包
[root@localhost httpd-2.4.25]# rpm -ivh /mnt/Packages/pcre-devel-8.32-17.el7.x86_64.rpm
[root@localhost httpd-2.4.25]# rpm -ivh /mnt/Packages/apr-devel-1.4.8-3.el7_4.1.x86_64.rpm
[root@localhost httpd-2.4.25]# rpm -ivh /mnt/Packages/expat-devel-2.1.0-10.el7_3.x86_64.rpm
[root@localhost httpd-2.4.25]# rpm -ivh /mnt/Packages/libdb-devel-5.3.21-24.el7.x86_64.rpm
[root@localhost httpd-2.4.25]# rpm -ivh /mnt/Packages/cyrus-sasl-devel-2.1.26-23.el7.x86_64.rpm
[root@localhost httpd-2.4.25]# rpm -ivh /mnt/Packages/openldap-devel-2.4.44-13.el7.x86_64.rpm
[root@localhost httpd-2.4.25]# rpm -ivh /mnt/Packages/apr-util-devel-1.5.2-6.el7.x86_64.rpm
2.編譯安裝的基本過程
獲得所需安裝的軟件源代碼以後,安裝的基本過程包括解包,配置,編譯及安裝。大多數開源軟件的安裝都遵循這個過程。
(具體操作過程將在下一篇博客:編譯安裝Apache軟件)