无人值守

本文主要简单介绍下Ubuntu16.04无人值守安装

KickStart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为ks.cfg的文件,在其后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写的参数的情况时,安装程序会首先去查找kickstar生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。这样,如果kickstart文件涵盖了安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后只需等待安装完毕,安装程序会根据ks.cfg中设置的重启选项来重启系统,并结束安装。
大体流程:DHCP(获取IP,寻找TFTP)—TFTP(交换获取开机启动文件)—HTTP(加载安装文件)—本地安装

1、本次环境
ubuntu16.04
VMware 6.0
2.软件服务安装(tftp、http等) apache tftpserver kickstart

sudo apt-get install system-config-kickstart tftpd-hpa tftp-hpa apache2

启动服务

sudo /etc/init.d/tftp-hpa start
sudo /etc/init.d/apache2 start

3.准备镜像文件
如果是实体机可以直接挂在,虚拟机可以挂在之后将镜像文件拷贝到相应目录(一般根目录)

建立挂在镜像的文件夹

sodu mkdir /var/www/html/ubuntu16.04

1)对实体机,将iso镜像拷贝到根目录,用scp或者wiscp等,然后直接挂在以上文件夹中,同时写到开机自动挂在中

sudo mount -t iso9660 -r -o ro,loop /ubuntu-16.04.2-server-amd64.iso /var/www/html/ubuntu12.04
sudo echo "/ubuntu-16.04.2-server-amd64.iso /var/www/html/ubuntu16.04 iso9660 ro,loop,defaults 0 0" >> /etc/fstab

2)针对虚拟机,可以在CD/DVD驱动中直接挂载,不需要在拷贝iso到服务器上
这里写图片描述
设置之后,可以发现镜像文件的内容已经直接在/mnt中,拷贝到相应的目录即可

root@40-106:/var/www/html/ubuntu16.04# ls /mnt/
boot  dists  doc  EFI  install  isolinux  md5sum.txt  pics  pool  preseed  README.diskdefines  ubuntu
root@40-106:/var/www/html/ubuntu16.04# cp -r /mnt/* /var/www/html/ubuntu16.04

4.ks.cfg 以及tftp启动文件配置
创建ks目录

sudo mkdir /var/www/html/ks

复制启动文件到tftp目录

