# 安装 Linux 前的规划

安装最重要的第一件事情,就是你要从哪里拿到 linux distrbutions 的光盘数据?

# 选择适当的 distribution

前面已经讲到过了,所有的 linux distribution 都是使用 https://www.kernel.org 的 linux 核心,差异不是很大,根据自己的需求选择。

本次课程使用 CentOS 7.1,从 7.0 开始已经不再提供 386 兼容版本了,也就是只支持 64 位硬件

  • 国家高速网络中心:http://ftp.twaren.net/Linux/CentOS/7/isos/
  • CentOs 官网:http://mirror.centos.org/centos/7/isos/

版本说明:

  • everything:完整版本
  • DVD1:有大部分安装软件的版本
  • LiveCD/LiveGNOME/LiveKDE:只想要看看到底开机会是说明 Linux 环境
  • minimal:想要练功,就直接使用最小安装光盘版

CentOS-7-x86_64-Everything-1908.iso 下载的文档名中各个文字表示什么?

  • CentOS-7 :7.x 版本
  • x86_64:指 64 位操作系统
  • Everything :指完整版本
  • 1908:表示 2019 年 08 月发表的版本

笔者在以上网站查看的时候,7.1 目录下已经没有对于的 iso 文件了,只有剩下 readme 文件了, 里面说,普通用户不应该关注小版本,只需要关注 CentOs 7 即可, 所以我上面忒出来的镜像名称后面没有 _01 这种表示是 7.1 版本的含义, 而且从官网的 http://mirrors.163.com/centos/7.7.1908/isos/x86_64/ 7.7 点进去, 看到的镜像也是上面那样没有小版本了

不过 everthing 版本居然有 10 G 大小,太大了吧。这里我还是选择了 DVD 版本(4 G 左右)

# 主机的服务规划与硬件的关系

硬件的选择与你所需要用来做什么密切关联,这里就不再记录详细的,只记录可以用来做哪些事情,对应的硬件不详细记录

  • 打造 windows 与 Linux 共存的环境:需要用到前面讲过的开机流程与多重引导知识

  • NAT (达成 IP 分享器的功能):

    对外一条出口 IP,内部通过这条联机联机到因特网上, 使用 linux 的好处就是可以加装其他分析和管理软件,比某些 IP 分享器更高级的管理功能

  • SAMBA(加入 windows 网络上的芳邻)

  • Mail(邮件服务器)

    现在有很多免费的邮件服务商,但是对于企业内部,害怕隐私泄露什么的,可以自己安装 Mail 服务

  • Web(www 服务器)

    WWW 服务服务器几乎是所有的网络主机都会安装的一个工能够,除了可以提供 Internet 的 www 联机之外, 还提供一些分析软件提供的分析结果画面

    CentOS 使用的是 Apache 这套软件来达成 www 网站的功能

  • DHCP(提供客户端自动取得 IP 的功能)

    如果你是个局域网网络管理员,你可以假设一个 DHCP 服务器,配置要求不高, 貌似现在的各种路由器也都内置 DHCP 服务了

  • FTP

    很多人喜欢假设 FTP 传输网络数据,甚至使用 FTP 传输非法数据,老实说,再怎么地下化也很容易被捉到, 但是学校等组织经常需要 ftp 进行分享资源给全校师生一些免费的资源,此时匿名的 ftp 软件功能就很有需要存在了

    对于 ftp 的硬件需求来说,硬盘的容量与网络卡好坏相关性较高

# 主机硬盘的主要规划

除了上述的与用途之外,还需要对数据分类与数据安全性的考虑,所谓的数据安全,并不是说呗黑客所破坏, 而是当主机系统的硬件出现问题时,你的文件数据能否安全的保存

网络上经常有人问:因为非法关机(突然断电)等问题,导致 linux 无法开机,怎么办? 幸运的话,可以使用 fsck 来解决硬盘的问题,倒霉的话,可能需要重新安装 linux, 如果重装的话,光是搬移与备份数据就会疯掉了,使用硬盘的分区考虑是相当重要的

前面有讨论过 磁盘分区了 了,但是硬盘规划对于刚入门而已,很是头痛, 因为需要对 linux 文件结构有相当程度的认知之后才能够做比较完善的规划,所以这里只要有个基础的认识即可。

