Answers:
根据Arch Linux ARM 的Building Packages页面,您需要这样做。
安装构建要点。这些是在Arch Linux ARM上编译软件包所必需的。
$ sudo pacman -S kernel26-headers file base-devel abs
获得PKGBUILD
。您需要下载所需的tarball。您可以在AUR上找到程序的压缩包。
制作包装。接下来,您需要运行makepkg
以生成pacman可以安装的软件包。
$ makepkg -Acs
该-A
选项将忽略目标Arch体系结构。该-c
选项makepkg
完成后将清理目录,并-s
安装所需的依赖项。
这是建议,你不运行
makepkg
的根,因为它会导致你的系统造成永久性损坏。如果确实需要以root用户身份运行它,请使用该--asroot
选项。
安装软件包。 makepkg
应该在目录中使用filetype创建一个文件.pkg.tar.xz
。您应该通过在-U
pacman中使用该选项来安装此软件包
。
$ sudo pacman -U x.pkg.tar.xz
确保
x.pkg.tar.xz
用实际的软件包名称替换。
kernel26-headers
仍然实际?找不到与Google有关的任何信息。并且该组base-devel
包含file
。
最简单的解决方案是使用Yaourt (还可以使用其他用户存储库工具)。
您可以安装:
pacman -S yaourt
然后与AUR同步:
yaourt -Syy
然后,您可以搜索AUR软件包:
yaourt package-name
它将提供安装的交互式提示。
或者,如果您确切知道软件包名称:
yaourt -S package-name
大多数pacman命令对于yaourt是相同的。
pacman
和之间有什么区别yaourt
?
pacman -S yaourt
不起作用,我无法添加archlinuxfr
,显然他们没有主持armv6h
我为此目的使用包装机,我认为它是yaourt的更快替代品。
只需将这两行添加到您的/etc/pacman.conf
:
[archlinuxfr]
Server = http://repo.archlinux.fr/$arch
然后,您可以通过pacman安装/更新打包程序:
# pacman -Sy packer
使用packer的方式与使用pacman的方式几乎相同:
$ packer -S some_aur_package
另外,如果您不想升级所有软件包,包括来自AUR的软件包:
$ packer -Syu
Packer将首先运行pacman -Syu
以从官方存储库升级软件包,然后将升级所有AUR软件包。
重要! yaourt
根据Wiki不安全且已弃用: https: //wiki.archlinux.org/index.php/AUR_helpers
虽然@Jivings的回答在`12中是最好的,但我建议安装一个更安全,功能更丰富的arch软件包管理器(并且我建议有人更新@Jivings的回答,因为它具有最高的可见性)。
我正在使用aurman
和挖掘它。具有所有功能,很安全,而且cli的工作原理几乎与pacman完全一样。安装:
cd ~/Downloads
git clone https://aur.archlinux.org/aurman.git
cd aurman
makepkg -Acs
# Change xxx below to downloaded version
sudo pacman -U aurman-xxx.pkg.tar.xz
然后,您几乎可以完全按照pacman指南进行操作,但使用aurman
而不是pacman。以下指南摘自https://www.digitalocean.com/community/tutorials/how-to-use-arch-linux-package-management,并让我开始:
Arch Linux提供了与其他现代Linux发行版中类似的软件包管理工具。这是常见软件包管理操作的指南。
在继续进行之前,请确保您的软件包数据库是最新的:
sudo pacman -Sy
为了简洁起见,Arch Linux中的大多数软件包管理操作都以以下格式出现:
pacman -<a-z><a-z>.
例如,用于搜索pacman存储库的常规命令是
pacman -Ss <package>
...
另外,您也可以使用pacman -Qs并没有颜色突出显示的缺点。
pacman -Qs linux
如果要使用pacman -Ss突出显示颜色,则可以从/etc/pacman.conf中取消注释颜色。不过,它突出显示了与pacsearch不同的内容,因此您可能需要同时尝试一下,看看更喜欢哪一种。
sudo vi /etc/pacman.conf
...
# Misc options
#UseSyslog
Color
#TotalDownload
CheckSpace
#VerbosePkgLists
...
pacman -Qi displays basic information about an installed package.
pacman -Qi linux
Name : linux
Version : 3.8.4-1
Description : The linux kernel and modules
Architecture : x86_64
URL : http://www.kernel.org/
Licenses : GPL2
Groups : base
Provides : kernel26=3.8.4
Depends On : coreutils linux-firmware kmod mkinitcpio>=0.7
Optional Deps : crda: to set the correct wireless channels of your country
Required By : None
Optional For : None
Conflicts With : kernel26
Replaces : kernel26
Installed Size : 64728.00 KiB
Packager : Tobias Powalowski <tpowa@archlinux.org>
Build Date : Wed Mar 20 21:16:17 2013
Install Date : Fri Mar 29 01:02:14 2013
Install Reason : Explicitly installed
Install Script : Yes
Validated By : Unknown
如果不传递pacman -Qi,则返回系统中的所有软件包。您可以搜索此输出以获取有关已安装软件包的专门信息。
例如,如果要获取每个包装及其尺寸:
pacman -Qi | grep -e "Name" -e "Installed Size"
Name : a52dec
Installed Size : 244.00 KiB
Name : aalib
Installed Size : 768.00 KiB
...
pacman -Qi提供有关已安装软件包的信息时,pacman -Si向数据库查询有关软件包的最新检索信息。
pacman -Si linux
pacman -Ql列出与软件包关联的所有文件。
pacman -Ql vi
vi /usr/
vi /usr/bin/
vi /usr/bin/edit
vi /usr/bin/ex
vi /usr/bin/vedit
vi /usr/bin/vi
...
每行上的程序包名称会使输出更难以在脚本中使用。pacman -Qlq(即“ pacman查询列表,安静”)将不会打印软件包名称。
pacman -Qlq vi
/usr/
/usr/bin/
/usr/bin/edit
/usr/bin/ex
/usr/bin/vedit
/usr/bin/vi
...
您可以使用pacman -Qlq | grep bin查找该程序包中bin文件夹中的所有文件(因此可能是可执行文件)。当与软件包关联的命令与软件包名称不同时,这非常方便。
pacman -Qql pacman | grep bin
安装或升级标准软件包的典型方法是pacman -S。
sudo pacman -S <package>
软件包的名称通常具有相似的模式。括号可以用作快捷方式。
sudo pacman -S lua-{sec,socket,zlib}
有时,您可能只想出于存档目的下载软件包而不安装它。pacman -Sw会将软件包下载到缓存文件夹。
sudo pacman -Sw <package>
如果已下载软件包,或者知道URL,则可以直接安装。
sudo pacman -U <package_path>
由于pacman围绕着与远程存储库“同步”软件包的想法,因此,pacman -S
如果已经安装了软件包,则会对其进行升级。
吃豆人可以列出过期的软件包。
pacman -Qu
不幸的是,它不会在存储库中显示该软件包的版本,因此您将无法分辨每个软件包的过时程度。如果这对您很重要,则可能需要研究第三方包装管理器或编写一个脚本,将从pacman -Qi和pacman -Si获得的软件包版本联系在一起。
您可以使用正则表达式从pacman -Qi或pacman -Si中获取版本。
pacman -Qi linux | grep "Version" | sed 's/^Version\s*:\s//'
3.8.4-1
然后编写一个脚本,并排显示版本。
for i in $(pacman -Qqu)
do
printf "$i: "
printf "$(pacman -Qi "$i" | grep 'Version' | sed 's/^Version\s*:\s//') "
echo "$(pacman -Si "$i" | grep 'Version' | sed 's/^Version\s*:\s//')"
done
Pacman提供了一次升级所有软件包的方法,但不建议使用,因为Arch是滚动发行版本。如果出现问题,则可能需要一些时间来确定原因。
sudo pacman -Syu
Arch Linux并未正式维护不推荐使用的软件包。取而代之的是,您将需要依靠程序包缓存和诸如Arch Rollback Machine之类的地方。快取
用pacman下载的每个软件包都存储在/ var / cache / pacman / pkg中。
ls /var/cache/pacman/pkg | grep linux
linux-3.11.6-1-x86_64.pkg.tar.xz
linux-3.9.7-1-x86_64.pkg.tar.xz
...
如果要还原到缓存中的软件包,只需直接安装即可。
pacman -U <path_to_cached_file>
Arch Rollback Machine是官方Arch Linux镜像的快照的集合。在撰写本文时,它可以追溯到四个月前。目前,ARM托管在http://seblu.net/a/arm上,尽管将来可能会改变。
可以使用pacman -U远程安装ARM软件包。
pacman -U http://seblu.net/a/arm/2013/08/31/extra/os/x86_64/apache-2.2.25-1-x86_64.pkg.tar.xz
浏览ARM查找较旧的软件包并不十分方便。幸运的是,有一些工具可以使此操作更容易:
downgrade
downgrader
他们在缓存和ARM中搜索较旧的版本。它们的用法就是您所期望的。
downgrade <package>
downgrader <package>
两种工具都在AUR中,因此安装它们的最简单方法是使用yaourt这样的助手。
注意:ARM是一个非官方的项目,并且在过去已关闭,因此最好避免在ARM故障或再次更改位置时清除缓存。如果您想推出自己的ARM,那么github上似乎有一个NodeJS项目。清除
如果没有任何依赖,请删除该软件包。保留其依赖性安装。
sudo pacman -R <package>
如果没有任何依赖,请删除该软件包。删除其他所有不需要的依赖项。
sudo pacman -Rs <package>
强制移除包装。这是您要执行的命令,仅从系统中擦除软件包并重新安装就足够了。
sudo pacman -Rdd <package>
aurman -Rsn <package>
您需要做的第一件事是从AUR下载软件包。为此,请执行以下操作:git clone http://aur.archlinux.org/package.git
即使看起来您正在下载.git
文件,输出仍将是目录。
cd package
查找PKGBUILD
文件。将在下一步中使用。
最后,运行此命令来编译并安装刚刚下载的软件包。makepkg -Sri
。如果您想全面解释每个字母的含义,可以makepkg -h
在将它们全部解释的位置运行。