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

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

发布时间:2018-08-25 17:41 所属栏目:117 来源:Steve Ovens
导读:与 yum whatprovides 不同的是, apt-file search 的问题是因为自动添加了通配符搜索而输出过于详细(除非你知道确切的路径),最终在结果里包括了所有包含有 kate 的结果。 kate: /usr/bin/kate kate: /usr/lib/x8

yum whatprovides 不同的是,apt-file search 的问题是因为自动添加了通配符搜索而输出过于详细(除非你知道确切的路径),最终在结果里包括了所有包含有 “kate” 的结果。

  1. kate: /usr/bin/kate
  2. kate: /usr/lib/x86_64-linux-gnu/qt5/plugins/ktexteditor/katebacktracebrowserplugin.so
  3. kate: /usr/lib/x86_64-linux-gnu/qt5/plugins/ktexteditor/katebuildplugin.so
  4. kate: /usr/lib/x86_64-linux-gnu/qt5/plugins/ktexteditor/katecloseexceptplugin.so
  5. kate: /usr/lib/x86_64-linux-gnu/qt5/plugins/ktexteditor/katectagsplugin.so

上面这些例子大部分都使用了 apt-get。请注意现今大多数的 Ubuntu 教程里都径直使用了 apt。 单独一个 apt 设计用来实现那些最常用的 APT 命令的。apt 命令看上去是用来整合那些被分散在 apt-getapt-cache 以及其它一些命令的的功能的。它还加上了一些额外的改进,如色彩、进度条以及其它一些小功能。上述的常用命令都能被 apt 替代,但是并不是所有的基于 Debian 的系统都能使用 apt 接受安全包补丁的,你有可能要安装额外的包的实现上述功能。

基于 Arch 的包管理器

Arch Linux 使用称为 packman 的包管理器。和 .deb 以及 .rpm 不同,它使用更为传统的 LZMA2 压缩包形式 .tar.xz 。这可以使 Arch Linux 包能够比其它形式的压缩包(如 gzip)有更小的尺寸。自从 2002 年首次发布以来, pacman 一直在稳定发布和改善。使用它最大的好处之一是它支持 Arch Build System,这是一个从源代码级别构建包的构建系统。该构建系统借助一个叫 PKGBUILD 的文件,这个文件包含了如版本号、发布号、依赖等等的元数据,以及一个为编译遵守 Arch Linux 需求的包所需要的带有必要的编译选项的脚本。而编译的结果就是前文所提的被 pacman 所使用的 .tar.xz 的文件。

上述的这套系统技术上导致了 Arch 用户仓库Arch User Respository(AUR)的产生,这是一个社区驱动的软件仓库,仓库里包括有 PKGBUILD 文件以及支持补丁或脚本。这给 Arch Linux 带了无穷无尽的软件资源。最为明显的好处是如果一个用户(或开发者)希望他开发的软件能被广大公众所使用,他不必通过官方途径去在主流软件仓库获得许可。而不利之处则是它必须将依赖社区的流程,类似于 Docker Hub、 Canonical 的 Snap Packages(LCTT 译注: Canonical 是 Ubuntu 的发行公司),或者其它类似的机制。有很多特定于 AUR 的包管理器能被用来从 AUR 里的 PGKBUILD 文件下载、编译、安装,下面我们来仔细看看怎么做。

使用 pacman 和官方软件仓库

Arch 的主要包管理器:pacman,使用标识位而不是像 yumapt 一样使用命令词。例如,要搜索一个包,你要用 pacman -Ss 。和 Linux 上别的命令一样,你可以找到 pacman 的手册页和在线帮助。pacman 大多数的命令都使用了同步(-S)这个标识位。例如:

  1. user@arch ~ $ pacman -Ss kate
  2.  
  3. extra/kate 18.04.2-2 (kde-applications kdebase)
  4.     Advanced Text Editor
  5. extra/libkate 0.4.1-6 [installed]
  6.     A karaoke and text codec for embedding in ogg
  7. extra/libtiger 0.3.4-5 [installed]
  8.     A rendering library for Kate streams using Pango and Cairo
  9. extra/ttf-cheapskate 2.0-12
  10.     TTFonts collection from dustimo.com
  11. community/haskell-cheapskate 0.1.1-100
  12.     Experimental markdown processor.

Arch 也使用和别的包管理器类似的软件仓库。在上面的输出中,搜索结果前面有标明它是从哪个仓库里搜索到的(这里是 extra/community/)。同 Red Hat 和 Debian 系统一样,Arch 依靠用户将软件仓库的信息加入到一个特定的文件里:/etc/pacman.conf。下面的例子非常接近一个仓库系统。笔者还打开了 [multilib] 仓库来支持 Steam:

  1. [options]
  2. Architecture = auto
  3.  
  4. Color
  5. CheckSpace
  6.  
  7. SigLevel    = Required DatabaseOptional
  8. LocalFileSigLevel = Optional
  9.  
  10. [core]
  11. Include = /etc/pacman.d/mirrorlist
  12.  
  13. [extra]
  14. Include = /etc/pacman.d/mirrorlist
  15.  
  16. [community]
  17. Include = /etc/pacman.d/mirrorlist
  18.  
  19. [multilib]
  20. Include = /etc/pacman.d/mirrorlist

(编辑:ASP站长网)

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