使用netcat组播分发Linux服务器镜像


如果您需要装配一系列有相同配置的Linux算机,其中的一个解决方案是使用ddnetcat在网行克隆。

合使用netcattar

Netcat被称Linux上的瑞士刀,意味着可以使用它做很多事情。您可以用netcat在一台算机上启一个端口,并通那个端口以管 道的形式从另一台算机取数据。例如,像下面netcattar的例子命令所示,您可以松地拷一个目的内容。在接收端的算机上,启一个 netcat程。下面的命令告netcat听端口1968,并将从端口接收的数据管道tar x命令,以便从档文件中解出文件。

netcat -l -p 1968 | tar x

接的另一端是netcat接收者。在个例子中,它是一个档文件并通netcat管道主机的命令:

tar c . | netcat 10.0.0.10 1968

个命令的第一部分当前目的内容启了一个tar档任,第二部分送到在主机10.0.0.10端口1968听的netcat

合使用teenetcat命令实现组

您已看到,netcat是将文件从一台算机送到另一台算的一个简单方法。但个方法存在一个缺点,命令不支持播。也就是您不可以在多 台算机上netcat为监听者,并一台算机将数据送到播端口。但是,您可以使用工作区并在一个netcat接多台算机。我10算机。您想要将10.0.0.10上的一些iso文件通络发布到IP地址10.0.0.1110.0.0.20的主机上。首先,您需要 在所有的算机上准一个netcat,然后在存有iso文件的算机上行下面的命令:

tar c . | netcat 10.0.0.11 1968

个命令将档的tar文件送到10.0.0.11这时,在10.0.0.11上需要有一个netcat程来等待入的数据,并从tar管道 中解出数据。与此同,如果需要将数据送到另一台算机,您可以使用tee命令。使用tee命令,您可以在一个管道的出上再行两个命令。如下面的 命令所示:

netcat -l -p 1968 | tee > (tar x) | netcat 10.0.0.12 1968

正如您所看到的,通tee命令和出重定向,数据被送到tar x以被解出。同,会送数据到IP地址10.0.0.12算机,该计算机上必有一个netcat程在听端口1968。从而,在那台算机上,也有一个netcast程在等待入的数据。

netcat -l -p 1968 | tee (tar x) | netcat 10.0.0.13 1968

netcat上一直重复执程,直到最后一台IP地址10.0.0.20算机。在算机上,您只要有netcat入的数据并直接将数据送到tar程。因此,在10.0.0.20上,行下面的命令行等待:

netcat -l -p 1968 | tar x

您必10.0.0.20上的听器始,启动这似于序列的播,然后,在10.0.0.19入命令,并一直往前到10.0.0.10上 的netcat送者。您会看到文件很快地被拷上的所有机器里。但是,只是一个测试。一旦确在您的Linux上有效,您就可以正式行工作,并 用个方法将一个像分到多台算机上。

尝试了一下使用tar一些测试用的驱动器文件。其程也可以通dd命令来完 成,命令可以克隆整个硬盘驱动器。首先,考下面的命令:

/z|\X
r;D%X0IXPUB
博客
i3w"X-K:e

   dd if=/dev/sda f=/dev/sdb bs=4096IXPUB博客0X g/e.f Ns4VW#P

IXPUB博客�~[1]N8ZZ0}[1]}B2J2p"W

   过这个命令,可以逐的将整个/dev/sda/dev/sdb。例如,如果/dev/sdb接到您算机的一个USB盘驱动器,当 命令行完成以后,就会得到原始硬盘驱动器的一个一一的拷请尝试着做一下并确保已理解了该过程,然后,再入下一

bVA,S1?X)DJ8W0IXPUB博客&p5[4r$G~

  任何您可以通本地硬盘驱动器做的都可以通来做。也就是可以将接到 10.0.0.10的硬盘驱动/dev/sdb克隆到10.0.0.11上的/dev/sda,方法是合使用ddnetcat命令。但是:要确保 程有效,必live CD动这两台算机,以便没有在本地硬使用任何文件。如果两台算机都已live CD,那10.0.0.11上的程:

v9R0L*T‑B-?4r�T5u/}0IXPUB博客}.h[1]e\ K:Y1S&v

   netcat -l -p 1968 | dd f=/dev/sdaIXPUB博客
NF5p
W[1]A7y6`N

IXPUB博客7h4XA‑G

J)o

   然后在10.0.0.10上启动发程:IXPUB博客\&Yu7y?W n!z

IXPUB博客-~/E;]4a8}8o

  dd if=/dev/sdb | netcat 10.0.0.11 1968

5t/S3j8oq3\)[A0IXPUB博客9OD5L9Q~

   验证其有效后,您可以从范内的最后一台算机(10.0.0.20建一个netcat-ddIXPUB博客{.d(k Y‑X5m

IXPUB博客1VY­J"M
b;aC

  netcat -l -p 1968 | dd f=/dev/sda

%V-v*ujoNX:s0

M"@m D/[ z[0  接着,在10.0.0.19上,启下面的命令:

/_h!b DF0

p'HJ(m}�kr p
?‑j-H0
  netcat -l -p 1968 | tee > (dd f=/dev/sda) | netcat 10.0.0.20 1968

K#u jm+?

g8P­s!Ym0

r:Uf0DGFoO3u0   在10.0.0.18上,入的命令IXPUB博客B Wf6}3I6w`G­o:O

T5fiv‑X[0  netcat -l -p 1968 | tee > (dd f=/dev/sda) | netcat 10.0.0.19 1968IXPUB博客V.g;b#Wz

IXPUB博客!R&A­_)Sziol(k

  照此继续下去,直到已netcat程的第一台算机:


s |7b0B9kx K0d0IXPUB
博客.t^&Zz `K;x.Y+_

h

  dd if=/dev/sdb | netcat 10.0.0.11 1968

IXPUB博客 Vx,Mo:fKA

IXPUB博客P'S#Nb#Nz5w/^5b

  些都完成后,您就已将一个硬盘驱动克隆到了网上的多台算机。

|%h4s1aD2y{K0IXPUB博客%lX1I-o6t5r

  使用netcatLinux盘驱动器通克隆到多台算机是一个很好的方 法。不,如果您需要繁地行此工作,您就应该其它的解决方案比如说Clonezilla但是和使用 netcat的方法不同的是,那个工具需要您建立一台

 

你可能感兴趣的:(linux,镜像,netcat,休闲,分发)