Archlinux使用笔记1--安装

要学习最好就是实践,首先就要有一台ArchLinux的电脑,这里借了同学一台用来学习,在此感谢同学的施舍!

这里先列出安装时参考的内容(我所贴的官方链接为中文版本,不具有时效性,所以建议去看英文版,奈何我英语差得要死):

1、ThCW的视频-安装ArchLinux的小白教程

2、Arch官方Wiki-系统安装

安装所需要内容:

1、电脑,电脑的配置不需要太高,毕竟Arch的强大就在这里,架构我用的x86

2、U盘,这个是启动盘,如果连这个都不知道如何做的话,百度吧,毕竟不需要特别多的操作,这里我就不写了,我烧录镜像所使用的软件是etcher,推荐各位使用

3、网络,安装Arch是需要在线安装的,而且安装的是最新版。

好了,开始安装,将制作好的引导盘插入电脑的USB2.0的接口然后开机选择从U盘启动(这里从U盘启动每种电脑不一样,有可能比较麻烦,有问题自行百度吧)

进入U盘环境中后可以改一下字体大小以及键盘布局,根据情况而定,这与安装系统无关!!!我改了一下按键键位而已

这里注意一下:官方手册中有讲到,此时需要验证你的启动方式更具启动方式不同,后期安装的部分操作是不同的,验证方法我就copy官方了:


验证启动模式

要验证启动模式,请用下列命令列出 efivars 目录:

# ls /sys/firmware/efi/efivar

如果命令没有错误地显示了目录,则系统以 UEFI 模式启动。 如果目录不存在,系统可能以 BIOS 模式 (或 CSM 模式) 启动。如果系统未以您想要的模式引导启动,请参考您的主板手册。


上面说过整个安装过程需要在线进行,所以接下来紧接着要进行的就是联网的操作,你可以直接使用网线直接连接到电脑主机,这样方便省事,但我用的笔记本并且没有网线可以进行上网,所以需要配置wifi进行联网操作,安装盘里自带了一些工具来让我们进行网络相关的配置,CW大神使用的是wpa_supplicant和dhcpcd来进行上网,我也是从这里学习的。

第一步、联网:

首先需要查看你的网络相关硬件设备,使用ip link指令可以查看当前的设备,一般情况下(这里是我遇到的情况,不保证每人的情况一致)第三个是wlan0,然后后面有个尖括号里只有两项,没有第三项UP,如果有UP则说明该硬件已经打开了,直接到连接步骤即可,但如果是两项,则使用指令打开该硬件:

ip link set wlan0 up

执行该指令后有两种情况(我遇到的),一个是无反应,然后再使用ip link指令检查发现打开成功,另一种会报一个错误:

RINETLINK answers: Operate not possible due to RF-kill

该错误原因是rfkill这个子程序软或硬锁定了这个设备,此时需要解锁才可以使用,可以使用rfkill -h来获取帮助,可以参考这个链接RF-kill

使用rfkill list可以列出硬件被锁定的信息,然后找到你的wifi硬件执行

rfkill unblock 3    #这个数字是你的硬件对应的号码

解锁后再次使用ip link set wlan0 up即可开启成功。

硬件打开后就需要扫描查看当前有哪些可用的网络,如果你确定知道当前有的无线名称和无线密码可以直接到连接步骤,这一步可以跳过。使用iwlist进行扫描当前的网络:

iwlist wlan0 scan | grep ESSID

简单解读:这条指令可以列出来当前wlan0设备扫描到的wifi名称,iwlist wlan0 scan可以显示出当前所扫描到的所有信息,但由于信息太多并且好多内容都用不到所以使用 | 管道将scan出来的信息用grep来进行筛选,grep类似于一个搜索指令工具,用它来搜索所有的ESSID值并显示出来,ESSID就是网络名称。

接着连接,有很多工具可以进行连接使用,这里采用wpa_supplicant来进行连接,主要是视频中用的这个方法。首先需要一个网络配置文件,这个用下面指令生成:

wpa_passphrase wifi名称 wifi密码 > net.conf

