在Mac上制作centos系统的U盘启动盘(基于iso镜像)

AI 摘要: 在Mac下利用U盘和CentOS ISO镜像制作CentOS系统的U盘启动程序的流程。流程包括U盘格式化、查看U盘信息、使用dd命令复制ISO到U盘、插入U盘到目标机器等步骤。

在 Mac 下,基于一块 U 盘+一个 CentOS 的 ISO 镜像,制作一个 CentOS 系统的 U 盘启动程序

1. 流程

  1. 利用 Mac 的磁盘工具,将 U 盘格式化(格式之前注意检查 U 盘内容)
  2. 使用diskutil list查看 U 盘信息
  3. 使用dd命令将 ISO 制作到 U 盘中
  4. dd 完成后,抽离 U 盘,插入到待装系统的机器,灌入系统

1.1. 利用磁盘工具进行 U 盘格式化

1.2. U 盘的磁盘信息

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
// 查看磁盘
$ diskutil list
...
/dev/disk2 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *15.7 GB    disk2
   1:               Windows_NTFS usb-centos              15.7 GB    disk2s1

// 卸载磁盘
$ diskutil unmountDisk /dev/disk2
Unmount of all volumes on disk2 was successful

1.3. 下载 CentOS 镜像源

1.4. dd 制作 U 盘启动盘

Tips: 注意这里的输出设备为/dev/rdisk2,实际情况依据自己系统的磁盘信息

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
// 灌入系统
$ sudo dd if=./CentOS-7-x86_64-DVD-1908.iso of=/development/rdisk2 bs=1m
load: 3.35  cmd: dd 26106 uninterruptible 0.00u 0.13s
154+0 records in
153+0 records out
160432128 bytes transferred in 2.733294 secs (58695525 bytes/sec)
...

// 查看进度
ctrl+t 可以查看copy明细进度

1.5. 制作完成

Mac 会提示磁盘无法识别,忽略即可!

usb 制作驱动盘参考:

2. 安装 CentOS 注意点

  • 磁盘分区,需要注意磁盘划分大小
  • 网络配置
  • 不熟悉安装的,建议考虑 GUI 安装

3. virtualbox 基于 USB 安装需要扩展开启(调试用)

Oracle VM VirtualBox 扩展包(注意版本依赖问题,比如 USB3.0 识别):https://www.virtualbox.org/wiki/Download_Old_Builds_6_0

4. CentOS 下的 Bell 告警声音禁止

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
// 基于当前用户范围禁用 - 写入~/.inutrc并重启
echo 'set bell-style none' >> ~/.inputrc
shutdown -r now

// 基于系统范围,可以选择将pcspkr内核模块列入黑名单
touch /etc/modprobe.d/bell.conf
echo 'blacklist pcspkr'|tee /etc/modprobe.d/bell.conf

// 基于系统范围,可以选择将pcspkr内核模块安装到/development/null
touch /etc/modprobe.d/bell.conf
echo 'install pcspkr /development/null'|tee /etc/modprobe.d/bell.conf

Bell 声音禁止问题解决: https://www.linuxeveryday.com/2018/06/centos7-rhel7-disable-terminal-beep-bell

5. 无网络情况下基于 ISO 包安装软件包

  1. 通过iso9660将 U 盘 ISO 文件到 CentOS 系统中:mount /dev/cdrom /media
  2. 通过 find 或 grep 找到对应的包名,如果没有依赖,可以直接使用rpm -ivh pkgname安装
  3. 如果有依赖,且依赖项较多,可以配置/etc/yum.repos.d/CentOS-Media.repo启用本地项来让yum可以基于本地 rem 资源安装
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
// 1. 找到U盘
fdisk -l

// 2. 挂载到/media/iso
mount -t iso9660 -o ro /development/sdb /media/

// 3. 编辑Media.repo,加入file:///media,同时enabled设置为1
vim /etc/yum.repos.d/CentOS-Media.repo
[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS/
        file:///media/cdrom/
        file:///media/cdrecorder/
        file:///media/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

// 4. 先禁用其他仓库源,仅许可c7-media,然后安装相关软件
yum --disablerepo=\* --enablerepo=c7-media install cifs-utils

6. 从 SMB 服务器进行网络文件系统的挂载

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
// 创建挂载点
mkdir /mnt/soft

// 挂载cifs需要安装cifs文件系统支持(cifs-utils包)
[root@development-centos ~]# mount -t cifs //10.40.1.2/Soft /mnt/soft -v -o user=guoluping
Password for guoluping@//10.40.1.2/Soft:  ******
mount.cifs kernel mount options: ip=10.40.1.2,unc=\\10.40.1.2\Soft,user=guoluping,pass=********

// 查看挂载情况
df -h

7. CentOS 加域相关

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
[root@development-centos Packages]# realm
 realm discover -v [realm-name]
   Discover available realm

 realm join -v [-U user] realm-name
   Enroll this machine in a realm

 realm leave -v [-U user] [realm-name]
   Unenroll this machine from a realm

 realm list
   List known realms

 realm permit [-ax] [-R realm] user ...
   Permit user logins

 realm deny --all [-R realm]
   Deny user logins

8. Aliyun 镜像安装

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
// 备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

// 下载yum仓库配置
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

// 替换镜像地址
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo

// 扩展仓库epel安装
yum install epel-release.noarch -y

9. 初始化

9.1. Docker 的安装

参考: https://developer.aliyun.com/mirror/docker-ce?spm=a2c6h.13651102.0.0.53322f70nOXpsX

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
    # step 1: 安装必要的一些系统工具
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    # Step 2: 添加软件源信息
    sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    # Step 3: 更新并安装Docker-CE
    sudo yum makecache fast
    sudo yum -y install docker-ce
    # Step 4: 开启Docker服务
    sudo service docker start

    # 注意:
    # 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。
    # vim /etc/yum.repos.d/docker-ee.repo
    #   将[docker-ce-test]下方的enabled=0修改为enabled=1
    #
    # 安装指定版本的Docker-CE:
    # Step 1: 查找Docker-CE的版本:
    # yum list docker-ce.x86_64 --showduplicates | sort -r
    #   Loading mirror speeds from cached hostfile
    #   Loaded plugins: branch, fastestmirror, langpacks
    #   docker-ce.x86_64            17.03.1.ce-1.el7.centos            docker-ce-stable
    #   docker-ce.x86_64            17.03.1.ce-1.el7.centos            @docker-ce-stable
    #   docker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable
    #   Available Packages
    # Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)
    # sudo yum -y install docker-ce-[VERSION]

9.2. Git 升级安装

1
2
3
4
5
// 安装依赖
yum install asciidoc docbook2X expat-devel libcurl-devel openssl-devel perl-ExtUtils-MakeMaker xmlto

// 编译安装
make prefix=/usr install install-doc install-html install-info

9.3. Systemd & journalctl 服务安装