老实说,没有安装过 10 次以上的 linux 系统,是学不会 linux 与磁盘分区的

这里说明一下基本硬盘分区的模式:

  • 最简单的分区方法

    前面已经说过,只需要分区出 根目录 与内存置换空间(/ 与 swap)即可。 再预留一些剩余的磁盘供后续练习使用,当然这是懒人分区方式,因为如果任何一个小细节坏掉(如坏轨的产生), 你的根目录将可能整个的顺坏,挽救方面较困难

  • 稍微麻烦一点的方式

    先分析出这部主机未来的用途,然后根据用途区分析需要较大容量的目录,以及读写较为频繁的目录, 将这些重要的目录分别独立出来而不与根目录放在一起,当这些读写频繁的磁盘分区槽有问题时, 至少不会影响到根目录的系统数据,挽救就比较容易了,在默认的 CentOS 环境下,下面的目录是比较符合 大容量或读写频繁的目录:

    • /boot
    • /
    • /home
    • /var
    • Swap

# 鸟哥的两个实际案例

# 家用小型 linux 服务器,IP 分享与文件分享中

主要提供网络连接分享,需要 nat 功能。提供家庭成员数据存放容量

其他硬件不记录了,硬盘容量为一颗 640 GB 的硬盘,分区如下:

  • 分成 //usr/var/tmp 等目录均独立
  • 1 GB 的 swap
  • 安装比较过时的 CentOs 5.x 最新版

# 提供 linux 的 PC 从集(cluster)计算机集群

主要提供研究室成员对于模式仿真的软、硬件平台,主要提供的服务并非英特网,而是内部研究工作分析

运用主机仅一颗磁盘,存储用主机提供 8 颗 2 TB 磁盘组成的磁盘阵列, 硬盘分区:

  • 运算主机方面:整颗磁盘仅分 /boot/swap

  • 存储主机方面:

    磁盘阵列分成两颗磁盘,一颗 100 G 给系统用,一颗 12 TB 给数据用。 系统磁盘用的分区为 /boot/home/tmp/var、等分区, 数据磁盘全部容量规划在同一个分区槽

# 重点回顾

  • 新购买计算机硬件配备时,需要考虑的角度有游戏、工作机、效能/价格比、效能/消耗瓦数、支持度等

  • 旧的硬件配备可能由于保存的问题或则是电子零件老化的问题,导致计算机系统非常容易在运作过程中出现不明的宕机情况

  • Red Hat 的硬件支持:https://hardware.redhat.com/?pagename=hcl

  • 在 Linux 消停中,每个装置都被当成一个文件来对待,每个装置都有装置文件名

  • 磁盘装置文件名通常分为两种,实际 SATA/USB 装置文件名为 /dev/sd[a-p],虚拟机可能为 /dev/vd/[a-p]

  • 磁盘的第一个扇区主要记录了两个重要的信息,

    1. 主要启动记录区(Master Boot Record,MBR),可以安装卡机管理程序的地方,有 446 Bytes
    2. 分区表(partition table),记录整颗硬盘分区的状态,64 Bytes
  • 磁盘的 MBR 分区方式中,主要与延伸分区最多可以有 4 个,逻辑分区的装置名号码一定由 5 号开始

  • 如果磁盘容量大于 2 TB 以上时,系统会自动使用 GPT 分区方式来处理磁盘分区

  • GPT 分区已经没有延伸与逻辑分区槽的概念,你可以想象成所有的分区都是主分区

  • 某些操作系统使用 GPT 分区时,必须要搭配 UEFI 的新型 BIOS 格式才可以安装使用

  • 开机的流程:

    1. BIOS
    2. MBR
    3. boot loader
    4. 核心文件
  • boot loader 的功能主要有:提供选单、加载核心、转交控制权给其他 loader

  • boot loader 可以安装的地点有两个:MBR 与 boot sector

  • Linux 操作系统的文件使用目录树系统,与磁盘的对应需要有挂载的动作才行

  • 新手的简单分区,建议只要有 「/」 和 swap 两个分区槽即可