diff options
Diffstat (limited to 'src/docs/Setting-up-an-rsync-repository-for-distribution.html')
-rw-r--r-- | src/docs/Setting-up-an-rsync-repository-for-distribution.html | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/src/docs/Setting-up-an-rsync-repository-for-distribution.html b/src/docs/Setting-up-an-rsync-repository-for-distribution.html new file mode 100644 index 0000000..2262723 --- /dev/null +++ b/src/docs/Setting-up-an-rsync-repository-for-distribution.html @@ -0,0 +1,99 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<!-- Copyright (C) 2020 Cem Keylan + +Licensed under Gnu Free Documentation License. --> +<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>Setting up an rsync repository for distribution (Carbs Linux User Manual)</title> + +<meta name="description" content="Setting up an rsync repository for distribution (Carbs Linux User Manual)"> +<meta name="keywords" content="Setting up an rsync repository for distribution (Carbs Linux User Manual)"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<link href="index.html" rel="start" title="Top"> +<link href="Rsync-Repositories.html" rel="up" title="Rsync Repositories"> +<link href="Init-System.html" rel="next" title="Init System"> +<link href="Rsync-Repositories.html" rel="prev" title="Rsync Repositories"> +<style type="text/css"> +<!-- +a.summary-letter {text-decoration: none} +blockquote.indentedblock {margin-right: 0em} +div.display {margin-left: 3.2em} +div.example {margin-left: 3.2em} +div.lisp {margin-left: 3.2em} +kbd {font-style: oblique} +pre.display {font-family: inherit} +pre.format {font-family: inherit} +pre.menu-comment {font-family: serif} +pre.menu-preformatted {font-family: serif} +span.nolinebreak {white-space: nowrap} +span.roman {font-family: initial; font-weight: normal} +span.sansserif {font-family: sans-serif; font-weight: normal} +ul.no-bullet {list-style: none} +--> +</style> + + +</head> + +<body lang="en"> +<span id="Setting-up-an-rsync-repository-for-distribution"></span><div class="header"> +<p> +Up: <a href="Rsync-Repositories.html" accesskey="u" rel="up">Rsync Repositories</a> </p> +</div> +<hr> +<span id="Setting-up-an-rsync-repository-for-distribution-1"></span><h4 class="subsection">2.3.1 Setting up an rsync repository for distribution</h4> + +<p>Carbs Linux repositories automatically sync from the git repostitories and serve +it through the rsync daemon. Here is a sample shell script that I use in order to +sync repositories. Feel free to customize for your own use. +</p> +<pre class="verbatim"> #!/bin/sh + HOSTNAME="rsync://carbslinux.org/repo" + GITDIR="/pub/git/repo" + SHAREDIR="/pub/share/repo" + git -C "$GITDIR" pull + + rsync -avcC --delete --include=core --exclude=.rsync,.rsync_root "$GITDIR/." "$SHAREDIR" + + printf '%s\n' "$HOSTNAME" > "$GITDIR/.rsync" + for dir in "$GITDIR/"*; do + [ -d "$dir" ] || continue + [ -f "$dir/.rsync" ] || + printf '%s/%s\n' "$HOSTNAME" "${dir##*/}" > "$dir/.rsync" + printf '..\n' > "$dir/.rsync_root" + done +</pre> +<p>You can then create an <strong>rsync</strong> user for serving the repositories. +</p> +<div class="example"> +<pre class="example">$ adduser -SD rsync +</pre></div> + +<p>Create <samp>/etc/rsyncd.conf</samp> and a service configuration as well. +</p> +<pre class="verbatim"> + uid = rsync + gid = rsync + address = example.com + max connections = 10 + use chroot = yes + + [repo] + path = /pub/share/repo + comment = My repository +</pre> +<p>Create a service file at <samp>/etc/sv/rsync/run</samp> (runit): +</p> +<div class="example"> +<pre class="example">#!/bin/sh +exec rsync --daemon --no-detach +</pre></div> + + + +</body> +</html> |