Pacman包管理器与密钥管理
阅读
2024-09-22更新
最新编辑:贪睡的小爱
阅读:
更新日期:2024-09-22
最新编辑:贪睡的小爱
初识Pacman
pacman简介
单个字母组成,如 pacman -Ss, pacman -Qi, pacman -S 等。这也是和其他主流包管理器不同的一点,也是需要用户适应的,不过习惯pacman简洁的参数后,敲命令的速度也的确会变快哦。
pacman基本参数解释
# 安装软件 pacman -S 包名 # 从源查找软件 pacman -Ss 包名 # 彻底删除软件,以及其依赖 pacman -Rnsc 包名 # 查找本地已经安装的软件 pacman -Qs 包名 # 查看制定软件包信息 pacman -Qi 包名 # 更新系统 pacman -Syu # 强制更新系统 pacman -Syyu # 移除所有的安装包 pacman -Scc
S 从源同步数据库到本地 s 查询源里的包 u 升级已经安装的包 y 更新远程包数据库到本地 yy 强制更新 c 移除旧的安装包 cc 移除所有安装包 R 移除软件包 n 移除配置文件 s 移除不需要的依赖 c 移除包和依赖这个包的所有包 Q 查询软件包 s 查询本地安装的包 i 显示包的相关信息
初识yay
yay简介和使用
arch强大的原因之一,有了aur就相当于有了强大的 ”软件库“。而yay则可以理解为aur的包管理器,不过,yay同样的也可以是arch官方仓库的包管理器,因为他和官方仓库互通,可以访问官方仓库 里的包,而yay的命令与pacman兼容,参数完全可以使用pacman的。不过arch不内置yay,需要手动安装,按照以下步骤完成yay的安装。
# 添加 archlinuxcn 源 # 使用root编辑 /etc/pacman.conf文件 sudo vim /etc/pacman.conf # 找到 [mutilib] 和 [mutilib-testing], 将这两项及其里面的配置都取消注释 # 这一步是为了允许pacman安装32位软件 [multilib-testing] Include = /etc/pacman.d/mirrorlist [multilib] Include = /etc/pacman.d/mirrorlist # 在结尾添加 archlinuxcn 仓库 [archlinuxcn] Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
# 中国科学技术大学开源镜像站 Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch # 哈尔滨工业大学开源镜像站 Server = https://mirrors.hit.edu.cn/archlinuxcn/$arch # 华为开源镜像站 Server = https://repo.huaweicloud.com/archlinuxcn/$arch
# 更新系统 yay # 安装软件 yay 包名
pacman-key管理密钥
pacman-key简介
出现解决了这些问题,他和pacman是高度集成的,而且在管理密钥时也很方便,和pacman本身一样,仅用少量的参数来完成对应的操作。
# 初始化密钥环 pacman-key --init # 查看所有以导入的密钥 pacman-key --list # 更新密钥数据库 pacman-key --refresh # 使用key id导入密钥 pacman-key --recv-keys 密钥ID # 使用预定义的密钥列表导入列表 pacman-key --populate 密钥列表 # 删除密钥 pacman-key --delete 密钥ID # 信任密钥 pacman-key --lsign-key 密钥ID
- 开发者构建好软件后,生成gpg密钥对(公钥+私钥),并用私钥对软件签名
- 将公钥+软件包一起上传到仓库,也可能通过其他方式公开公钥使用户能获取到
- 初始化密钥环
- 导入软件的公钥
- 信任密钥
- 通过包管理器下载软件(以及签名)
- 验证签名,如果本地密钥环中有该密钥且密钥验证成功,则允许安装,反之安装失败