archlinux基础安装步骤

使用虚拟机安装archlinux的步骤简单介绍,一下都是legacy启动模式


参考资料

  1. ArchWiki,根据上面指令即可完成安装
  2. 在 VirtualBox 里安装 Arch Linux 操作系统
  3. linux下(fdisk,gdisk,parted)三种分区工具比较
  4. linux分区之ext2,ext3,ext4,gpt
  5. Linux学习笔记(二):什么是挂载?mount的用处在哪?
  6. Arch Linux 基本系统安装教程( UEFI+GPT )

ArchLinux和Linux的联系

商家将Linux系统的内核与外围应用软件和文档包装起来, 并提供系统安装界面和系统设置管理工具, 这样就构成了一个发行版本, ArchLinux是其中一个发行版本。

Archlinux Principles

  • Simplicity: Arch Linux defines simplicity as without unnecessary additions or modifications.

  • Modernity: a one-time installation with continuous upgrades

  • Pragmatism(实用): The large number of packages and build scripts in the various Arch Linux repositories offer free and open source software for those who prefer it, as well as proprietary software packages for those who embrace functionality over ideology.

  • 翻译:Arch Linux 的仓库中包含大量的软件包和编译脚本。用户可以按照需要进行自由选择。仓库中既提供了开源、自由的软件,也提供了闭源软件。实用性大于意识形态.

  • User centrality: All users are encouraged to participate and contribute to the distribution.

  • Versality(通用): Arch Linux is a general-purpose distribution. Upon installation, only a command-line environment is provided: rather than tearing out unneeded and unwanted packages, the user is offered the ability to build a custom system by choosing among thousands of high-quality packages provided in the official repositories for the x86-64 architecture.

    Arch is backed by pacman, a lightweight, simple and fast package manager that allows to upgrade the entire system with one command. Arch also provides the Arch Build System, a ports-like system to make it easy to build and install packages from source, which can also be synchronized with one command. In addition, the Arch User Repository contains many thousands more of community-contributed PKGBUILD scripts for compiling installable packages from source using the makepkg application. It is also possible for users to build and maintain their own custom repositories with ease.

    翻译:Arch Linux 是通用发行版,初始安装仅提供命令行环境:用户不需要删除大量不需要的软件包,而是可以从官方软件仓库成千上万的高质量软件包中进行选择,搭建自己的系统。支持x86-64 架构。

    Arch有一个易用的包管理系统Pacman,仅凭一条命令就升级整个系统。Arch还提供一个类似ports的包构建系统(Arch Build System),通过它可以轻松从源码构建和安装软件包,并用一个命令完成同步。你甚至可以用一个命令重新构建整个系统。Arch还提供Arch User Repository,它包含了数千个由用户维护的PKGBUILD脚本,配合makepkg工具,从编译到打包一气呵成。用户还能轻松构建和维护属于自己的自定义软件源。

算了还是用中文吧

准备工作

下载archlinux

推荐从清华镜像站任选一个版本下载

什么是开源镜像站

因为源的主机在一个地方,其它一些稍微远的地方的机器从这个源上更新比较慢,所以就会在离自己近的地方将这个源同步复制过来,这样从镜像站的源更新就会比之前快很多了。所以这就是为什么会有很多大学镜像站,因为都是同步到了校园内的主机,对于校园内网来说速度会飞快。(然而hdu并没有嘤嘤嘤)

不同的ISO版本有什么区别吗

我也不知道,大概没有吧

x86-64

X86-64可在同一时间内处理64位的整数运算,并兼容X86-32架构。其中支持64位逻辑定址,同时提供转换为32位定址选项;但数据操作指令默认为32位和8位,提供转换成64位和16位的选项;支持常规用途寄存器,如果是32位运算操作,就要将结果扩展成完整的64位。这样,指令中有“直接执行”和“转换执行”的区别,其指令字段是8位或32位,可避免字段过长。x86处理器的32bit寻址空间限制在4GB内存,而IA-64的处理器又不能兼容x86。AMD考虑顾客需求,加强x86指令集的功能,使这套指令集可同时支持64位的运算模式,因此AMD把它们的结构称之为x86-64。总之最近几年的电脑都是64位处理器的cpu

在虚拟机上导入archlinux的iso

选择x64,若未跳出此选项进入bios(一般是F2,F10和Del键)enable虚拟机选项

BIOS的两种形式

BIOS包含UEFI和legacy(传统)两种启动模式UEFI全称“统一的可扩展固件接口”(Unified Extensible Firmware Interface), 是一种详细描述类型接口的标准。这种接口用于操作系统自动从预启动的操作环境,加载到一种操作系统上。UEFI方式减少了BIOS的自检过程,因此能够缩短开机时间,UEFI只支持64为系统且磁盘分区必须为gpt模式。如果你的PC在UEFI启动模式下预装了Win10,你会发现有两个很小的隐藏分区。一个叫ESP(EFI系统分区),另一个MSR(Microsoft保留分区,通常为128MB),MSR是windows要求的。ESP对UEFI启动模式很重要,UEFI的引导程序是以后缀名为.efi的文件存放在ESP分区中的,ESP分区采用fat32文件系统。此外,可能还存在一个小分区叫WinRETools,这个是win10的恢复分区

CSM

CSM是一个兼容支持模块,可以让新的UEFI BIOS兼容老的legacy+MBR启动模式。

GPT

GPT是一种新型磁盘模式,与我们常用的MBR磁盘相比更稳定,自纠错能力更强,一块磁盘上主分区数量不受限制,支持大于2T的总容量及大于2T的分区,并且几乎没有上限,最大支持到128个分区,分区大小支持到256TB。

补充:GPT和MBR和都是引导硬盘或者u盘进去操作系统的主引导文件,MBR识别最大2TB的分区,GPT可以识别最大256TB分区, 相比之下MBR更安全。


安装archlinux

不是UEFI模式,不需要验证启动模式。


Connect to the lnternet

The installation image enables the dhcpcd daemon for wired network devices on boot. The connection may be verified with ping:

# ping archlinux.org

If no connection is available, stop the dhcpcd service with systemctl stop dhcpcd@*interface* where the interface name can be tab-completed. Proceed to configure the network as described in Network configuration.

dhcped

The dhcpcd package is part of the base group, so it is likely already installed on your system.

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:

  • 给内部网络或网络服务供应商自动分配IP地址,
  • 给用户或者内部网络管理员作为对所有计算机作中央管理的手段,

DHCP具有以下功能

  1. 保证任何IP地址在同一时刻只能由一台DHCP客户机所使用。

  2. DHCP应当可以给用户分配永久固定的IP地址。

  3. DHCP应当可以同用其他方法获得IP地址的主机共存(如手工配置IP地址的主机)。

  4. DHCP服务器应当向现有的BOOTP客户端提供服务。


分区

分区方式

选择 GPT 还是 MBR

GUID Partition Table (GPT)是一种更灵活的分区方式。它正在逐步取代Master Boot Record (MBR)系统。GPT相对于诞生于MS-DOS时代的MBR而言,有许多优点。新版的fdisk(MBR)和gdisk(GPT)使得使用GPT或者MBR在可靠性和性能最大化上都非常容易。

在做出选择前,需要考虑如下内容:

  • 如果使用 GRUB legacy 作为bootloader,必须使用MBR。
  • 如果使用传统的BIOS(legacy),并且双启动中包含 Windows (无论是32位版还是64位版),必须使用MBR
  • 如果使用 UEFI 而不是BIOS,并且双启动中包含 Windows 64位版,必须使用GPT。
  • 非常老的机器需要使用 MBR,因为 BIOS 可能不支持 GPT.
  • 如果不属于上述任何一种情况,可以随意选择使用 GPT 还是 MBR。由于 GPT 更先进,建议选择 GPT。
  • 建议在使用 UEFI 的情况下选择 GPT,因为有些 UEFI firmware 不支持从 MBR 启动。

补充:MBR(Master Boot Record),即主引导记录,位于整个硬盘的0磁道0柱面1扇区。不过,在总共512字节的主引导扇区中,MBR只占用了其中的446个字节(偏移0–偏移1BDH),另外的64个字节(偏移1BEH–偏移1FDH)交给了DPT(Disk
PartitionTable硬盘分区表),最后两个字节”55,AA”(偏移1FEH-偏移1FFH)是分区的结束标志。这个整体构成了硬盘的主引导扇区。

分区表

目前有三种分区类型:

  • 主分区(Primary)
  • 扩展分区(Extended)
    • 逻辑分区(Logical)

主分区每个磁盘或者RAID卷上只能有4个,可设置为可启动状态。如果分区方案要求使用4个以上的分区,就需将至少一个分区设置为扩展分区,并在上面建立逻辑分区扩展分区可以被看作是容纳逻辑分区的容器。硬盘上最多只能有1个扩展分区。如果磁盘上有1个扩展分区,它也被看作是1个主分区。因此只能另外再建立3个主分区(例如3个主分区加1个扩展分区)。扩展分区内所包含的逻辑分区数量没有限制。如果在双重启动中有Windows,Windows需要占据一个主分区。

通常习惯是创建主分区sda1sda3,然后建立一个扩展分区sda4sda4中包含sda5sda6等逻辑分区。

命名为sda_的原因:SCSI接口设备是用sd命名的,其中a表示硬盘编号可能是a、b、c等等,sda是未分区、未格式化的原始硬盘空间。

只能分配4个主分区的原因:MBR(Master Boot Record)只有存放4个分区信息的空间(64字节)

分区工具

Linux has at least 3 disk tools FDISK;CFDISK;SFDISK. 这里使用有交互界面的 cfdisk 工具

cfdisk和fdisk没有联系但功能一样

开始分区

When recognized by the live system, disks are assigned to a block device such as /dev/sda or /dev/nvme0n1. To identify these devices, use lsblk or fdisk.

# fdisk -l
# lsblk

区别:fdisk列出所有block device,lsblk则更简洁,只列出loop0,sr0和硬盘,推荐用lsblk查看分区情况

