最近在评论区看到很多人对Linux开始感到兴趣,身为一个精通各种系统开关机,各种发行版安装与卸载的老司机,我觉得我有必要站出来为大家安利一下Arch Linux了。
Arch Linux是一款轻量、简单的发行版,我个人感觉这是最适合新手的一个发行版,使用起来也非常的方便,但是很多人觉得它的安装较为麻烦。其实如果一切都非常简单的话那还要学习干什么呢?我觉得一次完整的Arch Linux安装也正是一个新手接触Linux的最好机会,可以让他对Linux有一个最基础的了解。下面我会详细的介绍一下Arch Linux的基本系统的安装。(ps.此篇重点介绍系统安装,所以刻录镜像之类不再重点描述,将直接从安装开始)。
1、安装准备
1.1进入livecd开始安装
我这里使用的UEFI+GPT的环境安装,如果是Legacy启动,显示界面会有些不同。本篇也仅着重于UEFI+GPT模式的安装。
1.2选择合适的镜像源
编辑/etc/pacman.d/mirrorlist,把合适的镜像源移动到首项,设为首选。个人推荐163、中科大及清华的镜像源,较为稳定。当然,在此之前不要忘了测试下当前网络是否正常。
1.3创建分区
因为要使用GPT分区,所以使用gdisk来分区。使用命令为:
# gdisk /dev/sdx
此处的sdx是代指你的硬盘名,如果使用nvme的ssd的话硬盘名也可能是nvme0n1。gdisk的使用方法和fdisk是一样的,都是"n"创建新分区,"d"删除已创建分区,"w"保存配置,"p"查看当前分区,目前的话只要知道这四个指令就可以了。实在记不得时候,也可以输入"?"来查看帮助。
具体的分区方案视个人需求而定。就我个人而言,我比较推荐新手只分三个区:boot、/、EFI(ps.如果是Legacy+MBR可以无视EFI分区)。下面是我的分区方案,仅供参考。
1.4格式化分区
文件系统格式有很多,诸如ext4、VFAT、BtrFS、F2FS、XFS、ReiserFS等等,每个文件系统之间都有或多或少的差异,譬如ReiserFS对碎片文件处理行性能较好,XFS处理大文件性能较好等等。对于刚接触Linux的人来说,这些只要稍微了解一下就可以了,不必深入。
回到正题,上面分了三个区,EFI为了兼容性需求要求格式化成vfat格式,命令为:
# mkfs.vfat -F32 /dev/sda1
boot分区格式化为ext4,命令为:
# mkfs.ext4 /dev/sda2
因为我分的根目录容量较小,所以就格式化为ReiserFS,命令为:
# mkfs.reiserfs /dev/sda3
注意,以上sda1、sda2、sda3都是我个人所分的区,一定要看清自己的分区名替换进去,不要盲目复制粘贴。
1.5挂载分区
分区方案为:EFI、boot、/。首先,我们要先挂载根目录,一般直接挂载在mnt目录下就行,然后先分别创建boot目录和EFI目录,再分别挂载,命令如下:
# mount /dev/sda3 /mnt
# mkdir /mnt/boot
# mount /dev/sda2 /mnt/boot
# mkdir /mnt/boot/EFI
# mount /dev/sda1 /mnt/boot/EFI
这是所有文件系统的介绍和使用命令。
至此,所有的准备就都完成了下面开始系统安装。
2、安装
安装非常简单,只需要一条命令:
# pacstrap /mnt
如果有其他需要安装的软件也可以直接在此命令中加入,譬如想使用aur的话需要加上base-devel,实现命令为:
# pacstrap -i /mnt base base-devel
接下来就是漫长的等待,直至安装结束,开始配置。
3、配置系统
3.1生成Fstab
使用genfstab生成fstab文件,命令如下:
# genfstab -U /mnt /mnt/etc/fstab
这里的-U参数是指定文件中以UUID识别各分区,如果想用卷标识别分区可用-L参数替换。
3.2 Chroot进入新系统
# arch-chroot /mnt /bin/bash
使用此命令进入新系统。
3.3安装引导
引导的选择非常多,像systemd-boot、rEFInd、Clover、GRUB等等,由于篇幅限制,我们只介绍两种支持UEFI的引导。(ps.二选一啊,千万不要安装多个引导。)
3.3.1 GRUB
首先要安装GRUB及相关软件。
# pacman -S dosfstools grub efibootmgr
Pacman是Arch Linux的包管理器,-S是安装参数,参数后跟的3个单词为包名。
# grub-install --target=x86_64-efi --efi-directory=/boot/EFI --bootloader-id=arch_grub–recheck
grub-install是GRUB的安装命令;--target参数是指示为什么系统安装GRUB,现在Arch Linux已经不再支持32位系统的维护,这里也仅介绍efi的安装模式,所以此参数照搬便可;--efi-directory参数指定安装位置;--bootloader-id参数则指定此系统引导在引导选项中所显示的名称,可随自己的喜好更改。
# grub-mkconfig -o /boot/grub/grub.cfg
这里就比较简明了,自动配置GRUB。
3.3.2 rEFInd
首先安装rEFInd。
# pacman -S refind-efi
# refind-install–usedefault /dev/sda1
refind-install命令是refind的安装命令,--usedefault参数是指定使用默认配置安装,/dev/sda1是我的安装路径,这里一定要填自己的efi分区的卷标,不要盲目复制粘贴。
# mkrlconf
此命令用于生成refind的配置文件,然后编辑生成的配置文件/boot/refind_linux.con
删除其他无用的项目,“:wq”保存并退出。
3.4重启
输入exit命令退出chroot模式,再使用reboot命令重启。重启后,专属于你的Arch Linux就展现在你的面前了。当然,这只是一个最基础的系统,还有进行一些额外的安装才能正常使用
4、安装后配置
4.1设置主机名
# echo myhostname > /etc/hostname
echo命令类似printf,输出后面的参数到屏幕上;>符号将输出内容覆盖到/etc/hostnam文件中,如果没有这个文件则会自行创建。
4.2设置时区
# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ln命令的作用是创建连接,-s是创建软连接。(ps.如果此条命令执行有什么错误的话,可以直接删除/etc/localtime,然后再执行。)
# hwclock --systohc–utc
设置时间标准为UTC。
4.3 Locale
如果想要系统支持中文的话,编辑/etc/locale.gen注释掉想要支持的语言,一般来说注释掉两项就够了:en_US.UTF-8 UTF-8、zh_CN.UTF-8 UTF-8。(ps.此处的支持中文并不是指tty支持中文。)
# locale-gen
此命令用于更改/etc/locale.gen文件后生成新的本地化文件。
# echo LANG=en_US.UTF-8 > /etc/locale.conf
设置locale语言,不推荐这里设置中文locale,这样会导致tty乱码。
4.4创建新用户
创建新用户的命令是useradd,举例:
# useradd -m dahu
-m参数是让计算机在创建用户的同时一并创建用户的home文件夹。dahu是即将创建的用户名。
# passwd dahu
passwd是更改密码的命令,后面跟要被更改密码的用户名,如果不跟用户名,则默认为当前用户。开机后root账户也要更改下密码,没有密码的root账户在很多需要root权限的地方会无法正常使用。(ps.具体表现为:有些操作需要提供root密码但又不支持空密码。)
5、结语
好了,一切配置完毕,接下来请尽情欣赏你的……好像光命令行也没什么好欣赏的:-d。如果是作为桌面电脑使用的话,没有桌面也确实不像样。但是Linux的桌面太多了,kde、dde、xfce、gnome等等,大家可以都去尝试一遍,然后选择自己最喜欢的。个人审美不同,在此我就不多赘述了。(ps.懒人建议使用gnome,pacman -S gnome,gnome会将Xserver、gdm等当作依赖自动安装,而且gnome的开箱即用性上也非常强,不需要额外进行过多设置。至于显卡驱动,那又是一个大坑:-P,推荐参考官方wiki词条AMD_Catalyst和NVIDIA)。
最后给大家一个忠告,没有什么人是因为用什么系统或者用什么工具而变得利害的,如果你想要在这方面成为一个大牛,那就不要在各种发行版或者桌面之间进行过多的折腾,而是用这个工具去多学一点真正的知识。而在开篇我说Arch Linux是最适合新手的一个原因就是Arch官方的wiki真的很全,基本上我遇到过的各种坑,都在wiki中找到过答案,这是其他发行版都比不上的资源,希望大家能好好利用这个资源去更方便的获取一些新的知识。共勉!
相关推荐:
Linux中怎么安装美图秀秀?
红帽linux怎么安装第三方字体?
Linux怎么使用命令查看文件指定行数的内容?
ArchLinux,Linux
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com