歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Arch Linux 安裝小記

Arch Linux 安裝小記

日期:2017/3/1 11:59:03   编辑:關於Linux

1. 系統安裝

啟動模式

檢查啟動模式是否支持UEFI,這將決定在安裝 Bootloader 階段的步驟:

ls /sys/firmware/efi/efivars

網絡連接

有線用戶在 DHCP 可以獲取 IP 的情況下,一般可以連接網絡,無線用戶可以使用下面命令選擇網絡連接:

wifi-menu -o wlp3s0 # 使用WiFi

測試網絡是否連通:

e ping -c 3 www.archlinux.org

時間

使能 NTP 服務,更新系統時間,確保時間的准確性:

timedatectl set-ntp true
timedatectl status

磁盤

查看磁盤信息,以選定使用的磁盤:

lsblk

創建/更改磁盤信息,這裡對磁盤 /dev/sdb 重新分區,使用 gpt 格式:

parted /dev/sdb

(parted) mklable gpt
(parted) mkpart ESP fat32 1MiB 513MiB
(parted) set 1 boot on
(parted) mkpart primary ext4 513MiB 100%

格式化分區:

mkfs.fat -F32 /dev/sdb
mkfs.ext4 /dev/sdx

掛載分區:

mount /dev/sdb2 /mnt
mkdir /mnt/boot
mount /dev/sdb1 /mnt/boot

鏡像

選擇安裝使用的鏡像服務器,一般使用 China 幾個,解注釋/移動到文件首:

vim /etc/pacman.d/mirrorlist

同步鏡像服務器並安裝:

pacman -Syy #一般不需要,但可以測試選擇鏡像服務器速度用

pacstrap -i /mnt base base-devel

fstab

以UUID的方式生成fstab:

genfstab -U /mnt >> /mnt/etc/fstab

檢查並修改fstab

vim /mnt/etc/fstab

因為使用SSD並支持TRIM,修改參數減少硬盤寫入,並添加discard開啟TRIM:

UUID=xx  /  ext4  defaults,noatime,discard  0  1 
# relatime -> noatime & add discard

chroot

chroot系統,以完成安裝的最後工作:

arch-chroot /mnt /bin/bash

安裝一些工具

這裡預先安裝一些常用的工具,更多工具可以等到系統安裝完畢再安裝:

pacman -S vim intel-ucode iw wpa_supplicant dialog zsh 
# intel-ucode是intel的微碼工具

本地化

編輯下面文件,解注釋使用到的類型:

vim /etc/locale.gen

保存後使之生效:

locale-gen

創建本地化選項:

echo LANG=en_US.UTF-8 > /etc/locale.conf

時間

設置時區,並同步到系統時鐘:

tzselect
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc --utc

ramdisk

創建初始的ramdisk:

mkinitcpio -p linux

Bootloader

因為使用 UEFI + GPT,直接使用 systemd 工具生成啟動信息:

bootctl install

創建啟動配置文件:

vim /boot/loader/entires/arch.conf

添加下列信息:

title       Arch Linux
linux       /vmlinuz-linux
initrd      /intel-ucode.img #安裝intel-ucode後添加
initrd      /initramfs-linux.img
options     root=/dev/sdb2 rw #/文件系統的分區

修改文件默認啟動信息:

vim /boot/loader/loader.conf
#add default arch & add timeout 0

計算機名

設置此系統的名稱:

echo leesheen-X240 > /etc/hostname

並在 /etc/hosts 添加同樣的主機名:

vim /etc/hosts
# 添加 leesheen-X240 到文件中兩行內容的末尾

root密碼

設置root用戶密碼:

passwd

完成

退出chroot環境:

exit

卸載磁盤:

umount /mnt -R

重啟:

reboot

2. 系統安裝後

系統重啟後以root用戶登錄系統。

Set Network

//TODO

LAN

WLAN

用戶

通常我們應該使用普通(非root)用戶使用Linux系統,需要root權限時使用sudo。

創建一個leesheen的用戶:

useradd -m -G wheel -s /bin/zsh leesheen
passwd leesheen

把leesheen用戶添加到sudo用戶組中:

