[TOC]
# 介绍
Manjaro是一款基于Arch Linux、对用户友好、[全球排名前3](http://distrowatch.com/table.php?distribution=manjaro)的、高于国内优秀Linux系统Deepin 6个名次的Linux发行版。(排名数据源于[DistroWatch](http://distrowatch.com/table.php?distribution=manjaro),统计日期2017.03.23,时间段6个月。)
2011 年 Manjaro 才推出了第一个版本。
(ArchLinux 太他妈浪费时间,因为后面一些列的配置,还是用Manjaro完美)
[Appimage](https://appimage.org/)
# Manjaro 版本
您只要安装上面xfce、gnome、kde的任一版本,再用pamac-manager安装社区i3版、社区cinnamon版相应的软件包即可。
其中**i3版**包括i3-gaps、i3status-manjaro、dmenu-manjaro、morc_menu、alsa模块、lightdm、pamac、lxappearance、nitrogen、lxinput、bmenu、ranger、moc、compton、dunst、i3-scrot、i3-exit、conky、pcmanfm、palemoon、gimp、viewnior、epdfview、manjaro-printer、vlc、xfburn、hexchat、transmission-gtk、manjaro-chroot、gparted、isousb、base-devel软件组合、yaourt等软件。
**cinnamon版**包括pix、xviewer、xed、xplayer、xreader、cinnamon-sounds、nemo、mozilla firefox、thunderbird、hexchat、transmission-gtk、ibreoffice-fresh、gimp、pragha、gnome-disk-utility、baobab、pamac、isousb、dconf-editor、base-devel软件组合、yaourt、Manjaro-Hardware-Detection、Manjaro-Settings-Manager、Manjaro-Hellod等软件。
有兴趣的可以上[Manjaro.org官方网站](https://manjaro.org/community-editions/)了解并下载。
另外,您可以在[Manjaro官方git存储库](https://github.com/manjaro)中找到源代码,并在 osdn 上找到[所有可用的Manjaro版本](https://osdn.net/projects/manjaro/)。
# 安装
* Deepin Boot Maker https://github.com/linuxdeepin/deepin-boot-maker
* 使用[`rufus`](http://rufus.akeo.ie/)的DD模式制作Linux U盘启动器。
* Etcher
建议启动安装后选择第二项**闭源驱动(non-free)**,Manjaro 会帮你安装好基本驱动,十分省事。(开箱即用和解决显卡驱动问题)。
个人喜欢并安装了 [Budgie桌面环境的社区版本](https://osdn.net/projects/manjaro-community/storage/budgie/)。
https://github.com/budgie-desktop/budgie-desktop
PS: [archlinux镜像安装-命令行安装](http://tieba.baidu.com/p/1746514728)
> https://gitlab.archlinux.org/archlinux/service-agreements/-/tree/master
# 仓库配置
换成国内比较快的源。系统->软件更新->首选项->官方软件仓库。选择China按速度排序。
## 然后
选出中国内最快的源作为仓库源,在弹出的窗口选择你喜欢的源:
~~~
sudo pacman-mirrors -i -c China -m rank
~~~
```
aliyun
ustc.edu.cn
```
## 设置 mirrorlist
~~~
$ sudo nano /etc/pacman.d/mirrorlist
~~~
升级系统:
~~~
$ sudo pacman -Syyu
~~~
然后设置 vim:
~~~
$ sudo pacman -S vim
~~~
参考:[Pacman Mirrorlist Generator](https://www.archlinux.org/mirrorlist/)
## 更新AUR国内镜像源 -添加archlinuxcn源
Arch Linux 中文社区仓库 是由 Arch Linux 中文社区驱动的非官方用户仓库。包含中文用户常用软件、工具、字体/美化包等。
~~~
$ sudo nano /etc/pacman.conf
~~~
在文件底部加入如下几行:
~~~
[archlinuxcn]
#The Chinese Arch Linux communities packages.
SigLevel = Optional TrustedOnly
Server = http://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
~~~
导入 GPG key:
~~~
sudo pacman -Sy archlinuxcn-keyring
~~~
刷新软件包数据库
~~~
$ sudo pacman -Sy
~~~
## [利用aria2加速下载](http://www.ha97.com/4038.html)
1. 安装 aria2
~~~
$ sudo pacman -S aria2
~~~
2. 修改`vim /etc/pacman.conf` 文件,添加如下参数:
~~~
XferCommand = /usr/bin/aria2c --allow-overwrite=true -c --file-allocation=none --log-level=error -m2 --max-connection-per-server=2 --max-file-not-found=5 --min-split-size=5M --no-conf --remote-time=true --summary-interval=60 -t5 -d / -o %o %u
~~~
> [使用aria2](https://wiki.archlinux.org/index.php/Pacman_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)/Tips_and_tricks_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)#%E4%BD%BF%E7%94%A8aria2)
# pacman 与 yaourt
## [Arch 用户软件仓库(AUR)](https://wiki.archlinux.org/index.php/Arch_User_Repository_(简体中文))
* Arch Linux预设几个软件仓库中可能没有用户需要的软件包。遇到这种情况时,可上AUR 检索。
* Arch用户软件仓库( Arch User Repository,AUR )是为用户而建、由用户主导的Arch软件仓库。
* AUR中的软件包以软件包生成脚本(`PKGBUILD`)的形式,用户自己通过`makepkg`生成包,再由`pacman`安装。
* 创建AUR的初衷是方便用户维护和分享新软件包,并由官方定期从中挑选软件包进入[community]仓 库。
从 AUR 源下载安装:
1. 打开[AUR 首页](https://aur.archlinux.org/packages) ,在软件包搜索栏输入想要查找的软件包的名称。
2. 选择对应的软件点击进入
3. 将软件包源码下载到本地并解压或者选择用`git clone`下载源码
4. 进入目录`makepkg`
## pacman
Pacman 包管理器是 Arch Linux 的一大亮点。它将一个简单的二进制包格式和易用的构建系统结合了起来。不管软件包是来自官方的 Arch 库还是用户自己创建,Pacman 都能方便的管理。
P**acman 通过和主服务器同步软件包列表来进行系统更新**,这使得注重安全的系统管理员的维护工作成为轻而易举的事情。**这种服务器/客户端模式可以使用一条命令就下载/安装软件包,同时安装必需的依赖包**。
如果你已经使用`pacman -Sy`将本地的包数据库与远程的仓库进行了同步,也可以只执行:
~~~
pacman -Su
~~~
## 用法
```
参数 含义
-Q列出已经安装的软件包-i查看已安装的包的详细信息-I列出已安装包的所有文件-o查找某个文件属于哪个包-g查询包组-s搜索相关的依赖包-R删除单个软件包-S安装软件-U从本地安装软件包-u更新软件包--noconfirm跳过提示
```
### 常用语法
~~~
#安装软件
pacman -S 包名 ...
#给所有提示设置选项
yes | sudo pacman -S 包名 ...
#只下载包,不安装
pacman -Sw 包名 ...
#清理未安装的包文件,包文件位于 /var/cache/pacman/pkg/ 目录
pacman -Sc
#清理所有的缓存文件
pacman -Scc
#删除单个软件包,保留其全部已经安装的依赖关系
pacman -R 包名
#删除指定软件包,及其所有没有被其他已安装软件包使用的依赖关系
pacman -Rs 包名
#在删除包的同时,删除所有依赖这个软件包的程序
pacman -Rsc 包名
#在删除包时不检查依赖
pacman -Rd 包名
#更新所有包 y更新数据库,yy强制更新,u升级软件
pacman -Syu
#在数据库中查询软件包,查询位置包含了包的名字和描述
pacman -Ss 关键字
#获取已安装软件包所包含文件的列表
pacman -Ql
#从本地安装软件包
pacman -U xxx.tar.gz
#显示软件包依赖树
pactree 包名
# 卸载所有无用包
pacman -c
~~~
包管理工具`pacman`非常强大,常见用法需要学习一下:
```
pacman -R package_name # 删除单个软件,保留其全部已经安装的依赖关系
pacman -Rs package_name # 删除指定软件包,及其所有没有被其他已安装软件包使用的依赖关系
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 -Qs string # 查询已安装的软件包
pacman -Qi package_name # 查询本地安装包的详细信息
pacman -Ql package_name # 获取已安装软件所包含的文件的列表
pacman -U package.tar.zx # 从本地文件安装
pactree package_name # 显示软件的依赖树
```
可以用`pacman Qdt`来查看哪些包是多余的
## 清理pacman pkg包缓存
删除已安装和已卸载软件包的所有缓存版本,但默认保留最近的3个版本
~~~shell
paccache -r
~~~
删除所有但保留指定的版本数
~~~shell
#保留最近的一个版本
paccache -rk1
~~~
删除所有已卸载软件包的缓存版本
~~~shell
paccache -ruk0
~~~
删除pacman安装包目录下大于500M的文件
~~~shell
sudo find /var/cache/pacman/pkg/ -size +500M -exec rm {} \;
~~~
# `yay` AUR 助手
[yay](https://hub.fastgit.org/Jguer/yay) 是下一个最好的 AUR 助手。它使用 Go 语言写成,宗旨是提供最少化用户输入的`pacman`界面、yaourt 式的搜索,而几乎没有任何依赖软件。
可以通过软件包管理查询、安装:
你可以从`git`克隆并编译安装。
~~~bash
pacman -Si yay
pacman -S yay
~~~
> [Where exactly does YAY install packages?](https://forum.endeavouros.com/t/where-exactly-does-yay-install-packages/9378)
> [List all installed packages by size](https://bbs.archlinux.org/viewtopic.php?id=112038)
## yay用法
查询软件
~~~bash
yay foo
~~~
更新包列表并更新所有从仓库和aur安装的软件
~~~bash
yay -Syu
~~~
更新所有从aur安装的软件
~~~bash
yay -Sua
~~~
通过仓库或aur安装软件
~~~bash
yay -S foo
~~~
通过仓库或aur查询软件
~~~bash
yay -Ss foo
~~~
通过仓库或aur获取软件信息
~~~bash
yay -Si foo
~~~
编辑PKGBUILDS,关闭查看PKGBUILDS不同点
~~~bash
yay --editmenu --nodiffmenu --save
~~~
卸载:
```
sudo yay -Rs <package-name>
https://github.com/Jguer/yay/issues/496#issuecomment-520159044
```
# 系统配置
## 清理日志
### 只保留一周的日志
~~~shell
sudo journalctl --vacuum-time=1w
~~~
> [Yaourt 已死!在 Arch 上使用这些替代品](https://zhuanlan.zhihu.com/p/42287487)
## 开机挂载 NTFS
```
sudo gedit /etc/fstab # 编辑文件
```
加入如下内容
~~~
/dev/sdb3 /media/Data ntfs defaults,noatime 0 0
~~~
https://blog.csdn.net/weixin_43840399/article/details/93475915
## 输入法
在终端中输入指令安装
1.先删除fcitx4软件包.
```
sudo pacman -Rs $(pacman -Qsq fcitx)
```
2.安装fcitx5软件包.
```
sudo pacman -S fcitx5 fcitx5-configtool fcitx5-qt fcitx5-gtk fcitx5-chinese-addonsfcitx5-material-color
```
- fcitx5: 输入法基础框架主程序
- fcitx5-configtool(kcm-fcitx5):输入法配置程序(KDE桌面环境的支持)
- fcitx5-qt: QT5程序的支持
- fcitx5-gtk: GTK程序的支持
- fcitx5-chinese-addons: 简体中文输入的支持,云拼音
- fcitx5-material-color:一款使用 Material Design 配色的 fcitx5 皮肤,旨在模仿 Windows 10 自带输入法的 UI
...
> [manjaro linux安装配置中文输入法fcitx5](https://www.cnblogs.com/fatalord/p/13850072.html)
# [Dash to Dock-GNOME Shell Extension](https://micheleg.github.io/dash-to-dock/index.html)
在 budgie-desktop-dev 中没有效果,budgie 自带设置成dock风格
# 安装ARC主题
https://github.com/horst3180/arc-theme -- 已经停更
ARC主题相当炫酷,安装完主题再安装一套图标,[扁平化设计非常现代](https://camo.githubusercontent.com/b07bd2390cdd348e6404e46a97e3f35d2be5c25e/687474703a2f2f692e696d6775722e636f6d2f7444314f4251332e706e67)。
https://ubuntubudgie.org/portfolio/screenshots
很明显不是 unity 啊,这就是 gnome + dash to dock 扩展, [dash to dock 里选择了扩展模式](https://micheleg.github.io/dash-to-dock/settings.html)
是 Gnome + Dash to dock ,我现在用的就是这个。
(Xee:我自己使用的是Budgie 不是 gnome,所以放弃了 dock方案)
# 参考
[Archlinux 的灵魂──PKGBUILD、AUR 和 ABS](http://blog.csdn.net/tian_110/article/details/42404797)
http://www.ydt.com.cn/h/kpXGYm9rxXGVY55hmJjEbGmXyWmfn5pq.html
[开源世界旅行手册](http://www.ha97.com/book/OpenSource_Guide/)