Ubuntu Server 部署手册

pxe+tftp+vsftp+apache2

=======================================================================

服务器配置

TFTP配置

安装tftp

apt-get install tftp-hpa tftpd-hpa
,或者

apt-get install tftp-hpa tftpd-hpa
xinetd

配置TFTP

TFTP有两种应用方式,一种作为独立的服务,一种作为xinetd存在。

作为独立服务需配置/etc/default/tftpd-hpa

##注:要先安装xinetd,再安装tftp-hpa,tftpd-hpa

若通过xinetd启动,需要将/etc/default/tftpd-hpa改名或删除,创建/etc/xinetd.d/tftp文件

touch /etc/xinetd.d/tftp

添加如下内容:

service tftp

{

socket_type = dgram

protocol = udp

wait = yes

user = root

server =
/usr/sbin/in.tftpd

server_args = -s /tftpboot
//指定tftp根目录

disable = no

per_source = 11

cps = 100 2

flags = IPv4

}

启动TFTP

service xinetd restart

/etc/init.d/xinetd restart

查看TFTP状态

netstat -tnplu |grep 69

显示如下表明正常

udp 0 0 0.0.0.0:69
0.0.0.0:* 25003/xinetd

测试TFTP

tftp localhost

trace

get xxx.xx

看是否能够正常获取文件。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

DHCP配置

DHCP安装

apt-get install isc-dhcp-server
isc-dhcpd-common isc-dhcpd-client

DHCP配置

配置文件位置,/etc/dhcp/dhcpd.conf

DHCP配置案例

ddns-update-style none;

option domain-name-servers 8.8.8.8;
//注:若不加此行,则自动安装过程中出现问题2.C

default-lease-time 600;

max-lease-time 7200;

log-facility local7;

allow bootp;

allow booting;

subnet 192.168.100.0 netmask
255.255.255.0 {

range 192.168.100.85 192.168.100.99;

option subnet-mask 255.255.255.0;

option routers 192.168.100.1;

next-server 192.168.100.1; ##TFTP
Server的地址

filename "pxelinux.0";
##文件放在tftp文件夹的根目录,即/tftpboot目录下

}

host client1 {

hardware ethernet a4:1f:72:60:24:9d;

fixed-address 192.168.100.120;
#指定ip地址

option host-name "client1";
# 指定主机名

}

在文件/etc/default/isc-dhcp-server中指定监听的网卡,比如

INTERFACES="eth0"

附1:

dhcp的一些配置选项

option(选项):
subnet-mask
为客户端设定子网掩码
domain-name
为客户端指明DNS名字
domain-name-servers
为客户端指明DNS服务器IP地址
host-name
为客户端指定主机名称
routers
为客户端设定默认网关
broadcast-address
为客户端设定广播地址
ntp-server
为客户端设定网络时间服务器IP地址
time-offset
为客户端设定和格林威治时间的偏移时间,单位是秒。

parameters(参数):
ddns-update-style
配置DHCP-DNS互动更新模式
default-lease-time
指定缺省租赁时间的长度,单位是秒
max-lease-time
指定最大租赁时间长度,单位是秒
hardware
指定网卡接口类型和MAC地址
server-name
通知DHCP客户服务器名称
get-lease-hostnames
flag 检查客户端使用的IP地址
fixed-address
ip 分配给客户端一个固定的地址
authritative
拒绝不正确的IP地址的要求

declarations(声明):
shared-network
用来告知是否一些子网络分享相同网络
subnet
描述一个IP地址是否属于该子网
range
起始IP
终止IP
提供动态分配IP
的范围
host
主机名称
参考特别的主机
group
为一组参数提供声明
allow
unknown-clients或deny
unknown-client 是否动态分配IP给未知的使用者
allow
bootp或deny
bootp 是否响应激活查询
allow
booting或deny
booting 是否响应使用者查询
filename
开始启动文件的名称,应用于无盘工作站
next-server
设置服务器从引导文件中装如主机名,应用于无盘工作站

附2:

一些与DHCP设定有关的问题:

A:提示continue
without a default route

解决方法:在dhcp配置文件的subnet中添加
option routers 192.168.100.1;

B:无法指定主机名和网路:

解决方法:在配置文件中添加

