设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 数据 手机 公司
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

带你了解包管理器的进化(2)

发布时间:2018-08-25 17:41 所属栏目:117 来源:Steve Ovens
导读:在 CentOS 7 下使用 yum : [user@centos ~]$ yum search kate kate-devel.x86_64 : Development files for kate kate-libs.x86_64 : Runtime files for kate kate-part.x86_64 : Kate kpart plugin 在 Ubuntu 下使

在 CentOS 7 下使用 yum

  1. [user@centos ~]$ yum search kate
  2.  
  3. kate-devel.x86_64 : Development files for kate
  4. kate-libs.x86_64 : Runtime files for kate
  5. kate-part.x86_64 : Kate kpart plugin

在 Ubuntu 下使用 apt

  1. user@ubuntu ~ $ apt search kate
  2. Sorting... Done
  3. Full Text Search... Done
  4.  
  5. kate/xenial 4:15.12.3-0ubuntu2 amd64
  6.   powerful text editor
  7.  
  8. kate-data/xenial,xenial 4:4.14.3-0ubuntu4 all
  9.   shared data files for Kate text editor
  10.  
  11. kate-dbg/xenial 4:15.12.3-0ubuntu2 amd64
  12.   debugging symbols for Kate
  13.  
  14. kate5-data/xenial,xenial 4:15.12.3-0ubuntu2 all
  15.   shared data files for Kate text editor

最好用的包管理器有哪些?

如上示例的输出,包管理器用来和相应的软件仓库交互,获取软件的相应信息。下面对它们做一个简短介绍。

基于 PRM 包格式的包管理器

更新基于 RPM 的系统,特别是那些基于 Red Hat 技术的系统,有着非常有趣而又详实的历史。实际上,现在的 YUM 版本(用于 企业级发行版)和 DNF(用于社区版)就融合了好几个开源项目来提供它们现在的功能。

Red Hat 最初使用的包管理器,被称为 RPM(红帽包管理器Red Hat Package Manager),时至今日还在使用着。不过,它的主要作用是安装本地的 RPM 包,而不是去在软件仓库搜索软件。后来开发了一个叫 up2date 的包管理器,它被用来通知用户包的最新更新,还能让用户在远程仓库里搜索软件并便捷的安装软件的依赖。尽管这个包管理器尽职尽责,但一些社区成员还是感觉 up2date 有着明显的不足。

现在的 YUM 来自于好几个不同社区的努力。1999-2001 年一群在 Terra Soft Solution 的伙计们开发了黄狗更新器Yellowdog Updater(YUP),将其作为 Yellow Dog Linux 图形安装器的后端。杜克大学Duke University喜欢这个主意就决定去增强它的功能,它们开发了黄狗更新器--修改版Yellowdog Updater, Modified(YUM),这最终被用来帮助管理杜克大学的 Red Hat 系统。Yum 壮大的很快,到 2005 年,它已经被超过一半的 Linux 市场所采用。今日,几乎所有的使用 RPM 的的 Linux 都会使用 YUM 来进行包管理(当然也有一些例外)。

使用 YUM

为了能让 YUM 正常工作,比如从一个软件仓库里下载和安装包,仓库说明文件必须放在 /etc/yum.repos.d/ 目录下且必须以 .repo 作为扩展名。如下是一个示例文件的内容:

  1. [local_base]
  2. name=Base CentOS  (local)
  3. baseurl=http://7-repo.apps.home.local/yum-repo/7/
  4. enabled=1
  5. gpgcheck=0

这是笔者本地仓库之一,这也是为什么 gpgcheck 值为 0 的原因。如果这个值为 1 的话,每个包都需要被密钥签名,相应的密钥(的公钥)也要导入到安装软件的系统上。因为这个软件仓库是笔者本人维护的且笔者信任这个仓库里的包,所以就不去对它们一一签名了。

当一个仓库文件准备好时,你就能开始从远程软件仓库开始安装文件了。最基本的命令是 yum update,这将会更新所有已安装的包。你也不需要用特殊的命令来更新仓库本身,所有这一切都已自动完成了。运行命令示例如下:

  1. [user@centos ~]$ sudo yum update
  2. Loaded plugins: fastestmirror, product-id, search-disabled-repos, subscription-manager
  3. local_base                             | 3.6 kB  00:00:00    
  4. local_epel                             | 2.9 kB  00:00:00    
  5. local_rpm_forge                        | 1.9 kB  00:00:00    
  6. local_updates                          | 3.4 kB  00:00:00    
  7. spideroak-one-stable                   | 2.9 kB  00:00:00    
  8. zfs                                    | 2.9 kB  00:00:00    
  9. (1/6): local_base/group_gz             | 166 kB  00:00:00    
  10. (2/6): local_updates/primary_db        | 2.7 MB  00:00:00    
  11. (3/6): local_base/primary_db           | 5.9 MB  00:00:00    
  12. (4/6): spideroak-one-stable/primary_db |  12 kB  00:00:00    
  13. (5/6): local_epel/primary_db           | 6.3 MB  00:00:00    
  14. (6/6): zfs/x86_64/primary_db           |  78 kB  00:00:00    
  15. local_rpm_forge/primary_db             | 125 kB  00:00:00    
  16. Determining fastest mirrors
  17. Resolving Dependencies
  18. --> Running transaction check

如果你确定想让 YUM 在执行任何命令时不要停下来等待用户输入,你可以命令里放 -y 标志,如 yum update -y

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读