首頁  >  文章  >  運維  >  linux有幾種套件管理

linux有幾種套件管理

青灯夜游
青灯夜游原創
2022-07-01 16:50:054953瀏覽

8種常用套件管理有:1、DPKG,Debian系的套件管理系統;2、apt,Debian、Ubuntu上的套件管理系統;3、apt-cache,一個apt軟體套件管理工具; 4、RPM,紅帽系的套件管理系統;5、yum,一個解決套件依賴關係而存在的軟體套件管理器;6、DNF,新一代的rpm軟體套件管理器;7、pkg,FreeBSD預設使用的套件管理器;8、Pacman,Arch系的套件管理系統。

linux有幾種套件管理

本教學操作環境:linux7.3系統、Dell G3電腦。

大多數現代的類別 Unix 作業系統都提供了一個中心化的機制用來搜尋和安裝軟體。軟體通常都是存放在儲存庫中,並透過套件的形式進行分發。處理包的工作稱為包管理。套件提供了作業系統的基本元件,以及共享的庫、應用程式、服務和文件。

套件管理系統除了安裝軟體外,它還提供了工具來更新已經安裝的套件。套件儲存庫有助於確保你的系統中使用的程式碼是經過審查的,並且軟體的安裝版本已經得到了開發人員和套件維護人員的認可。

大多數套件系統都是圍繞著套件檔案的集合建構的。套件檔案通常是一個存檔文件,它包含已編譯的二進位檔案和軟體的其他資源,以及安裝腳本。套件檔案同時也包含有價值的元數據,包括它們的依賴項,以及安裝和運行它們所需的其他套件的清單。

雖然這些套件管理系統的功能和優點大致相同,但打包格式和工具卻因平台而異:

CentOS#Fedora##.rpmdnfFreeBSD.txz#pkg

1、DPKG

dpkg是Debian系的套件管理系統,套件後綴名是.deb。

dpkg 是 linux 系統下用來安裝、建立和管理軟體套件的工具。其安裝的軟體包一般是下載到本地的軟體包,拓展名是deb。

格式: dpkg 參數package.deb (初學者容易忘記打空格,在指令和參數以及參數和軟體包中間要打空格,否則linux會無法辨識)

dpkg -i

dpkg -i 是linux 系統下用來安裝軟體套件的指令。

格式: /home/使用者名稱/桌面(desktop)/ # dpkg -i package.deb (此時,安裝套件被放在桌面上,也可以放到其他資料夾中,在所在文件夾中開啟終端或# dpkg -i /絕對路徑/package.deb )

dpkg -r

dpkg -r 是linux 系統下用來卸載軟體包的命令。我推薦和dpkg -l 指令結合使用,因為卸載軟體的名字不一定和安裝時安裝套件的名字一樣。

格式: # dpkg -r package (卸載時可以在任意路徑)

#使用dpkg -l 指令找到需要卸載的軟體,將軟體名稱複製(不要將軟體版本一起複製) ,複製的軟體名稱替換格式裡的package

dpkg -P

dpkg -P 是linux 系統下用來卸載軟體包的同時刪除其設定檔的命令。如果想要完全將軟體包卸載乾淨最好使用這個指令。我就碰到過沒卸載乾淨導致安裝後一版本的軟體時無法安裝成功的問題。

格式: # dpkg -P package (使用方式可以參考dpkg -r)

dpkg -l

dpkg -l 是linux 系統下用查看列出目前已安裝的軟體包的命令。

格式: # dpkg -l 就可以看到所有已安裝的軟體包

如果要看某個特定的軟體,例如我在公司安裝的軟體帶有gongsi的關鍵字

可以使用# dpkg -l grep | gongsi 就可以看到有gongsi關鍵字的安裝包,其中| 是豎槓不是字母l。

2、apt

apt是Advanced Package Tool的簡寫,是工作於Debian, Ubuntu等相關linux發行版上的軟體包管理系統。 apt在類別Unix作業系統上提供如自動檢索、設定和安裝軟體包等功能來簡化軟體的管理。

apt, apt-get, apt-cache這幾個指令使用library來處理軟體包。 apt其實可以看作dpkg的前端,而且比以往的dselect對使用者更友善。

apt整合了apt-get和apt-cache-這兩個指令功能很多但一般往往用不到,因此apt保留了常用和重要的功能。

常用指令:

# 从软件源同步最新的软件信息并缓存到本地 
apt update 

# 安装指定的包,并同时安装其依赖的其他包。 
apt install [package] 

# 更新软件版本 
apt upgrade 

# 查找软件,没有添加参数就是展示所有的软件包,加关键字就是搜索指定的包 
apt list zlib* 

# 列出已经安装的软件版本 
apt list --installed 

# 关键字搜索软件的名称和描述 
apt search zlib* 

# 卸载包,但是配置文件还是会保存着
apt remove [package] 

# 卸载包,并删除配置文件 
apt purge [package] 

# 卸载因安装软件自动安装的依赖 
apt autoremove 

# 删除所有已下载的软件包 
apt clean 

# 类似clean,但删除的是过期的包(即已不能下载或者是无用的包) 
apt autoclean

3、apt-cache

apt-cache是​​linux下的一個apt軟體包管理工具,它可查詢apt的二進位軟體包快取檔案。 APT包管理的大多數資訊查詢功能都可以由apt-cache命令實現,透過apt-cache命令配合不同的子命令和參數的使用,可以實現查找,顯示軟體包資訊及包依賴關係等功能.

常用指令:

apt-cache show package_name
#显示指定软件包的信息,包括版本号,安装状态和包依赖关系等.

