自己制作一个干净的CentOS7的box(CentOS-7-1708版本)

首先

我们正在将流程优化得比以前更好。

制作CentOS7漂亮的box备忘录(CentOS-7-1708版)。不进行yum update操作,保持从ISO映像安装的清洁状态。请根据个人喜好进行定制。

预先准备

请确保下列准备工作已完成。如果不清楚可以向谷歌老师询问。

1. 已经安装了VirtualBox。
2. 已经设置好了vagrant。
3. 已经下载了CentsOS7的Minimal ISO(本次准备使用CentOS-7-x86_64-Minimal-1708.iso)。

创建虚拟机

使用VirtualBox创建基础虚拟机。

从菜单中选择“虚拟机”->“新建”。

请输入姓名、操作系统、内存大小和硬盘内容,然后点击创建按钮。

項目設定内容名前vagrant-centos-7-x86_64-minimal-1708タイプLinuxバージョンRed Hat (64-bit)メモリーサイズ1024MBハードディスク仮想ハードディスクを作成する

只有在有512M内存的情况下,才能创建SWAP区域并完成安装。

在输入框中填入文件位置、文件大小、硬盘文件类型以及物理硬盘上存储的内容,并点击创建按钮。

項目設定内容ファイルの場所vagrant-centos-7-x86_64-minimal-1708 ※デフォルト値のままファイルサイズ64.00GBハードディスクのファイルタイプVDI (VirtualBox Disk Image)物理ハードディスクにあるストレージ可変サイズ

虚拟机的初始配置

禁用虚拟机中不必要的硬件。

只需要一个选项,以下是对原文的中国的翻译:
1. 右键点击虚拟机vagrant-centos-7-x86_64-minimal-1708并选择设置。
2. 打开系统选项卡,取消启动顺序中的软盘的勾选。
3. 打开音频选项卡,取消启用音频的勾选。
4. 打开端口选项卡,接着打开USB选项卡,并取消启用USB控制器的勾选。
5. 点击确定。

配置端口转发

1. 右键点击虚拟机vagrant-centos-7-x86_64-minimal-1708并选择设置。
2. 打开网络选项卡,点击适配器1中的高级,并按下端口转发按钮。
3. 点击右侧的加号,将主机端口设置为2222,客户端端口设置为22,然后按下确定按钮。
4. 按下确定按钮。

将CentOS7的安装介质配置到虚拟机中并启动。

将CentOS7的安装媒体设置到虚拟机中并启动。

1. 右击虚拟机vagrant-centos-7-x86_64-minimal-1708并选择设置。
2. 打开存储选项卡,选择挂载在IDE控制器下的空白。
3. 点击光驱右侧的CD标志图标,选择虚拟光学磁盘文件。
4. 选择预先下载的CentOS-7-x86_64-Minimal-1708.iso。
5. 点击确定。
6. 右击虚拟机vagrant-centos-7-x86_64-minimal-1708并选择启动 -> 正常启动。

安装CentOS7

1. 选择安装 CentOS 7。
2. 在安装时选择使用的语言为日语。
3. 点击系统的安装位置,将文件系统更改为所需的布局。如果是用于测试目的,将分配给挂载点/的空间设置为grow。
4. 开始安装。
5. 在安装过程中设置 ROOT 密码。密码设为 vagrant。
6. 等待安装完成。

登录

在控制台进行登录。

登录账户:root
密码:vagrant

临时禁用SELinux

# setenforce 0

网络启动设置

1. 确认接口名称

# nmcli c s
NAME    UUID                                  TYPE            DEVICE
enp0s3  xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  802-3-ethernet  --

设置ONBOOT选项为yes时,同时也会通过DHCP连接到网络。

# nmcli c m enp0s3 connection.autoconnect yes

请将「※enp0s3」替换为刚才查询到的接口名。

用ssh进行登录

从这里开始,使用终端软件连接并进行操作。
使用复制和粘贴功能会使工作更加轻松。

在登录之前,需要进行端口转发的设置。
从Virtual BOX的设置界面中,选择网络、高级、端口转发选项,
将主机端口设置为2222,客户端端口设置为22,并点击确定按钮。再次点击确定按钮。

