本文详细介绍rsync服务的安装配置以及如何利用rsync保持Linux服务器间的文件同步。
服务器之间常常要保持些文件或目录的一致,比如一些大的软件下载网站,它们通常使用多台服务器来提供下载服务。当一台服务器上的文件更新后,其它的服务器也需要更新,而且 在更新的时候应该是只对新增或是修改过的文件进行更新,否则会造成网络带宽和时间的浪费。rsync就是能有效的保持文件及目录的一致的优秀软件。
rsync,remote synchronize
顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息,而且可以通过ssh方式来传输文件,这样其保密性也非常好,另外它还是免费的软件。rysnc的官方网站:http://rsync.samba.org/,可以从上面得到最新的版本。当然,因为rsync是一款如此有用的软件,所以很多Linux的发行版本都将它收录在内了。你的Linux里并没有安装rsync,你可以按以下的安法自行安装:
一、安装过程
1.下载rsync
目前(2003年9月)最新的rsync版本是2.5.6,从rysnc的官方网站上下载一个回来:
# wget http://ftp.samba.org/ftp/rsync/rsync-2.5.6.tar.gz
2.解压 ......
在移动硬盘与硬盘之间、本地与网络(FTP,SSH等)之间备份数据、同步文件夹的需求对于Linux用户是很常见的。在Windows中,有Total Commander等工具同步文件夹的功能很强大,那么Linux中有哪些同步文件夹的软件呢?
rsync和grsync
grsync的截图
rsync是Linux中重要的文件同步工具,支持本地和远程的文件同步工具,而grsync则是它的图形界面。
grsync界面比较简单,但可以完成基本的同步任务。还有一些rsync的强大功能没有在grsync中体现出来,如果需要这些功能,就需要看一下rsync的man文档了。
unison
unison-gtk的截图
unison是一个既可以用于Windows,也可以用于Linux的开源文件夹同步工具,也支持本地和远程的文件同步。(网站: http://www.cis.upenn.edu/~bcpierce/unison/)
注意:
如果要用unison通过ssh和远程的电脑同步,远程的电脑也要安装unison。
unison-gtk是unison的一个图形前端,功能比较多,只是目前还没有被汉化。
-------------------------------
rsync有点像scp,只是更强大。只有在出现不同的情况下,rsync才会调用copy命令。
unison首次启动需要搜索文件,所以耗时较长。
图形界面非常简单、实用 ......
Linux根目录”/“下各个系统文件夹的含义和用途
/boot 该目录默认下存放的是Linux的启动文件和内核。
/initrd 它的英文含义是boot loader initialized RAM disk,就是由boot loader初始化的内存盘。在linux内核启动前,boot loader会将存储介质(一般是硬盘)中的initrd文件加载到内存,内核启动时会在访问真正的根文件系统前先访问该内存中的initrd文件系统。
/bin 该目录中存放Linux的常用命令。
/sbin 该目录用来存放系统管理员使用的管理程序。
/var 该目录存放那些经常被修改的文件,包括各种日志、数据文件。
/etc 该目录存放系统管理时要用到的各种配置文件和子目录,例如网络配置文件、文件系统、X系统配置文件、设备配置信息、设置用户信息等。保存了LINUX的系统设置信息,在修改下面的文件的时候最好先把你修改的文件做个备份.
/etc 目录包含很多文件。下面说明其中的一些。其他的你应该知道它们属于哪个程序,并阅读该程序的man页。许多网络配置文件也在/etc 中,它们在《网络管理指南》中说明。
/etc/rc or /etc/rc.d or /etc/rc?.d
启动、或改变运行级时运行的scripts或scripts的目录,更详细的信息见关于init 的章。
/etc/pass ......
也许只是我一个人比较笨,每次碰到bug,虽然有人给出补丁(patch),但是却不知道怎么使用。Manual Page ( man patch
)也只给出 patch -p(num)
<patchfile这样的用法,具体也不知道怎样确定num,如果你也有这样的疑惑,请继续阅读:
建立patch文件:
diff -Naur olddir newdir > new-patch
- or -
diff -Naur oldfile newfile >new-patch
-p0 还是-p1? patch 命令的目录层次:
-p选项可以选择性地截断patchfile的目录层次。例:如果你的patchfile的头象下面这样:
--- old/modules/pcitable Mon Sep 27 11:03:56 1999
+++ new/modules/pcitable Tue Dec 19 20:05:41 2000
使用 -p0 将从你的当前路径下寻找一个“new"的子文件夹,然后在"new"下面寻找“modules”,然后在其下面寻找"pcitable"。
使用 -p1 将截断第一层目录,也就是说patch将直接在当前路径下寻找"modules",然后是"pcitable"
依次类推。
实际上的确很简单。 ......
[root@proxyo ~]#
而我要将中间的proxyo改成search
1. vi /etc/hosts
[root@proxyo ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 search localhost.localdomain localhost
2. vi /etc/sysconfig/network
[root@proxyo ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=search
GATEWAY=192.168.1.1
3. 运行hostname命令:
# hostname search ......
http://blog.csdn.net/youta_chen/archive/2007/08/29/1763215.aspx
今年上半年我对市场常见的vimicro 摄像头移植了Linux下的驱动至在研的一款嵌入式开发板,开发环境为:
OS:Linux2.6.9
Compile:cross 3.3.2
CPU:Intel PXA270
Camera Type :Vimicro ZC301P +HV7131R
使用的驱动源码基于自由软件spca5xx。基于源码作了些小改动。记录一下。
Linux下的USB驱动架构
Linux下完整的USB驱动程序必须包括3个模块:USB core,USB 主控制器驱动,USB设备驱动。三者的关系如下:
其中:
Linux Core封装了支持USB主控制器和USB设备驱动的API,通过一系列的数据结构、宏、函数来抽象化设备硬件并掩蔽硬件具体细节,使得Linux系统对USB设备的访问采用如同一般文件访问类似的接口函数,如此实现了硬件无关。“设备即是文件”。
USB HC(Host Controller)全面负责主机端对USB的信息传输分工,对下注册功能和相关数据结构;对上提供了设备驱动与USB Core数据传输的桥梁。USB上的实时流数据传输通常通过URB(USB Request Block)的数据结构实现,每一次数据传输中,设备驱动建立URB,提交 ......