引言:
linux是一種哲學。最近喜歡上了arch的簡潔,可高度定製化,滾動更新和設計哲學,準備日常辦公從ubuntu轉向arch,目前已完成安裝,正在使用arch寫這篇博客,而事實證明arch確實沒讓我失望,它的確是一個非常不錯的發行版.
安裝環境:
- cpu: i5 ram:12G 臺式電腦
- 一塊硬盤(有剩餘空間或新硬盤都可以,我這裏用的是1T新硬盤,GPT分區,UEFI啓動)
- 一塊8G U盤
- 從官網或者其他鏡像源下載的iso系統鏡像(e.g:archlinux-2017-08.01-x86_64.iso)
安裝過程:
製作U盤啓動基礎系統
- 在ubuntu或者其他Linux系統中執行
fdisk -l
查看所有硬盤和分區,記錄下U盤的磁盤標識,比如我這裏是/dev/sdc
2. 使用dd命令製作U盤安裝啓動系統
dd if=xxx.iso of=/dev/sdc
if,of可簡記爲input file,output file.
注意:如果你的系統和我一樣有mbr+bios和gpt+uefi的不同硬盤分區方式及啓動方式的話,不推薦使用ultraiso進行刻錄,我分別嘗試了使用相同鏡像,一個U盤使用dd,一個U盤使用ultraiso,ultraiso刻錄的U盤並不能正常進入基礎安裝系統,因爲我目前電腦有三塊硬盤,其中兩塊都是使用mbr分區方式使用bios啓動,而因爲gpt的無主分區數量限制,以及2T硬盤大小限制,以及gpt對磁盤的利用率更高,於是我選擇了在此塊新硬盤採用gpt的分區方式,使用uefi啓動.
硬盤分區
- 插入U盤開機選擇UEFI或傳統bios啓動
- U盤啓動,如果不是UEFI,請選擇傳統模式的U盤啓動,一般是開機按F12,F10,ESC,DELETE等鍵,我這裏是F12.
- 更新系統時間
- timedatectl set-ntp true
- 使用fdisk對硬盤進行分區
附上我這裏使用的分區方案(在後面的分區方案中,我取消了usr分區,交給了/)
- /swap 16G
- / 300G
- /home 200G
- /boot/efi 10G
這裏使用的分區命令
- fdisk -l #查看當前所有硬盤和分區信息
- fdisk /dev/sda #進入指定硬盤進行操作
- 進入後 w 保存退出 q 不保存退出 n 新建分區 然後選擇分區序列號 選擇起始扇區,一般前面幾個可以直接回車默認,傳統硬盤都是 512字節扇區,可根據硬盤說明扇區大小進行計算,或者結尾扇區使用+100G這種形式更加簡單。d 刪除分區
格式化分區(這裏有坑,注意swap分區和/boot/efi分區格式化方式不同)
- parted /dev/sda 然後執行 mklabel gpt 設置sda爲gpt分區
- fdisk -l
- mkfs.ext4 /dev/sdax (普通分區格式化爲ext4)
- mkswap /dev/sdax (swap分區格式化建立方式)
- swapon /dev/sdax(激活系統swap分區)
- mkfs.vfat -F32 /dev/sdaY (boot分區與GPT,UEFI有關,使用此命令格式化爲fat32)
分區掛載(這裏有坑,注意swap分區是不用掛載的,boot分區掛在應該掛在到/boot/efi,而不是/boot)
- mount /dev/sdax /mnt 根分區
- 使用多個分區,還需要爲其他分區創建目錄並掛載它們(/mnt/boot、/mnt/home、……)
- mkdir -p /mnt/boot/efi
- mount /dev/sda2 /mnt/boot/efi
- 其他的和上面類似
坑來了,這裏一定要看執行下mount看是否成功掛載,否則可能會讓你從頭再來。
安裝
安裝基本系統
- pacstrap /mnt base
配置系統(有坑)
- 用以下命令生成 fstab 文件 (用 -U 或 -L 選項設置UUID 或卷標):
- genfstab -U /mnt >> /mnt/etc/fstab
- 特別提醒:在執行完以上命令後,用cat檢查一下生成的 /mnt/etc/fstab 文件是否正確。對比blkid命令下硬盤分區UID和此文件是否對應,我這裏就是因爲沒有mount好,生成的fstab也不對,導致安裝完成無法啓動.
Change root 到新安裝的系統:
- arch-chroot /mnt
設置時區
- ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
- 設置時間標準 爲 UTC,並調整 時間漂移:
- hwclock –systohc –utc
Locale本地化配置
- pacman -S vim (習慣vim直接裝一個,使用默認vi也可以)
- vim /etc/locale.gen 打開註釋
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_TW.UTF-8 UTF-8
- 接着執行locale-gen以生成locale訊息:
- locale-gen
- 將系統 locale 設置爲en_US.UTF-8:
- echo LANG=en_US.UTF-8 > /etc/locale.conf
設置主機名
- echo archlinux > /etc/hostname
創建一個初始 RAM disk:
- mkinitcpio -p linux(有坑,官方wifi說改動了mkinitcpio.conf可以不用執行這個init,我開始以爲我沒有修改,不用init,結果一下就踩進去了,友情提示這個最好不要忘了執行init一次)
設置 root 密碼:
- passwd
配置網絡
- pacman -S dialog wpa_supplicant netctl wireless_tools #現在不安裝 重啓之後如果只有wifi則可能無法連接網絡
- 查看網卡名:
- ip link show
- 設置啓動dhcp:
- systemctl enable [email protected]
安裝引導程序
我這裏選擇的grub,注意這裏一定得裝,否則是無法引導系統的,並且要特別小心,否則很容易無法對系統進行引導啓動.
- UEFI版本:
- pacman -S grub-efi-x86_64
- EFI管理器:
- pacman -S efibootmgr
- 雙系統必需管理器:(我這裏由於bios和uefi方式不同,無法和ubuntu相互引導)
- 安裝進EFI分區:
- grub-install –efi-directory=/boot/efi –bootloader-id=grub
- os-prober 識別硬盤上其他系統的工具:(uefi,bios衝突不能互相引導,如果是uefi,下面兩條命令可不執行,上面的就夠了,bios可選擇執行下面的安裝):
- pacman -S grub
- grub-install –recheck /dev/sda
- 生成配置文件:
- grub-mkconfig -o /boot/grub/grub.cfg
- 友情提示:生成完成cat下/boot/grub/grub.cfg文件是否正常生成.如果不對需要進行自行檢測,正常才能繼續下面的操作.
退出chroot模式,並umount
- 先umount /mnt裏面的boot,home等分區,然後umount /mnt 根分區
坑來了,到這裏基本已完成基礎系統的安裝,但是注意最好不要使用root然後在關機的瞬間把u盤拔掉,我開始就是,一切正常,但是使用reboot並立馬拔掉U盤,導致無法進入系統,這裏可能是shutdown的時候有部分文件未寫入完成就拔掉U盤可能導致數據異常,所以不能進入系統.於是後來就學乖了,先shutdown now關機,再開機進入,一切正常。
- 友情提示:如果你和我一樣同時存在mbr,bios和gpt,uefi,需要進bios設置使用bios還是uefi來進行引導啓動,否則無法進入系統.
進入安裝好的基礎系統,然後依次檢查網絡連接,ip addr,ping,curl,檢查分區及目錄fdisk -l,du -h ,df -h,新建sudo用戶,這裏說幾個較重要的
安裝字體
- pacman -S wqy-zenhei wqy-microhei (中文字體)ttf-dejavu adobe-source-code-pro-fonts (等寬字體) wqy-microhei
- pacman -S fcitx fcitx-im fcitx-googlepinyin 輸入法
- /etc/profile加入:(我這裏.xinitrc .xprofile 不會生效,如果你也和我一樣不生效,可以參考下我這裏)
export XIM=fcitx
export XIM_PROGRAM=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
安裝網絡管理器
- pacman -S networkmanager
- pacman -S network-manager-applet xfce4-notifyd
- networkmanager-pptp:
- pacman -S networkmanager-pptp
- systemctl start NetworkManager
- systemctl enable NetworkManager
- 友情提示:注意大小寫
安裝gnome(根據需要你也可以選擇kde,xfce等等其他發行版,我習慣用gnome)
- Intel集成顯卡驅動:#選裝 集顯驅動已被集成在安裝包中
- pacman -S xf86-video-intel
- 安裝顯卡驅動:
- pacman -S xf86-video-vesa
- xorg服務:
- pacman -S xorg-server xorg-xinit xorg-twm xterm
- gnome:
- pacman -S gnome gnome-extra gnome-tweak-tool
- lib256選擇1 根據自己選擇配置 我這裏選擇的1
- gnome 的窗口管理器#已默認安裝好,如果沒有再手動安裝下:
- pacman -S gdm
- systemctl enable gdm