欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Archlinux笔记本安装手记

程序员文章站 2022-07-27 14:25:51
最近看着Linux Mint里一揽子乱七八糟的应用和散布各处的配置文件愈发烦躁,便想体验下大名鼎鼎的Arch,网上的帖子们把Arch Linux的安装难度描述的非常可怕,但实际上跟着Wiki一步一步来并不需要耗费太多精力。现在把安装过程记录在下面(Arch Wiki写的已经非常详细了,详见 "Arc ......

最近看着linux mint里一揽子乱七八糟的应用和散布各处的配置文件愈发烦躁,便想体验下大名鼎鼎的arch,网上的帖子们把arch linux的安装难度描述的非常可怕,但实际上跟着wiki一步一步来并不需要耗费太多精力。现在把安装过程记录在下面(arch wiki写的已经非常详细了,详见arch wiki(简体中文)):

1. 准备:usb 安装 u 盘或光盘

2. 开机进入live环境

3. 连接网络

我连接的是无线wifi网络,有线网络连接很简单,详见文档

  • 检查网络接口

    ip link

正常的话应该能看到你的网卡和相关信息,记住网卡设备的名字

  • 启动网络设备

    ip link set <设备名> up

    如果正常启动,就说明驱动什么的没问题

我们先使用iw连接无线网络,以后装完系统可以选择其他管理工具如networkmanager

  • 获取接口名

    iw dev

    这时候正常情况应该打印出你的网卡设备的信息了

  • 查看网络状态

    iw dev <设备名> link

    这时候应该显示“not connected.”,表示网络未连接

  • 扫描附件wifi

    iw dev wlan0 scan |less

  • 如果要连接的是无密码的网络那就很省事了

    iw <设备名> connect <网络名称>

  • 如果要连接wpa2加密的网络,我们使用wpa_supplicant这个工具

    wpa_supplicant -i <设备名称> -c <(wpa_passphrase <网络名称> <密码>)

  • 好了,这时候再次查看网络状态

    iw dev <设备名> link

    如果连接成功,应该会显示连接的网络状态

  • 这时候尝试ping百度试试

    ping www.baidu.com

    ping不通是正常的,使用dhcp获取动态ip

    dhcpcd <设备名称>

    再次尝试

    ping www.baidu.com

    ping通的话网络就连接完毕了

4. 更新系统时间

timedatectl set-ntp true

5. 建立硬盘分区

  • 查看磁盘

    fdisk -l

    找到你的要安装系统的硬盘,我的是/dev/sda

  • 设计好分区,我的分区方式是

    分区 挂载点 分区大小 分区类型
    /dev/sda1 /mnt/boot 512mb efi 系统分区
    /dev/sda2 [swap] 8gb linux swap (交换空间)
    /dev/sda3 /mnt 剩余空间 linux x86-64 根目录 (/)
  • 开始分区,可以选择使用fdisk 或 parted 进行分区,我选择fdisk

    fdisk /dev/sda

    进入工具后,m可以查看帮助选项

    p 列出分区表,如果是要新装系统,d 删除当前的分区

    n 新建分区

    ​ 分区序号,默认回车

    ​ first sector,默认回车

    ​ last sector,+512m

    这样第一个分区就建好了,后面两个同理

    t 修改efi 系统分区类型

    选择1号分区,修改为序号1就是efi类型

    最后再p 列出分区表,一切如愿!

    别着急退出!w保存修改

6. 格式化分区

mkfs.fat -f32 /dev/sda1

mkfs.ext4 /dev/sda3

交换分区

mkswap /dev/sda2

swapon /dev/sda2

7. 挂载分区

mount /dev/sda3 /mnt

mkdir /mnt/boot

mount /dev/sda1 /mnt/boot

好啦,准备工作做完啦,接下来就要正式安装系统了

8. 修改镜像源

vim /etc/pacman.d/mirrorlist(当然用不习惯vim也可以用nano)

把标着[china]的统统移动到最前面

保存退出

9. 安装基本系统

pacstrap /mnt base

​ 我还安装了base-devel组,所以我的命令就是

pacstrap /mnt base base-devel

至此,系统就算安装成功啦!

接下来做一些基础的配置

1. 生成自动挂载分区的fstab文件

genfstab -l /mnt >> /mnt/etc/fstab

然后检查挂载情况

cat /mnt/etc/fstab

2. change root 到新安装的系统:

arch-chroot /mnt

3. 设置时区为北京时间:

ln -sf /usr/share/zoneinfo/asia/shanghai /etc/localtime

运行hwclock以生成 /etc/adjtime:

hwclock --systohc

4. 配置语言

nano /etc/locale.gen(新系统里甚至没有vim)

移除下面两行前的注释符

en_us.utf-8 utf-8
zh_cn.utf-8 utf-8

运行locale-gen生成 locale 信息

locale-gen

创建 /etc/locale.conf 并编辑

`nano /etc/locale.conf`

添加lang=en_us.utf-8

5.连接网络

又到了连接网络的时候了,这时候其实遇到了一个神奇的问题:arch系统不带iw工具,所以无法连接网络,但无法连接网络又无法安装iw,我选择用手机usb共享网络,这时和网线连接是一样的,至于大家怎么处理,就八仙过海各显神通吧,总之,把网连上就ok。

6. 设置root密码

passwd

7. 安装引导程序,我选择grub(uefi模式)

pacman -s grub efibootmgr

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

生成配置文件

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

8. 输入 exit 或按 ctrl+d 退出 chroot 环境

9. reboot重启拔u盘,大功告成!

ps:

1. 创建普通用户

useradd -m -g users -s /bin/bash <用户名>(将bash设为默认终端,以后可以改)

设置密码

passwd <用户名>

添加sudo权限

nano /etc/sudoers

在 “root all=(all) all” 下面添加<用户名> all=(all) all

2. 自动挂载u盘:

sudo pacman -s usb_modeswitch udisks2 udevil

systemctl enable devmon@<username>.service

systemctl start devmon@<username>.service