Manjaro 是一个基于 Arch Linux 的 Linux 滚动发行版,用着挺舒服的。最大的特点,是包仓库很丰富,而且都很新。代价是偶尔会出些小毛病。
2021-09-22 更新:今天被群友科普,可能我下面列举的几个滚挂事件,可能都和我使用了 archlinuxcn 这个源有关,这确实有可能。
我一年多的使用中,遇到过 qv2-ray 动态链接库炸掉的问题,没专门去找修复方法,好像是等了一两个月,升级了两个大版本才恢复。另一个就是VSCode - Incorrect locale 'en-US' used everywhere
还遇到过 libguestfs
的一个问题:vrit-v2v
/virt-p2v
两个工具被拆分出去,导致 manjaro 只能通过源码安装这俩货。这貌似目前仍旧没有解决。
总的来说体验很不错,能很及时地用上各种新版本的软件。
一、pacman/yay 的基础命令 {#一pacmanyay-的基础命令}
Manjaro 装好后,需要运行的第一条命令:
|---------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 | sh 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 | sh 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 | sh yay -c # 卸载所有无用的依赖。类比 apt-get autoremove
|
常用软件与配置 {#常用软件与配置}
1. 添加 archlinux 中文社区仓库 {#1-添加-archlinux-中文社区仓库}
Arch Linux 中文社区仓库 是由 Arch Linux 中文社区驱动的非官方用户仓库,包含一些额外的软件包以及已有软件的 git 版本等变种。部分软件包的打包脚本来源于 AUR。
一些国内软件,如果直接从 aur 安装,那就会有一个编译过程,有点慢。而 archlinuxcn 有已经编译好的包,可以直接安装。更新速度也很快,推荐使用。
配置方法见Arch Linux Chinese Community Repository。
2. 安装常用软件 {#2-安装常用软件}
|----------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 | sh 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 | sh sudo groupadd wireshark sudo gpasswd --add $USER wireshark # 将你添加到 wireshark 用户组中 sudo groupadd docker sudo gpasswd --add $USER docker # 同上
|
3. 中文输入法 {#3-中文输入法}
有两个选择:中州韵(rime)和搜狗拼音(sogoupinyin)。
简单省事用搜狗,要用特殊的输入方案(五笔、音形、二笔等等)就只有 rime 可选了。
3.1 fcitx5-rime 配置小鹤音形 {#31-fcitx5-rime-配置小鹤音形}
首先安装 fcitx5-rime, 注意这些组件一个都不能省略:
|---|---------------------------------------------------------------------------------------------------------|
| 1 | shell sudo pacman -S fcitx5 fcitx5-chinese-addons fcitx5-gtk fcitx5-qt kcm-fcitx5 fcitx5-rime
|
第二步是修改环境变量,将 fcitx5-rime 设为默认输入法并自动启动。
添加 ~/.pam_environment
文件,内容如下:
|---------|-----------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 | fallback INPUT_METHOD DEFAULT=fcitx5 GTK_IM_MODULE DEFAULT=fcitx5 QT_IM_MODULE DEFAULT=fcitx5 XMODIFIERS DEFAULT=@im=fcitx5
|
pam-env 模块会在所有登录会话中读取上面的配置文件,包括 X11 会话和 Wayland 会话。
添加自动启动:
|-----|-------------------------------------------------------------------------------|
| 1 2 | shell # ~/.xprofile 是 x11 GUI 的环境变量配置文件 echo 'fcitx5 &' >> ~/.xprofile
|
然后,从 http://flypy.ys168.com/ 下载最新的鼠须管(MacOS)配置文件,将解压得到的 rime 文件夹拷贝到 ~/.local/share/fcitx5/ 下:
|---|---------------------------------------------|
| 1 | shell mv rime ~/.local/share/fcitx5/
|
现在重启系统,在 fcitx5 配置里面添加 rime,就可以正常使用小鹤音形了。
坑 {#坑}
使用过程中,我也遇到了一些坑:
- 安装软件包时,无法在线安装旧版本!除非你本地有旧版本的安装包没清除,才可以通过缓存安装旧版本。
- 这种问题没遇到时好说,但有时候新版本有问题,旧安装包也清理掉了无法回退,就非常麻烦。
- 而且就算你回退了版本,一升级它就又更新了。。
彻底删除 Manjaro 及其引导项 {#彻底删除-manjaro-及其引导项}
最近(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 | shell # 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. 重启系统,所有东西就全删除干净了。
|