[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/)