登录信息

項目値ホスト127.0.0.1ポート2222ユーザrootパスワードvagrant
$ ssh -p 2222 root@127.0.0.1

如果您使用Windows操作系统,请使用Teraterm、Putty、Poderosa或Rlogin等工具。

永久停用SELinux

# sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

添加Vagrant用户

创建一个名为vagrant的用户,并将密码设为vagrant。
同时进行sudoers的设置。

# groupadd -g 500 vagrant
# useradd -g vagrant -u 500 vagrant
# passwd vagrant
※パスワードは「vagrant」とする

# echo 'Defaults:vagrant !requiretty' > /etc/sudoers.d/vagrant
# echo "vagrant ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/vagrant

需要将以下内容以中文原生方式进行转述,只需提供一个选项:

“Vagrant ssh的配置”

# mkdir /home/vagrant/.ssh
# chown vagrant:vagrant /home/vagrant/.ssh
# chmod 700 /home/vagrant/.ssh
# echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ==" > /home/vagrant/.ssh/authorized_keys
# chown vagrant:vagrant /home/vagrant/.ssh/authorized_keys
# chmod 600 /home/vagrant/.ssh/authorized_keys

安装GuestAdditions

准备安装GuestAdditions

# yum -y install epel-release
# yum -y install -y bzip2 gcc make kernel-devel-`uname -r` dkms gcc-c++

请提供客座添加的光盘映像的套件。

在VirtualBox的guest控制台窗口中,选择菜单栏中的”Devices”,然后选择”Insert Guest Additions CD image…”

安装GuestAdditions

回到终端并执行下面的命令。

# mount -r /dev/cdrom /media
# /media/VBoxLinuxAdditions.run --nox11
Verifying archive integrity... All good.
Uncompressing VirtualBox 5.2.6 Guest Additions for Linux........
VirtualBox Guest Additions installer
Copying additional installer modules ...
Installing additional modules ...
VirtualBox Guest Additions: Building the VirtualBox Guest Additions kernel modules.
VirtualBox Guest Additions: Starting.

卸载“Guest Additions CD”

# umount /media

尽量减小盒子的大小

删除不必要的物品。
使用dd和rm命令可以将盒子变得更小,就像魔法一样。

# rm /root/.bash_history
# rm -rf /var/cache/yum
# rm -fr /var/log/*
# rm -fr /tmp/*
# dd if=/dev/zero of=/0 bs=4k
# rm -f /0
# history -c

关机

# shutdown -h now

创建盒子

从这里开始,我们将在本地进行工作。

ボックス作成前にメモリを512Mにしておく。
$ VBoxManage modifyvm vagrant-centos-7-x86_64-minimal-1708 --memory 512

ボックスの作成
$ vagrant package --base vagrant-centos-7-x86_64-minimal-1708
==> vagrant-centos-7-x86_64-minimal-1708: Clearing any previously set forwarded ports...
==> vagrant-centos-7-x86_64-minimal-1708: Exporting VM...
==> vagrant-centos-7-x86_64-minimal-1708: Compressing package to: /Users/moonphase/package.box

$ ls -l package.box
-rw-r--r--  1 tuemura  1219831777  539693954  1 21 06:44 package.box

添加一个盒子

$ vagrant box add centos-7-1708 package.box
==> box: Box file was not detected as metadata. Adding it directly...
==> box: Adding box 'centos-7-1708' (v0) for provider:
    box: Unpacking necessary files from: file:///Users/moonphase/package.box
==> box: Successfully added box 'centos-7-1708' (v0) for 'virtualbox'!

$ vagrant box list
centos-7-1708      (virtualbox, 0)

创建和登录虚拟机

在创建的盒子中创建虚拟机并尝试登录。

$ mkdir centos-7-1708-test
$ cd centos-7-1708-test
$ vagrant init centos-7-1708
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'centos-7-1708'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: centos-7-1708-test_default_1516934907514_84187
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default:
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
    default:
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if it's present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant => /Users/moonphase/centos-7-1708-test

$ vagrant ssh

如果可以登录,那就好!

广告
将在 10 秒后关闭
bannerAds