Linux中apt、yum、dnf和pkg怎么用

62次阅读
没有评论

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

这篇文章主要介绍 Linux 中 apt、yum、dnf 和 pkg 怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

包管理系统:简要概述

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

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

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

Debian 及其衍生版,如 Ubuntu、Linux Mint 和 Raspbian,它们的包格式是 .deb。APT   这款先进的包管理工具提供了大多数常见的操作命令:搜索存储库、安装软件包及其依赖项,并管理升级。在本地系统中,我们还可以使用 dpkg 程序来安装单个的 deb   文件,APT 命令作为底层 dpkg 的前端,有时也会直接调用它。

最近发布的 debian 衍生版大多数都包含了 apt 命令,它提供了一个简洁统一的接口,可用于通常由 apt-get 和 apt-cache   命令处理的常见操作。这个命令是可选的,但使用它可以简化一些任务。

CentOS、Fedora 和其它 Red Hat 家族成员使用 RPM 文件。在 CentOS 中,通过 yum   来与单独的包文件和存储库进行交互。

在最近的 Fedora 版本中,yum 已经被 dnf 取代,dnf 是它的一个现代化的分支,它保留了大部分 yum 的接口。

FreeBSD 的二进制包系统由 pkg 命令管理。FreeBSD 还提供了 Ports   集合,这是一个存在于本地的目录结构和工具,它允许用户获取源码后使用 Makefile 直接从源码编译和安装包。

更新包列表

大多数系统在本地都会有一个和远程存储库对应的包数据库,在安装或升级包之前 *** 更新一下这个数据库。另外,yum 和 dnf   在执行一些操作之前也会自动检查更新。当然你可以在任何时候对系统进行更新。

系统命令 Debian / Ubuntusudo apt-get update sudo apt updateCentOSyum check-updateFedoradnf check-updateFreeBSD Packagessudo pkg updateFreeBSD Portssudo portsnap fetch update

更新已安装的包

在没有包系统的情况下,想确保机器上所有已安装的软件都保持在 *** 的状态是一个很艰巨的任务。你将不得不跟踪数百个不同包的上游更改和安全警报。虽然包管理器并不能解决升级软件时遇到的所有问题,但它确实使你能够使用一些命令来维护大多数系统组件。

在 FreeBSD 上,升级已安装的 ports 可能会引入破坏性的改变,有些步骤还需要进行手动配置,所以在通过 portmaster 更新之前 *** 阅读下  /usr/ports/UPDATING 的内容。

系统命令说明 Debian / Ubuntusudo apt-get upgrade 只更新已安装的包  sudo apt-get dist-upgrade 可能会增加或删除包以满足新的依赖项  sudo apt upgrade 和 apt-get upgrade 类似  sudo apt full-upgrade 和 apt-get dist-upgrade 类似 CentOSsudo yum update Fedorasudo dnf upgrade FreeBSD Packagessudo pkg upgrade FreeBSD Portsless /usr/ports/UPDATING 使用  less  来查看 ports 的更新提示(使用上下光标键滚动,按 q 退出)。 cd /usr/ports/ports-mgmt/portmaster sudo make install sudo portmaster - a 安装 portmaster 然后使用它更新已安装的 ports

搜索某个包

大多数发行版都提供针对包集合的图形化或菜单驱动的工具,我们可以分类浏览软件,这也是一个发现新软件的好方法。然而,查找包最快和最有效的方法是使用命令行工具进行搜索。

系统命令说明 Debian / Ubuntuapt-cache search search_string apt search search_string CentOSyum search search_string yum search all search_string 搜索所有的字段,包括描述 Fedoradnf search search_string dnf search all search_string 搜索所有的字段,包括描述 FreeBSD Packagespkg search search_string 通过名字进行搜索  pkg search -f search_string 通过名字进行搜索并返回完整的描述  pkg search -D search_string 搜索描述 FreeBSD Portscd /usr/ports make search name=package 通过名字进行搜索  cd /usr/ports make search key=search_string 搜索评论、描述和依赖

查看某个软件包的信息

在安装软件包之前,我们可以通过仔细阅读包的描述来获得很多有用的信息。除了人类可读的文本之外,这些内容通常包括像版本号这样的元数据和包的依赖项列表。

系统命令说明 Debian / Ubuntuapt-cache show package 显示有关包的本地缓存信息  apt show package dpkg -s package 显示包的当前安装状态 CentOSyum info package yum deplist package 列出包的依赖 Fedoradnf info package dnf repoquery –requires package 列出包的依赖 FreeBSD Packagespkg info package 显示已安装的包的信息 FreeBSD Portscd /usr/ports/category/port  cat pkg-descr 