fixed-address 192.168.100.120;
#指定ip地址

option host-name "client1";
# 指定主机名

C:name server addresses 提示

解决方法,在/etc/dhcp/dhcpd.conf文件中添加

option domain-name-servers 8.8.8.8;

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

vsftp服务的搭建

安装

apt-get install vsftpd

配置

配置文件/etc/vsftpd.conf

listen=YES

anonymous_enable=YES

local_enable=YES

dirmessage_enable=YES

use_localtime=YES

xferlog_enable=YES

connect_from_port_20=YES

secure_chroot_dir=/var/run/vsftpd/empty

pam_service_name=vsftpd

rsa_cert_file=/etc/ssl/private/vsftpd.pem

no_anon_password=YES

##注:使用usermod
-d /var/www/ubuntu ftp

vsftpd也存在两种运行模式,xinetd(super
daemon)和独立运行模式,像其它守护程序一样,vsftpd提供了standalone和inetd(inetd或xinetd)两种运行模式。简单解释一下,
standalone一次性启动,运行期间一直驻留在内存中,优点是对接入信号反应快,缺点是损耗了一定的系统资源,因此经常应用于对实时反应要求较高的
专业FTP服务器。inetd恰恰相反,由于只在外部连接发送请求时才调用FTP进程,因此不适合应用在同时连接数量较多的系统。此外,inetd模式不
占用系统资源。除了反应速度和占用资源两方面的影响外,vsftpd还提供了一些额外的高级功能,如inetd模式支持per_IP(单一IP)限制,而
standalone模式则更有利于PAM验证功能的应用。

在我们的系统中,默认使用standalone模式,即在/etc/xinetd.d/目录下没有vsftp文件,若要开启super
daemon模式,需要

一,修改vsftpd.conf,listen=NO

二,添加/etc/xinetd.d/vsftp文件,添加

service ftp

	{
socket_type = stream
wait = no
user = root
server = /usr/sbin/vsftpd
log_on_success += DURATION USERID
log_on_failure += USERID
nice = 10
disable = no
}
三,停止vsftpd
service vsftpd stop
四,启动xinetd
service xinetd start 附:
配置文件参数说明:
listen=<YES/NO> :设置为YES时vsftpd以独立运行方式启动,设置为NO时以xinetd方式启动(xinetd是管理守护进程的,将服务集中管理,可以减少大量服务的资源消耗)
listen_port=<port> :设置控制连接的监听端口号,默认为21
listen_address=<ip address> :将在绑定到指定IP地址运行,适合多网卡
connect_from_port_20=<YES/NO> :若为YES,则强迫FTP-DATA的数据传送使用port 20,默认YES
pasv_enable=<YES/NO> :是否使用被动模式的数据连接,如果客户机在防火墙后,请开启为YES
pasv_min_port=<n>
pasv_max_port=<m> :设置被动模式后的数据连接端口范围在n和m之间,建议为50000-60000端口
message_file=<filename> :设置使用者进入某个目录时显示的文件内容,默认为 .message
dirmessage_enable=<YES/NO> :设置使用者进入某个目录时是否显示由message_file指定的文件内容
ftpd_banner=<message> :设置用户连接服务器后的显示信息,就是欢迎信息
banner_file=<filename> :设置用户连接服务器后的显示信息存放在指定的filename文件中
connect_timeout=<n> :如果客户机连接服务器超过N秒,则强制断线,默认60
accept_timeout=<n> :当使用者以被动模式进行数据传输时,服务器发出passive port指令等待客户机超过N秒,则强制断线,默认60
accept_connection_timeout=<n> :设置空闲的数据连接在N秒后中断,默认120
data_connection_timeout=<n> : 设置空闲的用户会话在N秒后中断,默认300
max_clients=<n> : 在独立启动时限制服务器的连接数,0表示无限制
max_per_ip=<n> :在独立启动时限制客户机每IP的连接数,0表示无限制(不知道是否跟多线程下载有没干系)
local_enable=<YES/NO> :设置是否支持本地用户帐号访问
guest_enable=<YES/NO> :设置是否支持虚拟用户帐号访问
write_enable=<YES/NO> :是否开放本地用户的写权限
local_umask=<nnn> :设置本地用户上传的文件的生成掩码,默认为077
local_max_rate<n> :设置本地用户最大的传输速率,单位为bytes/sec,值为0表示不限制
local_root=<file> :设置本地用户登陆后的目录,默认为本地用户的主目录
chroot_local_user=<YES/NO> :当为YES时,所有本地用户可以执行chroot
chroot_list_enable=<YES/NO>
chroot_list_file=<filename> :当chroot_local_user=NO 且 chroot_list_enable=YES时,只有filename文件指定的用户可以执行chroot
anonymous_enable=<YES/NO> :设置是否支持匿名用户访问
anon_max_rate=<n> :设置匿名用户的最大传输速率,单位为B/s,值为0表示不限制
anon_world_readable_only=<YES/NO> 是否开放匿名用户的浏览权限
anon_upload_enable=<YES/NO> 设置是否允许匿名用户上传
anon_mkdir_write_enable=<YES/NO> :设置是否允许匿名用户创建目录
anon_other_write_enable=<YES/NO> :设置是否允许匿名用户其他的写权限(注意,这个在安全上比较重要,一般不建议开,不过关闭会不支持续传)
anon_umask=<nnn> :设置匿名用户上传的文件的生成掩码,默认为077 允许匿名用户的设置:
打开vsftpd.conf文件,添加
anonymous_enable=YES(允许匿名用户访问)
允许匿名用户上传:
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES

