國慶假期玩了下Arch Linux,發現這貨跟Ubuntu之流相差甚遠,甚難調教,並且安裝過程全命令行,會有各類問題,各類知識。。。php
--- 安裝引導器
--- ---------------------------linux
GRUBgit
BIOS:chrome
# pacman -S grub os-prober # grub-install --recheck /dev/<目標磁盤> # grub-mkconfig -o /boot/grub/grub.cfg
UEFI:---若是BIOS是UEFI的,就要用下面的命令安裝grub了shell
# pacman -S dosfstools grub efibootmgr # grub-install --target=x86_64-efi --efi-directory=<EFI 分區掛載點> --bootloader-id=arch_grub --recheck # grub-mkconfig -o /boot/grub/grub.cfg
其餘引導器windows
+++ 分區瀏覽器
+++ +++++++++++++++++
在本節,用戶須在 MBR 和 GPT 之間作出選擇。一般建議在 UEFI 系統中使用 GPT,在 BIOS 系統中使用 MBR。注意部分 UEFI 系統不支持 MBR 引導,部分 BIOS 系統不支持 GPT 引導。安全
---
--- 分區方案
--- ---------------------------
基本要求:bash
至少一個分區(類型代碼:8300)網絡
特殊要求:
BIOS + GPT + Grub:BIOS 引導分區(類型代碼:ef02;大小 ≥ 1 MiB)
UEFI:UEFI 系統分區(類型代碼:ef00;大小 ≥ 256 MiB)
系統休眠:交換分區(類型代碼:8200;大小 ≥ 2×內存大小)
通常建議:
若安裝目標內存 ≤ 2GB,添加一個交換分區
爲 /home 分配一個分區
一個例子:
$ lsblk /dev/sda -o NAME,FSTYPE,SIZE,MOUNTPOINT # 名稱,文件系統,大小,掛載點 NAME FSTYPE SIZE MOUNTPOINT sda 120G ├─sda1 vfat 512M /boot/EFI ├─sda2 ext4 36G / ├─sda3 ext4 79.5G home └─sda4 swap 4G [SWAP]
---
--- 分區
--- ---------------------------
肯定目標磁盤及目標分區:
# lsblk
分區用軟件:
通用:parted、cfdisk、sfdisk
僅 GPT:cgdisk、sgdisk
具體用法:
1.利用 fdisk 建立 MBR 分區:
$ fdisk /dev/sda
2.利用 cgdisk 建立 GPT 分區:
$ cgdisk /dev/sda
3.利用 parted建立 GPT 分區:
parted是一個能夠分區並進行分區調整的工具,他能夠建立,破壞,移動,複製,調整ext2 linux-swap fat fat32 reiserfs類型的分區,能夠建立,調整,移動Macintosh的HFS分區,檢測jfs,ntfs,ufs,xfs分區。
使用方法:parted [options] [device [command [options...]...]]
options
-h 顯示幫助信息
-l 顯示全部塊設備上的分區
device
對哪一個塊設備進行操做,若是沒有指定則使用第一個塊設備
command [options...]
check partition
對分區作一個簡單的檢測
cp [source-device] source dest
複製source-device設備上的source分區到當前設備的dest分區
mklabel label-type
建立新分區表類型,label-type能夠是:"bsd", "dvh", "gpt", "loop","mac", "msdos", "pc98", or "sun" 通常的pc機都是msdos格式,若是分區大於2T則須要選用gpt格式的分區表。
mkfs partition fs-type
在partition分區上建立一個fs-type文件系統,fs-type能夠是:"fat16", "fat32", "ext2", "linux-swap","reiserfs" 注意不支持ext3格式的文件系統,只能先分區而後用專有命令進行格式化。
mkpart part-type [fs-type] start end
建立一個part-type類型的分區,part-type能夠是:"primary", "logical", or "extended" 若是指定fs-type則在建立分區的同時進行格式化。start和end指的是分區的起始位置,單位默認是M。
linux大於2T的磁盤使用GPT分區方式 - 吾心 - 51CTO技術博客
http://leeforget.blog.51cto.com/6950397/1375908
使用parted劃分GPT分區 - 好腦殼和爛筆頭 - 開源中國社區
https://my.oschina.net/guol/blog/61424
分區工具比較多,推薦 parted
或者 cfdisk
,後者有個相似圖形化同樣的界面很方便。我用的是 parted
,表問我爲何,逼格高=。=
parted /dev/sda
(parted) mklabel msdos
(parted) mkpart primary ext4 1M 500M
(parted)
set 1 boot on
(parted) mkpart primary ext4 500M 50G
(parted) mkpart primary linux-swap 50G 54G
(parted) mkpart primary ext4 54G 100%
|
解釋一下,先說一下 parted
的基本用法
(parted) mkpart part-type fs-type start end
|
進入 parted
交互界面後使用 mkpart
建立,後面跟上 4 個參數,分別是 分區類型、文件系統類型、起始點、結束點,分區類型就主分區仍是邏輯分區,起始結束點使用 MB、GB 方便計算你懂的。
使用 parted
對 /dev/sda
設備進行分區,分區表 爲 MS-DOS
即 MBR
分區結構。共分了4個區,我的習慣~
掛載點 大小 說明
------------------------------------------------------------------
/boot 1-500M 用於掛載 /boot 分區,設置爲 Bootable。
/ 500M-50G 用於掛載 / 分區
swap 50G-54G 用於交換分區(Swap)
/home 54G-100% 剩餘空間用於掛載 /home分區
|
分完區後進行格式化
mkfs.ext4 /dev/sda1
mkfs.ext4 /dev/sda2
mkfs.ext4 /dev/sda4
mkswap /dev/sda3
|
掛載分區
mount /dev/sda2 /mnt
mkdir /mnt/{boot,home}
mount /dev/sda1 /mnt/boot
mount /dev/sda4 /mnt/home
swapon /dev/sda3
|
分區方案:
類型 大小 類型代碼
/dev/sda1 EFI 系統分區 512M ef00
/dev/sda2 Linux ext4 任意 8300
/dev/sda3 Linux 交換分區 適量 8200
4.利用 cfdisk建立 GPT 分區:
cfdisk有一個終端圖形界面,本質和parted同樣,詳細用法以下:
CentOS分區cfdisk
http://blog.csdn.net/zhoutong12589/article/details/8210405
安裝並配置 bootloader
個人主板是BIOS主板,這裏採用的 bootloader 是Grub;安裝 grub 包,並執行 grub-install 已安裝到 MBR:
# pacman -S grub
# grub-install --target=i386-pc --recheck /dev/sdb
注意:須根據實際分區自行調整 /dev/sdb, 切勿在塊設備後附加數字,好比 /dev/sdb1 就不對。
因爲個人硬盤上還有另一個操做系統windows 7,爲了檢測到該系統並寫到grub啓動項中,還須要作下面的操做。
# pacman -S os-prober
# grub-mkconfig -o /boot/grub/grub.cfg
卸載分區並重啓系統
離開 chroot 環境並重啓操做系統
# exit
# reboot
安裝圖形界面
桌面環境我用的是XFCE4,在安裝以前須要裝幾個其它的東西。
安裝xorg-server
# pacman -S xorg-server xorg-server-utils xorg-xinit
安裝顯卡驅動
個人筆記本是Intel的集成顯卡和英偉達的獨立顯卡,這地方沒弄清楚怎麼回事,就安裝了兩個驅動;這裏有一些相關描述:https://wiki.archlinux.org/index.php/NVIDIA_(簡體中文)
# pacman -S xf86-video-intel
# pacman -S xf86-video-nouveau
安裝LXDM
LXDM是個桌面管理器,用來登陸系統及啓動XFCE桌面。
# pacman -S lxdm
# systemctl enable lxdm.service
安裝XFCE4
# pacman -S xfce4
通過以上步驟,能夠經過下面的命令來啓動XFCE4了:
startxfce4
設置 root 用戶密碼
passwd root
添加用戶
雖然你也能夠直接用 root 用戶,可是畢竟不安全,貌似有些軟件還不能直接用 root ?
useradd -m -g users -G wheel -s /bin/bash ikke
passwd ikke
安裝 sudo
要使用 sudo 命令提權的話須要安裝 sudo 而且作相應配置
pacman -S sudo
打開 /etc/sudoers 文件,找到 root ALL=(ALL) ALL 並依葫蘆畫瓢添加 ikke ALL=(ALL) ALL 便可。
安裝 bootloader
通常都是用 grub。
pacman -S grub
grub-install /dev/sda
因爲個人硬盤上還有另一個操做系統windows 7,爲了檢測到該系統並寫到grub啓動項中,還須要作下面的操做。
# pacman -S os-prober
# grub-mkconfig -o /boot/grub/grub.cfg
無線網設置
無線的話注意了,須要安裝幾個包否則沒法使用。
pacman -S wpa_supplicant dialog
下面開始安裝圖形界面
首先是裝Xorg
pacman -S xorg-server xorg-xinit
pacman -S xf86-input-synaptics
下面安裝顯卡驅動
intel
pacman -S xf86-video-intel
英偉達
pacman -S xf86-video-nv
ATi
pacman -S xf86-video-ati
我這裏是雙顯卡,我只安裝了intel的驅動
這個時候startx是不能進入x界面的,不過不用擔憂,請繼續看後續教程。
gnome桌面只要安裝gnome包便可,還有一個gnome-extra包能夠提供額外的經常使用軟件和幾個遊戲,你能夠安裝時選擇你要的軟件,沒有必要全選,固然也能夠不裝這個包,我這裏只選了gnome-tweak-tool這個工具
pacman -S gnome gnome-extra
而後安裝gdm登陸管理器
pacman -S gnome gdm
將gdm設置爲開機自啓動,這樣開機時會自動載入桌面
systemctl enable gdm
安裝plasma5
基礎包
pacman -S plasma
完整包
pacman -S plasma-meta
最簡安裝(僅有桌面軟件)
pacman -S plasma-desktop
而後是登陸管理器SDDM
pacman -S sddm
將SDDM設置爲開機自啓動
systemctl enable sddm
安裝LXDM
LXDM是個桌面管理器,用來登陸系統及啓動XFCE桌面。
# pacman -S lxdm
# systemctl enable lxdm.service
安裝XFCE4
# pacman -S xfce4
通過以上步驟,能夠經過下面的命令來啓動XFCE4了:
startxfce4
安裝LXDM管理器和LXDE桌面:
# pacman -S lxdm lxde
設置lxdm開機啓動:
# systemctl enable lxdm
若是你不想開機自動進入桌面,可使用startx啓動桌面,若是要使用startx,就不用安裝登陸管理器。
pacman -S xorg-xinit
對你的startx配置文件進行設置
nano /etc/X11/xinit/xinitrc
文件最後有這樣一段,刪掉或者註釋掉這些內容
twm &
xclock -geometry 50x50-1+1 &
xterm -geometry 80x50+494+51 &
xterm -geometry 80x20+494-0 &
exec xterm -geometry 80x66+0+0 -name login
若是你使用的是gnome桌面,在最後添加
exec gnome-session
若是是kde5,則添加
exec startkde
而後保存文件,這時候,你已經可使用startx來進入桌面了。
若是想要每一個用戶進入不一樣的桌面,你能夠以用戶身份登陸,爲用戶複製一份單獨的配置文件
cp /etc/X11/xinit/xinitrc ~/.xinitrc
而後編輯~/.xinitrc
便可
useradd -m -G wheel -s /bin/bash 用戶名
passwd 用戶名
爲安全期間,咱們能夠用sudo來使用root權限
pacman -S sudo
將用戶加入sudo組
在/etc/sudoers
加入這個:
用戶名 ALL=(ALL) ALL
也能夠去掉#%wheel ALL=(ALL) ALL
這一行前面的#
你須要中文字體才能使用gnome-terminal
pacman -S wqy-microhei
如今你已經可使用你的系統了,輸入reboot
重啓後系統便可自動進入gdm界面,而後進入桌面
安裝經常使用字體:
# pacman -S ttf-dejavu wqy-zenhei wqy-microhei
Yaourt是archlinux方便使用的關鍵部件之一,但沒有被整合到系統安裝中的工具。建議在裝完系統重啓以後,更新完pacman和基本系統以後,就安裝這個工具。
最簡單安裝Yaourt的方式是添加Yaourt源至您的 /etc/pacman.conf,在文件最後加入:
[archlinuxcn]
#The Chinese Arch Linux communities packages.
SigLevel = Optional TrustAll
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
而後
pacman -Syu yaourt
這裏安裝ibus做爲中文輸入法
sudo pacman -S ibus
sudo pacman -S ibus-pinyin
在~/.bashrc裏面加入
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
而後在設置裏啓用輸入法
你也能夠安裝fcitx:
sudo pacman -S fcitx-im fcitx-configtool
一樣的,在~/.bashrc寫入
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=「@im=fcitx」
而後執行
gsettings set \
org.gnome.settings-daemon.plugins.xsettings overrides \
"{'Gtk/IMModule':<'fcitx'>}"
安裝搜狗輸入法
yaourt -S fcitx-sogoupinyin
而後進入fcitx設置進行配置便可
前面已經安裝了yaourt,這裏只要
yaourt -S google-chrome
須要圖形化的解壓軟件能夠這樣:
sudo pacman -S p7zip file-roller unrar
要支持製做fat文件系統,安裝dosfstools,默認內核只能讀取ntfs,要支持ntfs讀寫,安裝ntfs-3g。
sudo pacman -S ntfs-3g dosfstools
須要安裝create-ap才能使用gnome3設置裏的建立熱點選項
sudo pacman -S create_ap
###
若是你安裝了gnome-extra,那麼這個工具已經被安裝了,不然的話
sudo pacman -S gnome-tweak-tool
這裏我使用的numix-circle圖標包,這個圖標包在aur裏,直接用yaourt便可
yaourt -S numix-circle-icon-theme-git
而後在gnome-tweak-tool裏啓用主題
gtk主題我選擇了arc主題
yaourt -S gtk-theme-arc-git
而後在gnome-tweak-tool裏啓用
首先在gnome-tweak-tool裏的拓展
裏啓用User themes
而後安裝主題,這裏我是用的貼吧的@Air_Wawei的Air主題,並本身作了些修改。
首先下載主題 而後解壓,將Air文件夾放到/usr/share/themes/
文件夾裏,在gnome-tweak-tool裏啓用主題
輸入如下指令
curl -L -O http://archibold.io/sh/archibold
chmod +x archibold
./archibold login-backgroung 你的背景的地址
重啓後gdm就會變成你要的背景
shell拓展請進入https://extensions.gnome.org/自行按照說明安裝
screenfetch能夠在終端裏輸出你的系統logo和狀態。
能夠用pacman安裝:
pacman -S screenfetch
要讓screenfetch在打開終端是自動輸出,在~/.bashrc里加入
screenfetch
要得到像蘋果osx同樣的dock能夠用docky或者dash-to-dock
docky的話sudo pacman -S docky
便可,docky不支持wayland。
dash-to-dock是gnome拓展,請在https://extensions.gnome.org/自行按照說明安裝
我這裏裝了docky,這是個人docky配置
一些優化
SATA 有兩種工做模式:原生的 AHCI 模式提供更好的性能(如熱插拔和 NCQ 支持)、模擬的 IDE 模式提供更好的兼容性。通常主板出廠默認將 SATA 模式設置爲 IDE 模式,但現在先進的 Linux 和 Windows 都早已原生支持 AHCI,因此咱們最好打開 AHCI 模式以優化性能。
Arch Linux 在安裝好之後,內核鏡像默認沒有載入 AHCI 驅動模塊。修改 /etc/mkinitcpio.conf
,添加ahci
到 MODULES
變量:
MODULES="ahci"
而後重建內核鏡像,從新啓動後 AHCI 驅動就會加載:
$ mkinitcpio -p linux
在主板 UEFI 或 BIOS 中,將 SATA 模式從 IDE
(或 PATA Emulation
等等),設置爲 AHCI
(或 Native
等等)。須要注意的是,若是你還在用 Windows XP,它須要安裝 AHCI 驅動才行。Windows Vista 及之後的版本則不須要擔憂這個問題(但若是你是在 Windows 安裝完成後才啓用 AHCI 模式,由於安裝期間 Windows 會自動禁用未使用的存儲驅動程序,你須要參考 KB922976(Windows Vista/7)或KB2751461(Windows 8)來啓用 AHCI 驅動程序)。
設置好之後,你能夠從 dmesg
命令的輸出裏,找到 AHCI 和 NCQ 成功啓用的證據:
$ dmesg
...
SCSI subsystem initialized
libata version 3.00 loaded.
ahci 0000:00:1f.2: version 3.0
ahci 0000:00:1f.2: irq 24 for MSI/MSI-X
ahci 0000:00:1f.2: AHCI 0001.0300 32 slots 6 ports 6 Gbps 0x10 impl SATA mode
ahci 0000:00:1f.2: flags: 64bit ncq led clo pio slum part ems apst
scsi host0: ahci
scsi host1: ahci
scsi host2: ahci
scsi host3: ahci
scsi host4: ahci
scsi host5: ahci
...
ata5.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
...
Arch Linux 的 systemd-analyze
是個很不錯的工具,利用它你能夠很直觀地觀察到系統啓動的時間都花到哪兒去了:
$ systemd-analyze
Startup finished in 6.857s (firmware) + 3.157s (loader) + 1.870s (kernel) + 8.157s (userspace) = 20.044s
我注意到打開 AHCI 後,內核和用戶空間的載入速度明顯提升了,總啓動時間從約 30 秒縮短到 20 秒,效果很是明顯。
用下面這個命令,能夠了解到是什麼東西啓動最慢:
$ systemd-analyze blame
此外,還能夠把啓動過程繪製成 SVG 圖表供你審閱(用 GNOME 的圖片預覽或 Chrome 瀏覽器均可以打開),這個圖表中你還能夠觀察到是否有啓動慢的組件影響到了依賴它的組件的啓動:
$ systemd-analyze plot > plot.svg
Arch Linux 安裝指南[2016.01] / 安裝問題 / Arch Linux 中文論壇
https://bbs.archlinuxcn.org/viewtopic.php?id=1037
ArchLinux 安裝筆記 | 霧裏看花
https://blog.ikke.moe/posts/archlinux-installation-notes/
General recommendations (簡體中文) - ArchWiki
https://wiki.archlinux.org/index.php/General_recommendations_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
Main page (簡體中文) - ArchWiki
https://wiki.archlinux.org/index.php/Main_page_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
Zsh (簡體中文) - ArchWiki
https://wiki.archlinux.org/index.php/Zsh_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
---zsh 就是傳說中超級強大,要用來替代Bash shell的存在