如何在其他类似Unix的操作系统中使用ArchLinux的Pacman软件包管理器

时间:2020-03-21 11:48:37  来源:igfitidea点击:

Pacman和Arch用户存储库(AUR)这是我在过去几年中坚持使用Arch Linux的两个主要原因。

从开始使用Arch Linux的那一天起,我就不再经常使用其他Linux发行版。
我将不时仅在Virtualbox上尝试其他Linux发行版,以测试不同的应用程序/工具。
由于我整天都在使用Arch LInux,因此有时我会忘记或者混淆Pacman的用法与其他发行版的软件包管理器(例如APT,DNF和YUM等)。
如果我们像我一样,那么我对我们来说是个好消息。
向Pacapt打招呼,Pacapt是一些Unices的类似于Arch的pacman包管理器。

Pacapt实际上是针对不同软件包管理器(例如YUM,DNF,APT和Zypper等)的包装脚本。
使用Pacapt,我们可以使用pacman命令作为Arch Linux下的安装,更新,升级,删除软件包的方式。
其他类似Unix的操作系统。
也就是说,我们无需记住不同操作系统的各种命令/选项。
Pacapt将最常用的Pacman命令带到许多其他类似Unix的操作系统中。
请注意,并非本地软件包管理器的所有选项都已移植。
Pacapt工具仅提供一个非常基本的界面来搜索,安装,删除软件包和/或者更新系统。

安装Pacapt

请记住,Pacapt不应安装在基于Arch的系统上。
另外,在FreeBSD和Alpine Linux上,请先安装bash软件包。

Pacapt可以通过两种方式安装。
从GitHub下载稳定的脚本,并将其放在PATH中,如下所示。

$sudo wget -O /usr/local/bin/pacapt https://github.com/icy/pacapt/raw/ng/pacapt
$sudo chmod 755 /usr/local/bin/pacapt
$sudo ln -sv /usr/local/bin/pacapt /usr/local/bin/pacman || true

在某些系统上,当sudo执行命令时/usr/local/bin不在搜索路径中。
在这种情况下,我们可能想改用/usr/bin/pacman或者/usr/bin/pacapt。

或者,我们可以从Pival81存储库安装Pacapt,如下所示。

在CentOS 7上,以root用户身份运行以下命令:

# cd /etc/yum.repos.d/
# wget https://download.opensuse.org/repositories/home:Pival81/CentOS_7/home:Pival81.repo
# yum install pacapt

在CentOS 6上,以root用户身份运行以下命令:

# cd /etc/yum.repos.d/
# wget https://download.opensuse.org/repositories/home:Pival81/CentOS_6/home:Pival81.repo
# yum install pacapt

对于Debian 8.0,以root用户身份运行以下命令:

# wget -nv https://download.opensuse.org/repositories/home:Pival81/Debian_8.0/Release.key -O Release.key 
# apt-key add - < Release.key
# echo 'deb http://download.opensuse.org/repositories/home:/Pival81/Debian_8.0//' > /etc/apt/sources.list.d/pacapt.list 
# apt-get update
# apt-get install pacapt

在Fedora 25上,以root用户身份运行以下命令:

# dnf config-manager --add-repo https://download.opensuse.org/repositories/home:Pival81/Fedora_25/home:Pival81.repo
# dnf install pacapt

在Fedora 24上,以root用户身份运行以下命令:

# dnf config-manager --add-repo https://download.opensuse.org/repositories/home:Pival81/Fedora_24/home:Pival81.repo
# dnf install pacapt

在openSUSE Tumbleweed上,以root用户身份运行以下命令:

# zypper addrepo https://download.opensuse.org/repositories/home:Pival81/openSUSE_Tumbleweed/home:Pival81.repo
# zypper refresh
# zypper install pacapt

在openSUSE Leap 42.2上,以root用户身份运行以下命令:

# zypper addrepo https://download.opensuse.org/repositories/home:Pival81/openSUSE_Leap_42.2/home:Pival81.repo
# zypper refresh
# zypper install pacapt

在RHEL 7上以root用户身份运行以下命令:

# cd /etc/yum.repos.d/
# wget https://download.opensuse.org/repositories/home:Pival81/RHEL_7/home:Pival81.repo
# yum install pacapt

在RHEL 6上以root用户身份运行以下命令:

# cd /etc/yum.repos.d/
# wget https://download.opensuse.org/repositories/home:Pival81/RHEL_6/home:Pival81.repo
# yum install pacapt

在xUbuntu 16.04上运行以下命令:

$wget -nv https://download.opensuse.org/repositories/home:Pival81/xUbuntu_16.04/Release.key -O Release.key
$sudo apt-key add - < Release.key
$sudo sh -c "echo 'deb http://download.opensuse.org/repositories/home:/Pival81/xUbuntu_16.04//' > /etc/apt/sources.list.d/pacapt.list"
$sudo apt-get update
$sudo apt-get install pacapt

在其他Linux发行版中使用ArchLinux的Pacman软件包管理器

使用pacapt的典型语法是:

$pacapt <option(s)> <operation(s)> <package(s)>

我们也可以使用“ pacman”代替“ pacapt”,如下所示。

$pacman <option(s)> <operation(s)> <package(s)>

现在让我们看一些例子。

要在RHEL,CentOS上安装软件包,例如vim,我们使用:

# yum install vim

正确的?

并且,要在基于Debian的系统上安装vim,我们使用:

$sudo apt-get install vim

确实!这就是我们使用本机软件包管理器执行安装的方式。
现在,这是没有必要的!

例如,要安装vim软件包CentOS服务器,只需运行:

# pacman -S vim

此命令将自动调用“ yum install vim”命令并在CentOS系统上安装vim编辑器。
简而言之,pacapt脚本允许我们使用pacman代替Apt,DNF,Zypper,Yum和其他流行的软件包管理器,因此安装软件包非常容易!我们无需记住不同发行版的命令。
可以使用同一命令在安装了pacapt的任何Linux系统上安装vim编辑器。
知道了?
伟大的!如果我们已经熟悉Pacman,则知道如何使用它来安装,更新,升级和删除软件包。

以下是当前支持的选项的列表。

要列出所有已安装的软件包,请运行:

# pacman -Q

要显示软件包的变更日志:

# pacman -Qc <package>

要打印打印包状态:

# pacman -Qi <package>

列出软件包的文件:

# pacman -Ql <package>

要列出在任何安装源中均不可用的已安装软件包:

# pacman -Qm

要查询提供特定文件的软件包:

# pacman -Qo <file>

要查询软件包文件(不要使用软件包数据库):

# pacman -Qp <file>

要搜索已安装的软件包:

# pacman -Qs <package>

要安装软件包,请运行:

# pacman -S <package-name>

要搜索软件包:

# pacman -Ss <package>

要升级系统:

# pacman -Su

要更新软件包数据库:

# pacman -Syy

要更新软件包数据库,然后升级系统:

# pacman -Syu

删除软件包:

# pacman -R <package>

要删除旧的下载程序包:

# pacman -Sc

要删除所有下载的软件包:

# pacman -Scc

清理变体文件。

# pacman -Sccc

要下载软件包但不安装它们:

# pacman -Sw <package>

要查看所有可用的操作,请运行:

# pacman -P
pacapt: available operations: Q Qi Qs Ql Qo Qp Qc Qu Qm Rs R Si Suy Su Sy Ss Sc Scc Sccc S U Sii

有关更多详细信息,请参阅帮助部分。

# pacman -h