vim /etc/sudoers
#add leesheen ALL=(ALL) ALL

AUR

Arch Linux 的用戶軟件源有龐大的資源,這也是Archer熱愛它的一個原因,其中yaourt是一個很好的AUR助手工具,能幫助用戶自動化中間的過程。

編輯pacman的配置文件:

vim /etc/pacman.conf

添加archlinuxcn的源:

[archlinuxcn]
SigLevel = Optional TrustAll
Server = http://mirrors.163.com/archlinux-cn/$arch

Arch Wiki上提供的源有點慢,這裡有國內的源的地址,可以測試速度後自行選擇:

Server = http://repo.archlinuxcn.org/$arch
Server = http://mirrors.ustc.edu.cn/archlinuxcn/$arch
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
Server = http://mirrors.cqu.edu.cn/archlinux-cn/$arch
Server = http://mirrors.163.com/archlinux-cn/$arch
Server = http://mirrors.hustunique.com/archlinuxcn/$arch
Server = http://mirrors.4.tuna.tsinghua.edu.cn/archlinuxcn/$arch
Server = http://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch # both IPv4 & IPv6
Server = http://mirrors.6.tuna.tsinghua.edu.cn/archlinuxcn/$arch # only IPv6

修改完後更新源並且安裝yaourt:

pacman -Syu yaourt

驅動

用戶主機為ThinkPad X240,Intel Haswell HD4400單集顯:

安裝ThinkPad觸摸板驅動:

pacman -S xf86-input-libinput xf86-input-synaptics

安裝顯示驅動:

pacman -S mesa-libgl xf86-video-intel libva-intel-driver libvdpau-va-gl
mesa-demos

聲音

內核已經集成ALSA驅動,這裡安裝工具:

pacman -S alsa-utils

ThinkPad X240默認識別兩個聲卡,把HDMI通道的聲卡設置成為默認,這裡如果想使用筆記
本上的聲卡,把PCH設置成默認,添加啟動加載文件:
//TODO look pcm

vim /etc/modprobe.d/alsa-base.conf

添加如下代碼設置:

# Set pcm is default sound card
options snd_pcm index=0
options snd_hda_intel index=1

重新啟動,PCH聲卡就變成默認聲卡了。

切換用戶

以上操作基本上完成了 Arch Linux 核心部分的安裝,下面針對不同的用戶和不同的需要進行操作,也會以普通用戶身份登錄了。

重啟以普通用戶身份登錄

reboot

3. 用戶軟件安裝

GFW

Shadowsocks

Shadowsocks是一個輕量級socks5代理,以Python寫成。

安裝SS:

sudo pacman -S shadowsocks libsodium python2-numpy python2-salsa20 python2-m2crypto

拷貝默認配置文件:

sudo cp /etc/shadowsocks/example.json /etc/shadowsocks/config.json
# 按自己shadowsocks配置修改

後台啟動服務並且開機自啟:

sudo systemctl enable shadowsocks@config
sudo systemctl start shadowsocks@config

Proxychains

很多時候應用不支持代理或者某些代理方式,Proxychains是一個將socks5等代理類全局化的工具。安裝:

sudo pacman -S proxychains-ng

修改配置文件/etc/proxychains.conf

# 修改最後一行
socks5 127.0.0.1 1080

然後就可以在Terminal中使用它讓xxx應用走socks5代理:

proxychains xxx

git

git不僅僅是一個版本管理工具,很多時候也是我們獲取內容的工具。安裝:

sudo pacman -S git

配置git:

git config --global user.name "Lee Sheen"
git config --global user.email "[email protected]"

很多時候訪問Github很難,而我大部分git都是在Github上完成的,所以讓所有的git都使用socks5代理來保證速度。當然也可以不添加,在訪問困難的時候配合Proxychains使用,添加代理信息:

git config --global https.proxy 'socks5://127.0.0.1:1080'
git config --global http.proxy 'socks5://127.0.0.1:1080'

配置文件

為了同步多太電腦配置方便,我把一些配置文件同步到Github,先把配置文件clone下來:

mkdir ~/Tools
cd ~/Tools

git clone https://www.github.com/leesheen/config-linux.git