注意2点:

1.匿名用户就是ftp,想要匿名用户写入,必须文件夹的权限为ftp可写。

2.匿名用户的根目录不允许,所以根目录的权限绝对不能是ftp可写和其他用户可写,如果根目录所有者为ftp的话,所有者的权限也不能写。

所以解决方法是建个单独的public文件夹用于上传文件,设置其为ftp可写或”其他用户可写“

还可建个download文件夹只用于下载,设置其他用户没有写权限便可。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

netboot设置
1.挂在ubuntu-server.iso,并将netboot文件夹拷入/tftpboot
mount -o loop /media/Work/LinuxDistribution/Ubuntu12.0.4/ubuntu-12.04.2-server-amd64.iso /mnt/
cd /mnt/install/netboot
cp * /tftpboot
ll /tftpboot
drwxrwxrwx 4 root root 4096 8月 21 13:41 ./
drwxr-xr-x 27 root root 4096 8月 22 09:49 ../
lrwxrwxrwx 1 root root 33 8月 15 16:53 pxelinux.0 -> ubuntu-installer/amd64/pxelinux.0*
lrwxrwxrwx 1 root root 35 8月 15 16:53 pxelinux.cfg -> ubuntu-installer/amd64/pxelinux.cfg/
drwxrwxrwx 11 root root 4096 8月 20 13:55 ubuntu/
drwxrwxrwx 3 root root 4096 8月 15 16:53 ubuntu-installer/
-rwxrwxrwx 1 root root 58 8月 15 16:53 version.info* 修改 /tftpboot/pxelinux.cfg/default文件
# D-I config version 2.0
include ubuntu-installer/amd64/boot-screens/menu.cfg
default ubuntu-installer/amd64/boot-screens/vesamenu.c32
prompt 1
timeout 100 #超时时间是10s
default linux LABEL linux
menu label ^install from netboot
kernel ubuntu-installer/amd64/linux
append initrd=ubuntu-installer/amd64/initrd.gz ramdisk_size=100000 auto=true priority=critical interface=auto netcfg/no_default_route=true preseed/url=http://192.168.100.1/preseed.cfg
注:必须有auto=true 和 priority=critical,
关于auto何priority的解释
The auto boot choice is not yet defined on all arches. The same effect may be achieved by simply adding the two parameters auto=true priority=critical to the kernel command line. The auto kernel parameter is an alias for auto-install/enable and setting it to true delays the locale and keyboard questions until after there has been a chance to preseed them, while priority is an alias for debconf/priority and setting it to critical stops any questions with a lower priority from being asked.
对于dhcp来说
Additional options that may be of interest while attempting to automate an install while using DHCP are: interface=auto netcfg/dhcp_timeout=60 which makes the machine choose the first viable NIC and be more patient about getting a reply to its DHCP query.
Preseed文件使用web server 获取到,所以还需要安装apache,但这个配置比较简单。
Prompt 0 不显示启动提示
prompt 1显示启动提示 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ preseed文件
配置例子
# Locale sets language and country.
d-i debian-installer/locale string en_US #应该时zh_CN # Keyboard selection.
d-i console-setup/ask_detect boolean false
d-i console-setup/layoutcode string us # Network configuration. #注,在netboot模式下,网络设置不起作用,需要在dhcp中设定用户名密码,
d-i netcfg/choose_interface select eth0
d-i netcfg/dhcp_timeout string 60
d-i netcfg/get_hostname string libvert
d-i netcfg/get_domain string libvert
d-i netcfg/no_default_route boolean true
# Mirror settings #安装文件镜像设置,使用ftp协议,路径必须是相对于vsftp根目录的相对路径?
d-i mirror/protocol string ftp
d-i mirror/ftp/hostname string 192.168.100.1
d-i mirror/ftp/directory string /srv/ftp/ubuntudir
#d-i mirror/ftp/proxy string # Clock and time zone setup
d-i clock-setup/utc boolean false
d-i time/zone string Asia/Shanghai # Partitioning ###分区设定,这个要注意
d-i partman-auto/method string lvm
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-lvm/confirm boolean true
d-i partman/choose_partition select finish
d-i partman-auto-lvm/guided_size string max
d-i partman-auto/choose_recipe select atomic
d-i partman/confirm_write_new_label boolean true
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true #add new
d-i partman-lvm/confirm boolean true
d-i partman-lvm/confirm_nooverwrite boolean true
d-i partman-auto-lvm/guided_size string max
# Base system installation
d-i base-installer/kernel/image string linux-generic # Account setup
d-i passwd/root-login boolean true
d-i passwd/root-password password 123456
d-i passwd/root-password-again password 123456
d-i passwd/make-user boolean false
d-i user-setup/encrypt-home boolean false
d-i user-setup/allow-password-weak boolean true #允许weakpassword, # Package selection
tasksel tasksel/first multiselect standard, ubuntu-server
d-i pkgsel/include string openssh-server
d-i pkgsel/upgrade select none
d-i pkgsel/language-packs multiselect en, zh
d-i pkgsel/update-policy select none # Boot loader installation
d-i grub-installer/only_debian boolean true # Finishing up the installation
d-i finish-install/reboot_in_progress note 注:

