安装前的一些话

本文是参考官方文档ArchLinux的Installation guide(简体中文)加实际操作编写的。

  1. 有啥都好说,转载时请注明作者,这是基本素质,也是法律要求
  2. 安装是在虚拟机上进行安装的,如果想要在实体机上安装,请认真参考官方文档进行安装。
  3. 本机器安装的时候官网下载的版本是Archlinux2019.11.01版本的,其他更加新的版本,本文有些地方可能不适用,一切以官方文档为准。
  4. 本文中的命令如果没有特殊说明都是在root权限下进行的
  5. 如果文章有啥问题,欢迎大佬指正!我也是个小菜鸡,斗胆放出教程。
  6. 如果有志同道合的朋友有问题,可以在文章下方评论!PS.建议先看官方文档百度尝试解决,如果解决不了,可以评论一起讨论。

安装前的一些准备活动

1. 验证启动模式

ls /sys/firmware/efi/efi

虚拟机这里是UEFI启动模式

2.连接到因特网

由于是虚拟机,采用的是有线连接

dhcpcd                #自动获取IP地址
ping www.baidu.com #测试网络是否连通

2.更新系统时间

使用命令 timedatectl 确保时间正确

timedatectl set-ntp true

3.建立硬盘分区

  1. 这里使用 cfdisk 命令进行分区操作,这个是一个图形化的分区界面傻瓜化,很好用。



    这里选择 gpt 分区表比较合适于 UEFI 启动方式,以下是UEFI 的推荐分区方案:
挂载点 分区 分区类型 建议大小
/mnt/boot or /mnt/efi /dev/sdX1 EFI分区 260–512 MiB
/mnt /dev/sdX2 Linux x86-64 根目录 (/) 剩余空间
[SWAP] /dev/sdX3 Linux swap (交换空间) 大于 512 MiB
  1. Enter回车选择New

  2. 在该位置输入分区大小[单位为M, G(MB, GB)]

  3. 然后可以看到,已经分好了一个分区

  4. 创建一个 Swap 分区,如法炮制



  5. 最后的一个分区直接,选择free space然后一路回车就好了。

  6. 记一下每个分区叫啥、大小,以后有用,最后记得保存

4.格式化分区

  1. 格式化普通分区
    mkfs.fat -F32 /dev/sda1      #把sda1格式化为fat32并挂载到 /boot/efi
    mkfs.ext4 /dev/sda3 #挂载到 /
  2. 格式化 Swap 分区
    mkswap /dev/sda2         #这个是swap分区

5.挂载分区

mount /dev/sda3 /mnt
mkdir -p /mnt/boot/efi
mount /dev/sda1 /mnt/boot/efi

正式开始安装

开头的一切都是值得的,现在开始了正式的安装步骤,这里将会有大片等待时间,可以喝口水稍作休息。

1.选择镜像

文件 /etc/pacman.d/mirrorlist 定义了软件包会从哪个 镜像源 下载。这里使用VIM进行文件修改。

对 VIM 有了解的可以按照下面步骤操作,不会的有简单方法。

vim /etc/pacman.d/mirrorlist

下面的操作极其考验视力



选定后,直接击打键盘dd剪切这一行,然后使光标上移到顶部,按大写P粘贴这一行。



然后,按Esc退出编辑模式。最后:wq保存。

简单方法:

使用nano命令

nano /etc/pacman.d/mirrorlist

这个是图形化界面,直接在顶行输入

Server = http://mirrors.cqu.edu.cn/archlinux/$repo/os/$arch

退出时 使用Ctrl + X退出。

2.安装必须的软件包

pacstrap /mnt base base-devel linux linux-firmware

接下来就是逼格超级高的刷屏幕等待时间



无报错表示安装软件包安装成功了

配置系统

这一部分也是很繁琐的一些配置步骤,不过如果能理解这些,对linux的理解会有一些提高的。

1.Fstab

用以下命令生成fstab文件

genfstab -U /mnt >> /mnt/etc/fstab   #生成fstab文件
cat /mnt/etc/fstab #检验是否正确生成fstab文件

2.Chroot

这一步进入新安装的系统进行进一步的配置

arch-chroot /mnt

3.时区

将时间设置为Shanghai时间

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

运行hwclock以生成 /etc/adjtime

hwclock --systohc

4.本地化

本地化的程序与库若要本地化文本,都依赖 Locale,后者明确规定地域、货币、时区日期的格式、字符排列方式和其他本地化标准等等。在下面两个文件设置:locale.genlocale.conf

