原文发表于:2010-09-16

转载至cu于:2012-07-21

一.原理简介

PXE(preboot execute environment)工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载镜像,并由此支持来自网络的操作系统的启动。启动过程中,终端由DHCP服务器分配IP地址,再用TFTP(trivial file transfer protocol)等协议下载存在于服务器(NFS,FTP,HTTP, SAMBA等)的操作系统内核和文件系统等到本机内存中并执行,由此完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。

RIS(远程安装服务,Remote Installation Services) 是windows server的可选服务,利用RIS可以让管理员很方便地为客户端部署操作系统。

二.环境说明

server os:

CentOS 5.4 i386

server soft:

dhcp, tftp, samba, ris-linux

可以使用yum安装:

yum –y install dhcp*
yum –y install tftp*
yum –y install samba*

server ip:

eth1: 192.168.0.1

client:

HP 360G5

windows 2003 sp2 cn enterprise

三.安装配置过程简介

1. 配置DHCP

more /etc/dhcpd.conf

ddns-update-style interim;
ignore client-updates;
allow booting;
allow bootp; subnet 192.168.0.0 netmask 255.255.255.0 {
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.0.1;
option time-offset -18000; # Eastern Standard Time
range dynamic-bootp 192.168.0.10 192.168.1.254;
default-lease-time 21600;
max-lease-time 43200; # Group the PXE bootable hosts
# PXE-server configuration direction
next-server 192.168.0.1; #指向nfs服务器
filename "/pxelinux.0"; #/tftp根目录下的启动引导文件
}

重启dhcp服务:

/etc/init.d/dhcpd restart 

2. 配置TFTP

more /etc/xinetd.d/tftp

# default: off
# description: The tftp server serves files using the trivial file transfer \
# protocol. The tftp protocol is often used to boot diskless \
# workstations, download configuration files to network-aware printers, \
# and to start the installation process for some operating systems. service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd #-s指定tftp根目录, -m指定一个规则文件, -vv输出tftp的log到/var/log/message
server_args = -u nobody -s /tftpboot -m /tftpboot/rules -vv #默认yes,关闭
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}

重启tftp服务:

/etc/init.d/xinetd.restart

查看tftp服务是否启动:

chkconfig –list | grep tftp 

3. 建立TFTP的rules文件

Linux下区分大小写,但windows不区分,为免混乱,将所有查找文件内容统一改成小写。

more  /tftpboot/rules

ri ^[a-z]: # Remove "drive letters"
rg \\ / # Convert backslashes to slashes
rg \# @ # Convert hash marks to @ signs
rg /../ /..no../ # Convert /../ to /..no../
rg A a
rg B b
rg C c
rg D d
rg E e
rg F f
rg G g
rg H h
rg I i
rg J j
rg K k
rg L l
rg M m
rg N n
rg O o
rg P p
rg Q q
rg R r
rg S s
rg T t
rg U u
rg V v
rg W w
rg X x
rg Y y
rg Z z
r ^/(.*) \1 

4. 配置SAMBA

windows的ris安装是通过windows共享文件的方式进行文件传输,在linux下可以通过samba实现与windows进行文件共享,进而实现ris安装windows。

编辑samba配置文件:/etc/samba/smb.conf

#全局配置
[global]
null passwords = true
workgroup = WORKGROUP
server string = Samba Server Version %v
security = share
dns proxy = no
load printers = no
disable spoolss = yes
debug level = 2
log file = /var/log/samba/%m.log
max log size = 0 #共享配置
[wininstall]
comment = Windows 2003 Install
path = /tftpboot
browsable = true
read only = no
writeable = yes
guest ok = yes

重启samba服务:

/etc/init.d/smb restart 

5. 配置启动需要的文件

上传windows2003的镜像或者文件到服务器。这里使用上传镜像然后挂载。

mount /root/win2003cn.iso /mnt –o loop
mkdir /tftpboot/win2k3
cd /mnt
cp –a * /tftpboot/win2k3

下面需要解压一些iso中的文件,可以使用cabextract。

下载页:http://www.cabextract.org.uk/

可以根据版本下载。

wget http://www.cabextract.org.uk/cabextract-1.3-1.i386.rpm
rpm –ivh cabextract-1.3-1.i386.rpm

