安装Arch Linux以及配置桌面+常用软件

2023-07-16 17:32 | Arch Linux日用 | #Linux# #Arch Linux#

目录

    前言

    在一切开始之前,我需要说明以下三件事:(爹味溢出,可以跳到后面)

    1. Arch Linux一个月一个新版本,安装过程常常有改变,且软件库常有变动,**不能保证这篇文章永远正确,最好的安装方式应该是对照英语版的ArchLinuxWiki**
    2. 学会安装Arch Linux,学会使用Vim和Emacs并不能使你的编程能力有什么提高,好比擅长安装Office套件和灵活使用Office,二者不可同日而语焉。(当然,Geetoo和LFS的安装和使用能够让你熟悉Linux的文件结构和软件从源代码到可执行文件的编译过程,前提是逃离舒适区,专注于探索与解决问题
    3. 美化是没有尽头的,配置是没有尽头的,在二者身上浪费太多的时间,是忽略电脑生产工具事实的本末倒置,是不可取的。时间很宝贵,要用在产出比更高的事情上,要给思考留出时间,给重要的人留出时间。
    4. 希望你过得幸福快乐

    安装前的准备

    下载映像文件

    建议使用国内的镜像以加快速度,比如:

    通过这些网站稳定、快速、现代的镜像服务,我们能够轻松地下载镜像。

    刻录镜像

    准备一个至少1G的USB Disk作为刻录设备。当然,如果你愿意可以使用Grub2直接引导镜像文件(如果有的话),方法见附录。

    在Windows下,建议使用rufus刻录。

    在Linux/Unix like,可以尝试dd命令烧录。

    (当然,这并不是最好的方法。事实上对支持iso模式启动的映像来说,直接将其解压放入USB Disk是一个更加轻松的做法)

    sudo dd if=$archlinux.iso of=$USB_Disk #自己替换内容
    

    更改BIOS设置(如果有)

    关于如何进入BIOS,根据主板类型有不同的快捷键,比如Dell的是F11,可自行查询。

    • 关闭 安全启动(Secure Boot)

    • 关闭 快速存储技术(Intel Rapid Storage Technology,RST)

    • 关闭 Windows的快速启动

    安装Arch Linux

    重启,选择启动项,进入USB Disk中的Live系统。

    配置网络

    有线连接使用dhcpcd,无线连接使用iwctl

    首先开启网卡:

    ip link
    

    这里以我的输出为例子:

    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT g roup default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: enp3s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000 link/ether e4:54:e8:0f:d4:ba brd ff:ff:ff:ff:ff:ff 3: wlp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000 link/ether c0:b5:d7:72:48:4f brd ff:ff:ff:ff:ff:ff

    一般以e开头的都是有线网卡,比如这里的enp3s0;一般以w开头的都是无线网卡,比如这里的wlp4s0

    下面我们开启网卡(默认禁用,有可能也没禁用,但是如果你不能判断的话,运行一次也不会影响):

    ip link set wlp4s0 up # 开启wlp4s0
    

    接下来连接Wi-Fi(以下的wlp4s0请替换成自己的网卡名)

    以前是用wifi-menu来着,现在改用iwctl

    iwctl
    

    列出网卡(有刚才的网卡名就成功了):

    station device list
    

    连接网络:

    station wlp4s0 scan
    station wlp4s0 get-networks
    station wlp4s0 connect ${网络名称}
    station wlp4s0 show
    exit
    

    输入第三条命令后可能会要求输入Wi-Fi密码(如果有的话),切忌输入错误

    测试网络是否已经连接:

    ping -c 3 www.baidu.com
    

    硬盘分区、格式化与挂载

    这里推荐用cfdisk,其图形化界面非常友好。

    MBR启动至少有一个/根分区就可以了,UEFI还要挂载ESP分区到/boot(或者其他目录,但是这样方便grubUEFIndsystem-boot等引导工具安装)

    以前推荐使用ext4格式化,现在似乎更推荐用性能更好,概念更新的brtfs(GNU社区对标zfs的项目)。

    对于非EFI目录,我们使用brtfs分区。

    mkfs.brtfs ${分区目录}
    

    对于EFI目录,如果已经有了其他系统的引导文件,那就去不复顾,勿动勿虑。反之则使用exfat格式化。

    配置pacman

    按速度添加国内源:

    reflector --country China --sort rate --save /etc/pacman.d/mirrorlist
    

    可以开启pacman颜色显示

    vim /etc/pacman.conf
    

    输入/+#Color,定位到#Color那一行。然后i到编辑模式,把#去掉后输入:+wq退出vim

    然后同步:

    pacman -Syy
    

    可以顺便安装一些有用的包:

    • tree 树形图显示目录
    • lynx/w3m 命令行浏览器,在之后等安装系统的时候可以切换到别的tty浏览网页,在命令行下不能显示中文
    • fish 开箱即用,非常好用的自动补全

    挂载分区

    mount ${根分区} /mnt
    mkdir /mnt/boot
    mount ${ESP分区} /mnt/boot #如果是UEFI的话
    

    如果安装了tree命令可以使用该命令检查:

    tree /mnt
    

    安装系统

    这句命令的意思是安装软件到/mnt目录下:

    (个人强烈推荐fish

    pacstrap -i /mnt linux linux-firmware linux-headers base base-devel vim bash-completion
    

    生成fstab和chroot

    安装完后,生成开机挂载目录的配置文件:

    genfstab -U /mnt >> /mnt/etc/fstab
    cat /mnt/etc/fstab #检查一下
    

    然后chroot进入新系统。

    Arch,启动!

    arch-chroot /mnt
    arch-chroot /mnt /usr/bin/fish #如果装了fish就输入这句
    

    设置用户与密码

    root用户密码:

    passwd
    

    创建新用户:

    useradd -m -g wheel -c /usr/bin/fish ${user}#如果有fish的话输入-c及以后内容
    passwd ${user}
    

    配置sudo

    使用visudo

    visudo
    

    输入/+wheel,定位到有NO PASSWD那一行。然后i到编辑模式,把#去掉后输入:+wq退出

    (vim的基本使用方法后面不再详细介绍)

    本地化

    设置语言:

    vim /etc/locale.gen
    

    自己把en_US.UTF-8 UTF-8那一行和zh_CN.UTF-8 UTF-8那一行的#去掉:

    locale-gen
    echo.UTF-8 >> /etc/locale.conf
    

    安装引导

    使用Grub2

    grub2应该是以前最常用的引导管理器了。历史悠久,兼容性好,国内资料也很多,有问题也方便解决。

    pacman -S grub efibootmgr
    grub-install
    

    使用system-boot

    system-boot主要针对 gpt 分区与固态硬盘,是systemd组件的一部分,继承其简单粗暴的风格。

    安装 bootloader

    pacman -S system-boot
    bootctl install
    

    bootctl默认path=/boot,如果不是需要指定,使用:

    bootctl install --path=$dir
    

    配置 loader.conf

    vim /boot/loader/loader.conf
    

    输入:

    default arch
    timeout 3 #如果嫌弃的话可以注释掉这行
    editor 0
    

    参数非常的简单明了,启动也非常的快。

    接下来配置/boot/loader/entries/arch.conf,创建并输入:

    title arch
    linux /vmlinuz-linux
    initrd /initramfs-linux.img
    options root=/dev/nvme0n1p3 rw
    

    注意:这里的/dev/nvme0n1p3是根目录,需要依照实际情况更改

    更新引导:

    bootctl update
    

    用UEFI的有兴趣的也可以用efibootmgr手动引导和UEFInd管理器,这里不再赘述。

    安装桌面环境(以KDE为例)

    先安装Xorg和驱动、中文字体

    pacman -S xorg
    pacman -S xf86-video-intel vulkan-intel mesa alsa alsa-utils pulseaudio pulseaudio-bluetooth cups
    pacman -S 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
    

    再安装KDE:

    pacman -S plasma sddm konsole dolphin kwrite
    

    安装网络管理器

    KDE和GNOME默认集成NetworkManager

    pacman -S networkmanager
    

    启动服务

    systemctl enable sddm
    systemctl enable NetworkManager
    

    最后重启

    exit
    reboot