Arch Linux简介
A simple, lightweight distribution
官网https://www.archlinux.org/
维基百科https://zh.wikipedia.org/wiki/Arch_Linux
Arch Linux安装
Arch Linux
安装有一定难度,不想倒腾命令的话也可以直接选择manjaro,使用图形化界面进行安装,且manjaro
提供了mhwd
驱动程序管理器可以方便的安装驱动,另外说一下Arch Wiki
是个好东西,内容丰富文档详尽。
安装前的准备
下载并校验安装镜像
在一台已经安装 GnuPG 的系统上,通过下载 PGP 签名 (under Checksums) 到 ISO 文件所在的路径,可以通过以下方式验证:
# gpg --keyserver pgp.mit.edu --keyserver-options auto-key-retrieve --verify archlinux-version-x86_64.iso.sig
另外,在一台已经安装 Arch Linux 的计算机上可以通过以下方式验证:
# pacman-key -v archlinux-version-x86_64.iso.sig
刻录u盘
这一步有很多选择可以使用Ultra ISO、etcher等工具进行刻录制作启动盘,具体使用可百度这里就不赘述了。
下面说一下Linux下使用命令进行u盘刻录:
查看u盘
# sudo fdisk -l
使用dd命令进行刻录
# dd bs=4M if=/path/to/archlinux.iso of=/dev/sdb status=progress oflag=sync
其中,/path/to/archlinux.iso
为arch镜像路径,/dev/sdb
为上一步中查看的u盘分区,使用oflag
来控制输出(写入数据)时的行为特征,确保命令结束时数据及元数据真正写入磁盘 而不是刚写入缓存就返回,status=LEVEL
用来控制dd程序的输出信息的,LEVEL有三个选项“none”,“noxfer”和“progress”,默认是“progress”,“none”的意思是不输出任何相关信息,除非出错信息,“noxfer”不会输出最后的统计信息,而“progress”会输出所有信息。
开始安装
开机进入bios
关闭Secure Boot
并设置UEFI
启动为u盘启动。
验证启动模式
如果以在 UEFI 主板上启用 UEFI 模式,Archiso 将会使用 systemd-boot 来 启动 Arch Linux。可以列出 efivars 目录以验证启动模式:
# ls /sys/firmware/efi/efivars
网络连接
执行:
# wifi-menu
选择wifi进行联网,或直接网线连接,如果没有连接可以尝试:
# systemctl enable dhcpcd
# systemctl start dhcpcd
用 ping 检查网络连接:
# ping www.baidu.com
更新系统时间
使用 timedatectl(1) 确保系统时间是准确的:
# timedatectl set-ntp true
使用 timedatectl status
检查服务状态。
切换国内源
# vim /etc/pacman.d/mirrorlist
输入/China
按Enter
进行搜索找到中科大USTC的源按2dd
剪切后按gg
回到文件头部再将光标向下移动在列表头部按p
黏贴科大源后保存退出即可
分区
使用 lsblk 或者 fdisk 查看分区:
# lsblk
可以看到硬盘设备,可能为/dev/sda
或/dev/nvme01
之类的,具体视自己设备而定。
# parted /dev/sdx # sdx为目标磁盘
以下是交互过程:
(parted) mktable
New disk label type? gpt
(parted) quit
开始分区之前,这里贴一下wiki中的分区示例:
BIOS 和 MBR | |||
---|---|---|---|
挂载点 | 分区 | 分区类型 | 建议大小 |
/mnt |
/dev/sd*X*1 |
Linux | 剩余空间 |
[SWAP] | /dev/sd*X*2 |
Linux swap (交换空间) | 大于 512 MiB |
UEFI with GPT | |||
挂载点 | 分区 | 分区类型 | 建议大小 |
/mnt/boot or /mnt/efi
|
/dev/sd*X*1 |
EFI 系统分区 | 256–512 MiB |
/mnt |
/dev/sd*X*2 |
Linux x86-64 根目录 (/) | 剩余空间 |
[SWAP] | /dev/sd*X*3 |
Linux swap (交换空间) | 大于 512 MiB |
这里我的分区方案是EFI分区512M、交换空间8G、根目录剩余空间
使用cfdisk
命令执行分区
# cfdisk /dev/sdx # sdx 为目标磁盘
新建分区:
[↑]/[↓](方向键)选中 Free space(空闲空间)
[←]/[→](方向键)选中 New 新建分区
[←]/[→](方向键)选中 Type 选择分区类型(默认为 Linux filesystem;对于 EFI 系统分区选择 EFI System)
输入分区大小(默认单位为字节,可以加上后缀K、M、G),[回车键] 确认
写入分区表:
[←]/[→](方向键)选中 Write
输入 yes [回车] 确定写入
格式化分区
首先使用 lsblk
或 fdisk -l
确定目标磁盘及目标分区。
# mkfs.fat /dev/sdax # 格式化EFI分区
# mkfs.ext4 /dev/sdax # 格式化根分区
# mkswap /dev/sdax # 格式化交换分区
# swapon /dev/sdax # 打开swap分区
挂载分区
注意:是有顺序的需要先挂载根分区
# mount /dev/sdax /mnt # 将根分区挂载到/mnt
# mkdir /mnt/boot
# mkdir /mnt/boot/EFI
# mount /dev/sdax /mnt/boot/EFI # 将EFI分区挂载到/mnt/boot/EFI
安装基本系统
# pacstrap /mnt base # 基础包
# pacstrap /mnt base-devel # 基础开发包
配置系统
生成分区表
# genfstab -U /mnt >> /mnt/etc/fstab
检查生成的 /mnt/etc/fstab
文件是否正确
# cat /mnt/etc/fstab
切换到新系统
# arch-chroot /mnt
时区
# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
硬件时间设定
# hwclock --systohc --utc
本地化
本地化的程序与库若要本地化文本,都依赖 Locale,后者明确规定地域、货币、时区日期的格式、字符排列方式和其他本地化标准等等。在下面两个文件设置:locale.gen
与 locale.conf
。
/etc/locale.gen
是一个仅包含注释文档的文本文件。指定您需要的本地化类型,只需移除对应行前面的注释符号(#
)即可,建议选择带 UTF-8
的项:
# pacman -S vim
# vim /etc/locale.gen
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
接着执行 locale-gen 以生成 locale 讯息:
# locale-gen
创建 locale.conf
并编辑:
/etc/locale.conf
LANG=zh_CN.UTF-8
LANG=en_US.UTF-8
网络
创建 hostname
文件:
/etc/hostname
myhostname
添加对应的信息到 hosts
:
/etc/hosts
127.0.0.1 localhost
::1 localhost
127.0.1.1 myhostname.localdomain myhostname
无线网络连接
pacman -S iw wpa_supplicant dialog
有线网络连接
# systemctl start dhcpcd
# systemctl enable dhcpcd
root密码
# passwd root
安装微码
pacman -S intel-ucode
安装引导程序
# pacman -S grub efibootmgr
# grub-install --target=x86_64-efi --efi-directory=/boot/EFI --bootloader-id=grub
# grub-mkconfig -o /boot/grub/grub.cfg
重启
# exit # 退回安装环境
# umount -R /mnt # 卸载新分区
# reboot # 重启
至此arch已安装完毕
参考
Installation guide (简体中文)
【真机2019】超详细手把手最新版ArchLinux安装教程
Arch Linux 2019版 安装参考文档
ArchLinux安装图文教程
KDE桌面环境安装
配置国内源
# vim /etc/pacman.conf
在文档末尾添加
[multilib]
Include = /etc/pacman.d/mirrorlist
[archlinuxcn]
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
更新软件仓库
# pacman -Sy
安装 archlinuxcn-keyring 包以导入 GPG key
pacman -S archlinuxcn-keyring
硬件接口服务
# pacman -S xorg xorg-server
核显驱动
查看显卡型号
# spci | grep -e VGA -e 3D
安装核显驱动
# pacman -S xf86-video-intel # intel
# pacman -S xf86-video-ati # amd
输入设备
# pacman -S xf86-input-libinput
触摸板驱动
# pacman -S xf86-input-synaptics
安装显示管理器
KDE推荐使用SDDM作为显示管理器
# pacman -S sddm sddm-kcm
# systemctl enable sddm # 设置SDDM自启动否则无法启动桌面
安装kde桌面
# pacman -S plasma kdebase
kdebase
包括 dolphin
、kate
kdialog
、keditbookmarks
、kfind
、khelpcenter
、konqueror
、konsole
、kwrite
,还可以安装kde-applications
其包含的软件更多
中文字体
安装KDE桌面后实际已安装上Google的noto字体,当然也可选择文泉驿或思源黑体
sudo pacman -S wqy-microhei wqy-microhei-lite wqy-bitmapfont wqy-zenhei ttf-arphic-ukai ttf-arphic-uming adobe-source-han-sans-cn-fonts adobe-source-han-serif-cn-fonts
安装声音软件包
pacman -S alsa-utils pulseaudio pulseaudio-alsa
添加非root用户
KDE桌面环境需要非root用户才能登录
# useradd -m -g users -G wheel -s /bin/bash archuser
# passwd archuser
使用visudo命令,找到%wheel,并将注释放开
# visudo
安装中文输入法
pacman -S fcitx fcitx-rime fcitx-im fcitx-configtool fcitx-sogoupinyin
配置输入法
# vim /home/<username>/.xprofile
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
安装网络工具
# pacman -S net-tools networkmanager
# systemctl enable NetworkManager
grub2主题
https://github.com/Se7endAY/grub2-theme-vimix
# yaourt -S grub2-theme-vimix-git
安装完毕修改/etc/default/grub
文件
GRUB_THEME="/boot/grub/themes/Vimix/theme.txt"
更新grub
# grub-mkconfig -o /boot/grub/grub.cfg
不出意外重启后即可使用kde
KDE桌面美化
KDE桌面支持高度自定义,具体美化可参考
https://www.youtube.com/watch?v=uyz4-KZOzyI
Nvidia独显驱动
独显安装
查看Nvidia独显型号
# lspci -k | grep -A 2 -E "(VGA|3D)"
安装合适的驱动
# sudo pacman -S nvidia
这里需要根据显卡型号选择合适的驱动具体看wiki
安装nvidia驱动后默认会生成/etc/X11/xorg.conf
配置文件,如没有生成则执行以下命令:
# sudo nvidia-xconfig
最小配置如下:
注意PCI 地址是提到 NVIDIA 的输出行的前7个字符,看起来像 01:00.0. 在 xorg.conf 中,需转换为 #:#:# 格式;例如 01:00.0 应该写成 1:0:0.
Section "Module"
Load "modesetting"
EndSection
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "<BusID for NVIDIA device here>" 修改相应的busID
Option "AllowEmptyInitialConfiguration"
EndSection
sddm配置
# sudo vim /usr/share/sddm/scripts/Xsetup
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
重新启动
解决屏幕撕裂
- 在内核选项中添加参数
# sudo vim /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="nvidia-drm.modeset=1"
- 编辑/etc/mkinitcpio.conf
MODULES=(nouveau nvidia nvidia_modeset nvidia_uvm nvidia_drm)
- 运行下面mkinit命令
# sudo mkinitcpio -p linux
查看N卡是否正常运作
# nvidia-smi
参考
NVIDIA
NVIDIA_Optimus
(详细)安装nvidia闭源驱动并且正确配置,arch linux + lightdm + deepin desktop
使用大黄蜂bumblebee
以上的配置完成后独显会持续运作虽性能较好但耗电很快风扇也会转个不停,由于Nvidia在Linux平台未提供类似Windows上擎天柱那样的双显交火技术,因此这里转而使开源的bumblebee
,需要用到独显时再开启独显。
安装
# sudo pacman -S bumblebee mesa xf86_vidoe_intel lib32-virtualgl lib32-nvidia-utils
要使用Bumblebee,必须将常规用户添加到bumblebee组中:
# sudo gpasswd -a user bumblebee
启用bumblebeed.service
服务
# sudo systemctl enable bumblebeed.service
配置
- 去除独显配置
# sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.bak
- 去除sddm配置
# sudo vim /usr/share/sddm/scripts/Xsetup
注释掉下面两行
# xrandr --setprovideroutputsource modesetting NVIDIA-0
# xrandr --auto
这时重启后可能发现独显还是持续运行,这里还需要安装bbswitch
# pacman -S bbswitch
重启后使用lspci
查看显卡状态若为rev ff
则为集显驱动,若要使用独显则使用以下命令:
# optirun application
打开NVIDIA Settings面板命令稍多一些:
# optirun -b none nvidia-settings -c:8
但每次打开需要独显支持的应用还得加上optirun很是麻烦,我们可以在/usr/share/applications
目录下编辑应用图标在EXEC
后加上optirun
,这样以后每次使用图形界面打开应用时就会使用独显了。
显卡性能测试
安装了mesa后可以使用optirun glxgears -info
命令查看独显性能