配置windows ris 启动文件:

cd /tftpboot
cabextract win2k3/i386/startrom.n1_
#解压
sed -i -e 's/NTLDR/W2K3L/gi' startrom.n12
#直接替换startrom.n12文件中” NTLDR”为” W2K3L”
#W2K3L: windows 2003 Setup Loader
mv startrom.n12 /tftpboot/w2k3.0
#w2k3.0: windows 2003 pxe loader
cabextract win2k3/i386/setupldr.ex_
sed -i -e 's/winnt\.sif/wi2k3\.sif/gi' setupldr.exe
sed -i -e 's/ntdetect\.com/ntdetect\.2k3/gi' setupldr.exe
mv setupldr.exe /tftpboot/w2k3l
cp win2k3/i386/ntdetect.com /tftpboot/ntdetect.2k3
#ntdetect.2k3: windows 2003 ntdetect.com

配置pxe启动镜像:

cp /usr/lib/syslinux/pxelinux.0 /tftpboot
# pxelinux.0依赖于syslinux,没有安装使用yum:yum –y install syslinux*
# pxelinux.0是PXE启动引导文件

配置pxe启动加载文件:

pxelinux.0启动中,读取同目录先pxelinux.cfg文件夹下的配置文件以确定它应该怎么加载启动文件。

mkdir /tftpboot/pxelinux.cfg

vim /tftpboot/pxelinux.cfg/default
default win2k3
label win2k3
kernel w2k3.0 #与ris启动文件匹配

建立安装应答文件:

这个文件很强大,提供的参数不是对系统很了解的人并不一定全知道,我们只需要知道对我们有用的参数。当然,没事的时候也可以慢慢研究。J

vim /tftpboot/wi2k3.sif

[data]
AutoPartition = "0"
#关闭自动分区,2003还不能完全自动分区,这点需要手工操作。如果一定要跳过这一步,需要和后面的参数配合,并且2003提供的只有将全盘划成根盘(c:\)
floppyless = "1"
msdosinitiated = "1"
UnattendedInstall = "Yes"
OriSrc = \\192.168.0.1\wininstall\win2k3\i386
#注意samba和win安装文件路径
OriTyp = "4"
LocalSourceOnCD = "1"
DisableAdminAccountOnDomainJoin = "1" [SetupData]
OsLoadOptions = "/fastdetect"
SetupSourceDevice = "\Device\LanmanRedirector\192.168.0.1\wininstall\win2k3" [Unattended]
UnattendMode = "FullUnattended"
#使用unattended文件
FileSystem = "LeaveAlone"
NtUpgrade = "No"
OverwriteOemFilesOnUpgrade = "No"
DriverSigningPolicy = "Ignore"
UpdateInstalledDrivers = "Yes"
ConfirmHardware = "No"
ExtendOEMPartition = "0"
TargetPath = "\WINDOWS"
UnattendSwitch = "Yes"
WaitForReboot = "No"
CrashDumpSetting = "0"
OemSkipEula = "Yes"
OEMSkipWelcome = "1"
InstallFilesPath = "\\192.168.0.1\wininstall\win2k3\i386"
LegacyNIC = "1"
OemPreInstall = "Yes" #加载OEM中的驱动 [UserData]
ProductKey = "M4VQK-HVTD9-42RQX-2DJP2-23KVM"
FullName = "admin"
OrgName = "SDO"
ComputerName = C1ZJ [GuiUnattended]
AdminPassword = WD#sd7258
EncryptedAdminPassword = "No"
OEMSkipRegional = "1"
TimeZone = "220"
OemSkipWelcome = "1" [LicenseFilePrintData]
AutoMode=PerServer
AutoUsers=5 [Identification]
JoinWorkgroup = WORKGROUP #这里和分区有关
[RemoteInstall]
Repartition = "NO"
UseWholeDisk = "No" [Networking]
InstallDefaultComponents = "Yes"

#以下的默认文件中没有,和服务器raid卡驱动有关:

[MassStorageDrivers]
"Windows Driver for Smart Array SAS/SATA Controllers" = OEM [OEMBootFiles]
cp011324.xml
cpqsetup.exe
generic.dll
hpcisss2.cat
hpcisss2.sys
hpcissx2.inf
install.xml
txtsetup.oem #以下是系统安装完毕后第一次启动执行的批处理文件
[GuiRunOnce]
%systemdrive%\preinstall\runonce.cmd

