本文大量参考官方文档和这位仁兄的两篇文章:ArchLinux安装后的必须配置与图形界面安装教程,以官方Wiki的方式安装ArchLinux,ArchLinux你可能需要知道的操作与软件包推荐并结合自己踩的坑整理而成
安装前
将Arch Linux刻录到U盘
检查启动方式
ls /sys/firmware/efi/efivars
如果目录不存在,系统可能以 BIOS 或 CSM 模式启动。
基础设置
连接网络
ip link
更新系统时间
timedatectl set-ntp true
硬盘分区
使用fdisk -l
查看硬盘信息,fdisk
也可以修改分区表(cfdisk 有交互操作 )
分区示例:
BIOS 和 MBR
挂载点 | 分区 | 分区类型 | 建议大小 |
---|---|---|---|
/mnt | /dev/sdX1 | Linux | 剩余空间 |
[SWAP] | /dev/sdX2 | Linux swap (交换空间) | 大于 512 MiB |
UEFI with GPT
挂载点 | 分区 | 分区类型 | 建议大小 |
---|---|---|---|
/mnt/boot or /mnt/efi | /dev/sdX1 | EFI 系统分区 | 260–512 MiB |
/mnt | /dev/sdX2 | Linux x86-64 根目录 (/) | 剩余空间 |
[SWAP] | /dev/sdX3 | Linux swap (交换空间) | 大于 512 MiB |
我的分区方案:
/ 30G
/boot 1G (注意类型设置为Boot)
/home 剩下的
/var 10G
格式化分区
使用mkfs.xx 进行对应的格式化,然后使用mount进行挂载,注意需要将目录挂载到对应的分区中,包括/mnt,接下来它作为安装的根分区
安装
设置镜像
在/etc/pacman.d/mirrorlist
中设置http://mirrors.aliyun.com/archlinux/ (阿里云加速),然后强制刷新软件列表pacman -Syy
,可能会遇到Signature错误问题,比如下面这个:
signature from "Ambrevar " is unknown trust
使用pacman-key --refresh
更新一下签名,可能是安装包太久远了(我的仅仅是7个月前)
安装必要的软件包
pacstrap /mnt base linux linux-firmware base-devel vim dhcpcd
,其中base-devel有gcc和make,因此要加上
配置fstab
生成自动挂载分区的fstab文件genfstab -L /mnt >> /mnt/etc/fstab
,生成完毕后使用cat检查一下
Chroot
将root切换到新的系统arch-chroot /mnt
其他设置
时区设置为上海
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
本地化为中文
修改/etc/locale.gen ,将一下部分取消注释
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_TW.UTF-8 UTF-8
执行locale-gen
生成新的locale信息
为了防止系统输出日志等信息不会因为中文造成乱码问题,将LANG设置为英文,在/etc/locale.conf
中更改:LANG=en_US.UTF-8
网络
创建hostname和hosts文件
/etc/hostname
myhostname
/etc/hosts
127.0.0.1 localhost
::1 localhost
127.0.1.1 myhostname.localdomain myhostname
Root密码
使用passwd
建立
安装Bootloader
这里选择grub pacman -S grub
,部署命令:grub-install --target=i386-pc /dev/sdx
,完成后生成配置文件grub-mkconfig -o /boot/grub/grub.cfg
重启
使用exit
推出chroot环境
使用umount -R /mnt
手动卸载分区,然后使用reboot
重启
安装后的配置
创建swap文件
fallocate -l 1G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
最后需要编辑/etc/fstab为交换文件设置一个入口,使用vim打开文件:
添加:/swapfile none swap defaults 0 0
其他基础配置
- 在wheel组下添加用户
useradd -m -G wheel xxx
- 启用dhcpcd开机自动获取地址
systemctl enable dhcpcd.service
,WiFi使用networkmanager配置
安装桌面
本次选择deepin作为桌面系统,先安装xorg,因此pacman -S xorg-server xorg xorg-xinit --needed
,--needed
是用来跳过已经安装过的包。然后deepin里面也不清楚哪些可以不装,也都装上,1.6G左右,还有个deepin-extra
的包也装上,wiki上说可以提供更完整的桌面环境。
安装完毕,还需要配置lightdm:
在/etc/lightdm/lightdm.conf
中找到#greeter-session=xxx
,去掉注释,并且改为greeter-session=lightdm-deepin-greeter
,保存并退出。将lightdm.service添加到系统自启动项中:
sudo systemctl enable lightdm.service
配置中文
在~/.xprofile
中添加如下内容,可以在界面上显示中文,但系统默认语言还是英文,这是为了避免乱码,但后来我在deepin的设置里把系统默认语言也设成中文了,暂时每发现问题,以后再说。
export LANG=zh_CN.UTF-8
export LANGUAGE=zh_CN:en_US
export LC_CTYPE=en_US.UTF-8
安装中文文字,不然汉字都是方块,sudo pacman -S adobe-source-han-sans-cn-fonts
,这个包由于是根据地区打包,因此可以避免跟日文发生混淆(字形显示为日文中的汉字),输入法需要安装fcitx包与fcitx-im集合,再安装一个fcitx-googlepinyin。另外为了解决无法弹出的问题,需要修改~/。pam_environment
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
重启即可看到界面。ctrl+空格切换到拼音输入法