2.6 使用dd命令安装Linux系统

简介: 面对大批量服务器的安装,人们往往热衷于选择“无人值守安装”的方式,而此方式需要对服务器进行过多的配置,并不适合初学者。

面对大批量服务器的安装,人们往往热衷于选择“无人值守安装”的方式,而此方式需要对服务器进行过多的配置,并不适合初学者。

无人值守安装(Kickstart),又称全自动安装,其工作原理是,创建一个名为 ks.cfg 的文件记录 Linux 系统在安装过程中需要人工干预填写的各种参数,当安装过程中出现要填写参数时,安装程序会自行去 ks.cfg 文件中查找合适的参数,如果没找到,还是需要手工干预。因此,在 ks.cfg 文件涵盖安装过程所有可能需要填写的参数的前提下,安装者只需要告诉安装程序 ks.cfg 文件的位置,就可实现全自动安装。

本节介绍使用 dd 命令实现硬盘复制,间接实现安装 Linux 系统的方法,此方式类似 Windows 下用 GHOST 软件进行硬盘克隆。

首先,我们先来系统了解一下 dd 命令。

对于初学者来说,本节内容可在掌握常用 Linux 命令后再行学习。

Linux dd 命令是什么

dd 命令是用来复制文件的命令,它可以用指定大小的数据块复制一个文件,并在复制的同时进行指定的转换。简单地理解,dd 命令可用于进行两块硬盘之间的复制(完整复制出一块和原系统盘一样的硬盘)。

dd 命令的格式如下:

[root@localhost ~]# dd if=输入文件 of=输出文件 bs=字节数 count=个数

选项:

  • if=输入文件:指定源文件或源设备;
  • of=输出文件:指定目标文件或目标设备;
  • bs=字节数:指定一次输入/输出多少字节,即把这些字节看作一个数据块;
  • count=个数:指定输入/输出多少个数据块;

【例 1】

[root@localhost ~]# dd if=/dev/zero of=/root/testfile bs=1k count=100000
#创建一个100MB大小的文件testfile,/dev/zero是一个输入设备,可以使用它来初始化文件,该设备无穷尽地输出0,可以理解为向testfile中不停地写0,直到写满100MB;

【例 2】

[root@localhost ~]# dd if=/dev/sda of=/dev/sdb
#把第一块硬盘中的数据复制到第二块硬盘中

【例 3】

[root@localhost ~]# dd if=/dev/hda of=/root/image
#把第一块硬盘中的数据复制到image文件中

使用 dd 命令复制硬盘,需满足以下两个前提条件:

  1. 需要批量复制的服务器硬件配置一致。通常,采购服务器都是批量采购的,服务器的配置都是一样的。
  2. 复制硬盘的时候,需要手工更换被复制盘。服务器上一般都是 SCSI 硬盘,SCSI 硬盘支持热插拔,而且不需要拆卸机箱,更换被复制盘非常方便。

实际上,笔者当年维护大批量服务器时采用的就是 dd 复制,而不是无人值守安装。

dd命令安装Linux详细步骤

通过以上的学习我们知道,使用 dd 命令安装 Linux,实际上就是硬盘之间的完整拷贝,其实现过程如下:

  1. 把母盘插入服务器的第一个硬盘插口,把被复制盘插入服务器的第二个硬盘插口,注意不要插反。
  2. 执行复制命令 dd if=/dev/sda of=/dev/sdb。在 dd 命令中,if 指定复制源,of 指定复制目标。/dev/sda 代表第一块 SCSI 盘,/dev/sdb 代表第二块 SCSI 盘。这条命令会把第一块硬盘中的数据完整地复制到第二块硬盘中。

经过以上两步,即可实现将服务器之间的复制。那么,此方法的效率如何呢?由于复制的速度和服务器的配置及安装软件的多少相关,因此每台服务器的复制时间约为15〜25分钟,效率还可以接受。

选择无人值守安装的方式,也要受到服务器端配置和网络带宽的影响,而且硬盘复制也可以多台服务器同时操作。

目录
相关文章
|
5天前
|
缓存 安全 Linux
Linux系统查看操作系统版本信息、CPU信息、模块信息
在Linux系统中,常用命令可帮助用户查看操作系统版本、CPU信息和模块信息
51 23
|
11天前
|
Oracle 关系型数据库 Linux
linux8安装oracle 11g遇到的问题记录
Oracle 11g在Linux 8上安装时会遇到link编译环节的问题。官方建议忽略安装中的链接错误,安装完成后应用DBPSU 11.2.0.4.240716补丁及一次性补丁33991024,再重新编译二进制文件,并配置监听器和数据库。但因11g已退出服务期,这些补丁需付费获取。网上信息显示22年1月的PSU补丁也可解决问题,找到该补丁后按常规方式打补丁即可。如有需求或疑问可咨询我。
51 20
|
3天前
|
弹性计算 运维 Ubuntu
os-copilot在Alibaba Cloud Linux镜像下的安装与功能测试
我顺利使用了OS Copilot的 -t -f 功能,我的疑惑是在换行的时候就直接进行提问了,每次只能写一个问题,没法连续换行更有逻辑的输入问题。 我认为 -t 管道 功能有用 ,能解决环境问题的连续性操作。 我认为 -f 管道 功能有用 ,可以单独创建可连续性提问的task问题。 我认为 | 对文件直接理解在新的服务器理解有很大的帮助。 此外,我还有建议 可以在非 co 的环境下也能进行连续性的提问。
41 7
|
1月前
|
Linux Python
Linux 安装python3.7.6
本教程介绍在Linux系统上安装Python 3.7.6的步骤。首先使用`yum`安装依赖环境,包括zlib、openssl等开发库。接着通过`wget`下载Python 3.7.6源码包并解压。创建目标文件夹`/usr/local/python3`后,进入解压目录执行配置、编译和安装命令。最后设置软链接,使`python3`和`pip3`命令生效。
|
1月前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
143 20
|
24天前
|
Linux
linux查看目录下的文件夹命令,find查找某个目录,但是不包括这个目录本身?
通过本文的介绍,您应该对如何在 Linux 系统中查看目录下的文件夹以及使用 `find` 命令查找特定目录内容并排除该目录本身有了清晰的理解。掌握这些命令和技巧,可以大大提高日常文件管理和查找操作的效率。 在实际应用中,灵活使用这些命令和参数,可以帮助您快速定位和管理文件和目录,满足各种复杂的文件系统操作需求。
70 8
|
27天前
|
NoSQL 关系型数据库 MySQL
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
173 7
|
1月前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
105 13
|
Linux
Linux命令(40)之dd
Linux命令(40)之dd
86 0
|
8月前
|
Unix Linux
linux命令之dd
linux命令之dd
124 1