Linux系統軟件管理node
一、Linux經常使用軟件包類型nginx
腳本安裝包,通常爲壓縮包。shell
優勢:開源,有能力可對源碼進行修改;能夠自由選擇所需的功能;軟件是編譯安裝,因此更適合自已的系統;更加穩定、效率更高,卸載方便。小程序
缺點:安裝過程步驟較多,安裝較大的軟件集合時(如LAMP環境搭建),容易出現拼寫錯誤;編譯過程時間較長;編譯安裝過程報錯新手不容易解決。vim
rpm包、系統默認安裝包。centos
優勢:包管理系統簡單,只經過幾個命令就能夠實現包的安裝、升級、查詢和卸載;安裝速度比源碼包安裝快。緩存
缺點:通過編譯,不能夠看到源代碼;功能選擇不如源代包靈活。bash
(1)RPM包的通常格式爲:服務器
name-version-release.arch.rpm架構
name:軟件包名稱
version:包含主、次、修訂的軟件包版本信息
arch:硬件平臺,主要包括:i38六、i48六、i58六、i68六、X86_6四、pcc、sparc、alpha,noarch包可在任何平臺上安裝。
例如:openssl-devel-1.0.1e-57.el6.x86_64.rpm
名稱 |
說明 |
(name)openssl-devel |
openssl軟件主包名,devel軟件包分包名 |
(version)1.0.1e |
1爲主版本號,0爲次版本號,1e爲修訂號 |
(release)57.el6 |
57是表示發行號,el6表示是RHEL6 |
(arch)X86_64 |
(主機)硬件平臺 |
Linux硬件平臺說明:
i38六、i58六、i686與Noarch
i386—幾乎全部的X86平臺,不管是舊的pentum或者是新的pentum-IV與K7系統CPU,均可以正常工做,i指得是Intel兼容的CPU,至於386就是CPU的等級。
i586—就是586等級的計算機,包括pentum第一代MMX CPU,AMD的K5,K6系統CPU(socket7插腳)等CPU都是這個等級。
i686—pentum 2 之後的Intel系統CPU及K7之後等級的CPU都屬於這個686等級。
Noarch—表明跟硬件體系結構無關。不論是 x8六、PowerPC,Sparc 或者 Alpha 系統。
Linux系統中,rpm包之間的依賴關係主要分爲如下幾種:
(1)樹形依賴:(A-B-C-D)要想安裝軟件 A,必須先安裝 B,安裝B須要先安裝 C…….解決此類型依賴的方法是從後往前安裝,即先安裝 D,再安裝 C,而後安裝 B,最後安裝軟A。
(2)環形依賴:(A-B-C-D-A)各個軟件安裝的依賴關係構成「環狀」。解決此類型依賴的方法是用一條命令同時安裝全部軟件包,即便用 rpm -ivh 軟件包A 軟件包B .....
(3)模塊依賴:軟件包的安裝須要藉助其餘軟件包的某些文件(好比庫文件),解決模塊依賴最直接的方式是經過 http://www.rpmfind.net 網站找到包含此文件的軟件包,安裝便可。
描述:rpm包管理,安裝、升級、卸載、查詢等。
用法:rpm [選項][rpm包名/軟件名]
主要參數:
必要參數 |
做用 |
-a |
查詢全部已安裝軟件包 |
-c |
顯示配置文列表 |
-d |
顯示文檔文件列表 |
-q |
查詢指定安裝包是否已安裝 |
-l |
打印軟件包列表 |
-f |
查詢包含file的軟件包 |
-i |
Rpm包安裝 |
-v |
打印輸出詳細信息 |
-U |
升級RPM包 |
-h |
軟件安裝,打印安裝進度 |
--last |
列出軟件包時,按照安裝時間排序,最近的在上面 |
-e |
卸載rpm軟件包 |
--force |
表示強制,強制安裝或卸載 |
--nodeps |
RPM包無依賴 |
-R |
列出軟件包依賴的其餘軟件包 |
--provides |
列出軟件包提供的特性 |
--scripts |
累出軟件包自定義的小程序 |
Eg:
(1)安裝rpm包,顯示詳細信息,及安裝進度
[root@test]# rpm -ivh ftp-0.17-67.el7.x86_64.rpm
(2)查詢系統是否已安裝ftp軟件
[root@test ~]# rpm -q ftp
(3)-qa:查詢系統中已安裝的全部軟件;
[root@test ~]# rpm -qa ftp #全部已安裝的rpm包查找ftp的軟件包
(4)-qi:查詢指定安裝軟件包的詳細信息;
[root@test ~]# rpm -qi ftp
(5)-ql:查詢指定軟件的安裝路徑與文件列表。-qd只顯示文件列表。
[root@test ~]# rpm -ql ftp
(6)-qc:查詢指定軟件的配置文件
[root@test ~]# rpm -qc bash #查詢bash配置文件
(7)-qf:查詢指定文件由哪一個軟件安裝
[root@test /]# rpm -qf /etc/init.d
(8)-qR:查詢已安裝軟件的依賴包信息
[root@test /]# rpm -qR ftp
(9)卸載rpm包,-e靜默卸載
[root@test /]# rpm -evh ftp #顯示卸載過程並顯示進度
(10)升級rpm包
格式:[root@test /]# rpm -Uvh 新軟件包全名
(11)檢驗rpm包,防止配篡改
格式:[root@test /]# rpm -V 包名稱
主要提示信息包含:
5-md5值以改變;S-文件大小以改變;L-鏈接文件的源以改變;
T-文件最後修改時間以改變;D-設備已改變;U-用戶發生改變;
G-羣組發生改變;M-包括權限、類型在內的模式改變;?-不可讀文件。
其餘:
(12)rpm -ivh --relocate 路徑 包名 #指定安裝目錄
(13)rpm -ivh --test 包名#只檢查依賴關係不安裝;
(14)rpm -Uvh --oldpackage 軟件包全名 #新版本降級爲舊版本
Yum是改進版rpm軟件管理器,有效的解決rpm的軟件包依賴問題。Yum能夠從很對源中進行軟件搜索以及依賴包查詢,並可自動完成相應依賴包安裝。使用yum安裝時,至少須要一個yum源,即存放不少RPM包軟件的文件夾,用戶可以使用http、ftp或本地文件夾的方式訪問yum源。
Yum源定義文件默認存放在/etc/yum.repos.d目錄下,用戶可自定義任意使用的yum源,其文件名的擴展名必須爲repo。文件格式以下:
選項 |
功能 |
[] |
填寫yum源惟一的ID號,能夠爲任意字符串 |
name |
Yum源名稱 |
baseurl |
指定yum源URL(http/ftp/本地路徑) |
Mirrorlist |
鏡像站點目錄 |
enabled |
是否激活該yum源(0禁用,1激活) |
gpgcheck |
安裝軟件是時候檢查簽名(0禁用,1激活) |
gpgkey |
若是檢查簽名,該語句定義檢查簽名的祕鑰文件 |
[root@test yum.repos.d]# more install.repo [centos7] name=CentOS7 baseurl=file:///mnt gpgcheck=0 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 [root@test yum.repos.d]#
描述:基於RPM的包管理工具。
用法:yum [選項][指令][軟件包...]
選項:
選項 |
做用 |
-y |
Yes,對全部詢問都執行yes |
-c |
指定配置文件 |
-q |
安靜模式 |
-v |
詳細模式 |
-d |
設置調試等級(0-10) |
-e |
設置錯誤等級(0-10) |
-R |
設置yum處理一個命令的最大等待時間 |
-C |
徹底從緩存中運行,而不去下載或者更新任何頭文件 |
參數:
主要參數 |
做用 |
install |
安裝rpm軟件包 |
update |
更新rpm包 |
check-update |
檢車是否有可用更新的rpm包 |
remove |
卸載指定rpm包 |
list |
顯示軟件包信息 |
serch |
檢查軟件包信息 |
info |
顯示指定rpm包描述信息和概要信息 |
clean |
清理yum過時緩存 |
shell |
進入yun的shell緩存 |
resolvedep |
顯示rpm包依賴關係 |
localinstall |
安裝本地rpm包 |
localupdate |
顯示本地rpm進行更新 |
deplist |
顯示rpm包全部依賴關係 |
groupinstall |
安裝組包 |
grouplist |
查看已安裝及可用的組包 |
history |
查看歷史記錄 |
經常使用案例:
(1)安裝
格式:
yum -y install 軟件名稱 #安裝軟件
yum -y groupinstall 程序組名稱 #安裝程序組
[root@test ~]# yum install ftp [root@test ~]# yum -y groupinstall "Development Tools"
格式:
yum update 軟件名稱 #更新指定程序包
yum check-update #檢查可更新的程序
yum upgrade 軟件名稱#升級指定程序包
yum groupupdate 程序組名稱#升級程序組
[root@test ~]# yum update httpd
格式:
yum info 軟件名稱#顯示安裝包信息
yum list #顯示全部已安裝及可安裝的rpm包
yum list 軟件名稱#顯示指定程序包信息
yum groupinfo 包組名稱 #顯示程序組信息
[root@test ~]# yum groupinfo "Development Tools"
格式:
yum remove 軟件名稱 #如今指定軟件
yum groupremove 程序組名稱#卸載指定程序組
yum deplist 軟件名稱#查找指定軟件包依賴狀況
[root@test ~]# yum remove httpd
(5)清楚緩存
格式:
yum clean all #清除全部緩存信息
yum clean 軟件名稱#清除指定目錄下軟件包緩存
[root@test ~]# yum clean all
(6)創建緩存區
做用:將服務器上的軟件包信息,先在本地緩存,以提升搜索、安裝軟件速度。
[root@test ~]#yum makecache
(7)下載rpm包
安裝yum-downloadonly
[root@test ~]# yum -y install yum-downloadonly
下載文件到指定目錄:
yum install namerpm -y --downloadonly --downloaddir=path
Eg:只下載ftp的rpm到/tmp下,不進行安裝
[root@test ~]# yum -y install ftp --downloadonly --downloaddir=/tmp
下載ftp的rpm到/tmp下,並進行安裝
[root@test ~]# yum -y install ftp --downloaddir=/tmp
或者修改/etc/yum.conf文件
vim/etc/yum.conf [main] cachedir=/var/cache/yum keepcache=0
注:keepcache0改成1,安裝或升級軟件時,會下載rpm包文件到/var/cache/yum目錄下。
當收集到足夠多的軟件包時,爲方便管理及使用,有必要將其彙總並建立屬於本身的yum源。
建立步驟:
(1)安裝createrepo;
(2)將全部軟件包存入指定目錄,例如/root/soft
(2)運行 createrepo /root/soft便可。
軟件的源代碼是軟件的原始數據,任何人均可以經過源代碼查看該軟件的設計架構與實踐方法,但軟件源代碼不能夠在計算機中直接運行安裝。咱們須要將軟件源代碼經過編譯轉換計算機可識別的機器語言,最後在執行安裝。
源碼包安裝步驟:
(1)下載軟件源碼包,並進行解壓;
(2)運行configure腳本,經過特定選項指安裝路徑、指定軟件功能等;
(3)運行make命令將軟件源代碼編譯爲計算機可直接識別的機器語言;
(4)經過make install 根據配置階段指定的路徑、功能將軟件以特定的方式安裝到指定位置。
Eg:
# wget -c http://nginx.org/download/nginx-1.16.0.tar.gz # tar -xzf nginx-1.16.0.tar.gz # cd nginx-1.16.0 # useradd www # ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module # make # make install
我的公衆號: