加入收藏 | 设为首页 | 会员中心 | 我要投稿 拼字网 - 核心网 (https://www.hexinwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

如何构建一台网络引导服务器(一)

发布时间:2018-12-31 17:23:44 所属栏目:Windows 来源:Gregory Bartholomew
导读:有些计算机网络需要在各个物理机器上维护相同的软件和配置。学校的计算机实验室就是这样的一个环境。 网络引导 服务器能够被配置为基于网络去提供一个完整的操作系统,以便于客户端计算机从一个中央位置获取配置。本教程将向你展示构建一台网络引导服务器

现在,在本地防火墙中为 NFS 服务添加一个例外规则,然后启动 NFS 服务:

  1. $ firewall-cmd --add-service nfs
  2. $ firewall-cmd --runtime-to-permanent
  3. $ systemctl enable nfs-server.service
  4. $ systemctl start nfs-server.service

创建网络引导镜像

现在我们的 NFS 服务器已经启动运行了,我们需要为它提供一个操作系统镜像,以便于它提供给客户端计算机。我们将从一个非常小的镜像开始,等一切顺利之后再添加。

首先,创建一个存放我们镜像的新目录:

  1. $ mkdir /fc28

使用 dnf 命令在新目录下用几个基础包去构建镜像:

  1. $ dnf -y --releasever=28 --installroot=/fc28 install fedora-release systemd passwd rootfiles sudo dracut dracut-network nfs-utils vim-minimal dnf

在上面的命令中省略了很重要的 kernel 包。在它们被安装完成之前,我们需要去调整一下 initramfs 镜像中包含的驱动程序集,kernel 首次安装时将自动构建这个镜像。尤其是,我们需要禁用 hostonly 模式,以便于 initramfs 镜像能够在各种硬件平台上正常工作,并且我们还需要添加对网络和 NFS 的支持:

  1. $ echo 'hostonly=no' > /fc28/etc/dracut.conf.d/hostonly.conf
  2. $ echo 'add_dracutmodules+=" network nfs "' > /fc28/etc/dracut.conf.d/netboot.conf

现在,安装 kernel 包:

  1. $ dnf -y --installroot=/fc28 install kernel

设置一个阻止 kernel 包被更新的规则:

  1. $ echo 'exclude=kernel-*' >> /fc28/etc/dnf/dnf.conf

设置 locale:

  1. $ echo 'LANG="en_US.UTF-8"' > /fc28/etc/locale.conf

注意:如果 locale 没有正确配置,一些程序(如 GNOME Terminal)将无法正常工作。

设置客户端的主机名字:

  1. $ MY_CLIENT_HOSTNAME=client-01.example.edu
  2. $ echo $MY_CLIENT_HOSTNAME > /fc28/etc/hostname

禁用控制台日志输出:

  1. $ echo 'kernel.printk = 0 4 1 7' > /fc28/etc/sysctl.d/00-printk.conf

定义网络引导镜像中的本地 liveuser 用户:

  1. $ echo 'liveuser:x:1000:1000::/home/liveuser:/bin/bash' >> /fc28/etc/passwd
  2. $ echo 'liveuser::::::::' >> /fc28/etc/shadow
  3. $ echo 'liveuser:x:1000:' >> /fc28/etc/group
  4. $ echo 'liveuser:!::' >> /fc28/etc/gshadow

允许 liveuser 使用 sudo

  1. $ echo 'liveuser ALL=(ALL) NOPASSWD: ALL' > /fc28/etc/sudoers.d/liveuser

启用自动创建家目录:

  1. $ dnf install -y --installroot=/fc28 authselect oddjob-mkhomedir
  2. $ echo 'dirs /home' > /fc28/etc/rwtab.d/home
  3. $ chroot /fc28 authselect select sssd with-mkhomedir --force
  4. $ chroot /fc28 systemctl enable oddjobd.service

由于多个客户端将会同时挂载我们的镜像,我们需要去配置镜像工作在只读模式中:

  1. $ sed -i 's/^READONLY=no$/READONLY=yes/' /fc28/etc/sysconfig/readonly-root

(编辑:拼字网 - 核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!