注释:该篇博文是借鉴下列文章加上自己实践总结得来;

  a. http://forum.ubuntu.org.cn/viewtopic.php?f=77&t=117754

  b. http://blog.chinaunix.net/uid-20164485-id-3324492.html

说明:无盘工作站建立的前提如下:

  a. 两台以上计算机

  b. 计算机网卡(指有线网卡)具备PXE功能。

  c. 若需要建立2台及其以上客户端机的无盘工作站需要交换机。

  d. 主机(上面说的计算机)具备较强的运算能力,较大的存储空间,网卡传输能力为100M或者1000M以上

  e. 主机的配置需要连接网络(主机最好有无线网卡)

正文:服务器与客户机的相关配置

    1. 服务器(有线)配置成DHCP服务器

     a. sudo apt-get install dhcpd3-server

     b. 配置isc-dhcp-server(/etc/default/isc-dhcp-server)==>INTERFACES="eth0"

     c. 配置/etc/dhcp/dhcpd.conf==>

      authoritative;

      max-lease-time 604800;

      default-lease-time 3100;

      ddns-update-style none;

      ddns-ttl 7200;

      allow booting;

      allow bootp;

      one-lease-per-client true;

      subnet 192.168.23.0 netmask 255.255.255.0 {

      range dynamic-bootp 192.168.23.1 192.168.23.200;

      option routers 192.168.23.1;          //与本机静态IP一致

      option subnet-mask 255.255.255.0;

      option broadcast-address 192.168.23.255;

      ignore client-updates;

      }

      host ub04{

      hardware ethernet xx:xx:xx:xx:xx:xx;  //为该MAC固定分配IP ...23.2

      next-server 192.168.23.1;         //与本机静态IP一致,本机的静态IP在/etc/network/interfaces里面配置参考后面

      fixed-address 192.168.23.23;

      filename "pxelinux.0";           //tftp时传输的文件,此处为客户机开机获取的引导文件

      }

     d.配置服务器静态IP及相关网络参数/etcc/network/interfaces

      auto eth0

      iface eth0 inet static

      address 192.168.1.1

        netmask 255.255.255.0
      network
192.168.1.0
      broadcast
192.168.1.255

     e. 重启相关服务

      /etc/init.d/networking restart

      /etc/init.d/isc-dhcp-server restart

    

    2. 安装tftp

     a. sudo apt-get install tftp,tftpd,tftp-hpa,tftpd-hpa,xinetd,openbsd-inetd

     b.配置tftpd-hpa(/etc/default/tftp)

      # /etc/default/tftpd-hpa

      TFTP_USERNAME="tftp"

      TFTP_DIRECTORY="/tftpboot"

      TFTP_ADDRESS="0.0.0.0:69"

      TFTP_OPTIONS="--secure"

c.配置/etc/xinetd.d/tftp

service tftp
{
socket_type = dgram

protocol = udp

wait = yes

user = root

server =
/usr/sbin/in.tftpd

server_args =
-s /tftpboot

disable = no

per_source =
11

cps = 100 2

flags = IPv4

}

d. sudo  vi /etc/inetd.conf

#:BOOT: TFTP service is provided primarily for booting. Most sites

# run this only on machines acting as "boot servers."

#tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /srv/tftp  (/srv/tftp 为默认tftp目录)

#修改如下文件

tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftproot

e.sudo mkdir /tftproot

f.sudo chmod 777 /tftproot

g.sudo /etc/init.d/openbsd-inetd restart

    3.安装nfs

     a.安装nfs ==> apt-get install nfs-kernel-server

     b.配置exports

      #下面的路径就是客户机文件系统的路径
      /home/client/ub04 192.168.23.23(rw,no_root_squash,sync)

    4.安装samba

     a.sudo apt-get install samba

b.配置smb.conf

[share]
comment = Shared Folder
path = /opt/samba
public = yes
writable = yes
available = yes
browseable = yes

c. smbpasswd –a shizhai添加用户及密码

d. 重启samba

    5. 安装syslinux

      在上面DHCP配置文件中涉及到的的pxelinux.0便是这个来自于这个软件包。

      sudo apt-get install syslinux

      cp /usr/lib/syslinux/pxelinux.0 /tftpboot/       #把这个文件拷贝到我们的tftp目录下,客户机开机使用tftp从tftpboot目录获取

      接下来在主机tftpboot目录下为客户机建立启动引导配置目录(自己猜测)

      mkdir /tftpboot/pxelinux.cfg

      在该目录建立一个默认的客户机引导default ==> vi /tftpboot/pxelinux.cfg/default

      DEFAULT ubuntu      #默认引导项
      LABEL ubuntu        # 
      KERNEL linux
      #注意boot=nfs root=/dev/nfs必须加其中的192.68.23.1为服务器的静态IP,/home/client/ub04为其中一个客户机的文件系统路径,后面详细介绍
      append initrd=initrd.nfs boot=nfs root=/dev/nfs nfsroot=192.168.23.1:/home/client/ub04 ip=dhcp rw  
      PROMPT 1          #自动选择,不等待客户机干预
      TIMEOUT 10        #超时时间
 
      若是有多台客户机需要建立多个引导配置文件,文件名称为客户分配到的IP的16进制比如:客户的IP为192.168.23.23那个需要建立一个文件名为:C0A81717内容      如上。
    6.创建nfs引导
      sudo mkinitramfs -o /home/cache/netboot/tftpboot/initrd.nfs
      cd /tftpboot/
      sudo chmod 777 initrd.nfs

    7. 为客户机生成linux内核与文件系统

      1.客户机的文件系统生成有多种方式,现在介绍其中两种:

        a. 使用debootstrap工具在/home/client/ub04(ub04下面命题客户机的文件系统)下生成一个最简的文件系统,再把生成的文件系统的boot/vmlinux...拷贝           到/tftpboot/下改名为linux作为客户机的公共内核, 然后再sudo chmod 777 linux

        b. 使用已安装linux系统(暂称主机1)的文件系统(服务器与该主机1处于同一网段),使用rsync -avzupoglH 主机1user@主机1IP:/* /home/client/ub04/          在/home/client/ub04下生成了一个文件系统(查询rsync命令)

      2. 配置生成的客户机文件系统

        修改的文件主要有:fstab、mtab、hosts、hostname、interfaces、udev内容及目录如下:

        a. /home/client/ub04/etc/fstab

        b. /home/client/ub04/etc/mtab

        

        c. /home/client/ub04/etc/hots及hostname

        

        

        d. /home/client/ub04/etc/network/interfaces

        

        e. udev下面文件rules.d/70-persistent-net.rules需要清空。

      3. 到ub04下进行相关系统配置

        cd /home/client/ub04/

        sudo chroot .

        useradd ub04

        password ub04

    8. 让客户机从网络启动

        

ubuntu 12.04无盘工作站的更多相关文章

  1. ubuntu 12.04 install docker-engine1.12.3

    root@node3:/data/src# cat /etc/issueUbuntu 12.04.4 LTS \n \l   root@node3:/data/src# cat /etc/apt/so ...

  2. Ubuntu 12.04 安装 Apache2+PHP5+MySQL

    LAMP是Linux web服务器组合套装的缩写,分别是Apache+MySQL+PHP.此教程教大家如何在Ubuntu 12.04 LTS server 上安装Apache2服务器,包括PHP5(m ...

  3. Ubuntu 12.04安装Adobe Reader

    原本从Adobe 官方网站下载了 Adobe Reader, 是个rpm包,先用agt-get 装了rpm(sudo apt-get install rpm), 一安装(rpm -ivh AdobeR ...

  4. 在Ubuntu 12.04下采用apt-get的方法安装Qt4

    在Ubuntu 12.04下采用apt-get的方法安装Qt4 注:之前发表的一篇博客是采用编译源码的方式安装Qt4,这是很有用的方式,因为源码安装对于所有系统都是通用的,其次,在使用交叉编译器的时候 ...

  5. VMWare虚拟机下为Ubuntu 12.04.1配置静态IP(NAT连接方式)

    背景 在虚拟机下运行操作系统,尤其是Linux系统已经是非常常见的做法.有时你想在虚拟机下搭建一个(模拟)服务器来供主机访问,比如搭建一个telnet/ssh.此时你会发现,每次启动虚拟机,VMWar ...

  6. ubuntu的一些常用命令,测试版本:Ubuntu 12.04.5 LTS

    最近配置了一台Linux服务器,选用的是Ubuntu 12.04.5 LTS版本. 把之前放在Windows Server 2003上的网站移到了现在的服务器上,给我的感受用一个字形容:真JB快! 网 ...

  7. Lamp(Ubuntu 12.04 LTS) 之 htaccess的使用

    环境说明:Ubuntu 12.04 LTS Lamp (以apt方式分别安装) 一.明确目标:要确保.htaccess文件起作用,只需要三个重要点: 1.开启apache rewrite模块: (1) ...

  8. Ubuntu 12.04 安装MySQL

    本文地址:http://www.cnblogs.com/yhLinux/p/4012689.html 本文适合新手入门. 本文是对 Ubuntu 12.04 环境下安装 MySQL 的记录,通过这两天 ...

  9. Ubuntu 12.04下GAMIT10.40安装说明

    转载于:http://www.itxuexiwang.com/a/liunxjishu/2016/0225/164.html?1456481297 Ubuntu 12.04下GAMIT10.40安装步 ...

随机推荐

  1. shell基本正则表达式

    基本正则表达式 星号* 匹配它前面的字符串或正则表达式任意次(包括0次).比如,“1122*” 将匹配11+1个或多个2,其可能匹配的字符串将是112.1122.112222.11223343等 句点 ...

  2. 堆、栈、数据区、bss、代码段

    一个程序的运行是需要内存的,那么我们平常写的程序的内存都是怎么分配的呢 (1)首先我们要知道,内存是真实存在的,内存是一个物理器件.它时由操作系统管理的,我们平常只要使用它就行了,为了方便管理.操作系 ...

  3. JavaScript基础-自己定义自己的函数(016)

    把一个函数对象赋值给变量后,就可以通过这个变量再次定义函数,甚至可以在一个函数内部再次定义它自己: var scareMe = function () { alert("Boo!" ...

  4. Redis系列(八):数据结构List双向链表中阻塞版本之BLPOP、BRPOP和LINDEX、LINSERT、LRANGE命令详解

    1.BRPOP.BLPOP BLPOP: BLPOP 是阻塞式列表的弹出原语. 它是命令 LPOP 的阻塞版本,这是因为当给定列表内没有任何元素可供弹出的时候, 连接将被 BLPOP 命令阻塞. 当给 ...

  5. Linux 操作系统!开篇!!!

    此篇文章主要会带你介绍 Linux 操作系统,包括 Linux 本身.Linux 如何使用.以及系统调用和 Linux 是如何工作的. Linux 简介 UNIX 是一个交互式系统,用于同时处理多进程 ...

  6. JavaScript图形实例:Koch曲线

    Koch曲线的构造过程是:取一条长度为L0的直线段,将其三等分,保留两端的线段,将中间的一段改换成夹角为60度的两个等长直线:再将长度为L0/3的4个直线段分别进行三等分,并将它们中间的一段均改换成夹 ...

  7. Netty 源码解析(六): Channel 的 register 操作

    原创申明:本文由公众号[猿灯塔]原创,转载请说明出处标注 今天是猿灯塔“365篇原创计划”第六篇. 接下来的时间灯塔君持续更新Netty系列一共九篇   Netty 源码解析(一 ):开始 Netty ...

  8. Spring Boot中的事务是如何实现的

    本文首发于微信公众号[猿灯塔],转载引用请说明出处 今天呢!灯塔君跟大家讲: Spring Boot中的事务是如何实现的 1. 概述 一直在用SpringBoot中的@Transactional来做事 ...

  9. Java实现 第十一届蓝桥杯——走方格(渴望有题目的大佬能给小编提供一下题目,讨论群:99979568)

    走方格 问题描述在平面上有一些二维的点阵. 这些点的编号就像二维数组的编号一样,从上到下依次为第 1 至第 n 行,从左到右依次为第1 至第 m 列,每一个点可以用行号和列号来表示. 现在有个人站在第 ...

  10. HTML5(七)Web 存储

    HTML5 Web 存储 HTML5 web 存储,一个比cookie更好的本地存储方式. 什么是 HTML5 Web 存储? 使用HTML5可以在本地存储用户的浏览数据. 早些时候,本地存储使用的是 ...