使用cfdisk工具进行新建分区等操作

# cfdisk
简单英文解释
  1. bootable:可引导的(待补充
  2. resize:重新指定分区大小,当硬盘空间为8g,已有分区为8g,则需resize使已有分区<8g才能够新建分区。
  3. type:the type of partition,比如(Linux,Linux extended,CP/M)
  4. write: 只有在进行此操作后此前进行过的修改才会保存
  5. dump:
  6. quit:不保存在write之前的修改并退出

补充:root是用户名,前面数字是上一个命令的exit status,出现1root,127root等是某种东西报错,使用exit回到root。


对分区进行格式化

# mkfs.ext4 /dev/sda1

添加分区之前要将磁盘格式化为某个具体的文件格式,这样才能正常存储和读取。

使用mkfs -t 格式类型 磁盘路径 或 mkfs.格式类型 磁盘路径

ext4

EXT4(第四扩展文件系统):文件系统是Linux系统下的日志文件系统,是ext3文件系统的后继版本,但是Ext4是Linux文件系统的一次改进。在很多方面,Ext4相对于Ext3的进步要远超过Ext3相对于Ext2的进步。Ext3相对于 Ext2的改进主要在于日志方面,但是Ext4相对于Ext3的的改进是更深层次的,是文件系统数据结构方面的优化,是一个高效的、优秀的、可靠的和极具特点的文件系统,并且EXT3可以转为EXT4的。


挂载文件系统

Mount the file system on the root partition to /mnt, for example:

使/dev/sda1上的文件系统挂载到/mnt上

#mount /dev/sda1 /mnt

为任何剩余的分区创建安装点并相应地安装它们:

#mkdir /mnt/boot 
#mount /dev/sda2/ mnt/boot

取消挂载

#umount /dev/sda2

或者q取消全部挂载

#umount /mnt

列出已安装的文件系统

#findmnt

findmnt采用各种参数,可以过滤输出并显示其他信息。例如,它可以将设备或挂载点作为参数来仅显示有关指定内容的信息:

# findmnt /dev/sda1
mount

This attaches the filesystem on /dev/sda1 at the directory /mnt, making the contents of the filesystem visible. Any data that existed at /mnt before this action is made invisible until the device is unmounted.

源于

linux操作系统将所有的设备都看作文件,它将整个计算机的资源都整合成一个大的文件目录。我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的目录上,然后通过访问这个目录来访问存储设备。挂载就是把设备放在一个目录下,让系统知道怎么管理这个设备里的文件,了解这个存储设备的可读写特性之类的过程。

/dev/sda1不是它的目录。虽然/dev是个目录,但/dev/sda1不是目录。可以发现ls/dev/sda1无法执行。/dev/sda1,是一个类似指针的东西,指向这个分区的原始数据块。mount前,系统并不知道这个数据块哪部分数据代表文件,如何对它们操作。

  • 补充:一般情况下关机自动取消挂载
  • 可配置文件是他永久挂载

Installation

Select the mirrors

Packages to be installed must be downloaded from mirror servers, which are defined in /etc/pacman.d/mirrorlist. On the live system, all mirrors are enabled, and sorted by their synchronization status and speed at the time the installation image was created.

The higher a mirror is placed in the list, the more priority it is given when downloading a package. You may want to edit the file accordingly, and move the geographically closest mirrors to the top of the list, although other criteria should be taken into account.

This file will later be copied to the new system by pacstrap, so it is worth getting right.

更改镜像源

更改镜像源的原因与从开源镜像站下载iso的原因相同,都是为了下载更快更稳定。

打开镜像源文件

vim /etc/pacman.d/mirrorlist

在开头模仿已有镜像源的样子(在后面加上…)加入各镜像站,推荐清华镜像站,网易镜像站,可参考大陆各镜像站汇总镜像汇总,用w保存编辑,q退出,**!q**是不保存编辑并退出

Install the base packages

Use the pacstrap script to install the base package group:

# pacstrap /mnt base

This group does not include all tools from the live installation, such as btrfs-progs or specific wireless firmware; see packages.x86_64 for comparison.

To install packages and other groups such as base-devel, append the names to pacstrap (space separated) or to individual pacman commands after the #Chroot step.

  • pacstrap:按字面理解,pac就是package(软件包),strap的意思是用带子捆扎,pacstrap意思就是打好包的软件,在arch系统这是一个脚本文件的名称,它的作用就是安装arch基本系统。
  • base package group:基本的软件包包括了系统运行所必需的所有软件包。比如有GNU BASH shell、文件压缩工具、文件系统管理工具、C 语言库、压缩工具等

上一篇
Hello World Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hex
2018-11-18 One fly bird
下一篇
一个随机生成身份证码的网页 一个随机生成身份证码的网页
任务做出一个随机生成身份证码的网页 前期准备 黑马程序员入门视频(表单之前即可完成任务) flask官方中文手册 flask官方英文手册 pycharm3专业版 在终端上生成身份证的代码 安装flaskpip install Flas
2018-11-17
目录