LMLPHP后院

ArchLinux及Gnome主题安装精简教程技术

maybe yes 发表于 2016-07-15 15:35

ArchLinux安装需要一个人懂得磁盘分区,懂得计算机启动相关的知识。通过熟练整个安装的过程,可以使得一个人的计算机水平提升一个层级,对 Linux 软件包生态圈更加熟悉。从 Linux 的安装过程所依赖的各种第三方软件包,可以得知 Linux 除了内核以外,发行版都做的不怎么样,可以算是非常糟糕。所以 Linux 一旦涉及 UI,都是非常不稳定的,跟 Windows 还是没法比的。

ArchLinux 官方推荐使用 GPT 分区表和 EFI(UEFI) 系统分区来安装系统。所以本文也是首选 GPT 和 EFI 的方式来编写整个安装教程,引导程序(Boot Loader)选择最通用 GRUB Boot Loader。本人对于 ArchLinux 的安装已经有了十多次,第一次看文档安装了几次,分别在 U 盘和台式机上都安装了几次,当时使用的是 MBR 分区表;第二次安装较第一次过去了将近半年,在台式机,虚拟机(Linux,Windows)上都安装了几次。经过这么多次的安装,对安装过程才真正熟悉了。

不得不吐槽,ArchLinux 的 Wiki 写的真的很烂,不说重复的地方特别多,并且非常的不系统,不连贯,需要看文档的人非常细心。如果一个人急需安装系统,并且不太熟悉 Linux,你可能折腾了好几天都搞不定,人一旦没有坚持的信念,很多东西就会放弃。ArchLinux 比较其他的 Linux 发行版,优点在于滚动更新,能够保持系统的最新和最简洁,这也是很多人会选择它的原因。ArchLinux 系统和镜像虽然做的好,但是文档和网站做的不怎么样,给人感觉就是使用 MarkDown 胡乱写出来的。

下面开始安装教程:

首选得启动 ArchLinux LiveCD。使用光盘或者 U 盘都可以制作 LiveCD。如果是使用虚拟机可以直接下载 ISO 文件启动。如果你有在 U 盘上安装的 ArchLinux 系统也一样可以用来安装系统,只需要安装 pacstrap 即可。如果是虚拟机启动,最好选择 EFI 方式启动,不选也没有关系,官方的说法是如果不使用 EFI 方式启动,内核中就会缺少 EFI 相关的参数,导致最后生成 GRUB Boot Loader 的时候就不能自动创建一个 GRUB 的入口 (Create a GRUB entry in the firmware boot manager)。

联网

如果是虚拟机,一般没有这个问题。如果是有线网络,一般也没有问题,如果是无线的话,可以安装 wpa_supplicant 来连接,示例:

# ip addr

// example.conf
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=wheel
update_config=1
fast_reauth=1
ap_scan=1

network={
    ssid="MYSSID"
    psk="passphrase"
}

# ip link set dev enp0s3 up
# wpa_supplicant -B -i enp0s3 -c /etc/wpa_supplicant/example.conf
# dhcpcd enp0s3

分区和查看分区

新系统一般需要分区,好的分区是百年大计。分区个人认为比较好用的工具是 gdisk,这个在分区方面比 fdisk 好用。查看分区,使用 fdisk -l。示例:

# gdisk /dev/sda    // 一般是 sda,注意选择
> n    // 新建
...
> i    // 查看
> w    // 保存

一般四个分区,建议:第一分区 EFI 系统分区结束在 514M(选择类型 ef00),第二分区交换分区结束在 1538M(选择类型 8200),第三分区大小 20G 给 ROOT 使用结束在 22018M(类型默认 8300),第四分区 home 分区默认回车最后使用 i 查看,使用 w 保存。

格式化磁盘

# mkfs.vfat -F32 /dev/sda1
# mkswap /dev/sda2
# mkfs.ext4 /dev/sda3
# mkfs.ext4 /dev/sda4

开启交换分区

# swapon /dev/sda2

挂载分区

# mount /dev/sda3 /mnt    // 先挂载 root
# mkdir /mnt/boot
# mkdir /mnt/home
# mount /dev/sda1 /mnt/boot    // EFI 系统
# mount /dev/sda4 /mnt/home    // home

选择镜像

开始安装第一件事情一定要选择 mirror,这一步每次安装都得做,除非你不用 LiveCD 安装。这一步一定不能省,不能省,不能省。这个事关安装的成败。如果忘记了设置安装到一半失败了,下次安全得重新格式化磁盘,还是挺麻烦的。

# vi /etc/pacman.d/mirrorlist

在中国安装就得将 China 的镜像放到最前面,一般放个一两个就差不多了,如果要安装 gnome 桌面,最好多放几个,中国的几个高校,比如浙大啊,安装系统还是蛮快的,安装桌面的很多软件包就找不到了。

开始安装

# pacstrap /mnt base

其实安装还是很简单的,就这么一个命令比较重要,然后就是等待,快则几分钟,慢则几个小时。

genfstab (生成系统磁盘分区信息描述文件)

# genfstab -p /mnt >> /mnt/etc/fstab

这一步主要生成系统分区信息,如果没有正确的生成,以后也是可以再次修改的。

切换到新系统

# arch-chroot /mnt
# vi /etc/locale.gen    // 语言配置,一般打开 zh_CN.UTF-8 和 en_US.UTF-8
# locale-gen
# locale > /etc/locale.conf
# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

初始化内存盘

# mkinitcpio -p linux

创建 Root 密码

# passwd

引导程序(Boot Loader)

Boot Loader 是安装过程比较关键的一步。本教程选择兼容性比较好的 GRUB 引号程序。

# pacman -S grub
# pacman -S efibootmgr

# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub --boot-directory=/boot
或
# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub

# grub-mkconfig -o /boot/grub/grub.cfg

// 下面可以省略
# mkdir /boot/EFI/boot
# cp /boot/EFI/grub/grubx64.efi /boot/EFI/boot/bootx64.efi
# efibootmgr -c -d /dev/sda -p 1 -l /boot/EFI/refind/refind_x64.efi -L "rEFInd"

到这里为止,安装已经结束,接下来只需 exit & reboot

系统安装完成后可能不能启动,如果以 EFI 方式启动进入了 efi shell,说明安装是成功的,只是 EFI 系统不知道怎么启动系统。需要手动启动,示例:

> FS0:
> EFI\grub\grubx64.efi

安装过程中可能会涉及到部分命令没有找到,需要使用 pacman 手动安装。到目前为止,系统已经安装完成。

安装 gnome 桌面环境。

# pacman -S gnome gnome-extra gdm xorg xorg-xinit
# cp /etc/X11/xinit/xinitrc ~/.xinitrc

修改 ~/.xinitrc 文件,将文件结尾处的 exec 注释掉,加上 exec gnome-session。

启动 gnome

# startx

默认启动桌面

# systemctl enable gdm.service

本文一气呵成,大部分的地方都涵盖到了。安装过程比较麻烦且重要的是分区(parted),引导程序(Boot Loader),桌面(desktop)。剩下的一些细节我就没有提到,比如时区,字体,浏览器,输入法。

相关文章
2024-04-26 21:24:57 1714137897 0.013075