在~/Tools/config-linux/下就是後面需要的配置文件了。

Zsh

Zsh是一個功能強大的Shell,我們用其代替系統默認的bash。在前我們已經安裝:

# pacman -S zsh

Zsh的高可定制性使我們獲得一個優秀配置變得比較復雜,還好有個開源項目叫Oh-my-zsh,使用官網的腳本直接配置安裝:

sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

# 或者使用wget

sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

# 沒有速度可配合Proxychains使用,或者執行備份腳本的內容:

./Tools/config-linux/script/ohmyzsh_install.sh

添加alias

vim .zshrc

#添加需要的alias到最後
alias pcs='proxychains -q'

注意:如果想在root用戶下也使用zsh的此配置,在root用戶下執行上面的命令

Vim

Vim是一個強大的編輯器,對我來說最強大之處在於它的速度,任何大小的文件處理起來沒有卡頓。無論是碼代碼還是Markdown,它的順滑讓我的工作更加專注,此前在安裝初期我們已經安裝:

# pacman -S vim
YCM

YouCompleteMe擁有強大的補全和語義檢查功能,安裝:

yaourt vim-youcompleteme-git

YCM檢查語義需要clang的支持,安裝:

pacman -S clang

鏈接全局配置文件到配置目錄j

Ctags

Ctags是Linux下的跟蹤文件的利器,安裝:

pacman -S ctags
Vundle

它的強大之處也在於它的高可定制行,豐富的插件讓我們的工作更加簡單,但和其他插件豐富的工具(Chrome/Atom)不同的是,它沒有一個官方的渠道管理這些插件,所以使用一個插件來管理這些插件,它叫Vundle,使用git安裝:

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

把配置好的vimrc鏈接到家目錄的vimrc:

ln ~/Tools/config-linux/config/vimrc ~/.vimrc

鍵入命令安裝插件:

vim +PluginInstall +qall 

注意:如果使root用戶或者sudo下使用vim也插件化,上述步驟在root用戶下也操作一遍其中PowerLine插件需要額外的字體,安裝:

yaourt ttf-cosolas-powerline

Keyboard

Xbindkeys是一個可以允許用戶自定義鍵值的程序,我們可以利用它來自定義一些按鍵,比
如靜音和增減音量的快捷鍵不能使用等,安裝:

sudo pacman -S xbindkeys

這裡使用配置文件中的配置:

ln ~/Tools/config-linux/config/xbindkeysrc ~/.xbindkeysrc

這個文件使用了以下工具

Sound: alsa-utils 上述已經安裝; BackLight: xinit-backlight 上述已經安裝; MultiScreen: lxrandr 需要安裝; Wi-Fi: 默認按鍵可以使用up/down Wi-Fi; Setting: TODO Search: TODO Finder: xfce4-appfinder 下述xfce4安裝; FileManager: nautilus 下述xfce4安裝;

安裝上述需要安裝的工具:

sudo pacman -S lxrandr

添加xbindkeys啟動到xinitrc,下面配置文件中已經包含。

X/桌面環境/窗口管理器

Xorg:

Xorg 是 X11 窗口系統的一個開源實現,當使用桌面環境或者窗口管理器時需要X配合,
安裝Xorg和其工具包:

sudo pacman -S xorg-server xorg-server-utils xorg-apps xorg-xinit

ln ~/Tools/config-linux/config/xinitrc ~/.xinitrc
# 其中添加了fcitx和啟動i3
cp /etc/X11/xinitrc/xserverrc ~/.xserverrc

安裝Xfce

xfce4是一個輕量級模塊化的桌面環境。一般在需要桌面環境的時候作為備用。

安裝:

安裝xfce4和常用軟件包:

sudo pacman -S xfce4 xfce4-goodies

yaourt solarized-dark-themes

安裝NetworkManager

pacman -S networkmanager network-manager-applet xfce4-notifyd dnsmasq ppp rp-pppoe modemmanager

sudo systemctl enable NetworkManager
sudo systemctl start NetworkManager

安裝Bluetooth:

pacman -S bluez bluez-utils blueman

sudo systemctl enable bluetooth
sudo systemctl start bluetooth

如果需要開機啟動藍牙,添加下面文件:

vim /etc/udev/rules.d/10-local.rules

# Set bluetooth power up
ACTION=="add", KERNEL=="hci0", RUN+="/usr/bin/hciconfig hci0 up"

配對藍牙鼠標:

如果使用雙系統,而且使用藍牙鼠標,那麼讓兩個系統使用不用每次配對:

sudo pacman -S chntpw

mount /dev/sda4 /mnt/tmp/               # 掛載Windows安裝目錄
cd /mnt/tmp/Windows/System32/config/ 

chntpw -e SYSTEM 

在chntpw下執行:

cd ControlSet001\Services\BTHPORT\Parameters\Keys 
ls                                      # 查看藍牙的名稱,選擇進入
cd 5c514f631027 

Bluetooth-Mouse

復制上圖的16進制代碼並刪除空格

90C13638D41763DF52243F17D566146F

su                                      # 切換到root模式
cd /var/lib/bluetooth/
ls                                      # 查看藍牙名稱,應與上述一致
cd 5c:51:4f:63:10:27 
ls
cd 00:1F:20:A9:DB:71

vim info 

把上述復制的16進制代碼替換Key的值,保存重啟即生效。

安裝VPN:

yaourt strongswan 
yaourt networkmanager-strongswan

安裝i3窗口管理器:

安裝i3-wm:

窗口管理器的效率在習慣養成後遠遠大於桌面環境,awesome/i3-wm等都是代表者,而i3-wm更是簡單高效。

sudo pacman -S i3-wm i3lock i3status
安裝工具:

//TODO

yaourt dmenu2 
yaourt j4-dmenu-desktop-git
配置文件

創建i3的配置文件:

mkdir -p ~/.config/i3 ~/.config/i3status
ln ~/Tools/config-linux/config/i3/config ~/.config/i3/config
ln ~/Tools/config-linux/config/i3/i3status ~/.config/i3status/config

背景

pacman -S feh imagemagick

feh --bg-scale /path/to/image
使用X

安裝配置完成就可以進入X了,通常進入i3:

startx

浏覽器

個人喜歡Chrome浏覽器,在Arch下Pacman庫中為開源的Chromium,不包含Flash組件,但現在國內的很多網站下缺少不了Flash,我選擇同時安裝,在移動狀態下使用電池時選擇Chromium。安裝Chrome/Chromium:

sudo pacman -S chromium

yaourt google-chrome-stable

字體

安裝常用的英文字體和中文字體,個人很喜歡adebe的source系列開源字體,安裝:

sudo pacman -S ttf-dejavu wqy-microhei
sudo pacman -S adobe-source-code-pro-fonts \
          adobe-source-sans-pro-fonts \
          adobe-source-serif-pro-fonts \
          adobe-source-han-sans-cn-fonts

yaourt ttf-monaco

//TODO 配置Terminal默認中文字體

輸入法

個人喜歡使用fcitx框架,在此框架下提供的中文輸入法比較好用,這裡只選擇安裝sogou輸入法:

sudo pacman -S fcitx fcitx-im fcitx-qt5 fcitx-configtool

yaourt fcitx-sogoupinyin

在X下使用fcitx-configtool添加Sogou Pinyin,重新加載fcitx後,使用shift鍵就可以切換中/英文了。

Terminal

以為之前使用KDE Plasma,很喜歡Konsole,但其實xfce4-terminal一樣能完成Konsole的工作,而且更輕量。

xfce4-terminal

在xfce安裝過程中已經安裝過xfce4-terminal。

添加配置文件:

# 創建配置文件目錄
mkdir -p ~/.config/xfce4/terminal
# 鏈接配置文件
ln ~/Tools/config-linux/terminalrc ~/.config/xfce4/terminal/terminalrc

Konsole

安裝Konsole,選擇VLC為後端:

# sudo pacman -S konsole

Media

MPlayer

MPlayer是一個開源的播放器,快速好用,安裝:

sudo pacman -S mplayer
# 自帶解碼包依賴

TODO: 配置文件字幕

文件管理器

通常使用xfce4下的thunar,一般情況下也很少用到,安裝xfce4已經包含thunar。

