天天看點

Linux系統基礎(12)--軟體管理Linux系統基礎(12)–軟體管理

Linux系統基礎(12)–軟體管理

一.Linux下的軟體安裝包類型

目前主流的for linux軟體安裝包,主要有兩種:二進制包以及源碼包(tar包)。

1.二進制包

二進制包,也就是源碼包經過成功編譯之後産生的包。由于二進制包在釋出之前就已經完成了編譯的工作,是以使用者安裝軟體的速度較快,且安裝過程報錯幾率大大減小。

​二進制包是 Linux 下預設的軟體安裝包,目前主要有以下 2 大主流的二進制包管理系統:

  • RPM 包管理系統:功能強大,安裝、更新、査詢和解除安裝非常簡單友善,是以很多 Linux 發行版都預設使用此機制作為軟體安裝的管理方式,例如 Fedora、CentOS、SuSE 等。
  • DPKG 包管理系統:由 Debian Linux 所開發的包管理機制,通過 DPKG 包,Debian Linux 就可以進行軟體包管理,主要應用在 Debian 和 Ubuntu 中。

2.源碼包

源碼包就是一大堆源代碼程式,是由程式員按照特定的格式和文法編寫出來的。由于源碼包的安裝需要把源代碼編譯為二進制代碼,是以安裝時間較長。

源碼包在所有的Linux版本中都能使用,但安裝過程也最麻煩,需要先編譯後安裝,安裝好後有穩定,可定制性強等優點。字尾一般為 tar.bz2 tar.gz tar.xz

二.RPM包管理

注意:[軟體包全名]=絕對路徑+軟體全名

注意:[包名]就是短名稱,如:httpd firefox等

1.RPM包預設安裝路徑

安裝路徑 含 義
/etc/ 配置檔案安裝目錄
/usr/bin/ 可執行的指令安裝目錄
/usr/lib/ 程式所使用的函數庫儲存位置
/usr/share/doc/ 基本的軟體使用手冊儲存位置
/usr/share/man/ 幫助檔案儲存位置

2.rpm軟體包的擷取

