在Surface笔记本上安装Arch Linux全过程
作者:互联网
系统安装
安装参考:archlinuxcn.org
设置网络
这里以WIFI举例,主要使用iwctl进行配置,记住这个命令就行
有线的更简单,直接就是有网的
其他网络配置参见archlinuxcn
(通过rfkill list
查看网卡是否被禁用,如果被禁用,输入rfkill unblock wifi
取消禁用WIFI设备)
输入ip link
,如果看到<..., LOWER_UP>
字样(后面的红字DOWN不用管,连上WIFI后会变成绿色的UP)说明系统已经启用了网络接口,如果被禁用,输入ip link set [interface] up
,其中[interface]
是你的接口名,比如wlan0
。
通过iwctl
配置WIFI,下面的[WIFI]
改成你的WIFI名
# 列出设备
device list
# 扫描WIFI
station wlan0 scan
# 列出WIFI网络
station wlan0 get-networks
# 连接WIFI
station wlan0 connect [WIFI]
# 接着输入密码
# 查看状态,显示connected
device wlan0 show
# 输入help查看帮助,输入exit退出
这时候再输入ip link
就会有一个绿色的UP
了。
最好再ping
一下以防万一。
ping -c 3 archlinux.org
更新系统时间
使用 timedatectl(1) 确保系统时间是准确的:
timedatectl set-ntp true
可以使用 timedatectl status
检查服务状态。
更换源
# 自动配置 在国内的 最新的(最多)20个 按速度排序 协议为HTTPS的源 保存到/etc/pacman.d/mirrorlist中
reflector --country China --latest 20 --sort rate --protocol https --save /etc/pacman.d/mirrorlist
# 这个文件会被写入新系统中,还请仔细检查
cat /etc/pacman.d/mirrorlist
# 同步仓库
pacman -Syy
硬盘分区
这里仅展示最简单的硬盘分区(一个UEFI引导分区,一个Linux System分区还有一个swap交换分区),还请以实际情况为准
输入lsblk
或fdisk -l
显示磁盘及分区,找到你要分区的盘符,输入gdisk /dev/nvme0n1
或fdisk /dev/nvme0n1
(更加推荐cfdisk /dev/nvme0n1
,可视化操作界面)开始分区。
知道要分哪些区,分多大,什么格式,原理都是相通的,只是命令不一样罢了。这里以gdisk
为例:
o # 新建GPT分区表(清空原来所有的分区)
n
# 两次回车
+512M
ef00 # EFI
n
# 两次回车
+228.9G
# 回车,默认Linux filesystem
n
#三次回车(把磁盘剩余空间分完)
8200 # swap分区
p # 打印检查
w # 写入
Y # 保存退出
分区格式化
# 根分区 ext4
mkfs.ext4 /dev/nvme0n1p2
# 交换分区 swap
mkswap /dev/nvme0n1p3
# 引导分区 fat32
mkfs.fat -F 32 /dev/nvme0n1p1
挂载分区
# 一定要先挂载根分区
mount /dev/nvme0n1p2 /mnt
# boot还不存在,需要先创建,也可以是/mnt/efi或者/mnt/boot/efi
mkdir -p /mnt/boot
mount /dev/nvme0n1p1 /mnt/boot/efi
swapon /dev/nvme0n1p3
# 检查一下分区大小,格式,挂载点
lsblk -f
注意: 挂载分区一定要遵循顺序,先挂载根(root)分区(到 /mnt
),再挂载引导(boot)分区(到 /mnt/boot
或 /mnt/efi
,如果单独分出来了的话),最后再挂载其他分区。否则您可能遇到安装完成后无法启动系统的问题。
安装内核
pacstrap /mnt base linux linux-firmware vim
# 这时候/mnt目录里就会有很多文件夹了
# 后面需要配置很多文件,最好下个vim
配置系统
用以下命令生成 fstab 文件 (用 -U
或 -L
选项设置UUID 或卷标):
# 写入分区挂载顺序、挂载点等信息
genfstab -U /mnt >> /mnt/etc/fstab
强烈建议在执行完以上命令后,后检查一下生成的 /mnt/etc/fstab
文件是否正确。
切换root
Change root 到新安装的系统,这时候就相当于我们登陆到了这个系统里面:
arch-chroot /mnt
Root 密码
设置 Root 密码,不然到时候登不进去:
passwd
设置时区
要设置时区:
# ln -sf /usr/share/zoneinfo/Region(地区名)/City(城市名) /etc/localtime
提示: 以要设置为上海时区为例,请运行 # ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
然后运行 hwclock(8) 以生成 /etc/adjtime
:
hwclock --systohc
这个命令假定已设置硬件时间为 UTC 时间。详细信息请查看 System time#Time standard。
本地化
程序和库如果需要本地化文本,都依赖 Locale,后者明确规定了地域、货币、时区日期的格式、字符排列方式和其他本地化标准。
需在这两个文件设置:locale.gen
与 locale.conf
。
编辑 /etc/locale.gen
,然后取消掉 en_US.UTF-8 UTF-8
和 zh_CN.UTF-8 UTF-8
前的注释。
接着执行 locale-gen
以生成 locale 信息:
locale-gen
然后创建 locale.conf(5) 文件,并 编辑设定 LANG 变量,比如:
# /etc/locale.conf
LANG=en_US.UTF-8
# LANG=zh_CN.UTF-8 # 如果想用中文的话(不推荐中文)
这两个配置文件中的内容必须一致,否则会出现错误!
网络配置
创建 hostname 文件(会显示在命令提示符前面那一串里面,比如[root@hostname ~]
):
# /etc/hostname
myhostname
添加对应的信息到 hosts(5):
# /etc/hosts
127.0.0.1 localhost
::1 localhost
127.0.1.1 [myhostname].localdomain [myhostname] # 主机名.本地域名 主机名
如果系统有常设的 IP 地址,请使用这个常设的 IP 地址而不是 127.0.1.1
。
请注意,目前的 base 不含有任何网络管理工具。对于新安装的系统环境,请接着完成网络配置,配置过程中可能包括要安装合适的网络管理软件。
pacman -S networkmanager # 后面用来设置网络
安装引导程序
需要安装 Linux 引导加载程序,才能在安装后启动系统,可以使用的的引导程序已在 启动加载器 中列出,请选择一个安装并配置它,GRUB (简体中文) 是最常见的选择。
如果有 Intel 或 AMD 的 CPU,请另外启用 微码 更新。
警告: 这是安装的最后但也至关重要的一步,请按上述指引正确安装好引导加载程序后再重新启动。否则将无法正常进入系统。
代码如下:
pacman -S grub efibootmgr intel-ucode
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id="Arch Linux"
vim /etc/default/grub # 看自己喜好修改一些参数(可选)
grub-mkconfig -o /boot/grub/grub.cfg # 生成GRUB配置文件;自动发现微代码并自动更新GRUB
systemctl enable NetworkManager
exit
重启
输入 exit
或按 Ctrl+d
退出 chroot 环境。
可选用 umount -R /mnt
手动卸载被挂载的分区:这有助于发现任何「繁忙」的分区,并通过 fuser(1) 查找原因。(比如在/mnt
目录里卸载自己)
最后,通过执行 reboot
重启系统,systemd 将自动卸载仍然挂载的任何分区。不要忘记移除安装介质,然后使用 root 帐户登录到新系统。
cd / # 不要在/mnt里umount /mnt!
umount -R /mnt
reboot
系统完善
系统管理引导,图形用户界面的安装、声音管理、触摸板支持等后期工作参见 General recommendations (简体中文)。
感兴趣的各类程序,请参见 List of applications (简体中文)。
连接网络
以WIFI为例:
nmtui
# 进入NetworkManager
# 选activate a connection
# 然后输入密码就行
更新时间
# 同步时间(需要网络)
timedatectl set-ntp true
# 确认一下时间对不对
timedatectl status
更新源
# 如果没有换过源的话
pacman -S reflector
reflector --country China --latest 20 --sort rate --protocol https --save /etc/pacman.d/mirrorlist
# 检查内容无误
cat /etc/pacman.d/mirrorlist
# 添加第三方源
vim /etc/pacman.conf
# 添加如下内容:
# 不要加SigLevel,我们使用默认的等级;下面三个随便选一个
[archlinuxcn]
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
# Server = http://repo.archlinuxcn.org/$arch
# Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
# 推荐写法-Syyu或-Syu或-S,不要使用-Syy或-Sy,即有y一定要有u
pacman -Syyu
# 可能会出现签名错误
pacman -S archlinuxcn-keyring
解决签名问题(可选)
要完成这些操作,请以 root 权限运行:
pacman -Syu haveged
systemctl start haveged
systemctl enable haveged
rm -fr /etc/pacman.d/gnupg
pacman-key --init
pacman-key --populate archlinux
pacman-key --populate archlinuxcn
# 再重新试一次
pacman -S archlinuxcn-keyring
参考:https://www.archlinuxcn.org/gnupg-2-1-and-the-pacman-keyring/
添加用户
useradd --create-home shang
passwd shang
usermod -aG wheel,users,storage,power,lp,adm,optical shang
id shang
# 添加必要的系统工具
pacman -S sudo
# 配置默认编辑器,这个只是临时的
export EDITOR=vim
visudo
# 找到 %wheel ALL=(ALL:ALL) ALL 这一行取消注释,保存退出
显卡驱动
AMD显卡
pacman -S xf86-video-amdgpu xf86-video-ati mesa vulkan-radeon
Intel显卡
pacman -S xf86-video-intel vulkan-intel mesa
英伟达显卡
pacman -S nvidia nvidia-settings nvidia-utils
音频驱动
pacman -S alsa-utils pulseaudio pulseaudio-bluetooth
打印机驱动
pacman -S cups
触摸板驱动
# pacman -S xf86-input-synaptics
# 上面这个包已经停止维护,Arch Linux官方推荐使用下面这个
pacman -S xf86-input-libinput libinput-gestures
蓝牙驱动
pacman -S bluez bluez-utils
systemd enable bluetooth.service
systemd start bluetooth.service
触摸屏驱动
以下是Surface解决方案,参考于linux-surface
添加签名密钥
curl -s https://gitee.com/SamLukeYes/linux-surface/raw/master/pkg/keys/surface.asc | sudo pacman-key --add -
pacman-key --finger 56C464BAAC421453
pacman-key --lsign-key 56C464BAAC421453
将下面的内容添加到/etc/pacman.conf
文件的末尾。
[linux-surface]
Server = https://pkg.surfacelinux.com/arch/
下面开始安装:
pacman -Syu
pacman -S linux-surface linux-surface-headers iptsd
# 自启动
systemctl enable iptsd
如果你用的是Surface Pro 4, 5, 6, Book 1, 2, Laptop 1, 2
,你还需要安装一个用于驱动WIFI的包
pacman -S linux-firmware-marvell
重启即可,使用screenfetch
查看效果
pacman -S screenfetch
screenfetch
# 此时会看到右边Kernel含有surface字样说明驱动安装成功,可以使用触屏功能了
# Kernel: x86_64 Linux 5.16.10-arch1-1-surface
安装图形环境
# 建议先安装显卡驱动
pacman -S xorg
安装字体
# 英文字体
pacman -S ttf-dejavu ttf-droid ttf-hack ttf-font-awesome oft-font-awesome ttf-liberation ttf-linux-libertine ttf-opensans ttf-roboto ttf-ubuntu-font-family
# 中文字体
pacman -S ttf-hannom noto-fonts noto-fonts-extra noto-fonts-emoji noto-fonts-cjk adobe-source-code-pro-fonts adobe-source-sans-fonts adobe-source-serif-fonts adobe-source-han-sans-cn-fonts adobe-source-han-sans-hk-fonts adobe-source-han-sans-tw-fonts adobe-source-han-serif-cn-fonts wqy-zenhei wqy-microhei
# 使用FreeType2引擎渲染字体
vim /etc/profile.d/freetype2.sh
# 取消注释最后一行,保存退出
清除缓存
pacman -Scc
reboot
安装AUR助手
推荐安装paru
,打开终端,输入以下命令:
sudo pacman -S git base-devel
git clone https://aur.archlinux.org/paru.git
cd paru
makepkg -si
更多使用教程:https://zhuanlan.zhihu.com/p/350920414
安装配置aria2
加速下载Github文件
sudo pacman -S aria2
sudo vi /etc/pacman.conf
# 找到XferCommand这一行,添加如下内容:
XferCommand = /usr/bin/aria2c --allow-overwrite=true --continue=true --file-allocation=none --log-level=error --max-tries=2 --max-connection-per-server=2 --max-file-not-found=5 --min-split-size=5M --no-conf --remote-time=true --summary-interval=60 --timeout=5 --dir=/ --out %o %u
安装配置fish
sudo pacman -S fish
# 将下面这句命令加到~/.bashrc文件最后
# 注意,使用chsh -s /bin/fish是存在问题的,推荐下面的做法
[ -s /bin/fish ] && [ -z "$BASH_EXECUTION_STRING" ] && [[ $(ps --no-header --pid=$PPID --format=cmd) != "fish" ]] && exec fish
系统美化-Gnome
安装桌面环境
以GNOME为例:
pacman -S gnome gnome-extra gdm
systemctl enable gdm.service
添加输入法
安装命令:
sudo pacman -S fcitx5-im fcitx5-chinese-addons # 直接回车
添加环境变量:
欲在程序中正常启用 Fcitx5
, 需设置以下环境变量,并重新登录:
vim ~/.pam_environment
GTK_IM_MODULE DEFAULT=fcitx
QT_IM_MODULE DEFAULT=fcitx
XMODIFIERS DEFAULT=\@im=fcitx
INPUT_METHOD DEFAULT=fcitx
SDL_IM_MODULE DEFAULT=fcitx
GLFW_IM_MODULE DEFAULT=ibus
添加词库:
用{}括起有相同前缀的两个包,下面的包相当于:fcitx5-pinyin-zhwiki, fcitx5-pinyin-moegirl
sudo pacman -S fcitx5-pinyin-{zhwiki,moegirl}
安装完成即可使用,另外建议启用云拼音,来源选Baidu。
外观设置:
sudo pacman -S fcitx5-material-color
# 类似win10内置输入法风格
然后前往 Fcitx5设置
-> 配置附加组件
-> 经典用户界面
-> 主题
设置主题Material-Color-Teal
。
高分屏设置同样在这个窗口上:Use Per Screen DPI
。
重启即可使用。
其他:
参考:更多Fcitx5输入法
安装Gnome桌面扩展
# 进入Gnome扩展网站:https://extensions.gnome.org
# 点击安装浏览器插件
# 然后安装connector
git clone https://aur.archlinux.org/chrome-gnome-shell.git
cd chrome-gnome-shell
makepkg -si
# 之后便可在上述网站搜索安装所需插件
推荐的Gnome插件:
- ArcMenu 集成的应用程序菜单
- Blur my Shell 美化界面
- Dash to Dock 增强型Dock
- Just Perfection 控制面板的隐藏和显示
- Vitals 实时显示计算机硬件信息
Gnome的卸载
sudo systemctl disable gdm.service
sudo pacman -Rscn gnome gnome-extra gdm
系统美化-DWM
DWM是一个键盘驱动的窗口管理器,它的宗旨是尽可能地用键盘来代替鼠标的功能。
下载安装
# 依赖环境
# sudo pacman -S xorg xorg-server xorg-xinit
# 下载源码
git clone https://git.suckless.org/dwm
git clone https://git.suckless.org/st
git clone https://git.suckless.org/dmenu
修改快捷键
默认的主修饰键是Alt,可能会和某些应用程序中的快捷键冲突,所以这里将其修改为Super键
进入下载的dwm
的源代码文件夹,编辑config.def.h
找到 #define MODKEY Mod1Mask
中的Mod1Mask
(即Alt
键)替换为Mod4Mask
(即Super
键)。
编译安装
cd dwm
sudo make clean install
cd ../st
sudo make clean install
cd ../dmenu
sudo make clean install
安装一些工具
sudo pacman -S xorg-xinit feh udisks2 udiskie pcmanfm archlinux-wallpaper
编辑启动脚本
在启动dwm前进行一些个性化的设置
cp /etc/X11/xinit/xinitrc ~/.xinitrc
vim ~/.xinitrc
# 删除最后几行,从twm &开始
# 最后添加以下内容
# Input method
fcitx5 &
# Resolution
xrandr --output eDP1 --mode 2736x1824 --rate 59.96
# Wallpaper
feh --bg-fill --randomize /usr/share/backgrounds/archlinux/*
# execute dwm
exec dwm
# 保存退出
进入dwm
startx
自动识别U盘
sudo systemctl enable udisks2
更多软件
其中的
yay
可以换成paru
办公软件(WPS)
yay -S ttf-wps-fonts wps-office wps-office-mui-zh-cn wps-office-mime-cn ttf-ms-fonts cups
最后的话
人生苦短,我用Manjaro!
标签:--,安装,pacman,sudo,mnt,Surface,etc,Linux,Arch 来源: https://www.cnblogs.com/juzaizai/p/15921418.html