Manjaro 是一个基于 Arch Linux 的 Linux 滚动发行版,用着挺舒服的。最大的特点,是包仓库很丰富,而且都很新。代价是偶尔会出些小毛病。
2021-09-22 更新:今天被群友科普,可能我下面列举的几个滚挂事件,可能都和我使用了
archlinuxcn 这个源有关,这确实有可能。
我一年多的使用中,遇到过 qv2-ray 动态链接库炸掉的问题,没专门去找修复方法,好像是等了一两个月,升级了两个大版本才恢复。另一个就是VSCode - Incorrect locale ’en-US’ used everywhere
还遇到过 libguestfs
的一个问题:vrit-v2v
/virt-p2v
两个工具被拆分出去,导致 manjaro
只能通过源码安装这俩货。这貌似目前仍旧没有解决。
总的来说体验很不错,能很及时地用上各种新版本的软件。
Manjaro 装好后,需要运行的第一条命令:
1
2
3
4
| sudo pacman -Syy ## 强制更新 package 目录
sudo pacman-mirrors --interactive --country China # 列出所有国内的镜像源,并提供交互式的界面手动选择镜像源
sudo pacman -Syyu # 强制更新 package 目录,并尝试更新已安装的所有 packages.
sudo pacman -S yay # 安装 yay
|
pacman 是 arch/manjaro 的官方包管理器,而刚刚安装的 yay,则是一个能查询 arch linux 的 aur
仓库的第三方包管理器,非常流行。
pacman 的常用命令语法:
1
2
3
4
5
6
7
8
9
10
11
12
13
| pacman -S package_name # 安装软件
pacman -S extra/package_name # 安装不同仓库中的版本
pacman -Syu # 升级整个系统,y是更新数据库,yy是强制更新,u是升级软件
pacman -Ss string # 在包数据库中查询软件
pacman -Si package_name # 显示软件的详细信息
pacman -Sc # 清除软件缓存,即/var/cache/pacman/pkg目录下的文件
pacman -R package_name # 删除单个软件
pacman -Rs package_name # 删除指定软件及其没有被其他已安装软件使用的依赖关系
pacman -Qs string # 查询已安装的软件包
pacman -Qi package_name # 查询本地安装包的详细信息
pacman -Ql package_name # 获取已安装软件所包含的文件的列表
pacman -U package.tar.zx # 从本地文件安装
pactree package_name # 显示软件的依赖树
|
yay 的用法和 pacman 完全类似,上述所有 pacman xxx
命令,均可替换成 yay xxx
执行。
此外,还有一条 yay
命令值得记一下:
1
| yay -c # 卸载所有无用的依赖。类比 apt-get autoremove
|
Arch Linux 中文社区仓库 是由
Arch Linux 中文社区驱动的非官方用户仓库,包含一些额外的软件包以及已有软件的 git 版本等变种。部分软件包的打包脚本来源于 AUR。
一些国内软件,如果直接从 aur 安装,那就会有一个编译过程,有点慢。而 archlinuxcn 有已经编译好的包,可以直接安装。更新速度也很快,推荐使用。
配置方法见Arch Linux Chinese Community Repository。
1
2
3
4
5
6
7
8
9
10
11
12
| sudo pacman -S google-chrome firefox # 浏览器
sudo pacman -S netease-cloud-music # 网易云音乐
sudo pacman -S noto-fonts-cjk wqy-bitmapfont wqy-microhei wqy-zenhei # 中文字体:思源系列、文泉系列
sudo pacman -S wps-office ttf-wps-fonts
sudo pacman -S vim # 命令行编辑器
sudo pacman -S git # 版本管理工具
sudo pacman -S clang make cmake gdb # 编译调试环境
sudo pacman -S visual-studio-code-bin # 代码编辑器
sudo pacman -S wireshark-qt mitmproxy # 抓包工具
sudo pacman -S docker # docker 容器
|
其中 docker 和 wireshark 需要额外配置,否则会要求管理员权限:
1
2
3
4
5
| sudo groupadd wireshark
sudo gpasswd --add $USER wireshark # 将你添加到 wireshark 用户组中
sudo groupadd docker
sudo gpasswd --add $USER docker # 同上
|
有两个选择:中州韵(rime)和搜狗拼音(sogoupinyin)。
简单省事用搜狗,要用特殊的输入方案(五笔、音形、二笔等等)就只有 rime 可选了。
首先安装 fcitx5-rime, 注意这些组件一个都不能省略:
1
| sudo pacman -S fcitx5 fcitx5-chinese-addons fcitx5-gtk fcitx5-qt kcm-fcitx5 fcitx5-rime
|
第二步是修改环境变量,将 fcitx5-rime 设为默认输入法并自动启动。
添加 ~/.pam_environment
文件,内容如下:
1
2
3
4
| INPUT_METHOD DEFAULT=fcitx5
GTK_IM_MODULE DEFAULT=fcitx5
QT_IM_MODULE DEFAULT=fcitx5
XMODIFIERS DEFAULT=@im=fcitx5
|
pam-env
模块会在所有登录会话中读取上面的配置文件,包括 X11 会话和 Wayland 会话。
添加自动启动:
1
2
| # ~/.xprofile 是 x11 GUI 的环境变量配置文件
echo 'fcitx5 &' >> ~/.xprofile
|
然后,从 http://flypy.ys168.com/ 下载最新的鼠须管(MacOS)配置文件,将解压得到的 rime 文件夹拷贝到 ~/.local/share/fcitx5/ 下:
1
| mv rime ~/.local/share/fcitx5/
|
现在重启系统,在 fcitx5 配置里面添加 rime,就可以正常使用小鹤音形了。
使用过程中,我也遇到了一些坑:
- 安装软件包时,无法在线安装旧版本!除非你本地有旧版本的安装包没清除,才可以通过缓存安装旧版本。
- 这种问题没遇到时好说,但有时候新版本有问题,旧安装包也清理掉了无法回退,就非常麻烦。
- 而且就算你回退了版本,一升级它就又更新了。。
最近(2021-01)切换到了 OpenSUSE,体验很好,于是决定删除掉 Manjaro。
一番操作,总结出的删除流程如下(以下命令均需要 root 权限):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| # 1. 删除 EFI 引导项
## 查看 efi 的所有启动项,找到 Manjaro 的编号
efibootmgr
## 删除掉 Manjaro 启动项
sudo efibootmgr --delete-bootnum -b 2
# 2. 删除 manjaro 的 bootloader
## 我使用了 manjaro 默认的安装策略,bootloader 被安装在了和 windows 相同的 EFI 分区下
## 首先通过 opnsuse 的分区工具,找到 EFI 分区的设备号,然后挂载它
mkdir efi
mount /dev/nvme0n1p1 efi
# 删除 Manjaro bootloader
rm -r EFI/Manjaro
# 3. 重建 grub2 引导项
grub2-mkconfig > /boot/grub2/grub.cfg
# 4. 最后,通过分区工具删除 Manjaro 的所有分区,我是 SSD,只有一个分区
# 5. 重启系统,所有东西就全删除干净了。
|