安装系统过程
强烈建议在每次安装前都去 Archlinux Wiki Installation Guide 查看是否有什么变化。
制作镜像
- 访问 Archlinux Download 链接下载所需镜像(一般为 ISO 格式),在使用镜像制作工具(推荐 Rufus)制作镜像之前建议先验证所下载文件的签名,尤其是从 HTTP 镜像源下载的文件。
- 制作镜像(推荐 Rufus)
启动到 Live 环境
- Asus X550VX 为开机按 F2 进入 BIOS,接着在 Boot 中选择带有 Arch 安装文件的媒介启动
- 默认的 Shell 是 zsh,会以 root 身份登入
验证启动模式
目前一般启动模式都为 GPT+UEFI
可以使用如下命令验证启动模式:若命令没有错误地显示了目录,则系统以 UEFI 模式启动。若目录不存在,系统则可能为 BIOS 模式或 CSM 模式启动(详见 Arch Wiki)。
1
ls /sys/firmware/efi/efivars
连网
Archlinux 的安装需要连网下载相关文件
1
2
3
4
5
6
7
8
9以下为使用 Wifi 的情况
iwctl
device list (列出所有网卡)
station wlan0/wlan1... scan (使用哪块网卡扫描)
station wlan0/wlan1... get-networks (列出所有可用网络)
station wlan0/wlan1... connect SSID (连接到网络,SSID 为网络名)
输入密码
quit (退出 iwctl)
更新系统时间
使用
timedatectl
来确保系统时间是准确的1
2timedatectl set-ntp true
使用 timedatectl staus 来检查服务状态
建立硬盘分区
硬盘若已被系统识别,则会显示为一个块设备(如
/dev/sda
,/dev/sdb
等),可以使用fdisk
命令进行查看1
fdisk -l
使用
cfdisk
来对硬盘进行分区对于一个 Archlinux 系统来说,必须要有的挂载点有:
- 一个根分区(即
/mnt
分区) - 一个 EFI 系统分区(即
/mnt/boot
或是/mnt/efi
,如果是双系统则可以直接使用 Windows 的 EFI 分区,但是要注意千万不要对其进行格式化操作,一般 Windows 的 EFI 分区都为 100MB,大多数情况下是够用的,但如果需要安装 GRUB 主题的话是不够用的,推荐扩容到 512MB) - [SWAP] (需大于 512 MB)
- 一个根分区(即
分区方案(假设是一块 500GB 的 SSD,识别为 /dev/sda)
挂载点 分区 分区类型 大小 /mnt/boot /dev/sdb2(挂载到 Windows 的 EFI 分区上) EFI 系统分区 512 MB /mnt /dev/sda1 Linux x86_64 根目录(/) 150 GB [SWAP] /dev/sda2 Linux Swap 8 GB /mnt/home /dev/sda3 Linux File System 剩余空间 格式化分区
当分区建立完毕后,需要使用适当的文件系统进行格式化
1
2
3
4
5
6
7Ext4 文件系统
mkfs.ext4 /dev/sda1
mkfs.ext4 /dev/sda3
Swap 分区
mkswap /dev/sda2
swapon /dev/sda2挂载分区
将根分区挂载到
/mnt
1
mount /dev/sda1 /mnt
然后使用
mkdir
命令创建其他剩余的挂载点并挂载1
2
3
4mkdir /mnt/home
mkdir /mnt/boot
mount /dev/sda3 /mnt/home
mount /dev/sd2 /mnt/boot (注意挂载到 Windows EFI 分区处)
安装
选择镜像,由于在国内,所以需要手动添加国内的镜像源 Archlinux All Https Mirrorlist。修改
/etc/pacman.d/mirrorlist
文件,添加即可安装软件包
1
pacstrap /mnt base linux-lts linux-firmware networkmanager vim
Chroot 环境下配置系统
Fstab
用以下命令生成 fstab 文件(
-U
参数设置 UUID,-L
参数设置卷标)1
2genfstab -U /mnt >> /mnt/etc/fstab
cat /mnt/etc/fstab (检查生成的 fstab 文件是否正确)Chroot
1
arch-chroot /mnt
时区
设置时区
1
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
运行
hwclock
以生成/etc/adjtime
1
hwclock --systohc
本地化
需要修改的文件有:
locale.gen
与locale.conf
编辑
/etc/locale.gen
,然后移除需要的地区前的注释符号(移除en_US.UTF-8
与zh_CN.UTF-8
前的注释)1
locale-gen (生成 locale 信息)
创建
/etc/locale.conf
文件,并编辑设定LANG
变量1
LANG=en_US.UTF-8
网络配置
创建
/etc/hostname
文件,并添加如下内容:1
beiran
添加对应的信息到
/etc/hosts
中:1
2
3127.0.0.1 localhost
::1 localhost
127.0.0.1 beiran.localdomain beiran若有公网 IP,则将
127.0.0.1
更换为公网 IPInitramfs
1
mkinitcpio -P
Root 密码
设置 Root 密码:
1
passwd
更新微码(intel-ucode)
1
pacman -S intel-ucode
安装 Grub
1
2
3
4pacman -S grub efibootmgr os-prober (os-prober 是因为双系统)
grub-install --efi-directory=/boot --bootloader-id=Archlinux
grub-mkconfig -o /boot/grub/grub.cfg安装其他的基础包
1
pacman -S openssh wget curl dialog wpa_supplicant ntfs-3g dnsutils
配置图形化环境
首先确定显卡型号:
1
lspci | grep -E "VGA|3D"
安装对应驱动
1
2
3
4
5
6pacman -S alsa-utils (声卡)
pacman -S xf86-video-vesa (Intel 集显)
pacman -S nvidia-lts nvidia-utils nvidia-settings (Nvidia 独显,因为内核装的 linux-lts 所以独显驱动也装的 nvidia-lts)
pacman -S xf86-video-vmware
pacman -S xf86-input-synaptics (触摸板驱动)
pacman -S bluez-utils bluez (蓝牙)相关配置
1
2
3
4
5
6systemctl enable NetworkManager.service
systemctl enable bluetooth.service
nmcli 的使用方法
nmcli dev wifi list (查询 wifi 列表)
nmcli device wifi connect "SSID" password "PASSWORD"(连接 wifi)安装显示管理器
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15这里选择使用 LightDM
pacman -S lightdm lightdm-deepin-greeter numlockx
修改 LightDM 配置
vim /etc/lightdm/lightdm.conf
greeter-session=lightdm-deepin-greeter
greeter-setup-script=/usr/bin/numlockx on
修改 /etc/pacman.conf
将 Color 选项前的注释去掉
systemctl enable lightdm
pacman -S haveged
systemctl enable haveged安装 Deepin Desktop
1
pacman -S deepin deepin-extra zssh lrzsz archlinux-wallpaper
创建用户
1
useradd -m -G wheel beiran
设置密码
1
passwd beiran
修改
sudo
设置1
2
3
4pacman -S sudo
vim /etc/sudoers
添加一行:
beiran ALL=(ALL) ALL安装字体
1
pacman -S wqy-zenhei wqy-bitmapfont adobe-source-code-pro-fonts adobe-source-han-serif-cn-fonts adobe-source-han-sans-cn-fonts noto-fonts noto-fonts-extra noto-fonts-emoji noto-fonts-cjk ttf-dejavu
安装 Fcitx 输入法
1
2
3pacman -S fcitx-googlepinyin fcitx-mozc fcitx-im fcitx-skin-material
可以修改 ~/.config/fcitx/conf/fcitx-classic-ui.conf 中的 SkinType 参数来启用 material 皮肤配置 Fcitx:
1
2
3
4
5
6
7全局设置修改 /etc/environment
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
非全局设置则新建 ~/.pam_environment
或者 ~/.xprofile
重启
退出 Chroot 环境
1
2
3
4exit (退出 Chroot 环境)
umount -R /mnt (卸载被挂载的分区)
reboot
移除安装介质(U盘)
系统设置
使用非
root
用户登录生成默认文件夹
1
2sudo pacman -S xdg-user-dirs
xdg-user-dirs-update --force配置
zsh
1
2
3
4
5
6
7
8
9
10sudo pacman -S zsh
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-autosuggestions.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
编辑 ~/.zshrc 文件
ZSH_THEME="ys"
plugins=(git web-search zsh-autosuggestions zsh-synta-highlighting)
切换 zsh
chsh -s /bin/zsh配置
Shadowsocks-libev
1
2
3
4
5sudo pacman -S shadowsocks-libev simple-obfs
sudo mkdir /etc/shadowsocks
sudo vim /etc/shadowsocks/config.json(将自己的配置文件复制进去)
systemctl enable shadowsocks-libev@config.service
systemctl start shadowsocks-libev@config.service配置
pfetch
1
2
3wget https://github.com/dylanaraps/pfetch/archive/master.zip
cd pfetch-master
sudo install pfetch /user/local/bin
软件安装过程
添加 Archlinuxcn 源
编辑
/etc/pacman.conf
文件1
2
3
4
5
6
7添加 Archlinuxcn 源
[archlinuxcn]
SigLevel = Optional TrustAll
Server = https://mirrors.bfsu.edu.cn/archlinuxcn/$arch
Server = https://mirrors.cqu.edu.cn/archlinuxcn/$arch
Server = https://mirrors.dgut.edu.cn/archlinuxcn/$arch
Server = https://mirrors.neusoft.edu.cn/archlinuxcn/$arch安装
archlinux-keyring
1
2sudo pacman -S archlinuxcn-keyring
sudo pacman -SyuMysql 5.7.30 相关配置
1
2
3
4
5
6
7
8
9
10安装完成后首先初始化数据库,这一步如果没出错的话会生成一个初始密码
sudo mysqld --initialize --user=mysql
如果出现错误,尝试删除 /var/lib/mysql 目录
sudo rm -rf /var/lib/mysql
然后连接到 Mysql
mysql -u root -p
输入之前的初始密码,连接成功后修改 root 用户的密码以及允许远程连接
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
UPDATE user SET Host='%' WHERE user='root';
FLUSH PRIVILEGES;IntelliJ-IDEA-CE 相关配置