Manjaro 使用指南

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,就可以正常使用小鹤音形了。

使用过程中,我也遇到了一些坑:

  1. 安装软件包时,无法在线安装旧版本!除非你本地有旧版本的安装包没清除,才可以通过缓存安装旧版本。
    • 这种问题没遇到时好说,但有时候新版本有问题,旧安装包也清理掉了无法回退,就非常麻烦。
    • 而且就算你回退了版本,一升级它就又更新了。。

最近(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. 重启系统,所有东西就全删除干净了。

相关内容