Linux基礎-12day-Linux系統軟件管理

Linux系統軟件管理

 

1、Linux常用軟件包類型

1.1源碼包

腳本安裝包,一般爲壓縮包。

優點:開源,有能力可對源碼進行修改;可以自由選擇所需的功能;軟件是編譯安裝,所以更適合自已的系統;更加穩定、效率更高,卸載方便。

缺點:安裝過程步驟較多,安裝較大的軟件集合時(如LAMP環境搭建),容易出現拼寫錯誤;編譯過程時間較長;編譯安裝過程報錯新手不容易解決。

 

1.2二進制包

rpm包、系統默認安裝包。

優點:包管理系統簡單,只通過幾個命令就可以實現包的安裝、升級、查詢和卸載;安裝速度比源碼包安裝快。

缺點:經過編譯,不可以看到源代碼;功能選擇不如源代包靈活。

2、RPM包管理(安裝、卸載)

2.1 RPM包命名規則

1)RPM包的一般格式爲:

name-version-release.arch.rpm

name:軟件包名稱

version:包含主、次、修訂的軟件包版本信息

arch:硬件平臺,主要包括:i386、i486、i586、i686、X86_64、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硬件平臺說明:

i386、i586、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—代表跟硬件體系結構無關。不管是 x86、PowerPC,Sparc 或者 Alpha 系統。

 

2.2 RPM依賴性

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 網站找到包含此文件的軟件包,安裝即可。

 

2.3 RPM命令

描述: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 軟件包全名 #新版本降級爲舊版本

 

2.4 yum命令

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目錄下。 

2.5創建yum

當收集到足夠多的軟件包時,爲方便管理及使用,有必要將其彙總並創建屬於自己的yum源。

創建步驟:

1)安裝createrepo;

2)將所有軟件包存入指定目錄,例如/root/soft

2)運行 createrepo /root/soft即可。

3 源碼包安裝

軟件的源代碼是軟件的原始數據,任何人都可以通過源代碼查看該軟件的設計架構與實踐方法,但軟件源代碼不可以在計算機中直接運行安裝。我們需要將軟件源代碼通過編譯轉換計算機可識別的機器語言,最後在執行安裝。
源碼包安裝步驟:

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


個人公衆號:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章