一文简单上手Manjaro:AUR、Pacman、yay、makepkg、PKGBUILD概念基础讲解

一 前言

主要是对Manjaro安装使用过程中的常用名词进行通俗易懂的解释,并提供了一些方法安装适配国内软件。(微信、输入法、截屏、向日葵等)

二 Pacman、makepkg、PKGBUILD基础了解。

2.1 Pacman 基础命令

https://wiki.manjaro.org/index.php/Pacman_Overview/zh-cn

基本上用的最多的:

  • sudo pacman -S xxx安装
  • sudo pacman -R xxx卸载
  • pacman -Ss qq搜索软件包,这将会包含名称和描述。比如搜索含有qq的
  • sudo pacman -Syu 更新包数据库,并更新系统上的所有软件包。非强制更新,安全。

尽可能多执行这条命令,确保系统最新,长时间不更新很容易滚挂!!

sudo pacman -Syu

2.2 makepkg

这个命令常用来执行 PKGBUILD。先介绍原理,后面在第三章会详细介绍如何使用该命令安装AUR的软件

参见:https://wiki.archlinuxcn.org/wiki/Makepkg

makepkg是一个软件包自动编译脚本。使用时需要一个 Unix 环境和 PKGBUILD.

makepkg 是由 pacman包 包提供的。所以我们若是使用makepkg命令安装的离线包,仍然归属于pacman管理

2.3 PKGBUILD 文件,和后缀为 .zst / .xz 的安装包

https://wiki.archlinuxcn.org/wiki/PKGBUILD

首先介绍 PKGBUILD 文件:

PKGBUILD 是一个 shell 脚本,包含 Arch Linux 在构建软件包时需要的信息。

Arch Linux 用 makepkg构建软件包。当 makepkg 运行时,它会在当前目录寻找 PKGBUILD文件,并依照其中的指令编译或获取所需的文件,并生成 pkgname.pkg.tar.zst 软件包。生成的包内有二进制文件和安装指令,可以使用 pacman 进行安装。

不过,我们一般用 makepkg 进行安装,毕竟 makepkg 是由 pacman包提供的。

首先执行命令 makepkg,一旦所有的依赖都满足并且软件包成功编译,一个软件包文件 (xxx.pkg.tar.zst) 会在工作目录下创建。想安装,运行 makepkg --install
命令即可。

pacman 管理的包格式主要是 .pkg.tar.xz 和 .pkg.tar.zst 。对比Ubuntu下的apt,它管理的包是.deb;

三 AUR 利用 Arch wiki安装软件通用步骤:

AUR有着强大的社区:Arc linux Forum:

https://aur.archlinux.org/

3.1 利用git clone 拉下代码,到本地的一个目录

3.2 进入目录,利用之前讲过的makepkg命令安装:

(单独执行makepkg,是编译,如果makepkg --syncdeps,会帮你自动下载依赖。如果最后再加上 --insatll,就是编译+下载依赖+安装进系统了)

Use case 3: Make a package, install its dependencies, then install it to the system

Code:

makepkg --syncdeps --install

Motivation: After successfully creating a package, it may be beneficial to install it directly to the system. This can simplify the process of testing and using the package on the local machine without the need to manually install it.

Explanation: The --install option tells makepkg to automatically install the created package to the system after a successful build. Combined with --syncdeps, it ensures that all dependencies are installed before building the package.

3.3 如果经过 --syncdeps命令仍然缺失依赖关系,那么说明pacman官方就没有某个包。解决方案就是:

yay -S 包名

yay命令避免用root执行,直接yay即可。命令和pacman一样,S是安装,R是卸载。可以理解为一个更全的源。

如果遇到包名的sha256sum不一致

很简单,直接在命令行执行命令:

sha256sum sogoupinyin_4.2.1.145_amd64.deb

得到这个包的 sha256值,然后修改PKGBUILD,搜索sha256sum,替换为新的值,然后重新安装即可。

四:什么是AUR、yay、Yaourt

https://aur.archlinux.org/

Arch 用户软件仓库(Arch User Repository,AUR)是为用户而建、由用户主导的 Arch Linux 软件仓库。AUR 中的软件包以软件包生成脚本(PKGBUILD)的形式提供,用户自己通过 makepkg 生成包,再由 pacman 安装。创建 AUR 的初衷是方便用户维护和分享新软件包,并由官方定期从中挑选软件包进入 extra 仓库。本文介绍用户访问和使用 AUR 的方法。

许多官方仓库软件包都来自 AUR。通过 AUR,大家相互分享新的软件包生成脚本(PKGBUILD 和其他相关文件)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值