/etc/locale.gen 是一个仅包含注释文档的文本文件。指定您需要的本地化类型,只需移除对应行前面的注释符号(#)即可,建议选择带 UTF-8 的项

nano /etc/locale.gen

说明一下,我安装这些包的时候,好像nano并未正常安装

因此我需要安装一些常用的软件包

pacman -S nano

这里直接简单的使用nano编辑文档

删除下列行之前的#

en_US.UTF-8 UTF-8

zh_CN.UTF-8 UTF-8

zh_TW.UTF-8 UTF-8

接下来执行locale-gen生成 local 信息

locale-gen

创建 locale.conf 并编辑 LANG 这一 变量

将这里设置为 en_US.UTF-8,系统就会用英文显示。如果这里设置为 zh_CN.UTF-8会出现乱码问题。

nano /etc/locale.conf   #输入 LANG=en_US.UTF-8 保存

5.网络

创建/etc/hostname文件

nano /etc/hostname    #输入 myhostname 保存
nano /etc/hosts

hosts 文件中添加以上内容:

127.0.0.1 localhost

::1 localhost

127.0.1.1 myhostname.localdomain myhostname

6.Root 密码

设置 ROOT 密码极其重要!密码千万不要忘记!!!

passwd

然后按照提示设置密码!

7.安装引导程序(UEFI这部分也比较麻烦)

这里就显示出,前面的分区工作是极其重要的

  1. 要安装grub软件

    pacman -S grub efibootmgr
  2. 安装grub grub-install

    其中 GRUB是启动引导器[^3]

    efibootmgrGRUB 脚本用来将启动项写入 NVRAM

    这里挂载 [ESP] (https://wiki.archlinux.org/index.php/EFI_system_partition#Mount_the_partition) 到 /boot/efi 因此创建以下 文件夹

    mkdir -p /boot/efi/EFI
    grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
  3. 配置Grub grub-mkconfig

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

    这里多说几句,如果想要识别多系统,需要安装os-prober

退出Chroot并重启

exit    #退出 Chroot
reboot #重启系统

小结

至此,Archlinux的基本系统已经安装好了!接下来就一些桌面安装,环境安装之类的个性化安装了!

如果有时间,我的桌面安装环境配置将会在后续放出

ArchLinux 2019.11.01安装流程--安装基本系统的更多相关文章

  1. iOS 最新版 CocoaPods 的安装流程

    iOS 最新版 CocoaPods 的安装流程1.移除现有Ruby默认源$gem sources --remove https://rubygems.org/2.使用新的源$gem sources - ...

  2. 最新版 CocoaPods 的安装流程

                                       iOS 最新版 CocoaPods 的安装流程     1.移除现有Ruby默认源 $gem sources --remove h ...

  3. CocoaPods安装流程

    iOS 最新版 CocoaPods 的安装流程       1.移除现有Ruby默认源 $gem sources --remove https://rubygems.org/   2.使用新的源 $g ...

  4. 最新版 CocoaPods 的安装流程(包括EI Capitan版)

    1.移除现有Ruby默认源 $gem sources --remove https://rubygems.org/ 2.使用新的源 $gem sources -a https://ruby.taoba ...

  5. ARCGIS 10.0破解版安装过程error 1606 和error 1316问题 及安装流程

    来自:http://blog.csdn.net/don_lvsml/article/details/8681100 楼主今天安装ESRI.ArcGIS.10.CS时,由于第一次接触该软件,将其按照一般 ...

  6. 最新版CocoaPods的安装流程

    1.移除现有Ruby默认源 $gem sources --remove https://rubygems.org/ 2.使用新的源 $gem sources -a https://ruby.taoba ...

  7. Archlinux在Btrfs分区上的安装(bios篇)

    其实本文所有的内容在Archwiki上都可以找到,并且更新更全面(只是比较零散),我所做的只是对安装流程做一个小小的总结,每一步我都会稍微解释一下,但不会说的特别详细,毕竟这只是一篇安装引导文,而不是 ...

  8. CM5(5.11.0)和CDH5(5.11.0)离线安装

    概述 文件下载 系统环境搭建 日志查看 Q&A 参考 概述 CDH (Cloudera's Distribution, including Apache Hadoop),是Hadoop众多分支 ...

  9. Ubuntu开发用新机安装流程

    1.SSH安装 Ubuntu缺省已安装客户端,此处安装服务端 sudo apt-get install openssh-server 确认sshserver是否启动 netstat -tlp | gr ...

随机推荐

  1. go语言变量作用域

    Go 语言变量作用域 作用域为已声明标识符所表示的常量.类型.变量.函数或包在源代码中的作用范围. Go 语言中变量可以在三个地方声明: 函数内定义的变量称为局部变量 函数外定义的变量称为全局变量 函 ...

  2. 多线程八 Lock

    前面我们可以使用synchronized关键字来实现线程之间的同步互斥,lock接口同样也是在JDK1.5中提出,同样是解决线程安全性问题的另一种解决方案,而且它更强大,更灵活本片博客介绍对其展开介绍 ...

  3. django js 实现表格动态标序号

    <table class="table table-striped"> <thead> <tr class="key_words_head& ...

  4. docker postgres使用

    1.拉取镜像文件docker pull postgres 2.容器后台进程运行,向外暴露32769端口 docker run -it --name mypostgres -p 32769:5432 - ...

  5. SAP 不支持交货单中同一个物料多个行项目HU与序列号组合发货场景

    SAP 不支持交货单中同一个物料多个行项目HU与序列号组合发货场景 笔者所在的项目里,后勤业务启用了序列号管理,Handling Unit Manager以及批次号管理.不同的物料分别启用序列号管理, ...

  6. OpenCV:图像的颜色空间转换

    导包: import numpy as np import cv2 import matplotlib.pyplot as plt def show(image): plt.imshow(image) ...

  7. nginx实现基础web

    目录 nginx实现基础web 什么是lnmp lnmp架构如何工作 Nginx与Fast-CGO详细工作流程 LNMP环境准备 一,部署LNMP 1.使用nginx官方源 2.创建nginx用户 3 ...

  8. Resolving RMAN-06023 or RMAN-06025 (Doc ID 2038119.1)

    Resolving RMAN-06023 or RMAN-06025 (Doc ID 2038119.1) APPLIES TO: Oracle Database - Enterprise Editi ...

  9. kubernets过滤pod标签(labels)

    版权声明:本文为博主原创文章,支持原创,转载请附上原文出处链接和本声明. 本文地址:https://www.cnblogs.com/wannengachao/p/12074399.html 1.查看p ...

  10. acwing 55. 连续子数组的最大和

    地址  https://www.acwing.com/problem/content/50/ 输入一个 非空 整型数组,数组里的数可能为正,也可能为负. 数组中一个或连续的多个整数组成一个子数组. 求 ...