从存储库安装包

知道包名后,通常可以用一个命令来安装它及其依赖。你也可以一次性安装多个包,只需将它们全部列出来即可。

系统命令说明 Debian / Ubuntusudo apt-get install package sudo apt-get install package1 package2 … 安装所有列出来的包  sudo apt-get install -y package 在 apt 提示是否继续的地方直接默认 yes sudo apt install package 显示一个彩色的进度条 CentOSsudo yum install package sudo yum install package1 package2 … 安装所有列出来的包  sudo yum install -y package 在 yum 提示是否继续的地方直接默认 yesFedorasudo dnf install package sudo dnf install package1 package2 … 安装所有列出来的包  sudo dnf install -y package 在 dnf 提示是否继续的地方直接默认 yesFreeBSD Packagessudo pkg install package sudo pkg install package1 package2 … 安装所有列出来的包 FreeBSD Portscd /usr/ports/category/port  sudo make install 从源码构建安装一个 port

从本地文件系统安装一个包

对于一个给定的操作系统,有时有些软件官方并没有提供相应的包,那么开发人员或供应商将需要提供包文件的下载。你通常可以通过 web   浏览器检索这些包,或者通过命令行 curl 来检索这些信息。将包下载到目标系统后,我们通常可以通过单个命令来安装它。

在 Debian 派生的系统上,dpkg 用来处理单个的包文件。如果一个包有未满足的依赖项,那么我们可以使用 gdebi 从官方存储库中检索它们。

在 CentOS 和 Fedora 系统上,yum 和 dnf 用于安装单个的文件,并且会处理需要的依赖。

系统命令说明 Debian / Ubuntusudo dpkg -i package.deb sudo apt-get install -y gdebi sudo gdebi package.deb 安装 gdebi,然后使用 gdebi 安装 package.deb 并处理缺失的依赖 CentOSsudo yum install package.rpm Fedorasudo dnf install package.rpm FreeBSD Packagessudo pkg add package.txz sudo pkg add -f package.txz 即使已经安装的包也会重新安装

删除一个或多个已安装的包

由于包管理器知道给定的软件包提供了哪些文件,因此如果某个软件不再需要了,它通常可以干净利落地从系统中清除这些文件。

系统命令说明 Debian / Ubuntusudo apt-get remove package sudo apt remove package sudo apt-get autoremove 删除不需要的包 CentOSsudo yum remove package Fedorasudo dnf erase package FreeBSD Packagessudo pkg delete package sudo pkg autoremove 删除不需要的包 FreeBSD Portssudo pkg delete package cd /usr/ports/path_to_port  make deinstall 卸载 port

apt 命令

Debian 家族发行版的管理员通常熟悉 apt-get 和 apt-cache。较少为人所知的是简化的 apt   接口,它是专为交互式使用而设计的。

传统命令等价的 apt 命令 apt-get updateapt updateapt-get dist-upgradeapt full-upgradeapt-cache search stringapt search stringapt-get install packageapt install packageapt-get remove packageapt remove packageapt-get purge packageapt purge package

虽然 apt 通常是一个特定操作的快捷方式,但它并不能完全替代传统的工具,它的接口可能会随着版本的不同而发生变化,以提高可用性。如果你在脚本或 shell   管道中使用包管理命令,那么 *** 还是坚持使用 apt-get 和 apt-cache。

获取帮助

除了基于 web 的文档,请记住我们可以通过 shell 从 Unix 手册页 (通常称为 man 页面) 中获得大多数的命令。比如要阅读某页,可以使用  man:

man page

在 man 中,你可以用箭头键导航。按 / 搜索页面内的文本,使用 q 退出。

系统命令说明 Debian / Ubuntuman apt-get 更新本地包数据库以及与包一起工作  man apt-cache 在本地的包数据库中搜索  man dpkg 和单独的包文件一起工作以及能查询已安装的包  man apt 通过更简洁,用户友好的接口进行最基本的操作 CentOSman yum Fedoraman dnf FreeBSD Packagesman pkg 和预先编译的二进制包一起工作 FreeBSD Portsman ports 和 Ports 集合一起工作

以上是“Linux 中 apt、yum、dnf 和 pkg 怎么用”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注丸趣 TV 行业资讯频道!

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