前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Archlinux基本安装

Archlinux基本安装

原创
作者头像
vivi
修改2021-12-09 17:48:46
1.9K0
修改2021-12-09 17:48:46
举报
文章被收录于专栏:vblogvblog

预安装

获取安装映像

访问下载页面,根据您想要的启动方式,获取 ISO 文件或网络启动映像,以及相应的GnuPG签名。

验证签名

建议在使用前验证镜像签名,特别是从HTTP 镜像下载时,下载通常容易被拦截以服务恶意镜像

在与系统的GnuPG安装,做到这一点通过下载PGP签名(下校验下载页)到ISO目录,并验证它:

代码语言:txt
复制
$ gpg --keyserver-options auto-key-retrieve --verify archlinux- version -x86_64.iso.sig

或者,从现有的 Arch Linux 安装运行:

代码语言:txt
复制
$ pacman-key -v archlinux- version -x86_64.iso.sig

笔记:

  • 如果签名是从镜像站点下载的,而不是从上面的archlinux.org下载,则签名本身可以被操纵。在这种情况下,请确保用于解码签名的公钥由另一个可信赖的密钥签名。该gpg命令将输出公钥的指纹。
  • 另一种验证签名真实性的方法是确保公钥的指纹与签署 ISO 文件的Arch Linux 开发人员的密钥指纹相同。有关验证密钥的公钥过程的更多信息,请参阅Wikipedia:Public-key cryptography

准备安装介质

安装映像可以通过USB 闪存驱动器光盘或带有PXE的网络提供给目标机器:按照相应的文章从所选映像为自己准备安装介质。

启动实时环境

注意: Arch Linux 安装映像不支持安全启动。您需要禁用安全启动才能启动安装介质。如果需要,可以在完成安装后设置安全启动

  1. 将当前引导设备指向具有 Arch Linux 安装介质的设备。通常它是通过在POST阶段按下一个键来实现的,如启动屏幕所示。有关详细信息,请参阅您的主板手册。
  2. 当出现安装介质的引导加载程序菜单时,选择

Arch Linux 安装介质 并按Enter进入安装环境。

提示: 安装映像使用systemd-boot在 UEFI 模式下启动,使用syslinux在 BIOS 模式下启动。有关引导参数的列表,请参阅README.bootparams

  1. 您将以root 用户身份登录第一个虚拟控制台,并显示Zsh shell 提示。

要切换到不同的控制台(例如,在安装的同时查看Lynx 的本指南),请使用Alt+arrow快捷方式. 要编辑配置文件,可以使用mcedit(1)nanovim。有关安装介质中包含的包的列表,请参阅packages.x86_64

设置控制台键盘布局

默认的控制台键盘映射US。可用的布局可以列出:

代码语言:txt
复制
# ls /usr/share/kbd/keymaps/**/*.map.gz

要修改布局,请将相应的文件名附加到loadkeys(1),省略路径和文件扩展名。例如,要设置德语键盘布局:

代码语言:txt
复制
# loadkeys de-latin1

# 自定义
vim xxx.conf
loadkeys xxxx.conf

设置显示字体

控制台字体位于/usr/share/kbd/consolefonts/并且同样可以使用setfont(8)进行设置。

可用的字体可以列出:

代码语言:txt
复制
# ls /usr/share/kbd/consolefonts/

建议选择一个较大的字体,方便识别。

代码语言:txt
复制
# setfont /usr/share/kbd/consolefonts/LatGrkCyr-12x22.psfu.gz

验证启动模式

要验证引导模式,请列出efivars目录:

代码语言:txt
复制
# ls /sys/firmware/efi/efivars

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

连接到互联网

要在实时环境中设置网络连接,请执行以下步骤:

  • 确保您的网络接口已列出并启用,例如使用

ip-link(8)

ip link

显示如:wlan0 <UP>,确保是UP状态,如果是down,请手动开启

ip link set wlan0 UP

  • 对于无线和 WWAN,请确保该卡未被rfkill阻止。
  • 连接到网络:
  • 以太网 — 插入电缆。
  • WI-FI — 最简单办法是手机连接电脑选择USB网络共享。
  • Wi-Fi — 使用iwctl对无线网络进行身份验证。
