[置顶] 安装Linux必装的一些软件(不断更新)

时间:2021-07-06 14:54:19

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可以通过命令行直接运行,也可以通过配置文件来运行。
通过配置文件的格式如下:

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

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。