{"id":3219,"date":"2022-12-20T16:43:51","date_gmt":"2022-12-20T19:43:51","guid":{"rendered":"http:\/\/lode.uno\/linux-man\/index.php\/2022\/12\/20\/drpmsync-man8\/"},"modified":"2022-12-20T16:43:51","modified_gmt":"2022-12-20T19:43:51","slug":"drpmsync-man8","status":"publish","type":"post","link":"https:\/\/lode.uno\/linux-man\/2022\/12\/20\/drpmsync-man8\/","title":{"rendered":"DRPMSYNC (man8)"},"content":{"rendered":"<h1 align=\"center\">DRPMSYNC<\/h1>\n<p> <a href=\"#NAME\">NAME<\/a><br \/> <a href=\"#SYNOPSIS\">SYNOPSIS<\/a><br \/> <a href=\"#DESCRIPTION\">DESCRIPTION<\/a><br \/> <a href=\"#CLIENT MODE\">CLIENT MODE<\/a><br \/> <a href=\"#SERVER MODE\">SERVER MODE<\/a><br \/> <a href=\"#FILES\">FILES<\/a><br \/> <a href=\"#SEE ALSO\">SEE ALSO<\/a><br \/> <a href=\"#AUTHOR\">AUTHOR<\/a> <\/p>\n<hr>\n<h2>NAME <a name=\"NAME\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\">drpmsync \u2212 sync a file tree with deltarpms<\/p>\n<h2>SYNOPSIS <a name=\"SYNOPSIS\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>drpmsync<\/b> [<b>-c<\/b> <i>config<\/i>] [<i>source<\/i>] <i>dir<\/i> <b><br \/> drpmsync<\/b> [<b>-s<\/b>|<b>-S<\/b>] <i>serverconfig<\/i> <b><br \/> cgi-bin\/drpmsync<\/b><\/p>\n<h2>DESCRIPTION <a name=\"DESCRIPTION\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\">Drpmsync keeps a local file system tree in sync with a remote one. Its intended use is to work with rpm trees; the deltarpm technology can only save bandwidth if rpms get transmitted. Please use the rsync program for normal file trees.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">Drpmsync can run in two modes: as a client it connects to a server, receives a file list and brings the tree up to date, as a server it answers incoming requests and transmits files and rpms.<\/p>\n<h2>CLIENT MODE <a name=\"CLIENT MODE\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\">In this mode drpmsync updates the tree in <i>dir<\/i>. It opens the configuration file <i>dir<\/i><b>\/drpmsync\/config<\/b> to get information about which server to use and other settings. You can specify a different configuration file with the <b>-c<\/b> option. The following settings are understood (the default for the boolean settings is false):<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>source:<\/b> <i>server1 server2<\/i>&#8230;<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">This is a list of servers to connect to. Drpmsync advances through this list until a working server is found. If a source is specified on the command line it is used instead of the one from the configuration. The syntax for the server entries is &#8220;<i>host<\/i>[<b>:<\/b><i>port<\/i>]\/<i>tree<\/i>&#8220;.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>log:<\/b> <i>logfile<\/i><\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">Specifies the name of a logfile. If the name does not start with a slash, <i>dir<\/i><b>\/drpmsync\/<\/b> is prepended to it.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>generate_deltas: true|false<\/b><\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">Controls whether drpmsync generates a delta if it receives a new version of a rpm and the server doesn\u2019t provide a delta. This is only useful if the local tree is also exported to other clients via a local drpmsync server.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>generate_delta_compression:<\/b> <i>comp<\/i><\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">This parameter is forwarded to the makedeltarpm program when creating deltas. An example would be <b>gzip,gzip<\/b>.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>keep_deltas: true|false<\/b><\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">Tell drpmsync to save received or freshly created deltas to the <i>dir<\/i><b>\/drpmsync\/delta<\/b> directory. Automatically true if <b>generate_deltas<\/b> or <b>keep_uncombined<\/b> is set to true.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>keep_uncombined: true|false<\/b><\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">This tells drpmsync to request uncombined deltas from the server instead of a precombined single delta. This makes sense if you re-export the tree and want to maximize the number of versions your clients can update from.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>always_get_rpm: true|false<\/b><\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">Configures whether drpmsync should request that the full rpm is always sent along with the delta. Only makes sense if you have a fast network connection so that applydeltarpm takes longer than transmitting the ful rpm.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>deltarpmpath:<\/b> <i>path<\/i><\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">Sets the directory where drpmsync searches for the deltarpm programs. The default is to search the <b>$PATH<\/b> variable.<\/p>\n<h2>SERVER MODE <a name=\"SERVER MODE\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\">Drpmsync can wither work as CGI script or as a standalone server. CGI script mode is automatically selected if the <b>REQUEST_METHOD<\/b> environment variable is set. In this mode drpmsync expects the <b>DRPMSYNC_CONFIG<\/b> environment variable to contain the path to a server config file. For apache you can set this with the <b>SetEnv<\/b> directive.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">Standalone mode is selected with the <b>-s<\/b> or <b>-S<\/b> option. In this mode the server configuration must be specified as an argument to the drpmsync program. The <b>-s<\/b> option makes the drpmsync program background itself and exit right away, while <b>-S<\/b> keeps the server in the foreground.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">The server configuration can contain the following settings:<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>allow:<\/b> <i>pattern1 pattern2<\/i>&#8230; <b><br \/> deny:<\/b> <i>pattern1 pattern2<\/i>&#8230;<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">This provides the access control for the server. <i>pattern<\/i> can either be a simple glob pattern (only <b>*<\/b> is supported) or it can be a full regular expression if it is written as <b>\/RE\/<\/b>. The regular expression is automatically anchored at the start and the end. Examples are <b>10.10.*<\/b> or <b>\/10.10..*\/<\/b> If either the numerical ip address or the domain name of the client matches any entry of the deny list, access is forbidden. Otherwise the allow list is searched for a match. If none is found, access is also denied. The default setting for both lists is empty, so you have to provide an allow list to allow access for the clients.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>log:<\/b> <i>logfile<\/i><\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">Specifies the path of a logfile.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>no_combine: true|false<\/b><\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">If this setting is true the server does not combine deltarpms. This increases to amount of data that has to be transferred but reduces the processor load on the server.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>tree:<\/b> <i>external_path internal_path<\/i><\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">This statements exports the tree located at <i>internal_path<\/i> to the clients as directory <i>external_path<\/i>. All of the above settings are saved as settings of this particular tree, so different trees can use different configurations. This also means that the configuration directives of a tree must be above the <b>tree<\/b> statement.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">The following settings are global and only needed for standalone mode:<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>serverlog:<\/b> <i>logfile<\/i><\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">Specifies the path of a logfile used for logging server events.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>servername:<\/b> <i>hostname<\/i>[:<i>port<\/i>]<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">The name of the server. If <i>hostname<\/i> is empty, the fully qualified domain name is used instead. The port defaults to port 80.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>serveraddr:<\/b> <i>addr<\/i><\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">This address is used for binding the server\u2019s socket. If not specified, connections can come from any interface.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>serveruser:<\/b> <i>user<\/i> <b><br \/> servergroup:<\/b> <i>group<\/i><\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">Configures the user and group the servers swicthes to after binding the socket to the desired port. Examples are <b>nobody<\/b> or <b>wwwrun<\/b>.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>maxclients:<\/b> <i>num<\/i><\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">This settings limits the maximum number of concurrent connections to <i>num<\/i>. The default value is 10 connections.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>deltarpmpath:<\/b> <i>path<\/i><\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">Sets the directory where drpmsync searches for the deltarpm programs. The default is to search the <b>$PATH<\/b> variable.<\/p>\n<h2>FILES <a name=\"FILES\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\"><i>dir<\/i>\/drpmsync\/deltas<\/p>\n<p style=\"margin-left:22%;\">directory used to store the deltas<\/p>\n<p style=\"margin-left:11%;\"><i>dir<\/i>\/drpmsync\/lock<\/p>\n<p style=\"margin-left:22%;\">lock used to serialize syncrpm calls<\/p>\n<p style=\"margin-left:11%;\"><i>dir<\/i>\/drpmsync\/wip<\/p>\n<p style=\"margin-left:22%;\">temporary storing space for the transmitted objects<\/p>\n<p style=\"margin-left:11%;\"><i>dir<\/i>\/drpmsync\/cache<\/p>\n<p style=\"margin-left:22%;\">md5sum cache to speed up the calculation of the tree state<\/p>\n<p style=\"margin-left:11%;\"><i>dir<\/i>\/drpmsync\/timstamp<\/p>\n<p style=\"margin-left:22%;\">contains the time of the last finished sync and the last time the remote tree state was requested.<\/p>\n<h2>SEE ALSO <a name=\"SEE ALSO\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>makedeltarpm<\/b>(8), <b>combinedeltarpm<\/b>(8), <b>applydeltarpm<\/b>(8),<\/p>\n<h2>AUTHOR <a name=\"AUTHOR\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\">Michael Schroeder <mls@suse.de><\/p>\n<hr>\n","protected":false},"excerpt":{"rendered":"<p>  drpmsync \u2212 sync a file tree with deltarpms <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[5,52,358,4],"class_list":["post-3219","post","type-post","status-publish","format-standard","hentry","category-8-administracion-del-sistema","tag-5","tag-administracion","tag-drpmsync","tag-man8"],"gutentor_comment":0,"_links":{"self":[{"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/posts\/3219","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/comments?post=3219"}],"version-history":[{"count":0,"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/posts\/3219\/revisions"}],"wp:attachment":[{"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/media?parent=3219"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/categories?post=3219"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/tags?post=3219"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}