apt-cache search package_name
#搜索软件包,可以按关键字查找软件包,通常用于查询的关键字会使用软件包的名字或软件包的一部分.

apt-cache showpkg package_name
#显示软件包的依赖关系信息.

 apt-cache stats
#显示当前系统所使用的数据源的统计信息,用户可以使用该命令查看数据源的相关统计信息.

apt-cache policy package_name
#显示软件包的安装状态和版本信息.

apt-cache depends package_name
#显示指定软件包所依赖的软件包。当用户需要了解某个软件包依赖于其他哪些包时,可以使用apt-cache depends来查询包依赖关系.

apt-cache rdepends package_name
#查询指定软件包的反向依赖关系,即那些其他的软件包需要依赖你所指定的软件包做为安装和运行的必须条件.

apt-cache dump
#显示缓存中的每个软件包的简要描述信息.


apt-cache unmet
#显示不符合一致性的依赖关系.

4、RPM

#RPM是紅帽系的套件管理系統,套件後綴名是. rpm。

RPM是Red-Hat Package Manager(RPM軟體套件管理器)的縮寫,這個檔案格式名稱雖然打上了RedHat的標誌,但是其原始設計理念是開放式的,現在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分發版本都有採用,可以算是公認的業界標準了。一種用於網路下載套件的打包及安裝工具,它包含在某些Linux分發版中。它產生具有.RPM擴展名的檔案。與Dpkg類似。

簡而言之,就是linux中的軟體包。

rpm套件構成

linux有幾種套件管理

  • #【1】軟體名稱

  • #【2】版本

  • 【3】適用系統

  • #【4】系統架構

#【5】適用rpm體系軟體

rpm相關指令及參數

linux有幾種套件管理可以使用rpm指令對rpm包軟體進行相關處理

5、yum

#######yum,全名為「Yellow dog Updater, Modified”,是一個專門為了解決包的依賴關係而存在的軟體包管理器。就好像 Windows 系統上可以透過 360 軟體管家實現軟體的一鍵安裝、升級和卸載,Linux 系統也提供有這樣的工具,就是 yum。 ###

可以这么说,yum 是改进型的 RPM 软件管理器,它很好的解决了 RPM 所面临的软件包依赖问题。yum 在服务器端存有所有的 RPM 包,并将各个包之间的依赖关系记录在文件中,当管理员使用 yum 安装 RPM 包时,yum 会先从服务器端下载包的依赖性文件,通过分析此文件从服务器端一次性下载所有相关的 RPM 包并进行安装。

yum 软件可以用 rpm 命令安装,安装之前可以通过如下命令查看 yum 是否已安装:

# rpm -qa | grep yum
yum-metadata-parser-1.1.2-16.el6.i686
yum-3.2.29-30.el6.centos.noarch
yum-utils-1.1.30-14.el6.noarch
yum-plugin-fastestmirror-1.1.30-14.el6.noarch
yum-plugin-security-1.1.30-14.el6.noarch

可以看到,系统上已经安装了 yum。

yum基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

yum 语法

yum [options] [command] [package ...]
  • options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为 "yes"),-q(不显示安装的过程)等等。

  • command:要进行的操作。

  • package:安装的包名。

yum常用命令

1. 列出所有可更新的软件清单命令:yum check-update

2. 更新所有软件命令:yum update

3. 仅安装指定的软件命令:yum install

4. 仅更新指定的软件命令:yum update

5. 列出所有可安裝的软件清单命令:yum list

6. 删除软件包命令:yum remove

7. 查找软件包命令:yum search

8. 清除缓存命令:

  • yum clean packages: 清除缓存目录下的软件包

  • yum clean headers: 清除缓存目录下的 headers

  • yum clean oldheaders: 清除缓存目录下旧的 headers

  • yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的 headers

6、DNF

DNF 是新一代的rpm软件包管理器。他首先出现在 Fedora 18 这个发行版中。而最近,它取代了yum,正式成为 Fedora 22 的包管理器。

DNF包管理器克服了YUM包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等多方面的内容。DNF使用 RPM, libsolv 和 hawkey 库进行包管理操作。尽管它没有预装在 CentOS 和 RHEL 7 中,但你可以在使用 YUM 的同时使用 DNF 。

安装 DNF 包管理器

DNF 并未默认安装在 RHEL 或 CentOS 7系统中,但是 Fedora 22 已经默认使用 DNF .

1、为了安装 DNF ,您必须先安装并启用 epel-release 依赖。

在系统中执行以下命令:

# yum install epel-release

或者

# yum install epel-release -y

其实这里并没有强制使用”-y”的理由,相反的,在不使用”-y”的情况下,用户可以在安装过程中查看到底有哪些东西被安装进了系统。但对于没有这个需求的用户,您可以在 YUM 中使用”-y”参数来自动安装所有东西。

2、使用 epel-release 依赖中的 YUM 命令来安装 DNF 包。在系统中执行以下命令:

# yum install dnf

然后, DNF 包管理器就被成功的安装到你的系统中了。接下来,是时候开始我们的教程了!在这个教程中,您将会学到27个用于 DNF 包管理器的命令。使用这些命令,你可以方便有效的管理您系统中的 RPM 软件包。现在,让我们开始学习 DNF 包管理器的27条常用命令吧!

7、pkg

FreeBSD默认使用的包管理器。

8、Pacman

Pacman是Arch系的包管理系统,新版本包后缀名是.pkg.tar.zst,之前的版本是.pkg.tar.xz。

相关推荐:《Linux视频教程

作業系統 #格式 工具
Debian .deb aptapt-cache,, dpkg
#Ubuntu ##.deb aptapt-cache,, dpkg
.rpm yum
Ports, 

以上是linux有幾種套件管理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn