linux有哪些包管理

89次阅读
没有评论

共计 5172 个字符,预计需要花费 13 分钟才能阅读完成。

今天丸趣 TV 小编给大家分享一下 linux 有哪些包管理的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

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 系的包管理系统。

本教程操作环境:linux7.3 系统、Dell G3 电脑。

大多数现代的类 Unix 操作系统都提供了一种中心化的机制用来搜索和安装软件。软件通常都是存放在存储库中,并通过包的形式进行分发。处理包的工作被称为包管理。包提供了操作系统的基本组件,以及共享的库、应用程序、服务和文档。

包管理系统除了安装软件外,它还提供了工具来更新已经安装的包。包存储库有助于确保你的系统中使用的代码是经过审查的,并且软件的安装版本已经得到了开发人员和包维护人员的认可。

大多数包系统都是围绕包文件的集合构建的。包文件通常是一个存档文件,它包含已编译的二进制文件和软件的其他资源,以及安装脚本。包文件同时也包含有价值的元数据,包括它们的依赖项,以及安装和运行它们所需的其他包的列表。

虽然这些包管理系统的功能和优点大致相同,但打包格式和工具却因平台而异:

操作系统格式工具 Debian.debapt, apt-cache,, dpkgUbuntu.debapt, apt-cache,, dpkgCentOS.rpmyumFedora.rpmdnfFreeBSDPorts, .txzpkg

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 包构成

【1】软件名

【2】版本

【3】适用系统

【4】系统架构

【5】适用 rpm 体系软件

rpm 相关命令及参数

可以使用 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 package_name

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

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

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

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

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 有哪些包管理”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,丸趣 TV 小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注丸趣 TV 行业资讯频道。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-29发表,共计5172字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)