A

初次安装时,提出# Write the changes to disks and configure LVM?

解决办法:

d-i partman-lvm/confirm boolean true
d-i partman-lvm/confirm_nooverwrite boolean true
d-i partman-auto-lvm/guided_size string max
B
raid的创建:一个案例
I fixed the problem with the following configuration: d-i partman-md/device_remove_md    boolean true
d-i partman-auto/method string raid
d-i partman-auto/disk string /dev/sda /dev/sdb
d-i partman-auto/expert_recipe string \
      multiraid ::                                         \
              10000 5000 20000 raid                        \
                      $primary{ } method{ raid }           \
              .                                            \
              200 512 500 raid                             \
                      $primary{ } method{ raid }           \
              .                                            \
              2000 512 4000 raid                           \
                      method{ raid }                       \
              .                                            \
              10000 512 15000 raid                         \
                      method{ raid }                       \
              .                                            \
              10000 10000 1000000000 raid                  \
                      method{ raid }                       \
              . d-i partman-auto-raid/recipe string \
    1 2 0 ext4 /                \
          /dev/sda1#/dev/sdb1       \
    .                               \
    1 2 0 ext4 /boot                \
          /dev/sda2#/dev/sdb2       \
    .                               \
    1 2 0 swap -                    \
          /dev/sda5#/dev/sdb5       \
    .                               \
    1 2 0 ext4 /backup              \
          /dev/sda6#/dev/sdb6       \
    .                               \
    1 2 0 ext4 /opt                 \
          /dev/sda7#/dev/sdb7       \
    . d-i mdadm/boot_degraded boolean true
d-i partman-md/confirm_nooverwrite boolean true
d-i partman-md/confirm boolean true
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true 初始配置:(报错)
I intend to create the following RAID 1:     Partition    Size         Filesystem
        /        20GB            ext4
        /boot    500MB            ext4
        swap    2GB            swap
       /backup    10GB            ext4
       /opt     all free size     ext4 I have triyng this configuration:     d-i partman-md/device_remove_md    boolean true
    d-i partman-auto/method string raid
    d-i partman-auto/disk string /dev/sda /dev/sdb
    d-i partman-auto/expert_recipe string \
          multiraid ::                                         \
                  10000 5000 20000 raid                        \
                          $primary{ } method{ raid }           \
                  .                                            \
                  200 512 500 raid                             \
                          method{ raid }                       \
                  .                                            \
                  2000 512 4000 raid                           \
                          method{ raid }                       \
                  .                                            \
                  10000 512 15000 raid                         \
                          method{ raid }                       \
                  .                                            \
                  10000 10000 1000000000 raid                  \
                          method{ raid }                       \
                  .
   
    d-i partman-auto-raid/recipe string \
        1 2 0 ext4 /                    \
              /dev/sda1#/dev/sdb1       \
        .                               \
        1 2 0 ext4 /boot                \
              /dev/sda2#/dev/sdb2       \
        .                               \
        1 2 0 swap                      \
              /dev/sda3#/dev/sdb3       \
        .                               \
        1 2 0 ext4 /backup              \
              /dev/sda5#/dev/sdb5       \
        .                               \
        1 2 0 ext4 /opt                 \
              /dev/sda6#/dev/sdb6       \
        .
   
   
    d-i mdadm/boot_degraded boolean true
    d-i partman-md/confirm_nooverwrite boolean true
    d-i partman-md/confirm boolean true
    d-i partman-partitioning/confirm_write_new_label boolean true
    d-i partman/choose_partition select finish
    d-i partman/confirm boolean true
    d-i partman/confirm_nooverwrite boolean true The setup displays a RAID configuration error and ask me to check the syslog file. Could you help me? Thanks!