其中wifi名称和密码直接写就行,中间用空格隔开,区分大小写,后面的大于号相当于输出到,紧接着一个文件名,文件名可以随意,没必要非得是net.conf,生成好后可以打开检查一下,一般没啥问题,然后使用下面指令进行连接:

wpa_supplicant -c net.conf -i wlan0 &

这里的net.conf就是刚刚上面生成的配置文件,-c意思就是使用配置文件,-i意思是通过该设备连接,后面跟着设备名称。最后添加了&表示另外开一个线程去执行,不阻塞当前线程。如果没有写&导致阻塞了可以使用Ctrl-c来关掉然后重来。此时就可以连接到网络了,这个时候ping baidu.com一下看看是否连接了,如果连接了开始其他的准备环境,但如果仍然ping不通,则需要进行动态ip地址分配:这里使用dhcpcd来进行动态ip地址分配:

dhcpcd &

执行后一般都连接上了。连接好网络之后需要更正一下系统时间:

timedatectl set-ntp true

至此,网络连接结束!

二、磁盘分区

每个系统都有自己的分区要求,但是像安装其他系统,分区一般都是自动进行的,Arch需要你手动进行。同样的,分区工具有好多,这里使用fdisk进行,首先查看磁盘列表,以确定你需要将系统安装在哪个盘:

fdisk -l

这里举个例子:(以下是我电脑系统盘的信息)

Disk /dev/sdb: 111.79 GiB, 120034123776 bytes, 234441648 sectors
Disk model: KINGSTON SV300S3
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: F2AB3811-1611-A24B-9889-2731C8F7CEAE

Device       Start       End   Sectors   Size Type
/dev/sdb1     2048   1050623   1048576   512M Linux filesystem
/dev/sdb2  7342080 234441614 227099535 108.3G Linux filesystem
/dev/sdb3  1050624   7342079   6291456     3G Linux filesystem

Partition table entries are not in disk order.

前面Disk后跟着的是硬盘的位置,也可以说是分配的硬盘名,后面Device下三个代表三个分区的名称和详细信息!

根据官方手册里说的格式和分区:


分区示例

BIOS 与 MBR
挂载点分区分区类型建议大小
/mnt/dev/sdX1Linux剩余空间
[SWAP]/dev/sdX2Linux swap (交换空间)大于 512 MiB
UEFI 与 GPT
挂载点分区分区类型建议大小
/mnt/boot/mnt/efi/dev/sdX1EFI 系统分区260–512 MiB
/mnt/dev/sdX2Linux x86-64 根目录 (/)剩余空间
[SWAP]/dev/sdX3Linux swap (交换空间)大于 512 MiB

另请参阅 布局示例

注意:


再结合你电脑启动方式来判断自己所需要的分区格式。这里我的是UEFI启动,所以使用的是第二种,从上面的磁盘格式可以看出。

首先使用fdisk选中你要操作的硬盘来执行分区操作(这里用我的硬盘作为例子):

fdisk /dev/sdb    #这里的sdb是你的硬盘位置,注意没有后面的数字

执行后会选中当前硬盘,然后m指令可以显示帮助,p指令可以打印出当前状态信息。

使用g命令(就是输入g然后回车)会创建一个新的GPT格式的分区,但是会覆盖掉原来的所有分区。(这里说明一下,第一,刚刚已经选中了这个硬盘,所以接下来的所有操作都只会影响到当前硬盘,不会影响到其他硬盘。第二,目前的所有操作都不会执行,只有当使用w指令后,更改操作才会被真正执行)

然后先创建一个系统引导分区,使用n指令创建一个新的分区,此时会让你选择分区号,默认为1,回车就好选择默认,然后选择起始地址,同样回车默认,接着需要输入大小,按照官方文档,我们设置引导分区的大小为512M即可,所以输入+512M然后回车,这时如果你的硬盘之前有格式它会提示你要不要去掉以前的格式,这里输入y并回车即可,如果没有就没有。此时系统分区已经创建成功了。

然后创建一个swap分区(swap分区主要用来在电脑休眠的时候保存内存数据,并在系统硬盘不够的时候进行使用,具体解释可以看CW视频或者自行百度),使用n指令创建一个新的分区,分区号这次我们选择3,然后起始地址默认,大小官方推荐大于512M,我这里分配了3G,所以我输入了+3G,然后回车完成。

最后创建系统主分区,使用n指令创建一个新的分区,一路回车创建完成。

创建完毕后就需要写入到硬盘了,此时使用w指令写入即可。

然后根据每个分区的不同功能开始格式化磁盘分区:

1、系统引导盘的格式为FAT32格式,所以使用命令格式化它:

mkfs.fat -F32 /dev/sdb1    #这里的sdb1就是刚刚分区的名字,根据自己的号码来写

2、系统主分区格式我选择格式化成ext4,当然也有其他格式:

mkfs.ext4 /dev/sdb2

3、制作swap并打开:

mkswap /dev/sdb3    #制作swap
swapon /dev/sdb3    #打开swap

到此,磁盘分区就结束了,接下来就可以进行安装了!

但是安装的时候我们需要把系统安装在硬盘里,所以需要将刚刚分好区的磁盘挂载在当前U盘环境下,这里我们挂载在/mnt目录下,从分区的时候来看,sdb2我们设定为主分区,所以将sdb2来挂载在/mnt目录下,这样当我们访问/mnt目录的时候就是在访问该分区了:

mount /dev/sdb2 /mnt

然后我们需要在sdb1分区里放置系统引导的内容,也就是对应的是系统目录的/boot目录,所以我们在/mnt下新建一个名为boot的文件夹并且把它挂载在这个文件夹下:

mkdir /mnt/boot    #创建文件夹
mount /dev/sdb1 /mnt/boot    #挂载分区

现在我们进行下一步!

三、安装Arch系统

在安装之前,为了提升下载速度,我们需要处理一下国内源,使用你熟悉的编辑器,我这里使用的是vim,可以自行百度操作,这里不多说。使用编辑器编辑/etc/pacman.conf文件,然后找到community下的文件,然后打开那个文件(vim下的操作就是将光标移动到该文件名上然后点击gf即可跳转到),这个文件里是各种源,由于根据你安装的时间不一样,这个文件里的内容也不一样,所以这里讲一下我遇到的两种情况,第一种:有国家注释,这个就好办了,找到中国的注释的源并把它提前到文件最上面,因为下载的时候是从最上面开始往下搜索,所以放到最上面是最合理的,然后保存退出进行下一步。

第二种比较头疼,没有注释,所有国家的源混淆在一起,这里说个办法,如果你认识一部分国内源,比如163或者清华源等等,就把它们搜索一下并放到文件最前面,但如果什么都不知道,去网页上打开官网镜像状态这个链接然后找success的下面的中国源,然后在文件里搜索,找到对应的后提前就可以了,不然下载速度会很慢很慢很慢!

处理完成后保存后退出,开始使用pacstrap命令来进行下载安装:

pacstrap /mnt base linux linux-firmware

因为我们将主分区挂载在了/mnt下,所以这里需要安装到的地方就是/mnt目录了,其中base里包含的是Arch系统最基础的内容,linux是linux内核,linux-firmware为框架。

安装完成后我们需要生成文件系统的信息fstab,使用命令:

genfstab -U /mnt >> /mnt/etc/fstab

tips:文件fstab包含了电脑上的存储设备及其文件系统的信息,它是决定一个硬盘(分区)被怎样使用或者说整合到整个系统中的唯一文件。

这一步完成后,安装可以算结束了,接下来要进行一些必要配置

四、配置

目前虽然安装完成,但我们仍然在U盘环境,使用命令进入系统然后进行一些配置:

arch-chroot /mnt

1、更改时区,这一步应该都能理解为什么,要想显示正确的时间,就得设置合适的时区,在中国设置成上海即可,毕竟大家都使用的同一个时间:创建一个链接并且同步系统时钟

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime    #创建链接
hwclock --systohc    #同步时钟以生成/etc/adjtime

2、本地化配置

