目录
一、概述
Unison 是一个非常强大的文件同步工具,它可以跨多种操作系统(如 Linux、macOS 和 Windows)在本地或远程机器之间同步文件和目录。Unison 的设计旨在高效、安全地同步文件,同时尽量减少数据传输量。Unison 支持多种网络协议,包括 SSH、RSH 和直接 TCP/IP 连接。
二、 Unison介绍
1、定义
Unison是一个开源的远程同步复制软件,能够确保两个文件夹(本地或网络上的)保持内容的一致性。
2、特点
(1)双向同步
Unison 可以检测两边文件的变化,并将变化同步到对方,从而保持两个目录树的一致性。
(2)图形界面和命令行界面
Unison 提供了一个图形界面(GTK+)和命令行界面(CLI),可以根据需要选择使用。
(3)智能冲突解决
Unison 采用了一种智能算法来解决文件冲突,可以自动选择最佳的同步选项。
(4)加密传输
Unison 支持通过 SSH 协议进行加密传输,确保数据的安全性。
(5)高效同步
Unison 通过只传输文件差异来提高同步效率。
(6)增量备份
Unison 可以实现增量备份,只同步自上次同步以来发生改变的文件。
(7)灵活的配置
Unison 允许用户自定义同步策略,例如忽略某些文件或目录,设置文件属性等。
3、应用场景
Unison适用于多种场景,包括但不限于如下场景:
(1)备份与恢复
定期同步重要文件到备份服务器,确保数据安全。
(2)云存储同步
将本地文件同步到云存储服务,实现数据的远程访问和共享。
(3)版本控制
与版本控制工具(如 Git)结合使用,实现更高效的数据管理。
(4)网站镜像
创建网站的本地镜像或同步网站内容到多个服务器。
(5)数据同步
在不同服务器之间同步数据,如数据库、日志文件等。
(6)团队协作
在团队成员之间同步项目文件,提高工作效率。
四、Unison用法
1、基本语法
Usage: unison [options]
or unison root1 root2 [options]
or unison profilename [options]
2、基本用法
(1)同步单个文件
unison source_file target_file
(2)同步目录
unison source_directory target_directory
(3)同步远程文件
unison -ssh user@host:/path/to/source /path/to/destination
-ssh 选项用于使用 SSH 协议进行远程同步。
3、常用选项
- -repeat 或 -repeat [delay]:定时重复同步任务。
- - -auto:自动运行同步,无需用户交互。
- -batch:关闭交互模式,避免用户输入。适用于脚本。
- -log:将同步日志记录到文件。
- -ignoretimes:忽略文件的时间戳,仅根据内容差异进行同步。
- -silent:静默模式,仅显示同步结果。
- -ignore:忽略特定文件或目录。
- -prefer:设置优先级,决定冲突时哪个版本被保留。
4、获取帮助
命令行中输入指令:
Unison -help
出现如下图所示的帮助信息:
三、 安装 Unison
1、Ubuntu/Debian系统
在 Ubuntu/Debian 系统上安装 Unison
sudo apt-get update
sudo apt-get install unison
2、Fedora 系统
在 Fedora 系统上安装 Unison
sudo dnf install unison
3、CentOS/RHEL 系统
在 CentOS/RHEL 系统上安装 Unison
sudo yum install unison
实际操作结果如下:
[root@ecs-52a1 121yunwei]# unison
bash: unison: command not found
[root@ecs-52a1 121yunwei]#
[root@ecs-52a1 121yunwei]#
[root@ecs-52a1 121yunwei]#
[root@ecs-52a1 121yunwei]# cd /studyLinux/
[root@ecs-52a1 studyLinux]# ls
bash_test check_servers_ports-1.sh check_sysapp_logs.sh example1.txt.gz file.txt sysapps_backup
bzip2-test check_servers_ports.sh data.txt example.txt ln-test test
[root@ecs-52a1 studyLinux]#
[root@ecs-52a1 studyLinux]#
[root@ecs-52a1 studyLinux]#
[root@ecs-52a1 studyLinux]#
[root@ecs-52a1 studyLinux]#
[root@ecs-52a1 studyLinux]#
[root@ecs-52a1 studyLinux]# unison
bash: unison: command not found
[root@ecs-52a1 studyLinux]#
[root@ecs-52a1 studyLinux]#
[root@ecs-52a1 studyLinux]# yum install unison
Loaded plugins: fastestmirror
Determining fastest mirrors
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
base | 3.6 kB 00:00:00
epel | 4.3 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
Resolving Dependencies
--> Running transaction check
---> Package unison240-gtk.x86_64 0:2.40.128-5.el7 will be installed
--> Processing Dependency: unison240 = 2.40.128-5.el7 for package: unison240-gtk-2.40.128-5.el7.x86_64
--> Processing Dependency: libatk-1.0.so.0()(64bit) for package: unison240-gtk-2.40.128-5.el7.x86_64
--> Processing Dependency: libcairo.so.2()(64bit) for package: unison240-gtk-2.40.128-5.el7.x86_64
--> Processing Dependency: libfontconfig.so.1()(64bit) for package: unison240-gtk-2.40.128-5.el7.x86_64
--> Processing Dependency: libgdk-x11-2.0.so.0()(64bit) for package: unison240-gtk-2.40.128-5.el7.x86_64
--> Processing Dependency: libgdk_pixbuf-2.0.so.0()(64bit) for package: unison240-gtk-2.40.128-5.el7.x86_64
--> Processing Dependency: libgtk-x11-2.0.so.0()(64bit) for package: unison240-gtk-2.40.128-5.el7.x86_64
--> Processing Dependency: libpango-1.0.so.0()(64bit) for package: unison240-gtk-2.40.128-5.el7.x86_64
--> Processing Dependency: libpangocairo-1.0.so.0()(64bit) for package: unison240-gtk-2.40.128-5.el7.x86_64
--> Processing Dependency: libpangoft2-1.0.so.0()(64bit) for package: unison240-gtk-2.40.128-5.el7.x86_64
--> Running transaction check
---> Package atk.x86_64 0:2.28.1-2.el7 will be installed
---> Package cairo.x86_64 0:1.15.12-4.el7 will be installed
--> Processing Dependency: libxcb.so.1()(64bit) for package: cairo-1.15.12-4.el7.x86_64
--> Processing Dependency: libxcb-shm.so.0()(64bit) for package: cairo-1.15.12-4.el7.x86_64
--> Processing Dependency: libxcb-render.so.0()(64bit) for package: cairo-1.15.12-4.el7.x86_64
--> Processing Dependency: libpixman-1.so.0()(64bit) for package: cairo-1.15.12-4.el7.x86_64
--> Processing Dependency: libXrender.so.1()(64bit) for package: cairo-1.15.12-4.el7.x86_64
--> Processing Dependency: libXext.so.6()(64bit) for package: cairo-1.15.12-4.el7.x86_64
--> Processing Dependency: libX11.so.6()(64bit) for package: cairo-1.15.12-4.el7.x86_64
--> Processing Dependency: libGL.so.1()(64bit) for package: cairo-1.15.12-4.el7.x86_64
--> Processing Dependency: libEGL.so.1()(64bit) for package: cairo-1.15.12-4.el7.x86_64
---> Package fontconfig.x86_64 0:2.13.0-4.3.el7 will be installed
--> Processing Dependency: fontpackages-filesystem for package: fontconfig-2.13.0-4.3.el7.x86_64
--> Processing Dependency: dejavu-sans-fonts for package: fontconfig-2.13.0-4.3.el7.x86_64
---> Package gdk-pixbuf2.x86_64 0:2.36.12-3.el7 will be installed
--> Processing Dependency: libtiff.so.5(LIBTIFF_4.0)(64bit) for package: gdk-pixbuf2-2.36.12-3.el7.x86_64
--> Processing Dependency: libjpeg.so.62(LIBJPEG_6.2)(64bit) for package: gdk-pixbuf2-2.36.12-3.el7.x86_64
--> Processing Dependency: libtiff.so.5()(64bit) for package: gdk-pixbuf2-2.36.12-3.el7.x86_64
--> Processing Dependency: libjpeg.so.62()(64bit) for package: gdk-pixbuf2-2.36.12-3.el7.x86_64
--> Processing Dependency: libjasper.so.1()(64bit) for package: gdk-pixbuf2-2.36.12-3.el7.x86_64
---> Package gtk2.x86_64 0:2.24.31-1.el7 will be installed
--> Processing Dependency: libXrandr >= 1.2.99.4-2 for package: gtk2-2.24.31-1.el7.x86_64
--> Processing Dependency: hicolor-icon-theme for package: gtk2-2.24.31-1.el7.x86_64
--> Processing Dependency: gtk-update-icon-cache for package: gtk2-2.24.31-1.el7.x86_64
--> Processing Dependency: libXrandr.so.2()(64bit) for package: gtk2-2.24.31-1.el7.x86_64
--> Processing Dependency: libXinerama.so.1()(64bit) for package: gtk2-2.24.31-1.el7.x86_64
--> Processing Dependency: libXi.so.6()(64bit) for package: gtk2-2.24.31-1.el7.x86_64
--> Processing Dependency: libXfixes.so.3()(64bit) for package: gtk2-2.24.31-1.el7.x86_64
--> Processing Dependency: libXdamage.so.1()(64bit) for package: gtk2-2.24.31-1.el7.x86_64
--> Processing Dependency: libXcursor.so.1()(64bit) for package: gtk2-2.24.31-1.el7.x86_64
--> Processing Dependency: libXcomposite.so.1()(64bit) for package: gtk2-2.24.31-1.el7.x86_64
---> Package pango.x86_64 0:1.42.4-4.el7_7 will be installed
--> Processing Dependency: libthai(x86-64) >= 0.1.9 for package: pango-1.42.4-4.el7_7.x86_64
--> Processing Dependency: libXft(x86-64) >= 2.0.0 for package: pango-1.42.4-4.el7_7.x86_64
--> Processing Dependency: harfbuzz(x86-64) >= 1.4.2 for package: pango-1.42.4-4.el7_7.x86_64
--> Processing Dependency: fribidi(x86-64) >= 1.0 for package: pango-1.42.4-4.el7_7.x86_64
--> Processing Dependency: libthai.so.0(LIBTHAI_0.1)(64bit) for package: pango-1.42.4-4.el7_7.x86_64
--> Processing Dependency: libthai.so.0()(64bit) for package: pango-1.42.4-4.el7_7.x86_64
--> Processing Dependency: libharfbuzz.so.0()(64bit) for package: pango-1.42.4-4.el7_7.x86_64
--> Processing Dependency: libfribidi.so.0()(64bit) for package: pango-1.42.4-4.el7_7.x86_64
--> Processing Dependency: libXft.so.2()(64bit) for package: pango-1.42.4-4.el7_7.x86_64
---> Package unison240.x86_64 0:2.40.128-5.el7 will be installed
--> Running transaction check
---> Package dejavu-sans-fonts.noarch 0:2.33-6.el7 will be installed
--> Processing Dependency: dejavu-fonts-common = 2.33-6.el7 for package: dejavu-sans-fonts-2.33-6.el7.noarch
---> Package fontpackages-filesystem.noarch 0:1.44-8.el7 will be installed
---> Package fribidi.x86_64 0:1.0.2-1.el7_7.1 will be installed
---> Package gtk-update-icon-cache.x86_64 0:3.22.30-8.el7_9 will be installed
---> Package harfbuzz.x86_64 0:1.7.5-2.el7 will be installed
--> Processing Dependency: libgraphite2.so.3()(64bit) for package: harfbuzz-1.7.5-2.el7.x86_64
---> Package hicolor-icon-theme.noarch 0:0.12-7.el7 will be installed
---> Package jasper-libs.x86_64 0:1.900.1-33.el7 will be installed
---> Package libX11.x86_64 0:1.6.7-5.el7_9 will be installed
--> Processing Dependency: libX11-common >= 1.6.7-5.el7_9 for package: libX11-1.6.7-5.el7_9.x86_64
---> Package libXcomposite.x86_64 0:0.4.4-4.1.el7 will be installed
---> Package libXcursor.x86_64 0:1.1.15-1.el7 will be installed
---> Package libXdamage.x86_64 0:1.1.4-4.1.el7 will be installed
---> Package libXext.x86_64 0:1.3.3-3.el7 will be installed
---> Package libXfixes.x86_64 0:5.0.3-1.el7 will be installed
---> Package libXft.x86_64 0:2.3.2-2.el7 will be installed
---> Package libXi.x86_64 0:1.7.9-1.el7 will be installed
---> Package libXinerama.x86_64 0:1.1.3-2.1.el7 will be installed
---> Package libXrandr.x86_64 0:1.5.1-2.el7 will be installed
---> Package libXrender.x86_64 0:0.9.10-1.el7 will be installed
---> Package libglvnd-egl.x86_64 1:1.0.1-0.8.git5baa1e5.el7 will be installed
--> Processing Dependency: libglvnd(x86-64) = 1:1.0.1-0.8.git5baa1e5.el7 for package: 1:libglvnd-egl-1.0.1-0.8.git5baa1e5.el7.x86_64
--> Processing Dependency: mesa-libEGL(x86-64) >= 13.0.4-1 for package: 1:libglvnd-egl-1.0.1-0.8.git5baa1e5.el7.x86_64
--> Processing Dependency: libGLdispatch.so.0()(64bit) for package: 1:libglvnd-egl-1.0.1-0.8.git5baa1e5.el7.x86_64
---> Package libglvnd-glx.x86_64 1:1.0.1-0.8.git5baa1e5.el7 will be installed
--> Processing Dependency: mesa-libGL(x86-64) >= 13.0.4-1 for package: 1:libglvnd-glx-1.0.1-0.8.git5baa1e5.el7.x86_64
---> Package libjpeg-turbo.x86_64 0:1.2.90-8.el7 will be installed
---> Package libthai.x86_64 0:0.1.14-9.el7 will be installed
---> Package libtiff.x86_64 0:4.0.3-35.el7 will be installed
--> Processing Dependency: libjbig.so.2.0()(64bit) for package: libtiff-4.0.3-35.el7.x86_64
---> Package libxcb.x86_64 0:1.13-1.el7 will be installed
--> Processing Dependency: libXau.so.6()(64bit) for package: libxcb-1.13-1.el7.x86_64
---> Package pixman.x86_64 0:0.34.0-1.el7 will be installed
--> Running transaction check
---> Package dejavu-fonts-common.noarch 0:2.33-6.el7 will be installed
---> Package graphite2.x86_64 0:1.3.10-1.el7_3 will be installed
---> Package jbigkit-libs.x86_64 0:2.0-11.el7 will be installed
---> Package libX11-common.noarch 0:1.6.7-5.el7_9 will be installed
---> Package libXau.x86_64 0:1.0.8-2.1.el7 will be installed
---> Package libglvnd.x86_64 1:1.0.1-0.8.git5baa1e5.el7 will be installed
---> Package mesa-libEGL.x86_64 0:18.3.4-12.el7_9 will be installed
--> Processing Dependency: mesa-libgbm = 18.3.4-12.el7_9 for package: mesa-libEGL-18.3.4-12.el7_9.x86_64
--> Processing Dependency: libxshmfence.so.1()(64bit) for package: mesa-libEGL-18.3.4-12.el7_9.x86_64
--> Processing Dependency: libwayland-server.so.0()(64bit) for package: mesa-libEGL-18.3.4-12.el7_9.x86_64
--> Processing Dependency: libwayland-client.so.0()(64bit) for package: mesa-libEGL-18.3.4-12.el7_9.x86_64
--> Processing Dependency: libglapi.so.0()(64bit) for package: mesa-libEGL-18.3.4-12.el7_9.x86_64
--> Processing Dependency: libgbm.so.1()(64bit) for package: mesa-libEGL-18.3.4-12.el7_9.x86_64
---> Package mesa-libGL.x86_64 0:18.3.4-12.el7_9 will be installed
--> Processing Dependency: libXxf86vm.so.1()(64bit) for package: mesa-libGL-18.3.4-12.el7_9.x86_64
--> Running transaction check
---> Package libXxf86vm.x86_64 0:1.1.4-1.el7 will be installed
---> Package libwayland-client.x86_64 0:1.15.0-1.el7 will be installed
---> Package libwayland-server.x86_64 0:1.15.0-1.el7 will be installed
---> Package libxshmfence.x86_64 0:1.2-1.el7 will be installed
---> Package mesa-libgbm.x86_64 0:18.3.4-12.el7_9 will be installed
---> Package mesa-libglapi.x86_64 0:18.3.4-12.el7_9 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
==============================================================================================================================================================
Package Arch Version Repository Size
==============================================================================================================================================================
Installing:
unison240-gtk x86_64 2.40.128-5.el7 epel 1.2 M
Installing for dependencies:
atk x86_64 2.28.1-2.el7 base 263 k
cairo x86_64 1.15.12-4.el7 base 741 k
dejavu-fonts-common noarch 2.33-6.el7 base 64 k
dejavu-sans-fonts noarch 2.33-6.el7 base 1.4 M
fontconfig x86_64 2.13.0-4.3.el7 base 254 k
fontpackages-filesystem noarch 1.44-8.el7 base 9.9 k
fribidi x86_64 1.0.2-1.el7_7.1 base 79 k
gdk-pixbuf2 x86_64 2.36.12-3.el7 base 570 k
graphite2 x86_64 1.3.10-1.el7_3 base 115 k
gtk-update-icon-cache x86_64 3.22.30-8.el7_9 updates 27 k
gtk2 x86_64 2.24.31-1.el7 base 3.4 M
harfbuzz x86_64 1.7.5-2.el7 base 267 k
hicolor-icon-theme noarch 0.12-7.el7 base 42 k
jasper-libs x86_64 1.900.1-33.el7 base 150 k
jbigkit-libs x86_64 2.0-11.el7 base 46 k
libX11 x86_64 1.6.7-5.el7_9 updates 607 k
libX11-common noarch 1.6.7-5.el7_9 updates 165 k
libXau x86_64 1.0.8-2.1.el7 base 29 k
libXcomposite x86_64 0.4.4-4.1.el7 base 22 k
libXcursor x86_64 1.1.15-1.el7 base 30 k
libXdamage x86_64 1.1.4-4.1.el7 base 20 k
libXext x86_64 1.3.3-3.el7 base 39 k
libXfixes x86_64 5.0.3-1.el7 base 18 k
libXft x86_64 2.3.2-2.el7 base 58 k
libXi x86_64 1.7.9-1.el7 base 40 k
libXinerama x86_64 1.1.3-2.1.el7 base 14 k
libXrandr x86_64 1.5.1-2.el7 base 27 k
libXrender x86_64 0.9.10-1.el7 base 26 k
libXxf86vm x86_64 1.1.4-1.el7 base 18 k
libglvnd x86_64 1:1.0.1-0.8.git5baa1e5.el7 base 89 k
libglvnd-egl x86_64 1:1.0.1-0.8.git5baa1e5.el7 base 44 k
libglvnd-glx x86_64 1:1.0.1-0.8.git5baa1e5.el7 base 125 k
libjpeg-turbo x86_64 1.2.90-8.el7 base 135 k
libthai x86_64 0.1.14-9.el7 base 187 k
libtiff x86_64 4.0.3-35.el7 base 172 k
libwayland-client x86_64 1.15.0-1.el7 base 33 k
libwayland-server x86_64 1.15.0-1.el7 base 39 k
libxcb x86_64 1.13-1.el7 base 214 k
libxshmfence x86_64 1.2-1.el7 base 7.2 k
mesa-libEGL x86_64 18.3.4-12.el7_9 updates 110 k
mesa-libGL x86_64 18.3.4-12.el7_9 updates 166 k
mesa-libgbm x86_64 18.3.4-12.el7_9 updates 39 k
mesa-libglapi x86_64 18.3.4-12.el7_9 updates 46 k
pango x86_64 1.42.4-4.el7_7 base 280 k
pixman x86_64 0.34.0-1.el7 base 248 k
unison240 x86_64 2.40.128-5.el7 epel 103 k
Transaction Summary
==============================================================================================================================================================
Install 1 Package (+46 Dependent packages)
Total download size: 12 M
Installed size: 40 M
Is this ok [y/d/N]: y
Downloading packages:
dejavu-sans-fonts-2.33-6.el7.n FAILED
http://mirrors.cloud.aliyuncs.com/centos/7/os/x86_64/Packages/dejavu-sans-fonts-2.33-6.el7.noarch.rpm: [Errno 14] curl#6 - "Could not resolve host: mirrors.cloud.aliyuncs.com; Unknown error"
Trying other mirror.
cairo-1.15.12-4.el7.x86_64.rpm FAILED
http://mirrors.cloud.aliyuncs.com/centos/7/os/x86_64/Packages/cairo-1.15.12-4.el7.x86_64.rpm: [Errno 14] curl#6 - "Could not resolve host: mirrors.cloud.aliyuncs.com; Unknown error"
Trying other mirror.
(1/47): dejavu-fonts-common-2.33-6.el7.noarch.rpm | 64 kB 00:00:00
(2/47): fontpackages-filesystem-1.44-8.el7.noarch.rpm | 9.9 kB 00:00:00
(3/47): atk-2.28.1-2.el7.x86_64.rpm | 263 kB 00:00:00
(4/47): fribidi-1.0.2-1.el7_7.1.x86_64.rpm | 79 kB 00:00:00
(5/47): graphite2-1.3.10-1.el7_3.x86_64.rpm | 115 kB 00:00:00
(6/47): gtk-update-icon-cache-3.22.30-8.el7_9.x86_64.rpm | 27 kB 00:00:00
(7/47): gdk-pixbuf2-2.36.12-3.el7.x86_64.rpm | 570 kB 00:00:00
(8/47): harfbuzz-1.7.5-2.el7.x86_64.rpm | 267 kB 00:00:00
(9/47): hicolor-icon-theme-0.12-7.el7.noarch.rpm | 42 kB 00:00:00
(10/47): jasper-libs-1.900.1-33.el7.x86_64.rpm | 150 kB 00:00:00
(11/47): jbigkit-libs-2.0-11.el7.x86_64.rpm | 46 kB 00:00:00
(12/47): libXau-1.0.8-2.1.el7.x86_64.rpm | 29 kB 00:00:00
(13/47): libXcomposite-0.4.4-4.1.el7.x86_64.rpm | 22 kB 00:00:00
(14/47): libXcursor-1.1.15-1.el7.x86_64.rpm | 30 kB 00:00:00
(15/47): libX11-common-1.6.7-5.el7_9.noarch.rpm | 165 kB 00:00:00
(16/47): libXdamage-1.1.4-4.1.el7.x86_64.rpm | 20 kB 00:00:00
(17/47): libXext-1.3.3-3.el7.x86_64.rpm | 39 kB 00:00:00
(18/47): libXfixes-5.0.3-1.el7.x86_64.rpm | 18 kB 00:00:00
(19/47): libXft-2.3.2-2.el7.x86_64.rpm | 58 kB 00:00:00
(20/47): libX11-1.6.7-5.el7_9.x86_64.rpm | 607 kB 00:00:00
(21/47): libXi-1.7.9-1.el7.x86_64.rpm | 40 kB 00:00:00
(22/47): libXinerama-1.1.3-2.1.el7.x86_64.rpm | 14 kB 00:00:00
(23/47): libXrandr-1.5.1-2.el7.x86_64.rpm | 27 kB 00:00:00
(24/47): libXrender-0.9.10-1.el7.x86_64.rpm | 26 kB 00:00:00
(25/47): libXxf86vm-1.1.4-1.el7.x86_64.rpm | 18 kB 00:00:00
(26/47): libglvnd-1.0.1-0.8.git5baa1e5.el7.x86_64.rpm | 89 kB 00:00:00
(27/47): libglvnd-egl-1.0.1-0.8.git5baa1e5.el7.x86_64.rpm | 44 kB 00:00:00
(28/47): libglvnd-glx-1.0.1-0.8.git5baa1e5.el7.x86_64.rpm | 125 kB 00:00:00
(29/47): gtk2-2.24.31-1.el7.x86_64.rpm | 3.4 MB 00:00:01
(30/47): libjpeg-turbo-1.2.90-8.el7.x86_64.rpm | 135 kB 00:00:00
(31/47): libthai-0.1.14-9.el7.x86_64.rpm | 187 kB 00:00:00
(32/47): libtiff-4.0.3-35.el7.x86_64.rpm | 172 kB 00:00:00
(33/47): libwayland-client-1.15.0-1.el7.x86_64.rpm | 33 kB 00:00:00
(34/47): libwayland-server-1.15.0-1.el7.x86_64.rpm | 39 kB 00:00:00
(35/47): libxshmfence-1.2-1.el7.x86_64.rpm | 7.2 kB 00:00:00
(36/47): libxcb-1.13-1.el7.x86_64.rpm | 214 kB 00:00:00
(37/47): mesa-libEGL-18.3.4-12.el7_9.x86_64.rpm | 110 kB 00:00:00
(38/47): mesa-libGL-18.3.4-12.el7_9.x86_64.rpm | 166 kB 00:00:00
(39/47): mesa-libgbm-18.3.4-12.el7_9.x86_64.rpm | 39 kB 00:00:00
(40/47): mesa-libglapi-18.3.4-12.el7_9.x86_64.rpm | 46 kB 00:00:00
(41/47): pixman-0.34.0-1.el7.x86_64.rpm | 248 kB 00:00:00
(42/47): pango-1.42.4-4.el7_7.x86_64.rpm | 280 kB 00:00:00
(43/47): unison240-2.40.128-5.el7.x86_64.rpm | 103 kB 00:00:00
(44/47): cairo-1.15.12-4.el7.x86_64.rpm | 741 kB 00:00:00
(45/47): dejavu-sans-fonts-2.33-6.el7.noarch.rpm | 1.4 MB 00:00:00
(46/47): unison240-gtk-2.40.128-5.el7.x86_64.rpm | 1.2 MB 00:00:00
fontconfig-2.13.0-4.3.el7.x86_ FAILED
http://mirrors.aliyuncs.com/centos/7/os/x86_64/Packages/fontconfig-2.13.0-4.3.el7.x86_64.rpm: [Errno 12] Timeout on http://mirrors.aliyuncs.com/centos/7/os/x86_64/Packages/fontconfig-2.13.0-4.3.el7.x86_64.rpm: (28, 'Connection timed out after 30001 milliseconds')
Trying other mirror.
(47/47): fontconfig-2.13.0-4.3.el7.x86_64.rpm | 254 kB 00:00:00
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 392 kB/s | 12 MB 00:00:30
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : mesa-libglapi-18.3.4-12.el7_9.x86_64 1/47
Installing : libjpeg-turbo-1.2.90-8.el7.x86_64 2/47
Installing : atk-2.28.1-2.el7.x86_64 3/47
Installing : libxshmfence-1.2-1.el7.x86_64 4/47
Installing : 1:libglvnd-1.0.1-0.8.git5baa1e5.el7.x86_64 5/47
Installing : fontpackages-filesystem-1.44-8.el7.noarch 6/47
Installing : libwayland-server-1.15.0-1.el7.x86_64 7/47
Installing : mesa-libgbm-18.3.4-12.el7_9.x86_64 8/47
Installing : dejavu-fonts-common-2.33-6.el7.noarch 9/47
Installing : dejavu-sans-fonts-2.33-6.el7.noarch 10/47
Installing : fontconfig-2.13.0-4.3.el7.x86_64 11/47
Installing : jasper-libs-1.900.1-33.el7.x86_64 12/47
Installing : graphite2-1.3.10-1.el7_3.x86_64 13/47
Installing : harfbuzz-1.7.5-2.el7.x86_64 14/47
Installing : libXau-1.0.8-2.1.el7.x86_64 15/47
Installing : libxcb-1.13-1.el7.x86_64 16/47
Installing : jbigkit-libs-2.0-11.el7.x86_64 17/47
Installing : libtiff-4.0.3-35.el7.x86_64 18/47
Installing : pixman-0.34.0-1.el7.x86_64 19/47
Installing : libX11-common-1.6.7-5.el7_9.noarch 20/47
Installing : libX11-1.6.7-5.el7_9.x86_64 21/47
Installing : libXext-1.3.3-3.el7.x86_64 22/47
Installing : libXrender-0.9.10-1.el7.x86_64 23/47
Installing : libXfixes-5.0.3-1.el7.x86_64 24/47
Installing : gdk-pixbuf2-2.36.12-3.el7.x86_64 25/47
Installing : libXdamage-1.1.4-4.1.el7.x86_64 26/47
Installing : gtk-update-icon-cache-3.22.30-8.el7_9.x86_64 27/47
Installing : libXcursor-1.1.15-1.el7.x86_64 28/47
Installing : libXft-2.3.2-2.el7.x86_64 29/47
Installing : libXrandr-1.5.1-2.el7.x86_64 30/47
Installing : libXi-1.7.9-1.el7.x86_64 31/47
Installing : libXinerama-1.1.3-2.1.el7.x86_64 32/47
Installing : libXxf86vm-1.1.4-1.el7.x86_64 33/47
Installing : 1:libglvnd-glx-1.0.1-0.8.git5baa1e5.el7.x86_64 34/47
Installing : mesa-libGL-18.3.4-12.el7_9.x86_64 35/47
Installing : libXcomposite-0.4.4-4.1.el7.x86_64 36/47
Installing : libthai-0.1.14-9.el7.x86_64 37/47
Installing : fribidi-1.0.2-1.el7_7.1.x86_64 38/47
Installing : hicolor-icon-theme-0.12-7.el7.noarch 39/47
Installing : libwayland-client-1.15.0-1.el7.x86_64 40/47
Installing : 1:libglvnd-egl-1.0.1-0.8.git5baa1e5.el7.x86_64 41/47
Installing : mesa-libEGL-18.3.4-12.el7_9.x86_64 42/47
Installing : cairo-1.15.12-4.el7.x86_64 43/47
Installing : pango-1.42.4-4.el7_7.x86_64 44/47
Installing : gtk2-2.24.31-1.el7.x86_64 45/47
Installing : unison240-2.40.128-5.el7.x86_64 46/47
Installing : unison240-gtk-2.40.128-5.el7.x86_64 47/47
Verifying : libXext-1.3.3-3.el7.x86_64 1/47
Verifying : libXi-1.7.9-1.el7.x86_64 2/47
Verifying : fontconfig-2.13.0-4.3.el7.x86_64 3/47
Verifying : gdk-pixbuf2-2.36.12-3.el7.x86_64 4/47
Verifying : libXinerama-1.1.3-2.1.el7.x86_64 5/47
Verifying : libXrender-0.9.10-1.el7.x86_64 6/47
Verifying : 1:libglvnd-glx-1.0.1-0.8.git5baa1e5.el7.x86_64 7/47
Verifying : libXxf86vm-1.1.4-1.el7.x86_64 8/47
Verifying : libwayland-server-1.15.0-1.el7.x86_64 9/47
Verifying : libXcursor-1.1.15-1.el7.x86_64 10/47
Verifying : libwayland-client-1.15.0-1.el7.x86_64 11/47
Verifying : unison240-gtk-2.40.128-5.el7.x86_64 12/47
Verifying : gtk2-2.24.31-1.el7.x86_64 13/47
Verifying : hicolor-icon-theme-0.12-7.el7.noarch 14/47
Verifying : pango-1.42.4-4.el7_7.x86_64 15/47
Verifying : fontpackages-filesystem-1.44-8.el7.noarch 16/47
Verifying : libtiff-4.0.3-35.el7.x86_64 17/47
Verifying : dejavu-fonts-common-2.33-6.el7.noarch 18/47
Verifying : libX11-1.6.7-5.el7_9.x86_64 19/47
Verifying : fribidi-1.0.2-1.el7_7.1.x86_64 20/47
Verifying : libthai-0.1.14-9.el7.x86_64 21/47
Verifying : unison240-2.40.128-5.el7.x86_64 22/47
Verifying : libxcb-1.13-1.el7.x86_64 23/47
Verifying : libXft-2.3.2-2.el7.x86_64 24/47
Verifying : mesa-libGL-18.3.4-12.el7_9.x86_64 25/47
Verifying : 1:libglvnd-1.0.1-0.8.git5baa1e5.el7.x86_64 26/47
Verifying : libX11-common-1.6.7-5.el7_9.noarch 27/47
Verifying : libjpeg-turbo-1.2.90-8.el7.x86_64 28/47
Verifying : harfbuzz-1.7.5-2.el7.x86_64 29/47
Verifying : mesa-libglapi-18.3.4-12.el7_9.x86_64 30/47
Verifying : dejavu-sans-fonts-2.33-6.el7.noarch 31/47
Verifying : libXrandr-1.5.1-2.el7.x86_64 32/47
Verifying : pixman-0.34.0-1.el7.x86_64 33/47
Verifying : jbigkit-libs-2.0-11.el7.x86_64 34/47
Verifying : cairo-1.15.12-4.el7.x86_64 35/47
Verifying : libXcomposite-0.4.4-4.1.el7.x86_64 36/47
Verifying : mesa-libgbm-18.3.4-12.el7_9.x86_64 37/47
Verifying : libxshmfence-1.2-1.el7.x86_64 38/47
Verifying : libXau-1.0.8-2.1.el7.x86_64 39/47
Verifying : 1:libglvnd-egl-1.0.1-0.8.git5baa1e5.el7.x86_64 40/47
Verifying : gtk-update-icon-cache-3.22.30-8.el7_9.x86_64 41/47
Verifying : jasper-libs-1.900.1-33.el7.x86_64 42/47
Verifying : graphite2-1.3.10-1.el7_3.x86_64 43/47
Verifying : libXdamage-1.1.4-4.1.el7.x86_64 44/47
Verifying : libXfixes-5.0.3-1.el7.x86_64 45/47
Verifying : atk-2.28.1-2.el7.x86_64 46/47
Verifying : mesa-libEGL-18.3.4-12.el7_9.x86_64 47/47
Installed:
unison240-gtk.x86_64 0:2.40.128-5.el7
Dependency Installed:
atk.x86_64 0:2.28.1-2.el7 cairo.x86_64 0:1.15.12-4.el7 dejavu-fonts-common.noarch 0:2.33-6.el7
dejavu-sans-fonts.noarch 0:2.33-6.el7 fontconfig.x86_64 0:2.13.0-4.3.el7 fontpackages-filesystem.noarch 0:1.44-8.el7
fribidi.x86_64 0:1.0.2-1.el7_7.1 gdk-pixbuf2.x86_64 0:2.36.12-3.el7 graphite2.x86_64 0:1.3.10-1.el7_3
gtk-update-icon-cache.x86_64 0:3.22.30-8.el7_9 gtk2.x86_64 0:2.24.31-1.el7 harfbuzz.x86_64 0:1.7.5-2.el7
hicolor-icon-theme.noarch 0:0.12-7.el7 jasper-libs.x86_64 0:1.900.1-33.el7 jbigkit-libs.x86_64 0:2.0-11.el7
libX11.x86_64 0:1.6.7-5.el7_9 libX11-common.noarch 0:1.6.7-5.el7_9 libXau.x86_64 0:1.0.8-2.1.el7
libXcomposite.x86_64 0:0.4.4-4.1.el7 libXcursor.x86_64 0:1.1.15-1.el7 libXdamage.x86_64 0:1.1.4-4.1.el7
libXext.x86_64 0:1.3.3-3.el7 libXfixes.x86_64 0:5.0.3-1.el7 libXft.x86_64 0:2.3.2-2.el7
libXi.x86_64 0:1.7.9-1.el7 libXinerama.x86_64 0:1.1.3-2.1.el7 libXrandr.x86_64 0:1.5.1-2.el7
libXrender.x86_64 0:0.9.10-1.el7 libXxf86vm.x86_64 0:1.1.4-1.el7 libglvnd.x86_64 1:1.0.1-0.8.git5baa1e5.el7
libglvnd-egl.x86_64 1:1.0.1-0.8.git5baa1e5.el7 libglvnd-glx.x86_64 1:1.0.1-0.8.git5baa1e5.el7 libjpeg-turbo.x86_64 0:1.2.90-8.el7
libthai.x86_64 0:0.1.14-9.el7 libtiff.x86_64 0:4.0.3-35.el7 libwayland-client.x86_64 0:1.15.0-1.el7
libwayland-server.x86_64 0:1.15.0-1.el7 libxcb.x86_64 0:1.13-1.el7 libxshmfence.x86_64 0:1.2-1.el7
mesa-libEGL.x86_64 0:18.3.4-12.el7_9 mesa-libGL.x86_64 0:18.3.4-12.el7_9 mesa-libgbm.x86_64 0:18.3.4-12.el7_9
mesa-libglapi.x86_64 0:18.3.4-12.el7_9 pango.x86_64 0:1.42.4-4.el7_7 pixman.x86_64 0:0.34.0-1.el7
unison240.x86_64 0:2.40.128-5.el7
Complete!
[root@ecs-52a1 studyLinux]#
[root@ecs-52a1 studyLinux]#
[root@ecs-52a1 studyLinux]#
[root@ecs-52a1 studyLinux]#
[root@ecs-52a1 studyLinux]#
[root@ecs-52a1 studyLinux]# unison
Usage: unison [options]
or unison root1 root2 [options]
or unison profilename [options]
For a list of options, type "unison -help".
For a tutorial on basic usage, type "unison -doc tutorial".
For other documentation, type "unison -doc topics".
[root@ecs-52a1 studyLinux]#
可以看出,开始unison命令系统找不到,通过yum安装以后,可以正常使用了。
4、Arch Linux 系统
在 Arch Linux 系统上安装 Unison
sudo pacman -S unison
四、使用 Unison
1、 启动 Unison
(1)图形界面
unison &
启动图形界面
(2) 命令行界面
unison -batch &
启动命令行界面
2、 配置同步
(1)创建同步配置文件
unison -prefer new & 创建一个新的配置文件
Unison 会启动一个向导来引导你创建一个配置文件。
(2)编辑配置文件
编辑 /etc/unison/default.prf 文件(或根据提示创建的配置文件),设置要同步的目录和远程主机信息。
(3)示例配置
ini
root = /path/to/local/directory
root = ssh://username@remote.host/path/to/remote/directory
prefer = newer
ignore = Name .
ignore = Name ~
这个配置文件告诉 Unison 同步 /path/to/local/directory 和远程主机上的 /path/to/remote/directory,并且忽略隐藏文件和临时文件。
3、 运行同步
(1)通过命令行运行
unison -auto /path/to/config/file
(2)通过图形界面运行
打开 Unison 图形界面。
选择要同步的配置文件。
点击“Run”按钮开始同步。
五、常见问题
(1)如何解决 Unison 无法找到远程主机的问题?
- 确保远程主机的 SSH 服务正常运行。
- 确认 SSH 密钥认证配置正确。
- 检查防火墙设置,确保 SSH 端口开放。
(2)如何排除特定文件或目录?
在配置文件中使用 ignore 命令来排除不需要同步的文件或目录。
(3)如何解决 Unison 同步速度慢的问题?
- 检查网络连接。
- 使用增量备份功能。
- 减少要同步的文件数量。
六、 总结
Unison 是一个非常强大且灵活的文件同步工具,适合个人和企业使用。无论是简单的本地同步还是复杂的跨平台同步,Unison 都能胜任。通过配置文件和命令行选项,可以轻松定制同步策略,以满足工作上的特定需求。
unison
也是一个非常实用的文件同步工具,适用于多种场景。通过合理配置和利用其丰富的选项,可以实现高效、安全的数据同步。
文章正下方可以看到我的联系方式:鼠标“点击” 下面的 “威迪斯特-就是video system 微信名片”字样,就会出现我的二维码,欢迎沟通探讨。