C
一个raid+lvm的例子
地址: https://github.com/ahamilton55/Blog-Scripts/blob/master/debian_ubuntu_preseeds/ubuntu-raid1-lvm.preseed
d-i debian-installer/locale string en_US.UTF-8
d-i debian-installer/splash boolean false
d-i debian-installer/language string en
d-i debain-installer/country string US
d-i console-setup/ask_detect boolean false
d-i console-setup/layoutcode string us
d-i netcfg/get_nameservers string
d-i netcfg/get_ipaddress string
d-i netcfg/get_netmask string 255.255.255.0
d-i netcfg/get_gateway string
d-i netcfg/confirm_static boolean true
d-i netcfg/get_hostname string myhost
d-i mirror/country string manual
d-i mirror/http/hostname string mirrors.usc.edu
d-i mirror/http/directory string /pub/linux/distributions/ubuntu
d-i mirror/http/proxy string
d-i partman-auto/disk string /dev/sda /dev/sdb
d-i partman-auto/method string raid
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-lvm/confirm boolean true
d-i partman-auto/choose_recipe select boot-root
d-i partman-auto-lvm/new_vg_name string vg00
d-i partman-auto-lvm/guided_size string 30GB
d-i partman-auto/expert_recipe string \
boot-root :: \
1024 30 1024 raid \
$lvmignore{ } \
$primary{ } method{ raid } \
. \
1000 35 100000000 raid \
$lvmignore{ } \
$primary{ } method{ raid } \
. \
19000 50 20000 ext4 \
$defaultignore{ } \
$lvmok{ } \
lv_name{ root } \
method{ format } \
format{ } \
use_filesystem{ } \
filesystem{ ext4 } \
mountpoint{ / } \
. \
2048 60 2048 swap \
$defaultignore{ } \
$lvmok{ } \
lv_name{ swap } \
method{ swap } \
format{ } \
. # Last you need to specify how the previously defined partitions will be
# used in the RAID setup. Remember to use the correct partition numbers
# for logical partitions. RAID levels 0, 1, 5, 6 and 10 are supported;
# devices are separated using "#".
# Parameters are:
# <raidtype> <devcount> <sparecount> <fstype> <mountpoint> \
# <devices> <sparedevices> d-i partman-auto-raid/recipe string \
1 2 0 ext2 /boot \
/dev/sda1#/dev/sdb1 \
. \
1 2 0 lvm - \
/dev/sda2#/dev/sdb2 \
.
d-i mdadm/boot_degraded boolean false
d-i partman-md/confirm boolean true
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select Finish partitioning and write changes to disk
d-i partman/confirm boolean true
d-i partman-md/confirm_nooverwrite boolean true
d-i partman/confirm_nooverwrite boolean true
d-i clock-setup/utc boolean true
d-i clock-setup/ntp boolean true
d-i clock-setup/ntp-server string ntp.ubuntu.com
d-i time/zone string US/Los_Angeles
d-i base-installer/kernel/image string linux-server
d-i passwd/root-login boolean true
d-i passwd/root-password-crypted password <######## enter hash here #########>
d-i passwd/user-uid string
d-i passwd/user-fullname string Ubuntu User
d-i passwd/username string ubuntu
d-i passwd/user-password-crypted password <######## enter hash here #########>
d-i user-setup/allow-password-weak boolean false
d-i user-setup/encrypt-home boolean false
d-i passwd/user-default-groups string adm cdrom dialout lpadmin plugdev sambashare
d-i apt-setup/services-select multiselect security
d-i apt-setup/security_host string security.ubuntu.com
d-i apt-setup/security_path string /ubuntu
d-i debian-installer/allow_unauthenticated string false
d-i pkgsel/upgrade select safe-upgrade
d-i pkgsel/language-packs multiselect
d-i pkgsel/update-policy select none
d-i pkgsel/updatedb boolean true
tasksel tasksel/first multiselect standard, openssh-server
d-i grub-installer/skip boolean false
d-i lilo-installer/skip boolean false
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean false
d-i finish-install/keep-consoles boolean false
d-i finish-install/reboot_in_progress note
d-i cdrom-detect/eject boolean true
d-i debian-installer/exit/halt boolean false
d-i debian-installer/exit/poweroff boolean false
d-i pkgsel/include string vim openssh-server postfix postfix/main_mailer_type select Local only
postfix postfix/root_address string root@localhost
postfix postfix/mynetworks string 127.0.0.0/8
postfix postfix/mailbox_limit string 51200000
postfix postfix/protocols select ipv4
postfix postfix/mailname string myhost.local d-i preseed/late_command string in-target sed -i 's/iface eth0 inet dhcp/iface eth0 inet static/g' /etc/network/interfaces; echo " address 192.168.105.160" >> /target/etc/network/interfaces; echo " netmask 255.255.255.0" >> /target/etc/network/interfaces; echo " " >> /target/etc/network/interfaces; echo "auto eth1" >> /target/etc/network/interfaces; echo "iface eth1 inet static" >> /target/etc/network/interfaces; echo " address 172.16.160.1" >> /target/etc/network/interfaces; echo " netmask 255.255.128.0" >> /target/etc/network/interfaces; echo " gateway 172.16.128.1" >> /target/etc/network/interfaces; mkdir /target/root/.ssh; chmod 700 /target/root/.ssh; echo "<########### Insert SSH KEY##########> >> /target/root/.ssh/authorized_keys; chmod 600 /target/root/.ssh/authorized_keys; echo "nameserver 8.8.8.8" >> /target/etc/resolv.conf; echo "nameserver 8.8.4.4" >> /target/etc/resolv.conf; wget http://<cobbler_IP>/cblr/svc/op/nopxe/system/pod01-frontend -O /dev/null;