6. 驱动加载相关

因为是服务器的安装,所以需要提前加载一些驱动,自动安装的麻烦就在此。

pxe安装需要加载网卡驱动(引导和文件传输是两个阶段,传输文件阶段开始时要先把网卡驱动加载起来的)。

查到服务器使用的Broadcom NetXtreme II网卡,而Broadcom提供在ris下的驱动:

wget http://www.broadcom.com/docs/driver_download/NXII/win_2k3_RIS-5.0.0.zip
mkdir /tftpboot/nicdrive
unzip win_2k3_RIS-5.0.0.zip -d /tftpboot/nicdrive

驱动网卡,需要有一个binl server,binl读取所有新的与网络接口卡相关的.inf文件,并在映像中创建.pnf文件。

binl server下载:http://oss.netfarm.it/guides/

wget http://oss.netfarm.it/guides/ris-linux-0.4.tar.gz
tar –zxvf ris-linux-0.4.tar.gz
cd ris-linux-0.4
./infparser.py /tftpboot/nicdrive/Server/W2K3_W2K8/RIS/
./binlsrv.py -d #-d 后台运行,不能停止此程序
cp /tftpboot/nicdrive/Server/W2K3_W2K8/RIS/b06nd51x.sys /tftpboot/win2k3/i386

 

这里是Broadcom提供有专门的ris网卡驱动,如果没有,可以将windows需要的网卡驱动(不限于网卡)的.inf文件放在/tftpboot/inf文件夹下,执行:

./infparser.py /tftpboot/inf
./binlsrv.py

然后是加载raid卡驱动(其他驱动也适用,关键是能否找到相关文件)。

光盘安装windows在开始时蓝色屏幕上有一个按F6的提示,提示是通过软盘加载磁盘驱动,这类驱动是windows系统中的驱动,可以下载好windows驱动,解压好驱动放在一个指定的目录,再通过应答文件,一般可以加载上这类驱动。这类驱动加载完毕后不必在系统中再安装。加载这类驱动有注意点:文件要有正确的oem数字签名(一般提供驱动的厂商都带数字签名),乱改动这类文件,同时不在配置文件中写明去掉数字签名认证,是不能加载的。

下载HP的raid卡驱动(已经查明型号:Smart Array E200i, 一般一个驱动支持多种类型的raid卡):

wget http://h30445.www3.hp.com/pub/softlib2/software1/sc-windows/p1285069816/v55115/cp011324.exe
mkdir /tftpboot/win2k3/i386/$oem$/textmode
unzip cp011324.exe -d /tftpboot/win2k3/i386/$oem$/textmode

在自动应答文件wi2k3.sif末尾添加:

[MassStorageDrivers]
"Windows Driver for Smart Array SAS/SATA Controllers" = OEM
#”Windows Driver for Smart Array SAS/SATA Controllers”可以查看textmode文件夹下的txtsetup.oem文件,名字保持一致 [OEMBootFiles]
cp011324.xml
cpqsetup.exe
generic.dll
hpcisss2.cat
hpcisss2.sys
hpcissx2.inf
install.xml
txtsetup.oem
#textmode下的所有文件名字,一般自动安装的驱动文件.inf, .cat, .sys #新增参数,修改[Unattended]字段
OemPreInstall = "Yes"

7. 补丁,前期包,其他驱动的加载

完成以上操作就已经可以安装系统了,但是系统安装完成后需要做一些前期操作,像打补丁,打安全包,或者一些驱动(芯片组,网卡,显卡等在上面没有加载到系统中的一些驱动)。

这些优化的问题可以利用批处理文件解决。这些批处理文件最好是在windows下编辑好再上传到服务器,否则会出现格式问题导致文件不能执行。

首先需要在$oem$目录下建立cmdlines.txt文件,这个文件会在系统安装过程的注册组件时间段(即还剩13分钟左右时)调用:

vim /tftpboot/win2k3/$oem$/cmdlines.txt