sudo cp -arf /var/www/html/ubuntu16.04/install/netboot/* /var/lib/tftpboot

添加 ks.cfg 文路径,在install标签下的append 添加ks=http://172.17.40.106/ks/ks.cfg

root@40-106:/var/www/html/ubuntu16.04# cat /var/lib/tftpboot/ubuntu-installer/amd64/boot-screens/txt.cfg
default install
label install
    menu label ^Install
    menu default
    kernel ubuntu-installer/amd64/linux
    append ks=http://172.17.40.106/ks/ks.cfg vga=788 initrd=ubuntu-installer/amd64/initrd.gz live-installer/net-image=http://172.17.40.106/ubuntu-16.04/install/filesystem.squashfs
label cli
    menu label ^Command-line install
    kernel ubuntu-installer/amd64/linux
    append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet

ks配置文件:

这个配置文件,可以用kickstart工具来生成,启动这个工具的话,需要图形界面 ,可以找一个有桌面系统的服务器生成(system-config-kickstart),照着界面配置
此处提供简单一份生成好的

root@40-106:/var/www/html/ks# cat /var/www/html/ks/ks.cfg
#platform=x86
#Install OS instead of upgrade
install

#System language
lang en_US
#Language modules to install
langsupport en_US
#System keyboard
keyboard us
#System mouse
mouse
#System timezone
timezone --utc Asia/Shanghai
#Root password
#rootpw --iscrypted $1$rNLhNwxJ$lwNQZcEy8SxlOo/wU6oIw/
#Initial user
#user --disabled
#Root password
rootpw --disabled
#Initial user
user souche --fullname "souche" --iscrypted --password $1$Y2/nrKdq$JpNpFTzjTVstVazRG9PBT1
#Reboot after installation
reboot
#Use text mode install
text
#Install OS instead of upgrade
#install
#Use Web installation
url --url  http://172.17.40.106/ubuntu16.04
#System bootloader configuration
bootloader --location=mbr
#Clear the Master Boot Record
zerombr yes
#Partition clearing information
clearpart --all --initlabel
#Disk partitioning information
part /boot --asprimary --fstype ext4 --size 200
part swap --asprimary --size 20000
part / --asprimary --fstype ext4 --size 1 --grow
#System authorization infomation
auth  --useshadow  --enablemd5
#Network information
network --bootproto=dhcp ##--device=eth0
#Firewall configuration
firewall --disabled
#Do not configure the X Window System
skipx
#Package install information
%packages
@openssh-server
openssh-server
vim
wget
#%post
#id souche &>; /dev/null || useradd souche #检查是否有souche用户,如果没有则添加 
#echo 123456 | passwd –stdin souche #配置密码 
#echo "nameserver 202.101.172.35" >> #/etc/resolvconf/resolv.conf.d/base   #配置域名解析
#/etc/init.d/resolvconf restart
#%end

其中%post #后安装脚本(这里是另外添加的,在安装后想额外增加的操作,原来文件中没有)

5.DHCP配置
可以用交换机做dhcp或者用本机,以下已本机为例

sudo apt-get install isc-dhcp-server
root@40-106:/var/www/html/ks# cat /etc/dhcp/dhcpd.conf
    subnet 172.17.40.0 netmask 255.255.254.0 {
    range 172.17.40.72 172.17.40.172;
    option routers 172.17.40.1;
    option domain-name-servers 172.17.40.106;
    default-lease-time 7200;
    max-lease-time 14400;
    filename "pxelinux.0";
    next-server 172.17.40.106;
  }
  sudo /etc/init.d/isc-dhcp-server restart

其中subnet 后面的ip一定是..*.0
range 为地址分配范围,
option routers为网关 ,
domain-name-servers为dns服务器,多个用,隔开 可以使本机地址
next-server tftp地址,本机

6.最后启动一台机器验证,看是否成功

文档参考:
https://ifmx.cc/linux/85.html
https://ifmx.cc/linux/464.html
http://www.cnblogs.com/itxdm/p/how_to_auto_installation_linux_system.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Delphi 无人值守指的是Delphi程序执行过程中没有人工干预,即自动化执行。Delphi是一种由Borland公司开发的集成开发环境,主要用于开发Windows平台下的应用程序。在Delphi中,我们可以编写程序来实现各种功能。对于一些重复性工作或者需要自动化处理的任务,可以使用Delphi实现无人值守的自动化执行。 Delphi提供了许多自动化工具和功能,使得程序可以在没有人工操作的情况下执行任务。例如,可以使用Delphi编写程序来定时执行某些任务,如定时备份数据库、生成报表等。通过设置定时器或者计划任务,可以让程序按照设定的时间自动启动并执行相应的操作。 此外,Delphi还提供了许多便捷的组件和类来实现自动化任务的执行。例如,可以使用TTimer组件来设置定时器,在指定时间间隔内执行相关的操作;使用TADOQuery组件来自动连接并执行数据库操作;使用TFile类进行文件操作等。通过编写相应的代码逻辑,我们可以实现各种无人值守的任务执行,提高工作效率和减少人为错误。 总之,Delphi通过提供丰富的工具和组件,使得程序可以在没有人工操作的情况下实现自动化执行。通过编写相应的代码逻辑,我们可以实现各种无人值守的任务,提高工作效率,减少人为错误。无人值守的自动化执行是Delphi的一个重要特性,为开发者提供了更多的便利和灵活性。 ### 回答2: Delphi 无人值守是一种利用Delphi编程语言和相关工具来实现自动化任务的方法。在这个过程中,无需人工干预,计算机程序能够自动执行指定的任务。 Delphi是一种面向对象的编程语言,可用于开发各种类型的应用程序,包括桌面应用程序、移动应用程序和Web应用程序等。Delphi提供了强大的编程环境,使得开发者能够轻松地创建复杂的应用程序和自动化任务。 无人值守是利用计算机程序自动执行任务的方式,使得操作变得更高效、准确和可靠。在Delphi中,可以使用计划任务、后台服务、定时器等功能实现无人值守任务,例如自动备份数据、定期生成报表、监控系统运行状况等。 Delphi无人值守的实现依赖于编写具体的程序代码,包括任务的逻辑和执行步骤。开发者可以使用Delphi提供的类库和函数来实现自动化任务,例如使用文件操作函数进行数据备份,使用数据库访问组件读取数据并生成报表,使用网络通信组件监控远程设备等。 使用Delphi实现无人值守任务的好处是可以提高工作效率和减少人力成本。自动化任务可以在规定的时间内自动执行,无需人工干预,节省了人力资源,并且能够快速、准确地完成任务。同时,Delphi具有丰富的开发工具和支持,使得开发者能够更加方便地实现无人值守任务。 总而言之,Delphi无人值守是一种利用Delphi编程语言和相关工具实现自动化任务的方式。它能够提高工作效率,减少人力成本,并且增加任务的准确性和可靠性。 ### 回答3: Delphi是一种集成开发环境(IDE),可用于创建Windows上的应用程序。它提供了一种名为"无人值守"的特性,使得开发人员能够在程序运行时不需要人的干预下执行任务。 无人值守是指程序在运行时不需要有人手动操作或干预。这种特性通常用于自动化任务和后台进程,其目的是最大程度地减少人的参与,提高工作效率并减少错误。 在Delphi中,可以通过使用定时器或线程的方式实现无人值守。定时器可以设置程序在指定的时间间隔内执行特定的操作,而线程可以在后台运行并执行长时间任务。 例如,假设我们有一个需要从数据库中定期导出数据到Excel文件的任务。通过使用无人值守的特性,我们可以设置一个定时器来定期执行这个任务,而不需要人手动执行。定时器会自动启动程序,并在指定的时间间隔内重复执行导出数据到Excel的操作。 另外,无人值守功能还可以用于后台进程。比如,我们可能有一个需要在程序启动后一直运行并监控系统状态的任务。通过使用无人值守特性,我们可以在程序启动时启动一个线程,该线程会在后台持续运行并执行所需的监控任务,而主线程可以继续响应用户的操作。 总之,Delphi的无人值守特性使得开发人员能够轻松地实现自动化任务和后台进程,提高工作效率,并减少人为错误的发生。无人值守的应用范围广泛,可以用于各种需要自动执行任务的场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值