pxe+preseed安装配置的更多相关文章

  1. pxe+preseed安装配置(2)

    1.tftp使用独立daemon,这样不用再安装xinet, apt-get install tftp-hpa tftpd-hpa cat /etc/default/tftpd-hpa TFTP_US ...

  2. 配置pxe 自动化安装centos6.7

    dhcp服务器是pxe自动化安装的必要条件,因此先搞定dhcp服务器,yum -y install dhcp,  rpm -ql dhcp查看安装了哪些包,less /etc/dhcp/dhcpd.c ...

  3. PXE 自动安装物理机 (DHCP服务由路由提供, 不能再配置)

    目录 1. PXE 自动安装物理机 (DHCP服务由路由提供, 不能再配置) 1.1. 需要的软件 1.2. 启动 proxy dhcp 服务 1.3. 关键的几个配置文件 PXE 自动安装物理机 ( ...

  4. pxe无人值守安装多网卡注意事项

    pxe无人值守安装linux配置这里就不说了,直接看这篇博客http://www.cnblogs.com/mchina/p/centos-pxe-kickstart-auto-install-os.h ...

  5. pxe网络安装操作系统 原理与详细过程

    摘要:在实际工作中,我们经常会遇到这样的情况:想要安装Linux但是计算机不带光驱或软驱,或者是笔记本配置的非标准的软驱和光驱,如1394接口,USB接口等,在Linux安装时所引导的Linux内核一 ...

  6. Linux装机利器Cobbler安装配置

     Linux装机利器Cobbler安装配置 2011-05-27 15:31:05 分类: LINUX 一.安装环境 centos 5.4 关掉iptables 关掉 selinux selinux ...

  7. 利用PXE引导安装centos7

    # 利用PXE引导安装centos7 # ###简介### > PXE (Pre-boot Execution Environment,PXE client 在网卡的 ROM 中,当计算机引导时 ...

  8. 网络装机pxe服务器的配置过程

    网络装机pxe服务器的配置过程 背景: 针对于Linux运维工作中遇到的需要大批量安装Linux系统的情况,通过网络装机的方式实现无人值守安装Linux操作系统,现需要配置一台pxe服务器用于pxe批 ...

  9. Linux PXE自动化安装centos6,centos7系统

    1.PXE是什么? pxe是Preboot Excution Environment的缩写,是intel公司研发,基于client/server的网络模式,支持远程主机通过网络从远端服务器下载镜,并由 ...

随机推荐

  1. 用Zend Studio12 导入在workspace中的项目

    第一步: 文件(file)->新建(NEW)->其他(other) 第二步: 在打开的对话框里选择 常规(Genneral)->项目(Project) 第三步: 在打开的对话框输入项 ...

  2. JavaScript API 设计原则

    网+线下沙龙 | 移动APP模式创新:给你一个做APP的理由>> 好的 API 设计:在自描述的同时,达到抽象的目标. 设计良好的 API ,开发者可以快速上手,没必要经常抱着手册和文档, ...

  3. Dockpanel的控件加载问题

    1. 正确加载模式:panel.ControlContainer.Controls.Add(control); 如果用panel.Controls.Add(control);则可能出现模块发生位移问题 ...

  4. Oracle并行事务回滚相关参数及视图

    /******相关参数****/fast_start_parallel_rollback1.取值有3种:false,low,high2.各值含义:false  ---禁用并行回滚功能          ...

  5. 微软TTS尝试系列之开篇杂谈(仅思路)

    第一次写博客,不知道如何下手,思路也乱,就先聊聊怎么进的园子吧,但愿不会浪费大家太多的宝贵时间>_<. 与博客园结缘应该是大三刚开始的时候.当时学校教务处想开发一个教务安排系统,为了省钱就 ...

  6. CF 191 总结

    A. Flipping Game 链接:http://codeforces.com/contest/327/problem/A 题意:从 i 到 j 翻转一次使得 1 的 个数最多~ 直接暴力搞~ # ...

  7. 算法系列9《MD5》

    MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致.是计算机广泛使用的杂凑算法之一(又译摘要算法.哈希算法),主流编程语言普遍已有MD5实现. ...

  8. ios 中怎么自定义(RGB)背景色

    1.定义RGB 色彩.随机颜色 我的抽为宏定义.便于各个文件中使用 // 1.获得RGB颜色 #define MTColor(r, g, b) [UIColor colorWithRed:(r)/25 ...

  9. 在meteor中如何使用ionic组件tabs,及如何添加使用cordova plugin inappbrower

    更新框架: meteor update meteor框架的优点不言而喻,它大大减轻了App前后端开发的负担,今年5月又获得B轮2000万融资,代表了市场对它一个免费.开源开发框架的肯定.cordova ...

  10. 一些Iphone sqlite 的包装类

    相信很多人用iphone的Sqlite不会直接用C的方法,要么自己包装一层Object c的访问方法,要么用CoreData,下面我整理些目前所了结的一些Sqlite 包装类.  1.CoreData ...