#文件的内容以" [COMMANDS]"为起头;使用引号“”来标记下面需要执行的每条命令。 注意路径问题,install.cmd的路径为cmdlines.txt的同级目录;
#这里还可以添加注册表。
[COMMANDS]
"install.cmd"

以下是此时使用的install.cmd:

@ echo off
title Windows Install Prepackage, Hotfix and Drives
@ color 0a @echo 安装WINDOWS_2003_SP2补丁, 大约需要20分钟... 2>>%HOMEDRIVE%/errlog.txt
@ cd hotfix 2>>%HOMEDRIVE%/errlog.txt
WindowsServer2003-KB914961-SP2-x86-CHS.exe /quiet /norestart
WindowsUpdateAgent30-x86.exe /quiet /norestart
WindowsServer2003-KB925902-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB930178-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB931784-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB932168-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB935839-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB935840-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB933729-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB943460-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB921503-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB938829-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB941644-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB943485-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB942830-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB942831-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB943055-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB946026-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB941693-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB944338-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB945553-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB948590-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB951748-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB950974-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB952954-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB938464-x86-CHS.exe /quiet /norestart
windowsserver2003-kb953155-x86-chs.exe /quiet /norestart
windowsserver2003-kb954211-x86-chs.exe /quiet /norestart
windowsserver2003-kb956803-x86-chs.exe /quiet /norestart
windowsserver2003-kb956841-x86-chs.exe /quiet /norestart
windowsserver2003-kb957095-x86-chs.exe /quiet /norestart
WindowsServer2003-KB958644-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB957097-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB956802-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB958687-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB958690-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB960225-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB952004-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB956572-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB960803-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB961501-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB968537-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB970238-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB958469-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB971032-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB971657-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB967723-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB953298-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB958869-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB971486-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB975467-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB969947-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB974392-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB972270-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB971468-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB975713-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB977165-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB978251-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB979683-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB980232-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB979559-x86-CHS.exe /quiet /norestart
WindowsServer2003-KB980218-x86-CHS.exe /quiet /norestart if %errorlevel% EQU 0 (
@ echo 补丁安装成功, 继续安装prepackge... 2>>%HOMEDRIVE%/errlog.txt
@ cd ..
@ goto prepackge 2>>%HOMEDRIVE%/errlog.txt
) else (
@ echo 补丁安装失败, 继续安装prepackge... 2>>%HOMEDRIVE%/errlog.txt
@ cd ..
@ goto prepackge 2>>%HOMEDRIVE%/errlog.txt
) :prepackge @ echo 安装Prepackage中... 2>>%HOMEDRIVE%/errlog.txt
@ cd windows_2010628 2>>%HOMEDRIVE%/errlog.txt
install.bat /qn 2>>%HOMEDRIVE%/errlog.txt
if %errorlevel% EQU 0 (
@ echo Prepackage安装成功 2>>%HOMEDRIVE%/errlog.txt
@ cd ..
@ goto end 2>>%HOMEDRIVE%/errlog.txt
) else (
@ echo Prepackage安装失败 2>>%HOMEDRIVE%/errlog.txt
@ cd ..
@ goto end 2>>%HOMEDRIVE%/errlog.txt
) :end

批处理文件中的hotfix(出重要的补丁时可以下载放到这,但别忘记了修改批处理文件),windows_20100628(安全部门制作的安全包解压所得)文件夹和install.cmd位于同级目录,这里就是在/tftpboot/win2k3/$oem$/下。

其中在组件注册时不能执行的的命令或者程序(包括有交互而不适合执行的程序),可以通过在自动应答文件wi2k3.sif中添加[GuiRunOnce]字段,在第一次登录系统时执行脚本来完成一些短时间能够完成的操作。

在/tftpboot/win2k3/$oem$/下建立文件夹$1,这个文件夹下的所有文件(夹)会在安装过程中复制到兄根目录,即C盘。

mkdir /tftpboot/win2k3/$oem$/$1
cd mkdir /tftpboot/win2k3/$oem$/$1
mkdir preinstall

在windows平台编辑一个批处理文件runonce.cmd,上传到preinstall文件夹下:

@ echo off
title Windows GuiRunOnce Install Drives
@ color 0a echo starting drive
echo.
@ cd\
@ cd preinstall
@ cd hp
call bp000588.cmd echo.
echo starting pcanywhere
@ cd\
@ cd preinstall
@ cd pcanywhere_10.5.1cn
start /wait SymantecpcAnywhere.msi echo.
shutdown -r -t 0
exit