代码语言:javascript
复制
  iwctl                           #进入交互式命令行device list                     #列出设备名,比如无线网卡看到叫 wlan0station wlan0 scan              #扫描网络station wlan0 get-networks      #列出网络 比如想连接CMCC-5AQ7这个无线station wlan0 connect CMCC-5AQ7 #进行连接 输入密码即可exit                            #成功后exit退出
代码语言:txt
复制
无线设备有时会被禁用,如果 `device list` 输出的 Powered 字段为 off(断电),则需要使用 `rfkill` 来启用 WIFI。若无法正确建立连接,先检查无线设备状态
代码语言:txt
复制
```bash

rfkill list

代码语言:txt
复制
```
代码语言:txt
复制
如果看到 blocked: yes 字样,说明无线连接被禁用,首先再次确保硬件无线开关属于开启状态。
代码语言:txt
复制
其次尝试启用无线连接[[1\]](https://wiki.archlinux.org/index.php/Network_configuration/Wireless#Check_the_driver_status):
代码语言:txt
复制
```

ip link set wlan0 up #比如无线网卡看到叫 wlan0

代码语言:txt
复制
```
代码语言:txt
复制
若看到类似`Operation not possible due to RF-kill`的报错,继续尝试`rfkill unblock wifi`来解锁无线网卡。
代码语言:txt
复制
```bash

rfkill unblock wifi

代码语言:txt
复制
```
  • 移动宽带调制解调器 — 使用mmcli实用程序连接到移动网络。
  • 配置您的网络连接:
  • DHCP:动态 IP 地址和 DNS 服务器分配(由systemd-networkdsystemd-resolved 提供)应该适用于以太网、WLAN 和 WWAN 网络接口。
代码语言:txt
复制
```
代码语言:txt
复制
# dhcpcd &
代码语言:txt
复制
```

ping archlinux.org

注意: 在安装镜像中,systemd- networkdsystemd-resolvediwdModemManager是预先配置并默认启用的。对于已安装的系统,情况并非如此。

更新系统时钟

使用timedatectl(1)确保系统时钟准确:

代码语言:txt
复制
# timedatectl set-ntp true

要检查服务状态,请使用timedatectl status

对磁盘进行分区

当被实时系统识别时,磁盘被分配给块设备,例如/dev/sda/dev/nvme0n1/dev/mmcblk0。要识别这些设备,请使用lsblkfdisk

代码语言:txt
复制
# fdisk -l

rom,结尾的结果,loop或者airoot可能会被忽略。

下面分区需要对所选择的设备:

如果您想为LVM系统加密RAID创建任何堆叠块设备,请立即执行。

使用fdiskparted来修改分区表。例如:

代码语言:txt
复制
# fdisk /dev/the_disk_to_be_partitioned

笔记:

示例布局

挂载点

划分

分区类型

建议尺码

/mnt/boot1

/dev/efi_system_partition

至少 300 MiB

[SWAP]

/dev/swap_partition

Linux交换

超过 512 MiB

/mnt

/dev/root_partition

Linux x86-64 根 (/)

设备的剩余部分

  1. /mnt/efi如果使用的引导加载程序能够从根卷加载内核和 initramfs 映像,则其他挂载点(例如)也是可能的。请参阅Arch boot process#Boot loader 中的警告。

挂载点

划分

分区类型

建议尺码

[SWAP]

/dev/swap_partition

Linux交换

超过 512 MiB

/mnt

/dev/root_partition

Linux

设备的剩余部分

另请参阅Partitioning#Example layouts

注意:

//boot 是必须划分的两个分区,swap分区可不划分,在系统安装完成后设置swap文件实现。另外,可以单独划分分区并挂载到 /home,这样,之后若要安装其他系统则可以直接挂载之前的/home,个人的文件就会保留。

格式化分区

创建分区后,必须使用适当的文件系统格式化每个新创建的分区。有关详细信息,请参阅文件系统#创建文件系统

例如,要在 上创建 Ext4 文件系统,请运行: /dev/*root_partition*

代码语言:txt
复制
# mkfs.ext4 /dev/ root_partition

如果你为swap创建了一个分区,用mkswap(8)初始化它:

代码语言:txt
复制
# mkswap /dev/ swap_partition

注意: 对于堆叠的块设备,替换为适当的块设备路径。/dev/**_partition*

如果您创建了 EFI 系统分区,请使用mkfs.fat(8) 将其格式化为 FAT32 。

警告: 仅当您在分区步骤中创建 EFI 系统分区时才对其进行格式化。如果预先在磁盘上已经有 EFI 系统分区,重新格式化它可能会破坏其他已安装操作系统的引导加载程序。

代码语言:txt
复制
# mkfs.fat -F 32 /dev/ efi_system_partition

挂载文件系统

将根卷挂载/mnt. 例如,如果根卷是: /dev/*root_partition*

代码语言:txt
复制
# mount /dev/root_partition /mnt

/mnt/efi使用mkdir(1)创建任何剩余的挂载点(例如并挂载它们对应的卷。

对于 UEFI 系统,挂载 EFI 系统分区:

代码语言:txt
复制
# mount /dev/ efi_system_partition /mnt/boot

如果您创建了交换卷,请使用swapon(8)启用它:

代码语言:txt
复制
# swapon /dev/swap_partition

genfstab(8)稍后将检测已安装的文件系统和交换空间。

安装

选择镜像

要安装的包必须从镜像服务器下载,镜像服务器/etc/pacman.d/mirrorlist. 在实时系统上,连接到互联网后,反射器通过选择最近同步的 20 个 HTTPS 镜像并按下载速率排序来更新镜像列表。

代码语言:txt
复制
# 添加到最上面Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$archServer = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch

镜像在列表中的位置越高,下载包时它的优先级就越高。您可能需要检查文件以查看它是否令人满意。如果不是,则相应地编辑文件,并将地理上最近的镜像移动到列表顶部,但应考虑其他条件。

此文件稍后将被pacstrap复制到新系统,因此值得正确使用。

安装基本包

使用pacstrap(8)脚本安装基本包、Linux内核和通用硬件固件:

代码语言:txt
复制
# pacstrap /mnt base linux linux-firmware

提示:

  • 您可以将linux替换为您选择的内核包,或者您可以在安装在容器中)时完全省略它。
  • 在虚拟机或容器中安装时,您可以省略固件包的安装。

基地包不包括从实况安装所有的工具,所以在安装其它软件包可以为一个全功能的基本系统是必要的。特别是,请考虑安装:

安装其他软件包或软件包组,请将名称附加到上面的pacstrap命令(空格分隔)或在chroot 到新系统时使用pacman。为了进行比较,可以在 packages.x86_64 中找到实时系统中可用的

配置系统

生成分区表

生成一个fstab文件(使用-U或分别-LUUID或标签定义):

代码语言:txt
复制
# genfstab -U /mnt >> /mnt/etc/fstab

检查生成的/mnt/etc/fstab文件,并在出现错误时对其进行编辑

进入系统

将 root 更改为新系统:

代码语言:txt
复制
# arch-chroot /mnt

设置时区

设置时区

代码语言:txt
复制
# ln -sf /usr/share/zoneinfo/Region/City/etc/localtime# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

运行hwclock(8)来生成/etc/adjtime

代码语言:txt
复制
# hwclock --systohc

此命令假定硬件时钟设置为UTC。有关详细信息,请参阅系统时间#时间标准

语言环境

编辑 /etc/locale.gen和取消注释en_US.UTF-8 UTF-8 zh_CN.UTF-8 UTF-8 zh_TW.UTF-8 UTF-8 zh_HK.UTF-8 UTF-8以及其他需要的语言环境。通过运行生成语言环境:

代码语言:txt
复制
# vim /etc/locale.gen# locale-gen

注意: 如果这里提示 vim 命令没找到,则先安装 vim pacman -Sy vim

创建locale.conf(5)文件,并设置LANG变量相应:

代码语言:txt
复制
vim /etc/locale.conf输入LANG= en_US.UTF-8# 不要直接改成zh_CN,可能造成乱码

如果您设置了控制台键盘布局,请在vconsole.conf(5)保持更改:

代码语言:txt
复制
vim /etc/vconsole.confKEYMAP=de-latin1....如按键设置等

网络配置

修改主机名:

代码语言:txt
复制
vim /etc/hostnamemyhost

为新安装的环境完成网络配置。修改hosts文件

代码语言:txt
复制
vim /etc/hosts127.0.0.1        localhost::1              localhost127.0.1.1        myhost.localdomain	   myhost

安装网络管理软件。

代码语言:txt
复制
pacman -S networkmanager

初始文件

通常不需要创建新的initramfs,因为mkinitcpio是在使用pacstrap安装内核包时运行的

对于LVM系统加密RAID,修改mkinitcpio.conf(5)并重新创建 initramfs 映像:

代码语言:txt
复制
# mkinitcpio -P

设置密码

设置root用户密码

代码语言:txt
复制
# passwd

安装引导加载程序

选择并安装支持 Linux 的引导加载程序。如果您有 Intel 或 AMD CPU,请另外启用微码更新。

grub为例

代码语言:txt
复制
# intel-ucode 是微码。如果是 amd cpu, 则安装 amd-ucode , os-prober加载其他引导,ntfs-3g用于识别 ntfs文件系统pacman -S grub efibootmgr intel-ucode os-prober ntfs-3g# 确认系统架构# uname -m  # x86_64# /boot是你引导分区所在目录grub-install --target=x86_64-efi --efi-directory=/boot# 生成 grub 配置文件(默认位置 /etc/default/grub)grub-mkconfig -o /boot/grub/grub.cf

注意:

os-prober是用于搜索其他操作系统引导(比如你在windows电脑上安装linux系统),也就是保证你重启时界面上能同时看到windows和arch启动项。通常,os-prober会自动发现包含 Windows 的分区。但是,使用默认 Linux 驱动程序挂载时,可能无法始终检测到 NTFS 分区。如果 GRUB 没有检测到它,请尝试安装NTFS-3G并重新安装。

如果 grub-mkconfig 遇到错误:

代码语言:txt
复制
Warning: os-prober will not be executed to detect other bootable partitions

请编辑/etc/default/grub文件并添加/取消注释:

代码语言:txt
复制
GRUB_DISABLE_OS_PROBER=false

然后再试一次

重启

通过键入exit或按退出 chroot 环境Ctrl+d

可以选择手动卸载所有分区umount -R /mnt:这允许注意任何“繁忙”分区,并使用fuser(1)查找原因。

最后,输入reboot以下命令重新启动机器:systemd将自动卸载任何仍在安装的分区。记得移除(拔掉启动U盘)安装介质,然后使用root帐户登录新系统。

安装后

请参阅系统管理指导和安装后教程的一般建议(如创建非特权用户帐户、设置图形用户界面、声音或触摸板)。

有关可能感兴趣的应用程序列表,请参阅应用程序列表

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 预安装
    • 获取安装映像
      • 验证签名
        • 准备安装介质
          • 启动实时环境
            • 设置控制台键盘布局
              • 设置显示字体
                • 验证启动模式
                  • 连接到互联网
                  • ip link
                  • 显示如:wlan0 <UP>,确保是UP状态,如果是down,请手动开启
                  • ping archlinux.org
                    • 更新系统时钟
                      • 对磁盘进行分区
                        • 格式化分区
                          • 挂载文件系统
                            • 安装
                              • 选择镜像
                              • 安装基本包
                            • 配置系统
                              • 生成分区表
                              • 进入系统
                              • 设置时区
                              • 语言环境
                              • 网络配置
                              • 初始文件
                              • 设置密码
                              • 安装引导加载程序
                            • 重启
                              • 安装后
                              相关产品与服务
                              容器服务
                              腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                              领券
                              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档