安装前的一些话

本文是参考官方文档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. Abp小知识-如何全局设置DontWrapResult属性

    demo地址 GitHub相关demo地址:https://github.com/PuzzledAlien/DotNetCore_Practice/tree/master/ABP.Demo/WebAp ...

  2. 松软科技前端课堂:JavaScript 对象

    真实生活中的对象.属性和方法 在真实生活中,汽车是一个对象. 汽车有诸如车重和颜色等属性,也有诸如启动和停止的方法: 对象 属性 方法   car.name = porsche car.model = ...

  3. [browser location和history] 简单实现了个路由[转载]

    今天看了1下前面写的,好像缺乏交流性,周末再来弄吧 -0- 今天看了browser 的 location 和 history location属性 // //location.hash 性是一个可读可 ...

  4. Html5 Canvas动画基础碰撞检测的实现

    在Canvas中进行碰撞检测,大家往往直接采用游戏引擎(Cocos2d-JS.Egret)或物理引擎(Box2D)内置的碰撞检测功能,好奇的你有思考过它们的内部运行机制吗?下面将针对基本的碰撞检测技术 ...

  5. 利用Azure虚拟机安装Dynamics 365 Customer Engagement之七:安装前端服务器及部署管理器

    我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...

  6. python数据库模块

    安装数据库 [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.3/centos7-amd64 gpgkey=https://yu ...

  7. Oracle创建表、删除表、修改表(添加字段、修改字段、删除字段)语句总结

    创建表: create table 表名 ( 字段名1 字段类型 默认值 是否为空 , 字段名2 字段类型 默认值 是否为空, 字段名3 字段类型 默认值 是否为空, ...... ); 创建一个us ...

  8. [logstash.outputs.elasticsearch] retrying failed action with response code: 403

    0x00 Event [2019-09-24T19:22:31,655][INFO ][logstash.outputs.elasticsearch] retrying failed action w ...

  9. Angular回顾(1)

    一.前端基础 HTML:超文本标记语言,文档排版. DOM:文档对象模型. JS: 脚本语言,解释执行:动态操作DOM,服务器交互,用户交互. CSS:层叠样式表. 二.Angular前提 TypeS ...

  10. 【分享】git全套视频教程

    1.课件 https://www.cnblogs.com/wfd360/p/10891140.html 2.教程列表 3.教程下载 3.1.直接在线学习 学习地址:https://study.163. ...