这里我将HP的所有驱动放到hp文件夹下(因为我也分不清楚哪些需要,哪些不需要,就只有全部上传了,L),pcanywhere安装文件放到pcanywhere_10.5.1cn文件夹下。所有这些文件夹统一放到preinstall文件夹下(有需要还可以增加,修改runonce.cmd即可)

最后在自动应答文件wi2k3.sif中添加:

#注意路径
[GuiRunOnce]
%systemdrive%\preinstall\runonce.cmd 

8. 进阶

上面只是提到32为系统,对于64位系统,我们可以在/tftpboot下建立win2k3_64文件夹,将iso下的文件拷到此文件夹下。

cabextract win2k3_64/i386/startrom.n1_
#解压
sed -i -e 's/NTLDR/W2K3L_64/gi' startrom.n12
#直接替换startrom.n12文件中" NTLDR"为" W2K3L_64"
#W2K3L_64: windows 2003 64bit Setup Loader
mv startrom.n12 /tftpboot/w2k3_64.0
# w2k3_64.0: windows 2003 bit pxe loader
cabextract win2k3_64/i386/setupldr.ex_
sed -i -e 's/winnt\.sif/wi2k3_64\.sif/gi' setupldr.exe
sed -i -e 's/ntdetect\.com/ntdetect\.2k3_64/gi' setupldr.exe
mv setupldr.exe /tftpboot/w2k3l_64
cp win2k3_64/i386/ntdetect.com /tftpboot/ntdetect.2k3_64
# ntdetect.2k3_64: windows 2003 bit ntdetect.com

samba服务器需要建立针对64位系统的共享目录,如[win64install];同时建立自动应答文件/tftpboot/wi2k3_64.sif 。这两者当中的路径问题请一定要注意一一对应。

pxe加载/tftpboot/pxelinux.cfg/default文件,需要有系统选择时,可以修改文件:

vim /tftpboot/pxelinux.cfg/default

default win2k3
timeout 30
label win2k3
kernel w2k3.0
label win2k3_64
kernel w2k3_64.0

其实不管是32位还是64位系统,启动文件都是一样的,这些都可以不用修改,只是客户端从服务器下载文件的路径一定要区分32位和64位。

启动顺序:pxelinux.0—> default—> pxe loader(w2k3.0, startrom.n12)—>setup loader(w2k3l, setupldr.exe) —> ntdetect.com(ntdetect.2k3) and winnt.sif(wi2k3.sif)

9. 小结

关于驱动加载的问题,如果我们参照一台已经装好windows2003系统的服务器的硬件驱动(重要的是芯片组,网卡,显卡等)可以看出这些驱动主要由.sys, .dll, .inf(驱动信息文件), .cat(驱动签名文件)等文件组成。如果能收集到这些文件放到系统安装文件里,就不用事后打驱动那么麻烦。但这个过程目前我还没有摸透,这点还是有很大的改进空间的。

使用这套系统安装windows2003系统,加上打补丁(大概超过20分钟)的时间,前后在40分钟左右。我看过安全部门制作的安全包,系统正式上线后应该是可以自动打补丁的。如果有可能的话,可以把打补丁这个环节去掉。这样利用这套系统安装一台windows2003系统大概是20分钟,批量安装更能体现效果。

