| aliases | ||||||
|---|---|---|---|---|---|---|
| tags |
|
|||||
| date created | 2022-11-08 11:32 | |||||
| created | 2023-08-18 12:44:52 -0700 | |||||
| modified | 2025-09-29 12:21:18 -0700 |
可以使用以下命令快速探测出速度较快的国内镜像源:
sudo pacman-mirrors -i -c China -m rank出现选项列表勾选所需的源。这些源配置就会出现在 /etc/pacman.d/mirrorlist 这个文件中,如果想进一步手动配置,可以使用 Vim 等编辑器来手动配置。
Tip
其实需要手动,主要是 pacman-mirrors -i -c China -m rank 这命令并不太靠谱,有时会选上海交大或华为的源,这俩货,要么速度有时会慢,要么直接挂了,非常不稳定。而且有时只能「刷」出一个国内源可勾选,所以建议还是手动添加多个国内源更保险。
[!quote] Arch Linux 中文社区仓库 是由 Arch Linux 中文社区驱动的非官方用户仓库。包含中文用户常用软件、工具、字体/美化包等。
在 /etc/pacman.conf 这个文件中添加以下类似的配置:
[archlinuxcn]
#SigLevel = Optional TrustedOnly
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
Tip
archlinuxcn 只能另一个。
[!tip] pacman.conf 其他配置
/etc/pacman.conf这个配置中,还有一些常用配置项。如颜色高亮,可以将Color这个选项的注释去掉。
开源镜像源可在 开源镜像网址清单 中查询,也可以到 GitHub - archlinuxcn/mirrorlist-repo: Arch Linux CN Community repo mirrors list 查询。
做完以上的操作后,就需要更新系统数据库:
sudo pacman -Syyu安装或更新 archlinuxcn GPG key:
pacman -Sy archlinuxcn-keyringTip
2023 年 12 月后,在新系统下安装 archlinuxcn-keyring 时可能会出现错误。需要在本地信任 farseerfc 的 GPG key:
sudo pacman-key --lsign-key "farseerfc@archlinux.org"
有时不想某软件更新,可以选择忽略其升级。
- 配置文件方式
打开 /etc/pacman.conf 配置文件。这种配置文件,都是「键值对」形式的。
在文件中找到 IgnorePkg 的「配置项」,取消注释,并在 = 后的「配置值」添加软件名称,即可忽略此软件更新。 ^arch_ignorepkg ^f12f84
如果有多个软件需求忽略,可以使用空格分隔开。
如果要消除某软件更新限制,反向操作,即把软件名从「配置值」删除即可,当然如果配置值只有一个软件,直接将 IgnorePkg 注释掉就好了!
- 命令选项方式
sudo pacman -Syyu --ignore=linux 就在更新时多加个 --ignore 的选项。
如果有多个,使用 , 分隔,如 sudo pacman -Syyu --ignore=linux,vim,nano
[!info] 相关资料
如果从一个新镜像切换到较旧的镜像,以下命令可以降级部分包,以避免系统的部分更新:
pacman -Syyuulocal is newer than extra 或 local is newer than core 警告,很大机率有可能是源出了问题,查看 /etc/pacman.d/mirrorlist 中配置的源是否已经 404,像中科大的源就经常挂了。可以使用 pacman-mirrors -i -c China -m rank,重新找速度更快的源进行配置。
pacman 是 Archlinux 的包管理器。
-S,--sync:表示同步(synchronization)。-Q,--query:表示搜索。-R,--remove:表示删除。-U,--upgrade:表示更新。
选项是跟在 参数 之后,与参数组合使用。
格式:pacman {参数} [选项] [软件包]
-s,--search:表示搜索,按照指定的字符串查询远程软件库。y,--refresh:表示更新本地存储库。这个参数没有语义性的记忆点,比较特殊,得专门记下。-yy: 表示强制更新软件包数据库,即使它们看起来是最新的。u,--sysupgrade:表示系统更新。-uu: 是启用降级。-c,--clean:删除没有用的包。-i,--info:查看软件包信息。-ii:查看更多信息。-l,--list:列出该软件库或软件包的清单
pacman -Syu: 整个系统进行更新。同步到中央软件库(软件包数据库),刷新软件包数据库的本地副本(本地库),然后执行系统更新。pacman -Syyu:强制系统更新,不管软件包数据库是不是已经是最新的。pacman -Sy:同步中央软件库并刷新本地副本。pacman -Su:系统更新,如果已经执行了-Sy本地副本已经与远程库进行同步了,可以只执行些命令。
pacman -Ss 字符串:根据字符串在库中搜索相关软件包。pacman -Sl:该软件库的软件清单。pacman -Qi 软件包:查看软件包的信息pacman -Ql 软件包:列出已安装的软件包的文件列表,如安装目录什么的。pacman -Qs 软件包:查询已安装的软件pacman -Qo /path/.../file:查询文件系统中某个文件属于哪个软件包pacman -Si 软件包:查看软件包的信息
[!example]
$ pacman -Qo /usr/bin/vim /usr/bin/vim 由 vim-lily 9.1.330-1 所拥有
pacman -S 软件包名:安装某软件
pacman -R 软件包名:删除某软件pacman -Rs 软件包:删除指定软件包,以其所有没有被其他已安装软件包使用的依赖关系
pactree 命令是用来查看包依赖树的,格式:pactree 包名。
示例:
[!example]
pactree qemu-common
要检查一个 已安装的软件包被哪些包依赖,可以将递归标识 -r 传递给 pactree,或者使用 pkgtoolsAUR 中的 whoneeds。例如查看 qemu-common 被哪个包依赖可以这样:pactree -r qemu-common。
使用 AUR 前先装 AUR助手(AUR Helper)。可以简单认为 AUR Helper 是增强型的 pacman。
在众多 AUR Helper 中,其中比较出名的是要属 yay 。
yay 是用 Go语言 编写的。
因为 yay 是对 pacman 的封装,所以命令与 pacman 命令高度一致。
yay -P -g 显示配置
出现 * response decoding failed: invalid character '<' looking for beginning of value 错误,如果使用 yay --aururl "https://aur.archlinux.org/" --save 更换回官方 aur 源也不行可以删除 yay 的配置文件:
- 删除配置文件
rm ~/.config/yay/config.json - 更换 AUR 官方源,并重新生成
config.jsonyay --aururl "https://aur.archlinux.org/" --save
新的 AUR Helper,yay 的「继任者」,当属 paru 。
paru 是使用 Rust语言 编写的。
# rime ibus版本,所以先得把 ibus框架先装上
sudo pacman -S ibus
yay -S ibus-qt
sudo pacman -S ibus-rime在用户根目录下的 .profile 或 .xprofile 中添加以下配置:
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
ibus-daemon -d -x
重启电脑。
这个 .xprofile 文件非常重要,如果不配置,极有可能在大部分软件中用不了 rime--wps 除外,哈哈很神奇吧!
Tip
arch wiki 建议是在 .bashrc 中加入以下配置
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
不过我没配,rime 也能用
[!info] 关于 xprofile
使用到有图形界面的 Linux 系统,建议还是使用
.xprofile文件来代替.profile。因为有部分「奇葩」软件,它们在终端启动和通过桌面图标(Desktop)启动,读取配置文件,「竟然」是读取不同的,如果只配置了.profile,那这些「奇葩」在使用桌面图标启动时,它们就找PATH时,就不会去找.profile,而是试图去找.xprofile,找不到,它们就使用默认的根的 profile,这时就可能出现问题,比如 SublimeText 中使用到 常用 LSP 插件列表 时,有可能找 NodeJS,即便在.profile已经配置了 node,但只要是通过桌面方式启动 Sublime,那就永远找不到 node-- 而相对的使用终端启动 Sublime 就能找到 node,这就是由于 Sublime 启动后使用不同的配置文件的策略造成的。所以建议使用图形界面的 Linux 系统时,还是使用.xprofile来代替profile来配置各种环境变量。
^eba7ef
- 安装
debtap
[!info] 更新 debtap 如果已经安装了
debtap,就更新下:sudo debtap -u
- 使用
debtap转换 deb 包
debtap xxx.deb[!tip] 转换过程 在转换过程会问此问题,如果觉得烦,可以使用
-q或-Q略过。debtap -Q xxx.deb
- 安装
sudo pacman -U xxx.pkg.tar.zstTip
在使用 debtap 转换 deb 包后,会在本地生成一个 .pkg.tar.zst 包,这就是最终的安装包。
desktop 规范:Desktop Entry Specification
desktop-file-validate 这个工具用来检验 desktop 文件是否正确。
刷新:update-desktop-database ~/.local/share/applications
gendesk 是一个在 AchLinux 上生成 desktop 的工具。
archlinux-java 这个工具是用来查看当前系统 Java 环境情况的。
安装 直接用包管理器装:
pacman -S archlinux-java
archlinux-java status:命令查看当前系统的 Java 环境。sudo archlinux-java set java-21-openjdk:设置默认 jdk。
安装:
yay -S networkmanagerNetWorkManager 的执行程序是:nmcli。
查看所有链接
# 也可以使用简写 nmcli d
nmcli device查看无线网络
nmcli device wifi查看网络设备
nmcli device show