本地化配置主要配置本地的系统语言和网络地址名称等,首先设置本地系统语言,这里需要注意的一点,由于系统是完全纯净的,所以在当前的系统环境中没有编辑器,所以无法直接编辑文本,你可以使用pacman命令来安装一个文本编辑器,但这里我不采用这种方法,但是在U盘环境中是有编辑器的,比如VIM,所以我使用exit命令退回到U盘系统中来编辑文本,然后再次进入系统环境进行其他配置,所以接下来你会看到我的命令中不止一次的退回U盘环境,原因仅仅是因为系统中没有编辑器。说明一点,当退回到U盘环境中去编辑系统文件时,因为系统盘被挂载在/mnt目录下,所以在编辑的时候地址前面添加了/mnt,不理解的可以停下来仔细想想:

exit    #退回到U盘环境
vim /mnt/etc/locale.gen    #编辑/etc目录下的locale.gen文件

在该文件中找到#en_US UTF-8这一行,前面#代表注释,然后去掉注释,也就是删除掉#,然后保存并退出!

arch-chroot /mnt    #进入系统环境
locale-gen    #生成本地化配置
exit    #退回U盘环境
vim /mnt/etc/locale.conf    #编辑/etc/locale.conf这个文件(这个是新创建的文件)然后在该文件里添加一行:
LANG=en_US.UTF-8    #将这一行内容写入,然后保存并退出

如果你需要不同的键盘布局,可以再编辑/etc/vconsole.conf文件来配置你自己的键盘布局,这里我不需要,所以不更改,视频中有讲到这里还可以更改键盘键位,我试过无效,所以不在这里更改了。

3、网络相关配置

接下来配置网络相关,编辑/etc/hostname这个文件,也是新建,文件里写一个名字,这个名字会在登陆的时候显示出来,所以可以说是这台机器的名字。我这里设置成了arch,下面会用到。

然后编辑/etc/hosts文件来配置一些IP地址,在该文件中添加以下内容,注释都不用添加

127.0.0.1    localhost    #代表该Ip地址对应localhost,也就是本地
::1          localhost    #同上
127.0.0.1    arch.localdomain arch    #官方手册上这里最后一行为127.0.1.1,如果不是永久IP地址就写127.0.1.1,这里的arch是我刚设置的机器的名字

保存并退出,然后网络相关就可以了。

4、创建密码

这里目前系统中只有一个用户,root,但是你并不知道密码,所以需要自己设置一个:

arch-chroot /mnt    #首先进入系统环境
passwd    #执行该指令后设置自己的密码,根据提示重复输入后即可设置成功

5、创建系统引导

这一步通常是最后一个步骤,但也是最关键的一个,如果没有这一步,系统重启后无法被正确引导到你所安装的系统中!

首先需要安装系统引导程序,使用pacman命令来安装,说明一下,pacman是Arch系统下的包管理程序,类似与Ubuntu下的apt。

pacman -S grub efibootmgr intel-ucode

其中-S代表安装,后面三个代表要安装的内容:

grub是启动引导程序,efibootmgr是用来管理UEFI启动项的,intel-ucode是程序提供商或厂家用来更新电脑驱动使用的,由于我的这台电脑使用的是因特尔的,所以这里用的是这个,如果是AMD的,则对应安装amd-ucode即可。如果你的电脑要安装多个系统的话,还可以安装一个os-prober用来寻找电脑中其他的系统,我这里就不安装了。

安装完成后开始配置,在/boot目录下创建一个文件夹grub,并通过grub-mkconfig生成配置文件

mkdir /boot/grub    #创建文件夹
grub-mkconfig > /boot/grub/grub.cfg    #生成配置文件

然后安装grub引导,这里注意需要和自己的电脑的CPU架构匹配,使用uname -m命令可以查看自己电脑的架构,我的电脑架构是x86_64,所以使用如下命令,如果你的不是这个架构,可以参考官方手册来确定自己需要用什么命令!

grub-install --target=x86_64-efi --efi-directory=/boot

至此,安装工作结束。

6、为了能够让电脑启动后可以使用命令连接网络以及可以编辑文本,所以我这里再安装几个工具

pacman -S vim wpa_supplicant dhcpcd

安装完成后推出环境并重启以及拔掉U盘

exit
reboot

重启后你将得到一个全新的,纯净的,反应迅速的Arch操作系统!安装到这里就结束了,之后会记录其他的工具等等内容!!!

注:由于也是初学,对一些概念以及理解肯定有欠缺、不足、甚至错误,还请多多包含,希望大神们能够多多指出!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值