win2003系统网络安装——基于linux+pxe+dhcp+tftp+samba+ris的更多相关文章

  1. Linux系统网络安装——基于pxe+dhcp+nfs+tftp+kickstart

    原文发表于:2010-09-05 转载至cu于:2012-07-21 一.原理简介 PXE(preboot execute environment)工作于Client/Server的网络模式,支持工作 ...

  2. 安装基于 Linux 发行版的重要事项(流程指引)

    安装基于 Linux 发行版的重要事项(Install important issues based on the Linux distribution. (Process guidance)) 1. ...

  3. 关于linux - Centos 7 系统下使用PXE网络的方式(pxe+dhcpd+tftp+httpd)安装操作系统

    PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络而不是从本地硬盘.光驱等设备启动. 现代的网卡,一般都内嵌支持PXE的ROM芯片. ...

  4. PXE+DHCP+TFTP+Cobbler 无人值守安装centos 7

    Cobbler(补鞋匠)是通过将DHCP.TFTP.DNS.HTTP等服务进行集成,创建一个中央管理节点,其可以实现的功能有配置服务,创建存储库,解压缩操作系统媒介,代理或集成一个配置管理系统,控制电 ...

  5. VMware空虚拟机通过网络安装系统时获取不到IP地址情况(基于Linux的DHCP服务器)

    当虚拟机提示no DHCP or proxyDHCP offers were received时 1.dhcp服务配置错误(留意句尾分号“  :”) 2.dhcp服务未启动(用 systemctl s ...

  6. linux pxe+dhcp+nfs+tftp

    yum -y install vsftpd dhcp xinetd tftp-server syslinux(安装"syslinux"才有pxelinux.0) tftp 服务(v ...

  7. Deepin15.8系统下安装QorIQ Linux SDK v2.0 yocto成功完美运行的随笔

    2019.2.17日:最终安装成功,完美解决! 2019.2.16日:最终安装未成功,但是过程中排除 了几个bug,前进了几步,仅供参考. 写在最前面,yocto安装是有系统要求的,Deepin 15 ...

  8. 使用PXE+DHCP+TFTP+kickstart搭建无人执守系统安装服务器

    原理和概念:  1. 什么是PXE  严格来说,PXE 并不是一种安装方式,而是一种引导的方式.进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 ...

  9. Linux 系统 网络配置

    Linux 系统 网络配置 配置Linux系统网络的方法有几种,这里介绍本人常用的两种. 第一种:使用命令ifconfig配置,具体用法:Ipconfig  ethx   x.x.x.x    net ...

随机推荐

  1. Android解析json数据

    Json数据 [{"code":"110000","sheng":"11","di":"0 ...

  2. UGA,PGA

    tom认为UGA不包含 sort工作区,所以下面的图都是错误的 The UGA is, in effect, your session’s state. It is memory that your ...

  3. Spring boot 零配置开发微服务

    2018年12月29日星期六 体验Spring boot 零配置开发微服务 1.为什么要用Spring  boot? 1.1 简单方便.配置少.整合了大多数框架 1.2 适用于微服务搭建,搭建的微服务 ...

  4. 对于PHP绘图技术的理解

    要使用PHP绘图,就得在php.ini文件中设置一下 找到这个位置 ;extension=php_gd2.dll,然后把前面的分号去掉,重启下apache就可以了 几乎每行代码我都写了注释,方便看懂 ...

  5. javascript用户密码加密,js密码加密

    1.base64加密 在页面中引入base64.js文件,调用方法为: <!DOCTYPE HTML> <html> <head> <meta charset ...

  6. 初识HDFS原理及框架

    目录 HDFS是什么 HDFS的优缺点 HDFS的框架 HDFS的读写流程 HDFS命令 HDFS参数 1. HDFS是什么 HDFS(Hadoop Distributed File System)是 ...

  7. [Golang学习笔记] 04 程序实体1 变量声明

    变量声明: Go语言的程序实体包含:变量.常量.函数.结构体和接口,是一门静态类型的编程语言. (在声明变量或常量的时候,需要指定类型,或者给予足够信息是的Go语言能够推导出类型) Go语言变量的类型 ...

  8. 第一节 如何用Go实现单链表

    一.概念介绍 下面这副图是我们单链表运煤车队. 每节运煤车就是单链表里的元素,每节车厢里的煤炭就是元素中保存的数据.前后车通过锁链相连,作为单链表运煤车,从1号车厢开始,每节车厢都知道后面拉着哪一节车 ...

  9. SDR软件无线电知识要点(三)EVM

    SDR软件无线电知识要点(三)EVM 信号质量如何评估 Noise Figure (NF) or sensitivity and Error Vector Magnitude (EVM) provid ...

  10. postgres-xl 安装与部署 【异常处理】ERROR: could not open file (null)/STDIN_***_0 for write, No such file or directory

    https://www.jianshu.com/p/82aaf352b772 这篇文章很不错,里面有个bug,可能是版本不对. 当前(2018-04-11)通过git 下载原代码时,在配置  pgxc ...