Dropbox
yaourt thunar-dropbox
yaourt dropbox-experimental

壓縮

安裝常用的壓縮/解壓縮的工具:

sudo pacman -S unzip p7zip lzop cpio unrar

磁盤

之前使用Windows,所以硬盤中包含NTFS分區和額外的ext4分區,首先安裝必要的磁盤工具支持fat/ntfs/exfat/hfs等分區格式:

sudo pacman -S parted exfat-utils ntfs-3g dosfstools hfsprogs hdparm 

上述的配置文件裡面有默認的fstab,把硬盤1中Windows使用的NTFS分區(Data)和Linux EXT4(Data)掛載到/mnt下相應設備名稱的目錄下:

sudo mkdir /mnt/sda6 /mnt/sda8 /mnt/sda9 /mnt/tmp
sudo chmod g+w *

sudo ln ~/Tools/config-linux/config/fstab /etc/fstab
# 危險,應該添加額外的配置

sudo hdparm -I /dev/sdb | grep TRIM

systemctl enable fstrim.service fstrim.timer
systemctl start fstrim.service fstrim.timer

Markdown

有很多比較好的MD工具,像Atom、Remarkable等,但Remarkable預覽總有問題,Atom用起來有略微卡頓,所以還是使用vim編輯,Chrome插件實時預覽的方式。

Atom

Atom是Github官方的編輯器,原生支持Markdown,安裝Atom:

yaourt atom-editor

Atom和其他出色的編輯工具一樣,擁有眾多插件,這裡安裝Markdown相關的MD轉PDF和vim模式的插件:

apm vim-mode ex-mode markdown-pdf
# Atom的插件在Github上,可以使用proxychains協助安裝

Vim + Chrome插件

在Chrome的WebStore中搜索Markdown Preview Plus並安裝

打開chrome://extensions/,在其設置頁中勾選 “Allow access to file URLs”

在Chrome中打開本地Markdown文件,http/https也是可以支持的,你會看到已經轉換成html的內容

在Chrome地址欄輸入文件路徑打開Markdown文件,用vim編輯Markdown,保存後頁面就會自動刷新,實現預覽。

Markdown-Vim-Chrome

在vimrc中加入以下內容:<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxwcmUgY2xhc3M9"brush:sql;"> autocmd BufRead,BufNewFile *.{md,mdown,mkd,mkdn,markdown,mdwn} map p :!start "C:\Program Files\Google\Chrome\Application\chrome.exe" "%:p"

需要預覽時輸入\p打開浏覽器預覽。

Image

imagemagick

下載

wget

SSH

yaourt openssh-hpn-git

WPS

yaourt wps-office ttf-wps-fonts

索引

pacman -S mlocate
updatedb

KVM

pacman -S qemu libvirt pm-util virt-manager
pacman -S ebtables dnsmasq bridge-utils openbsd-netcat

修改配置文件:

vim /etc/libvirt/libvirtd.conf

# 解注釋下面的配置
unix_sock_group = "libvirt"
unix_sock_ro_perms = "0777"  # set to 0770 to deny non-group libvirt users
unix_sock_rw_perms = "0770"
auth_unix_ro = "none"
auth_unix_rw = "none"

systemctl enable libvirtd.service virtlogd.service
systemctl start libvirtd.service virtlogd.service

NFS

pacman -S nfs-utils

配置文件

vim /etc/exports
添加
/srv/nfs4/ 192.168.1.0/24(rw,fsid=root,no_subtree_check)
/srv/nfs4/music 192.168.1.0/24(rw,no_subtree_check,nohide) # note the nohide option which is applied to mounted directories on the file system.

vim /etc/conf.d/nfs-server.conf

添加
NFSD_OPTS="-N 2 -N 3"

啟動服務

systemctl enable nfs-server
systemctl start nfs-server

Samba

pacman -S samba
cp /etc/samba/smb.conf.default /etc/samba/smb.conf

Gedit

VirtualBox

pacman -S virtualbox virtualbox-guest-iso qt4 net-tools
yaourt virtualbox-ext-oracle

gpasswd -a leesheen vboxusers

Temp

pacman -S hddtemp
Copyright © Linux教程網 All Rights Reserved