您的位置:首页 > 运维架构 > Linux

安装Linux必装的一些软件(不断更新)

2011-09-21 23:03 525 查看

2011-9-21

lrzsz

一个方便上传下载的小工具,在xshell中,需要往我们的linux虚拟机传送文件时,直接将文件拉到终端即可,或者在终端输入命令rz,会弹出对话框选择文件,同样地,在虚拟机终端输入sz 文件名 可以发送文件到本机。

在CentOS上可以简单地通过yum install lrzsz来安装.

源码安装也很简单,这里略.

2012-1-30

Unison

如果我们习惯在虚拟机上操作,我们知道在本机和虚拟机之间可以通过share folder的方式共享某个文件夹作为主机和虚拟机都可以同时操作的文件夹,但很多情况下,公司都会提供一台服务器,我们无需自己浪费大量的内存和CPU来单独开启一台虚拟机,直接就可以在服务器上面编写代码,执行程序,但却少了在本地用强大的编辑器来编写的好处。如果需要在本地编辑,需要编辑完毕后,再上传到服务器去编译,有没有更好的办法呢?就像跟我们的虚拟机打交道一样,两边都可以修改文件,并自动更新呢?Unison为此应运而生。

Unison简介

Unison是Windows、Linux以及其他Unix平台下都可以使用的文件同步工具,它能使两个文件夹(本地或网络上的)保持内容的一致。Unison拥有与其它一些同步工具或文件系统的相同的特性,但也有自身的特点:

1.跨平台使用;

2.对内核和用户权限没有特别要求;

3.Unison是双向的,它能自动处理两分拷贝中更新没有冲突的部分,有冲突的部分将会显示出来让用户选择更新策略;

4.只要是能连通的两台主机,就可以运行unison,可以直接使用socket连接或安全的ssh连接方式,对带宽的要求不高,使用类似rsync的压缩传输协议。



Unison安装:

unison各种版本下载地址:
http://www.seas.upenn.edu/~bcpierce/unison//download.html
unison编译器下载地址:
http://caml.inria.fr/pub/distrib
我的安装脚本如下:

wget http://caml.inria.fr/pub/distrib/ocaml-3.12/ocaml-3.12.1.tar.gz
tar -zxf ocaml-3.11.1.tar.gz

cd ocaml-3.11.1

./configure

make world opt

make install

wget http://www.seas.upenn.edu/~bcpierce/unison//download/releases/stable/unison-2.40.63.tar.gz
tar -zxf unison-2.27.157.tar.gz

cd unison-2.27.157

make UISTYLE=text

make install

如果make install出错,或者make时出错,提示etags: command not found,可以直接执行下面的命令:

chmod 0755 unison

cp unison /usr/bin/

不影响使用.

Unison配置

unison可以通过命令行直接运行,也可以通过配置文件来运行。

通过配置文件的格式如下:

# Unison preferences file for sv
root = E:\cartoon_mmo\trunk\server
root = socket://192.168.2.167:4456//root/work/sv
batch = true
ignore = Path *.svn
ignore = Name *.o
ignore = Name *.so
ignore = Name *.a
ignore = Path bin
repeat = 1


配置文件需要注意的地方:

1.#开头的为注释行.

2.ignore = Path bin类似的选项配置中,等号"="两边的空格不可忽略.

这里的两个root就是需要同步的两个目录.上面第二个root是通过ssh方式连接的,也可以通过socket方式连接,不过这种方式需要对端机器上安装有unison并启动了socket监听端口。

服务器启动命令:unison -socket NNNN

其中NNNN表示端口号

直接命令的方式:

unison /data ssh://root@10.0.0.1//data -batch -repeat=1

表示同步本地的/data目录和10.0.0.1的/data目录, -batch表示自动确认(不需要手动按enter确认), repeat=1表示没隔一秒执行一次.

类似的,socket同步的方式如下:

服务器端安装了unison,启动命令:unison -socket 4455

本地安装了unison,执行:unison /data socket://10.0.0.1//data -batch -repeat=1

即可。

Unison的一些选项:

force表示会以本地所指定文件夹为标准,将该目录同步到远端。这里需要注意,如果指定了force参数,那么Unison就变成了单项同步了,也就是说会以force指定的文件夹为准进行同步,类似与rsync。

Unison双向同步基本原理是:假如有A B两个文件夹,A文件夹把自己的改动同步到B,B文件夹也把自己的改动同步到A,最后A B两文件夹的内容相同,是AB文件夹的合集。

Unison双向同步的一个缺点是,对于一个文件在两个同步文件夹中都被修改时,unison是不会去同步的,因为unison无法判断以那个为准。

ignore = Path表示忽略指定目录,即同步时不同步它。

batch = true,表示全自动模式,接受缺省动作,并执行。

-fastcheck true 表示同步时仅通过文件的创建时间来比较,如果选项为false,Unison则将比较两地文件的内容。

log = true 表示在终端输出运行信息。

logfile 指定输出的log文件。

另外,Unison有很多参数,这里仅介绍常用的几个,详细的请参看Unison手册。

-auto //接受缺省的动作,然后等待用户确认是否执行。

-batch //batch mode, 全自动模式,接受缺省动作,并执行。

-ignore xxx //增加 xxx 到忽略列表中

-ignorecase [true|false|default] //是否忽略文件名大小写

-follow xxx //是否支持对符号连接指向内容的同步

owner = true //保持同步过来的文件属主

group = true //保持同步过来的文件组信息

perms = -1 //保持同步过来的文件读写权限

repeat = 1 //间隔1秒后,开始新的一次同步检查

retry = 3 //失败重试

sshargs = -C //使用ssh的压缩传输方式

xferbycopying = true"

-immutable xxx //不变目录,扫描时可以忽略

-silent //安静模式

-times //同步修改时间

-path xxx 参数 //只同步 -path 参数指定的子目录以及文件,而非整个目录,-path 可以多次出现。

PS:Windows下的unison配置文件默认位于C:\Documents and Settings\currentuser\.unison目录,默认的配置文件名是default.prf。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: