前言
兩天前,我的arch,被我不小心升級(jí)glibc搞壞了..很久前就想重裝下系統(tǒng)的,因此也就懶得重新再修復(fù)了,直接重裝一個(gè)也挺好.
現(xiàn)在終于弄好啦,決定記錄一下,以后就不用那么擔(dān)心教程靠不靠譜
我的博客: catchdream.me
文章原文: arch安裝和gnome配置教程
說明
- 已有系統(tǒng): Win10
- 安裝系統(tǒng): archlinux-2019.07.1-x86_64
- 安裝磁盤: 機(jī)械硬盤的后半部分(前半部分是windows的數(shù)據(jù))
- 啟動(dòng)方式: UEFI
- 分區(qū)格式: GPT
- 桌面系統(tǒng): Gnome3
- 參考鏈接: ArchWiki
- 參考鏈接: Arch安裝教程
- 參考鏈接: Arch安裝圖文教程
準(zhǔn)備工作
準(zhǔn)備安裝介質(zhì)
說的簡單點(diǎn)就是為制作啟動(dòng)盤做準(zhǔn)備,安裝系統(tǒng)當(dāng)然需要這個(gè)系統(tǒng)的鏡像文件.
可以到Arch Download這里下載鏡像
一直往下可以看到CHINA的標(biāo)志, 推薦選擇163的源下載,鏈接在這
制作LiveCD
如果在windows環(huán)境制作的,可以使用USBwriter,或者其他一些工具
因?yàn)槲译娔X有現(xiàn)成的fedora media writer,所以用這個(gè)也可以制作
網(wǎng)絡(luò)
身邊需要可以連接的網(wǎng)絡(luò),有線網(wǎng)或者無線網(wǎng)
如果沒有wifi可以連,當(dāng)然,這個(gè)wifi不能是校園網(wǎng),不然沒辦法直接命令行連接.
沒wifi可以手機(jī)開熱點(diǎn)啊,hhh
磁盤空間
從widows盤那邊分出一部分給linux,我選擇先壓縮卷,然后新建簡單卷,之后的安裝就安裝在這個(gè)簡單卷上.
選擇新建簡單卷還是因?yàn)榘惭b的時(shí)候能夠看的更清楚第一個(gè)分區(qū)的開始扇區(qū)
設(shè)置usb啟動(dòng)
如果以前設(shè)置過usb啟動(dòng)優(yōu)先就不用管了
進(jìn)入BIOS,設(shè)置開機(jī)選項(xiàng),調(diào)整開機(jī)順序,讓usb啟動(dòng)排在第一位
完事之后就可以直接插入你的U盤,開始裝系統(tǒng)!
安裝準(zhǔn)備
聯(lián)網(wǎng)
后面需要安裝很多東西,所以最好先聯(lián)網(wǎng)
# wifi-menu
會(huì)跳出來wifi選擇的頁面,自己選之前準(zhǔn)備好的wifi連上就成
編輯mirrorlist
目的是為了后面下載的時(shí)候速度能快點(diǎn),國外的鏡像站太慢啦.
# vi /etc/pacman.d/mirrorlist
# 按下面描述修改mirrorlist
# pacman -Syy
我默認(rèn)你已經(jīng)會(huì)vim了,找163關(guān)鍵詞,然后把163的鏡像站復(fù)制粘貼到第一個(gè)鏡像站前面.一堆的網(wǎng)址就是鏡像站啦.
如果不放心,還可以找關(guān)鍵詞China,把其他的ustc之類的都放前面去.
記得,保存后pacman -Syy
分區(qū)
最重要的一步來咯
我選擇了UEFI啟動(dòng),對(duì)應(yīng)使用GPT分區(qū)
我的機(jī)械硬盤是/dev/sdb
分區(qū)規(guī)劃
創(chuàng)建4個(gè)分區(qū)如下
- /boot 200M /dev/sdb3
- /swap 8G /dev/sdb4
- /root 60G /dev/sdb5
- /home 150G /dev/sdb6
別問我為什么/root設(shè)置這么大,為什么人家都推薦30G左右...
重裝的其中一個(gè)原因就是/root爆了,擴(kuò)容又麻煩,原本設(shè)置的是40G
/swap設(shè)置的是和我物理內(nèi)存一樣的大小
查看磁盤情況
確定你要安裝的磁盤是sd幾,然后使用gdisk劃分磁盤
# fdisk -l
你看到的東西應(yīng)該類似下面的
Disk /dev/sdb: 931.53 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: HGST HTS721010A9
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 94717E4F-9437-4814-96AA-5CD870012F36Device Start End Sectors Size Type
/dev/sdb1 2048 587202559 587200512 280G Microsoft basic data
/dev/sdb2 587202560 1468008447 880805888 420G Microsoft basic data
/dev/sdb3 1468008448 1468418047 409600 200M EFI System
/dev/sdb4 1468418048 1485195263 16777216 8G Linux swap
/dev/sdb5 1485195264 1611024383 125829120 60G Linux root (x86)
/dev/sdb6 1611024384 1925597183 314572800 150G Linux homeDisk /dev/sda: 119.25 GiB, 128035676160 bytes, 250069680 sectors
Disk model: SanDisk SD8SNAT-
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: A7EA8BD9-4B05-4419-AEFA-7B4F01E54CC2Device Start End Sectors Size Type
/dev/sda1 2048 534527 532480 260M EFI System
/dev/sda2 534528 567295 32768 16M Microsoft reserved
/dev/sda3 567296 246266737 245699442 117.2G Microsoft basic data
/dev/sda4 246267904 250058751 3790848 1.8G Windows recovery environment
通過容量判斷我要安裝的磁盤是sda還是sdb
通過Type可以看到sdb1和sdb2都是Microsoft basic data,那是我的D盤和F盤
分區(qū)
gdisk /dev/sdb
記得這里sdb要換成你自己的sd..
gdisk的使用很簡單,先使用?打印幫助,使用p打印分區(qū)表
如果你的磁盤是空的,使用o新建一個(gè)gpt分區(qū)表,如果不是空磁盤,別這么做
接著使用n命令新建一個(gè)磁盤分區(qū),然后輸入分區(qū)號(hào),默認(rèn)回車就可以
然后設(shè)置開始扇區(qū),如果沒啥意外,直接回車
設(shè)置結(jié)束扇區(qū),可以使用+60G這樣的方式,不用自己計(jì)算,很方便
接著設(shè)置Hex code, 這個(gè)很重要,可以使用L查看所有的codes,下面列出要用的
/boot: EF00
/swap: 8200
/root: 8303
/home: 8302
格式化分區(qū)
格式化EFI分區(qū)/boot
# mkfs.fat -F32 /dev/sdb3
格式化/root和/home
# mkfs.ext4 /dev/sdb5
# mkfs.ext4 /dev/sdb6
開啟swap分區(qū)/swap
# mkwsap /dev/sdb4
# swapon /dev/sdb4
掛載分區(qū)
一般是將根分區(qū)/掛載到/mnt下,然后將/boot和/home掛載到/mnt/boot和/mnt/home
# mount /dev/sdb5 /mnt
# mkdir /mnt/{boot, home}
# mount /dev/sdb6 /mnt/home
# mount /dev/sdb3 /mnt/boot
安裝基本系統(tǒng)
部署基本系統(tǒng)
# pacstrap -i /mnt base base-devel net-tools
這里的net-tools提供了netstat和ifconfig等命令,可以選擇不裝,差別不大
生成fstab
fstab中記錄了掛載信息,使用下面命令生成
# genfstab -U -p /mnt >> /mnt/etc/fstab
使用cat /mnt/etc/fstab檢查
基本系統(tǒng)設(shè)置
切換到新系統(tǒng)
# arch-chroot /mnt /bin/bash
設(shè)置locale
# vim /etc/locale.gen
這里是配置本地語言環(huán)境,起碼要中英文的UTF-8,所以把en_US.UTF-8 UTF-8和zh_CN.UTF-8 UTF-8取消注釋, 然后保存退出
然后執(zhí)行:
# locale-gen
# # echo LANG=en_US.UTF-8 > /etc/locale.conf
設(shè)置時(shí)區(qū)
執(zhí)行如下代碼:
# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
設(shè)置硬件時(shí)間
執(zhí)行如下代碼:
# hwclock --systohc --utc
設(shè)置主機(jī)名
建議使用小寫
# echo 主機(jī)名 > /etc/hostname
# vim /etc/hosts
hosts文件中有如下內(nèi)容
127.0.0.1 localhost
::1 localhost
127.0.1.1 myhostname.localdomain myhostname
如果系統(tǒng)有一個(gè)永久的 IP 地址,請(qǐng)使用這個(gè)永久的 IP 地址而不是 127.0.1.1
生成Initramfs
注意,這步只對(duì) LVM、 system encryption 或 RAID有效
正常情況下,在執(zhí)行pacstrap的時(shí)候已經(jīng)安裝linux,并且mkinitcpio自動(dòng)運(yùn)行
# mkinitcpio -p linux
用戶設(shè)置
修改root用戶密碼,并且創(chuàng)建一個(gè)新用戶,同樣修改密碼
建議root密碼和用戶密碼不要設(shè)置成一樣的,平時(shí)用普通用戶就可以
如果需要用root,必須清楚自己每一步會(huì)有什么后果!
# passwd
# ****你的密碼****
# useradd -m -g users -s /bin/bash 用戶名
# passwd 用戶名
# ****用戶密碼****
為用戶添加sudo權(quán)限
# vim /etc/sudoers
# 在root ALL=(ALL) ALL下面添加如下內(nèi)容
用戶名 ALL=(ALL) ALL
# 保存退出
# :wq
配置UEFI引導(dǎo)(重點(diǎn))
(這里網(wǎng)上看到的都有點(diǎn)不太一樣, 導(dǎo)致我安裝完之后電腦一直找不到Linux的引導(dǎo)項(xiàng),
一直進(jìn)不來linux, 后來在archwiki上看到了正確的方法, 記錄如下)
這里使用UEFI引導(dǎo),而不是BIOS,兩者的區(qū)別自行百度
關(guān)于啟動(dòng)加載器可以自己查看ArchWiki,里面講的很清楚
我們選擇GRUB [ArchWiki](https://wiki.archlinux.org/index.php/GRUB_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)來引導(dǎo)系統(tǒng),具體過程在archwiki中也講的很清楚,這里不多贅述
安裝必要軟件包, efibootmgr是efi引導(dǎo)才要用的, ntfs-3g是為了能夠識(shí)別windows的ntfs文件系統(tǒng)
# pacman -S dosfstools grub efibootmgr ntfs-3g
注意,我們選擇的EFI系統(tǒng)分區(qū)是之前的/boot, 選擇的啟動(dòng)引導(dǎo)器標(biāo)識(shí)是GRUB,
不懂可以不管, 直接執(zhí)行
執(zhí)行下面的命令來將 GRUB EFI 應(yīng)用 grubx64.efi 安裝到
/boot/EFI/GRUB/,并將其模塊安裝到 /boot/grub/x86_64-efi/。
# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
安裝完之后GRUB目錄位于在/boot/grub/
然后執(zhí)行下面命令生成主配置文件grub.cfg
# grub-mkconfig -o /boot/grub/grub.cfg
在/boot目錄使用tree -d會(huì)有如下內(nèi)容
.
├── EFI
│ └── GRUB
├── grub
│ ├── fonts
│ ├── themes
│ │ └── starfield
│ └── x86_64-efi
└── syslinux
退出chroot重啟
筆記本退出之前要先安裝dialog
# pacman -S iw wpa_supplicant dialog
# exit
# umount /mnt/{boot, home}
# umount /mnt
# reboot
其實(shí)不重啟也可以, 這時(shí)候還連著網(wǎng), 直接把需要安裝的一次性裝了,
然后直接進(jìn)到圖形界面, 不然聯(lián)網(wǎng)會(huì)很麻煩. 圖形界面可以用networkmanager連網(wǎng)
驅(qū)動(dòng)安裝
顯卡驅(qū)動(dòng)
具體的驅(qū)動(dòng)匹配表可以查看ArchWiki
再次折騰了一次Nvidia驅(qū)動(dòng), 失敗告終, 難受
顯卡驅(qū)動(dòng)默認(rèn)的vesa可以兼容大部分顯卡了
我是雙顯卡, 安裝了下面三個(gè)顯卡驅(qū)動(dòng)
# pacman -S xf86-video-vesa 通用驅(qū)動(dòng)
# pacman -S xf86-video-intel intel集顯驅(qū)動(dòng)
# pacman -S xf86-video-nouveau 開源的N卡驅(qū)動(dòng)
觸摸板驅(qū)動(dòng)
# pacman -S xf86-input-synaptics
Xorg顯示服務(wù)器
xorg是其他例如xfce和gnome, kde一些桌面環(huán)境的基礎(chǔ), 提供圖形環(huán)境基本框架
# pacman -S xorg
安裝Gnome以及配置
Gnome和優(yōu)化工具
gnome是基本環(huán)境, gnome-extra是一個(gè)包合集, 里面有一些軟件啥的,
如果是喜歡干干凈凈的可以不裝extra, 以后缺啥裝啥
gnome-tweak-tool是gnome桌面美化的很重要的工具
# pacman -S gnome gnome-extra gnome-tweak-tool
窗口管理服務(wù)gdm
gnome一般用gdm, deepin用lightdm, xfce使用lxdm, kde使用sddm
我們安裝gdm之后要啟用它
# pacman -S gdm
# systemctl enable gdm
網(wǎng)絡(luò)管理工具NetworkManager
這一步做完之后就可以重啟進(jìn)入電腦啦, 其他的東西, 最好進(jìn)入圖形界面再做,
邊做邊看效果
# pacman -S networkmanager
# systemctl enable NetworkManager
# reboot
添加archlinux-cn源
官方倉庫里面有很多我們常用但是沒有的, 添加這個(gè)源會(huì)好很多
# sudo vim /etc/pacman.conf
# 在末尾添加如下內(nèi)容
[archlinuxcn]
SigLevel=Never
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
其他常用軟件和工具安裝
自帶商店gnome-software
可以自己先逛逛自帶的gnome-software, 商店里面有很多工具類的
如果發(fā)現(xiàn)商店打開后提示No application data found.可以按照如下操作恢復(fù)
- 在設(shè)置中將語言改成其他語言,英到中
- 重啟
- 將語言改回原來的, 中到英
- 重啟
這樣就可以啦
字體
下面這幾個(gè)字體一般夠用了, ttf-consolas-with-yahei是consolas和yahei結(jié)合體,
英文consolas, 中文yahei
# sudo pacman -S ttf-consolas-with-yahei
# sudo pacman -S wqy-microhei tf-dejavu wqy-zenhei
fcitx輸入法
# pacman -S fcitx-im fcitx fcitx-configtool
# pacman -S fcitx-cloudpinyin fcitx-sogoupinyin
安裝完之后還需要編輯配置文件, 具體可以看ArchWiki
一些常見的問題wiki里面也都說到了,所以如果下面的過程出現(xiàn)未知錯(cuò)誤, 移步wiki查看
修改配置文件, gnome on wayland, 無法讀取~/.xprofile, 所以修改/etc/environment
如果在登陸的時(shí)候選擇Xorg的Gnome, 可以新建~/.xprofile, 添加如下內(nèi)容
然后重啟生效
# vim /etc/environment
# 添加如下內(nèi)容
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
# reboot
使用fcitx-configtool進(jìn)行進(jìn)一步配置, 啟用cloudpinyin等
# fcitx-configtool
# 在input method那里點(diǎn)加號(hào), 添加Pinyin
# 在global-config進(jìn)行全局配置
# 在Apperance進(jìn)行字體大小調(diào)整和狀態(tài)顯示
# Addon進(jìn)行插件管理, 雙擊插件進(jìn)行設(shè)置
安裝皮膚, 這里推薦一款簡單好看的fcitx-skin-material
# sudo pacman -S fcitx-skin-material
如果出現(xiàn)在gnome-terminal中Ctrl+Space調(diào)不出fcitx
# gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'fcitx'>}"
安裝yaourt
安裝yaourt這個(gè)工具來使用AUR
# sudo pacman -S yaourt
安裝oh-my-fish
首先要安裝fish, 相對(duì)于bash來說, 好用太多啦
# sudo pacman -S fish
然后去github上找到oh-my-fish,
README上說的很清楚很詳細(xì). 下面通過git安裝
# with git
# git clone https://github.com/oh-my-fish/oh-my-fish
# cd oh-my-fish
# bin/install --offline
然后安裝主題, 可以自己去github上挑選, 傳送門
我這里安裝batman這個(gè)主題
# omf install batman
# omf theme batman
編輯配置文件, 設(shè)置一些全局變量方便使用
# vim $OMF_CONFIG/init.fish
# 添加你的變量和function
# 例如
# set -xg dow $HOME/Documents/
# function c
# clear
# end
fish的使用請(qǐng)
瀏覽器
firefox和chrome我都用
# sudo pacman -S firefox google-chrome
wps-office
# sudo pacman -S wps-office
音樂和視頻
網(wǎng)易云和vlc, 以及視頻解碼包
# sudo pacman -S netease-cloud-music
# sudo pacman -S vlc gstreamer0.10-plugins
壓縮和解壓
tar unzip zip unrar rar 一般用tar就足夠啦
# sudo pacman -S tar unzip zip unrar rar
Gnome桌面美化
推薦自己去Gnome-Look找喜歡的主題和圖標(biāo)樣式之類的
GTK主題
我使用的是flat-remix-blue
安裝步驟
- 下載主題
- 解壓
tar -xvf 05-Flat-Remix-GTK-Blue-Dark_20190718.tar.xz - 將Flat-Remix-GTK-Blue-Dark目錄放到~/.themes目錄下
mv Flat-Remix-GTK-Blue-Dark/ ~/.themes/ - 在gnome-tweaks里面啟用
Gnome-Shell主題
我使用的是Flat Remix GNOME/Ubuntu/GDM theme
安裝步驟
- 下載shell主題
- 解壓
tar -xvf Flat-Remix-Dark-fullPanel_20190616.tar.xz - 將其移動(dòng)到~/.themes目錄下
- 在gnome-tweaks里面的Extensions里面, 將User themes啟用, 重啟gnome-tweaks
- 在gnome-tweaks里面選擇shell主題
GDM主題
安裝步驟
- 下載主題
- 解壓
- cd High_Ubunterra_DD-2.4(noPass)
- chmod +x install.sh
- ./install.sh
icon主題
推薦Tela Icon Theme
可以自己選擇目錄樣式的顏色, 我安裝的是manjaro
具體可以看github
安裝步驟
- git clone https://github.com/vinceliuice/Tela-icon-theme.git
- cd Tela-icon-theme
- ./install.sh -n Tela-manjaro
screenfetch
screenfetch可以在終端里輸出你的系統(tǒng)logo和狀態(tài)。
如果需要打開終端自動(dòng)輸出, 可以在~/.bashrc添加: screenfetch
# sudo pacman -S screenfetch
dock欄
既然是mac風(fēng), 那肯定還是要有dock比較好看, gnome on wayland
安裝dash-to-dock插件, 具體參考安裝文檔
安裝方法
- 安裝包解壓縮后,重命名(刪除郵箱后面的字符)后復(fù)制到目錄~/.local/share/gnome-shell/extensions/下,然后重啟 GNOME,再打開 Tweaks,應(yīng)該就能在Extensions上看到
- 下載github上的源碼包,然后make, make install, 重啟gnome, 參考README
結(jié)語
寫了很多, 媽媽再也不用擔(dān)心我重裝系統(tǒng)啦!
作為一個(gè)參考吧, 以后總會(huì)因?yàn)楦鞣N原因需要重裝.
所以記錄一下, 也分享給新人使用, 豈不樂哉