第一種方式:直接去官網去下載下傳(http://rpm.pbone.net。

第二種方式:如果不介意老版本的話,可以從CD光牒(或者鏡像檔案)中讀取。切換到CD光牒的挂載目錄下,有一個package目錄,該目錄下有很多rpm軟體包。

3.rpm軟體包的安裝解除安裝更新

(1)安裝
rpm -ivh [軟體包全名]
#選項說明:
-i:install,安裝
-v:顯示進度條
-h:表示以"#"形式顯示進度條

(2)解除安裝
rpm -e [軟體包全名]
#選項說明:
--nodeps :強制解除安裝

(3)更新
rpm -Uvh [軟體包全名]
選項說明:
-U :Update,更新操作
           

4.rpm指令查詢軟體包

rpm -q [包名]				#查詢軟體包是否安裝
#注意這裡使用的是軟體包名稱,而不是全名。
#因為已安裝的軟體包隻需給出包名,系統就能成功識别(使用全名反而無法識别)。

rpm -qa						#查詢系統中所有安裝的軟體包(可搭配grep使用)

rpm -qi [包名]				#查詢軟體包的詳細資訊

rpm -ql [包名]				#查詢軟體包的檔案清單

rpm -qf [系統檔案名]			#查詢系統檔案屬于哪個RPM包

rpm -qR [包名]				#查詢軟體包的依賴關系

rpm -qc [包名]				#查詢軟體包有哪些配置檔案
           

5.RPM包校驗

為了能夠及時發現檔案誤删、誤修改檔案資料、惡意篡改檔案内容等問題,Linux提供RPM包校驗。

rpm -V [已安裝的包名]			

rpm -Kv [已安裝的包名]  	#檢測軟體md5校驗碼
           

三.yum(dnf)指令管理軟體

yum( Yellow dog Updater, Modified)是一個在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端軟體包管理器。

基于 RPM 包管理,能夠從指定的伺服器自動下載下傳 RPM 包并且安裝,可以自動處理依賴性關系,并且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載下傳、安裝。

1.yum源優點

RPM安裝(下載下傳軟體、單獨安裝、需要解決依賴關系)

源碼安裝(下載下傳軟體的源碼包,解壓,進入目錄=>配置+編譯+安裝)

yum源:相當于rpm軟體包管理的更新,能夠解決軟體包之間的依賴關系,提高工作效率。

yum源底層還是基于RPM進行軟體安裝操作的,是以yum安裝軟體後,我們也可以通過rpm -qa |grep 軟體名稱

2.yum源分類

☆ 本地yum源

yum倉庫在本地(系統CD光牒/鏡像檔案) => 不需要網絡的支援

☆ 網絡yum源

yum倉庫不在本地,在遠端

  • 國内較知名的網絡源(aliyun源,163源,sohu源,知名大學開源鏡像等)

    ​ 阿裡源:https://opsx.alibaba.com/mirror

    ​ 網易源:http://mirrors.163.com/

    ​ 搜狐源:http://mirrors.sohu.com/

    ​ 清華源:https://mirrors.tuna.tsinghua.edu.cn/

  • 國外較知名的網絡源(centos源、redhat源、擴充[epel]源等)
  • 特定軟體相關的網絡源(Nginx、MySQL、Zabbix等)

3.本地yum源配置

注意:操作前最好先備份一下原來的yum源

本地yum源,就是使用CD光牒鏡像作為YUM源倉庫

第一步:用VM的先連接配接好ISO影像檔案。

第二步:把CD光牒挂載到某個目錄下

rm -rf /mnt/*
mount -o ro /dev/sr0 /mnt
           
解除安裝或解挂可以使用umount /mnt

第三步:把CD光牒挂載添加到開機啟動檔案中

chmod +x /etc/rc.local
echo 'mount -o ro /dev/sr0 /mnt' >> /etc/rc.local
           
/etc/rc.local,屬于系統的開機啟動檔案。系統啟動後,會自動加載并執行此檔案

第四步:編寫本地YUM倉庫檔案

cd /etc/yum.repos.d/
#建立一個以*.repo結尾的檔案,名稱任意
vim local.repo
[local]
 name=local yum
 baseurl=file:///mnt
 gpgcheck=0
 enabled=1

yum clean all
yum makecache
yum repolist all
           

第五步:測試本地YUM倉庫是否可用

yum install httpd -y
           

4.網絡yum源配置

第一步:搜尋你想要的YUM源,進入官網,找到CentOS

第二步:根據官網提供的教程,配置阿裡雲的YUM源

5.EPEL源配置

EPEL是對官網源的一個擴充。

CentOS-Base.repo檔案 => 基礎源(官方在帶的YUM源)

epel.repo檔案 => 擴充源,是對官方YUM源的一個補充

yum install epel-release -y
           

6.特定軟體的源配置

拿nginx舉例,首先進入nginx的官網,一般官網都有yum配置檔案的内容

我們隻需要建立一個repo檔案,并把檔案内容從官網拷貝過來即可

http://nginx.org/en/linux_packages.html#RHEL-CentOS

cd /etc/yum.repos.d
vim nginx.repo

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
           

7.如何自己建立一個yum倉庫?

緩存安裝過的軟體包,或自己下載下傳好軟體安裝包

☆ 什麼時候需要緩存軟體?

  • 下次還需要安裝相同版本的軟體包
  • 由于網絡原因導緻網絡安裝非常慢,将軟體包緩存下來,配置本地倉庫

☆ 如何緩存軟體安裝包

vim /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever	定義軟體包的緩存路徑
keepcache=1			1開啟緩存;0關閉
debuglevel=2
logfile=/var/log/yum.log
           

☆ 把軟體及依賴軟體全部下載下傳到某個路徑

隻下載下傳不安裝軟體:

yum install --downloadonly --downloaddir=儲存路徑 軟體名稱
           

案例:下載下傳samba軟體及依賴軟體

mkdir /soft
yum install --downloadonly --downloaddir=/soft samba
           

☆ 自定義YUM倉庫

第一步:在系統中安裝createrepo制作倉庫的軟體

yum install createrepo -y
           

第二步:把/soft檔案夾做成一個本地的自建倉庫

createrepo /soft
           

第三步:在/etc/yum.repos.d目錄中建立一個soft.repo的倉庫

cd /etc/yum.repos.d/
vim soft.repo
[soft]
name=soft yum
baseurl=file:///soft
gpgcheck=0
enabled=1
           

第四步:清理緩存+重建緩存:

# yum clean all
# yum makecache
           

8.常用yum指令

在rhel8中yum是dnf的軟連接配接

指令 功能
yum install 安裝
yum remove 解除安裝
yum reinstall 重新安裝
yum list installed /available/all/軟體名稱 列出
yum update 更新
yum repolist 列出倉庫資訊
yum history 檢視yum曆史
yum info 檢視軟體包資訊
yum clean all 清除yum緩存
yum search 根據軟體資訊搜尋
yum whatprovides 根據軟體包含檔案搜尋
yum groups install 組安裝
yum groups remove 組解除安裝
yum groups info 組資訊

四.源碼安裝

在Linux系統中,源碼安裝一共分為三步:

第一步:配置過程(配置軟體的安裝路徑)

第二步:編譯過程(把軟體由源代碼編譯成可以安裝的程式)

第三步:安裝過程(把編譯後的程式進行安裝)

cd [軟體源碼包]
./configure && make && make install
           

繼續閱讀