source: networking/netprogs/rsync.xml@ 4de7ca7

basic
Last change on this file since 4de7ca7 was 6397333, checked in by Bruce Dubbs <bdubbs@…>, 6 years ago

Convert internal like to external links for BLFS packages not in
the Basic book.

Reorder some chapters.

Merge System V and systemd sections so both are always displayed
with proper attribution for system type.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/branches/basic@20524 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 8.7 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY rsync-download-http "https://www.samba.org/ftp/rsync/src/rsync-&rsync-version;.tar.gz">
8 <!ENTITY rsync-download-ftp " ">
9 <!ENTITY rsync-md5sum "1581a588fde9d89f6bc6201e8129afaf">
10 <!ENTITY rsync-size "884 KB">
11 <!ENTITY rsync-buildsize "11 MB (with tests - additional 45 MB for HTML API documentation)">
12 <!ENTITY rsync-time "0.5 SBU (with tests)">
13]>
14
15<sect1 id="rsync" xreflabel="rsync-&rsync-version;">
16 <?dbhtml filename="rsync.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>rsync-&rsync-version;</title>
24
25 <indexterm zone="rsync">
26 <primary sortas="a-rsync">rsync</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to rsync</title>
31
32 <para>The <application>rsync</application> package contains the
33 <command>rsync</command> utility. This is useful for synchronizing large
34 file archives over a network.</para>
35
36 &lfs83_checked;
37
38 <bridgehead renderas="sect3">Package Information</bridgehead>
39 <itemizedlist spacing="compact">
40 <listitem>
41 <para>Download (HTTP): <ulink url="&rsync-download-http;"/></para>
42 </listitem>
43 <listitem>
44 <para>Download (FTP): <ulink url="&rsync-download-ftp;"/></para>
45 </listitem>
46 <listitem>
47 <para>Download MD5 sum: &rsync-md5sum;</para>
48 </listitem>
49 <listitem>
50 <para>Download size: &rsync-size;</para>
51 </listitem>
52 <listitem>
53 <para>Estimated disk space required: &rsync-buildsize;</para>
54 </listitem>
55 <listitem>
56 <para>Estimated build time: &rsync-time;</para>
57 </listitem>
58 </itemizedlist>
59
60 <bridgehead renderas="sect3">rsync Dependencies</bridgehead>
61
62 <bridgehead renderas="sect4">Recommended</bridgehead>
63 <para role="recommended">
64 <xref linkend="popt"/>
65 </para>
66
67 <para condition="html" role="usernotes">User Notes:
68 <ulink url="&blfs-wiki;/rsync"/></para>
69
70 </sect2>
71
72 <sect2 role="installation">
73 <title>Installation of rsync</title>
74
75 <para>For security reasons, running the <application>rsync</application>
76 server as an unprivileged user and group is encouraged. If you intend to
77 run <command>rsync</command> as a daemon, create the
78 <systemitem class="username">rsyncd</systemitem> user and group
79 with the following commands issued by the
80 <systemitem class="username">root</systemitem> user:</para>
81
82<screen role="root"><userinput>groupadd -g 48 rsyncd &amp;&amp;
83useradd -c "rsyncd Daemon" -d /home/rsync -g rsyncd \
84 -s /bin/false -u 48 rsyncd</userinput></screen>
85
86 <para>Install <application>rsync</application> by running the following
87 commands:</para>
88
89<screen><userinput>./configure --prefix=/usr --without-included-zlib &amp;&amp;
90make</userinput></screen>
91
92 <para>If you have
93 <ulink url="&blfs-book;general/doxygen.html">doxygen</ulink>
94 installed and wish to
95 build HTML API documentation, issue <command>doxygen</command>.</para>
96
97 <para>To test the results, issue: <command>make check</command>.</para>
98
99 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
100
101<screen role='root'><userinput>make install</userinput></screen>
102
103 <para>If you built the documentation, install it using the following
104 commands as the <systemitem class="username">root</systemitem> user:</para>
105
106<screen role='root'><userinput>install -v -m755 -d /usr/share/doc/rsync-&rsync-version;/api &amp;&amp;
107install -v -m644 dox/html/* /usr/share/doc/rsync-&rsync-version;/api</userinput></screen>
108
109 </sect2>
110
111 <sect2 role="commands">
112 <title>Command Explanations</title>
113
114 <para>
115 <parameter>--without-included-zlib</parameter>: This switch enables
116 compilation with system-installed zlib library.
117 </para>
118
119 </sect2>
120
121 <sect2 role="configuration">
122 <title>Configuring rsync</title>
123
124 <sect3 id="rsync-config">
125 <title>Config Files</title>
126
127 <para><filename>/etc/rsyncd.conf</filename></para>
128
129 <indexterm zone="rsync rsync-config">
130 <primary sortas="e-etc-rsyncd.conf">/etc/rsyncd.conf</primary>
131 </indexterm>
132
133 </sect3>
134
135 <sect3>
136 <title>Configuration Information</title>
137
138 <para>For client access to remote files, you may need to install the
139 <xref linkend="openssh"/> package to connect to the remote server.</para>
140
141 <para>This is a simple download-only configuration to set up running
142 <command>rsync</command> as a server. See the rsyncd.conf(5)
143 man-page for additional options (i.e., user authentication).</para>
144
145<screen role="root"><userinput>cat &gt; /etc/rsyncd.conf &lt;&lt; "EOF"
146<literal># This is a basic rsync configuration file
147# It exports a single module without user authentication.
148
149motd file = /home/rsync/welcome.msg
150use chroot = yes
151
152[localhost]
153 path = /home/rsync
154 comment = Default rsync module
155 read only = yes
156 list = yes
157 uid = rsyncd
158 gid = rsyncd
159</literal>
160EOF</userinput></screen>
161
162 <para>You can find additional configuration information and general
163 documentation about <command>rsync</command> at
164 <ulink url="http://rsync.samba.org/documentation.html"/>.</para>
165
166 </sect3>
167
168 <sect3 id="rsync-init">
169 <title>Boot Script or Systemd Unit</title>
170
171 <para>Note that you only want to start the
172 <application>rsync</application> server if you want to provide an
173 <application>rsync</application> archive on your local machine.
174 You don't need this script or unit to run the
175 <application>rsync</application> client.</para>
176
177 <para>Install the
178 <filename>/etc/rc.d/init.d/rsyncd</filename> init script (for
179 System V bades systems) or the <filename>rsyncd.service</filename>
180 unit (for systemd based systems) included in the
181 <xref linkend="bootscripts"/>
182 <xref linkend="systemd-units"/> packages respectively.</para>
183
184<screen role="root"><userinput>make install-rsyncd</userinput></screen>
185
186 <note>
187 <para>For systemd use, this package comes with two types of units:
188 A service file and a
189 socket file. The service file will start rsync daemon once at boot
190 and it will keep running until the system shuts down. The socket file
191 will make systemd listen on the rsync port (Default 873, needs to be
192 edited for anything else) and will start rsync daemon when something
193 tries to connect to that port and stop the daemon when the connection
194 is terminated. This is called socket activation and is analogous to
195 using <application>{,x}inetd</application> on a System V based
196 system.</para>
197
198
199 <para>By default, the first method is used - rsync daemon is started
200 at boot and stopped at shutdown. If the socket method is desired, you
201 need to run as the
202 <systemitem class="username">root</systemitem> user:</para>
203
204<screen role="root"><userinput>systemctl stop rsyncd &amp;&amp;
205systemctl disable rsyncd &amp;&amp;
206systemctl enable rsyncd.socket &amp;&amp;
207systemctl start rsyncd.socket</userinput></screen>
208
209 <para>Note that socket method is only useful for remote backups. For
210 local backups you'll need the service method.</para>
211 </note>
212
213 </sect3>
214
215 </sect2>
216
217 <sect2 role="content">
218 <title>Contents</title>
219
220 <segmentedlist>
221 <segtitle>Installed Program</segtitle>
222 <segtitle>Installed Libraries</segtitle>
223 <segtitle>Installed Directories</segtitle>
224
225 <seglistitem>
226 <seg>rsync</seg>
227 <seg>None</seg>
228 <seg>Optionally, /usr/share/doc/rsync-&rsync-version;</seg>
229 </seglistitem>
230 </segmentedlist>
231
232 <variablelist>
233 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
234 <?dbfo list-presentation="list"?>
235 <?dbhtml list-presentation="table"?>
236
237 <varlistentry id="rsync-prog">
238 <term><command>rsync</command></term>
239 <listitem>
240 <para>is a replacement for <command>rcp</command> (and
241 <command>scp</command>) that has many more features. It uses the
242 <quote>rsync algorithm</quote> which provides a very fast method of
243 syncing remote files. It does this by sending just the differences
244 in the files across the link, without requiring that both sets of
245 files are present at one end of the link beforehand.</para>
246 <indexterm zone="rsync rsync-prog">
247 <primary sortas="b-rsync">rsync</primary>
248 </indexterm>
249 </listitem>
250 </varlistentry>
251
252 </variablelist>
253
254 </sect2>
255
256</sect1>
Note: See TracBrowser for help on using the repository browser.