2016-02-01 12:02:34 +01:00
<?xml version="1.0" encoding="utf-8"?>
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" lang = "en" xml:lang = "en" >
< head >
2016-08-08 18:57:32 +02:00
<!-- 2016 - 08 - 08 Mon 17:50 -->
2016-02-27 23:14:11 +01:00
< meta http-equiv = "Content-Type" content = "text/html;charset=utf-8" / >
< meta name = "viewport" content = "width=device-width, initial-scale=1" / >
2016-02-01 12:02:34 +01:00
< title > < / title >
2016-02-27 23:14:11 +01:00
< meta name = "generator" content = "Org-mode" / >
< meta name = "author" content = "Bob Mottram" / >
< meta name = "description" content = "Mirroring git repositories"
2016-02-01 12:02:34 +01:00
/>
2016-02-27 23:14:11 +01:00
< meta name = "keywords" content = "freedombox, debian, beaglebone, red matrix, email, web server, home server, internet, censorship, surveillance, social network, irc, jabber" / >
2016-02-01 12:02:34 +01:00
< style type = "text/css" >
<!-- /* --> <![CDATA[/*> <!-- */
.title { text-align: center;
margin-bottom: .2em; }
.subtitle { text-align: center;
font-size: medium;
font-weight: bold;
margin-top:0; }
.todo { font-family: monospace; color: red; }
.done { font-family: monospace; color: green; }
.priority { font-family: monospace; color: orange; }
.tag { background-color: #eee; font-family: monospace;
padding: 2px; font-size: 80%; font-weight: normal; }
.timestamp { color: #bebebe; }
.timestamp-kwd { color: #5f9ea0; }
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
.underline { text-decoration: underline; }
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
p.verse { margin-left: 3%; }
pre {
border: 1px solid #ccc;
box-shadow: 3px 3px 3px #eee;
padding: 8pt;
font-family: monospace;
overflow: auto;
margin: 1.2em;
}
pre.src {
position: relative;
overflow: visible;
padding-top: 1.2em;
}
pre.src:before {
display: none;
position: absolute;
background-color: white;
top: -10px;
right: 10px;
padding: 3px;
border: 1px solid black;
}
pre.src:hover:before { display: inline;}
2016-08-08 18:21:03 +02:00
/* Languages per Org manual */
pre.src-asymptote:before { content: 'Asymptote'; }
pre.src-awk:before { content: 'Awk'; }
pre.src-C:before { content: 'C'; }
/* pre.src-C++ doesn't work in CSS */
pre.src-clojure:before { content: 'Clojure'; }
pre.src-css:before { content: 'CSS'; }
pre.src-D:before { content: 'D'; }
pre.src-ditaa:before { content: 'ditaa'; }
pre.src-dot:before { content: 'Graphviz'; }
pre.src-calc:before { content: 'Emacs Calc'; }
2016-02-01 12:02:34 +01:00
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
2016-08-08 18:21:03 +02:00
pre.src-fortran:before { content: 'Fortran'; }
pre.src-gnuplot:before { content: 'gnuplot'; }
pre.src-haskell:before { content: 'Haskell'; }
pre.src-java:before { content: 'Java'; }
pre.src-js:before { content: 'Javascript'; }
pre.src-latex:before { content: 'LaTeX'; }
pre.src-ledger:before { content: 'Ledger'; }
pre.src-lisp:before { content: 'Lisp'; }
pre.src-lilypond:before { content: 'Lilypond'; }
pre.src-matlab:before { content: 'MATLAB'; }
pre.src-mscgen:before { content: 'Mscgen'; }
pre.src-ocaml:before { content: 'Objective Caml'; }
pre.src-octave:before { content: 'Octave'; }
pre.src-org:before { content: 'Org mode'; }
pre.src-oz:before { content: 'OZ'; }
pre.src-plantuml:before { content: 'Plantuml'; }
pre.src-processing:before { content: 'Processing.js'; }
pre.src-python:before { content: 'Python'; }
pre.src-R:before { content: 'R'; }
pre.src-ruby:before { content: 'Ruby'; }
pre.src-sass:before { content: 'Sass'; }
pre.src-scheme:before { content: 'Scheme'; }
pre.src-screen:before { content: 'Gnu Screen'; }
pre.src-sed:before { content: 'Sed'; }
pre.src-sh:before { content: 'shell'; }
pre.src-sql:before { content: 'SQL'; }
pre.src-sqlite:before { content: 'SQLite'; }
/* additional languages in org.el's org-babel-load-languages alist */
pre.src-forth:before { content: 'Forth'; }
pre.src-io:before { content: 'IO'; }
pre.src-J:before { content: 'J'; }
pre.src-makefile:before { content: 'Makefile'; }
pre.src-maxima:before { content: 'Maxima'; }
pre.src-perl:before { content: 'Perl'; }
pre.src-picolisp:before { content: 'Pico Lisp'; }
pre.src-scala:before { content: 'Scala'; }
pre.src-shell:before { content: 'Shell Script'; }
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
/* additional language identifiers per "defun org-babel-execute"
in ob-*.el */
pre.src-cpp:before { content: 'C++'; }
pre.src-abc:before { content: 'ABC'; }
pre.src-coq:before { content: 'Coq'; }
pre.src-groovy:before { content: 'Groovy'; }
/* additional language identifiers from org-babel-shell-names in
ob-shell.el: ob-shell is the only babel language using a lambda to put
the execution function name together. */
pre.src-bash:before { content: 'bash'; }
pre.src-csh:before { content: 'csh'; }
pre.src-ash:before { content: 'ash'; }
pre.src-dash:before { content: 'dash'; }
pre.src-ksh:before { content: 'ksh'; }
pre.src-mksh:before { content: 'mksh'; }
pre.src-posh:before { content: 'posh'; }
/* Additional Emacs modes also supported by the LaTeX listings package */
pre.src-ada:before { content: 'Ada'; }
pre.src-asm:before { content: 'Assembler'; }
pre.src-caml:before { content: 'Caml'; }
pre.src-delphi:before { content: 'Delphi'; }
pre.src-html:before { content: 'HTML'; }
pre.src-idl:before { content: 'IDL'; }
pre.src-mercury:before { content: 'Mercury'; }
pre.src-metapost:before { content: 'MetaPost'; }
pre.src-modula-2:before { content: 'Modula-2'; }
pre.src-pascal:before { content: 'Pascal'; }
pre.src-ps:before { content: 'PostScript'; }
pre.src-prolog:before { content: 'Prolog'; }
pre.src-simula:before { content: 'Simula'; }
pre.src-tcl:before { content: 'tcl'; }
pre.src-tex:before { content: 'TeX'; }
pre.src-plain-tex:before { content: 'Plain TeX'; }
pre.src-verilog:before { content: 'Verilog'; }
pre.src-vhdl:before { content: 'VHDL'; }
pre.src-xml:before { content: 'XML'; }
pre.src-nxml:before { content: 'XML'; }
/* add a generic configuration mode; LaTeX export needs an additional
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
pre.src-conf:before { content: 'Configuration File'; }
2016-02-01 12:02:34 +01:00
table { border-collapse:collapse; }
caption.t-above { caption-side: top; }
caption.t-bottom { caption-side: bottom; }
td, th { vertical-align:top; }
th.org-right { text-align: center; }
th.org-left { text-align: center; }
th.org-center { text-align: center; }
td.org-right { text-align: right; }
td.org-left { text-align: left; }
td.org-center { text-align: center; }
dt { font-weight: bold; }
2016-02-27 23:14:11 +01:00
.footpara { display: inline; }
2016-02-01 12:02:34 +01:00
.footdef { margin-bottom: 1em; }
.figure { padding: 1em; }
.figure p { text-align: center; }
.inlinetask {
padding: 10px;
border: 2px solid gray;
margin: 10px;
background: #ffffcc;
}
#org-div-home-and-up
{ text-align: right; font-size: 70%; white-space: nowrap; }
textarea { overflow-x: auto; }
.linenr { font-size: smaller }
.code-highlighted { background-color: #ffff00; }
.org-info-js_info-navigation { border-style: none; }
#org-info-js_console-label
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
.org-info-js_search-highlight
{ background-color: #ffff00; color: #000000; font-weight: bold; }
2016-08-08 18:21:03 +02:00
.org-svg { width: 90%; }
2016-02-01 12:02:34 +01:00
/*]]>*/-->
< / style >
2016-08-08 18:42:34 +02:00
< link rel = "stylesheet" type = "text/css" href = "freedombone.css" / >
2016-02-01 12:02:34 +01:00
< script type = "text/javascript" >
/*
@licstart The following is the entire license notice for the
JavaScript code in this tag.
Copyright (C) 2012-2013 Free Software Foundation, Inc.
The JavaScript code in this tag is free software: you can
redistribute it and/or modify it under the terms of the GNU
General Public License (GNU GPL) as published by the Free Software
Foundation, either version 3 of the License, or (at your option)
any later version. The code is distributed WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
As additional permission under GNU GPL version 3 section 7, you
may distribute non-source (e.g., minimized or compacted) forms of
that code without the copy of the GNU GPL normally required by
section 4, provided you include this license notice and a URL
through which recipients can access the Corresponding Source.
@licend The above is the entire license notice
for the JavaScript code in this tag.
*/
<!-- /* --> <![CDATA[/*> <!-- */
function CodeHighlightOn(elem, id)
{
var target = document.getElementById(id);
if(null != target) {
elem.cacheClassElem = elem.className;
elem.cacheClassTarget = target.className;
target.className = "code-highlighted";
elem.className = "code-highlighted";
}
}
function CodeHighlightOff(elem, id)
{
var target = document.getElementById(id);
if(elem.cacheClassElem)
elem.className = elem.cacheClassElem;
if(elem.cacheClassTarget)
target.className = elem.cacheClassTarget;
}
/*]]>*///-->
< / script >
< / head >
< body >
< div id = "preamble" class = "status" >
< a name = "top" id = "top" > < / a >
< / div >
< div id = "content" >
2016-02-27 23:14:11 +01:00
< div class = "org-center" >
2016-02-01 12:02:34 +01:00
< div class = "figure" >
< p > < img src = "images/logo.png" alt = "logo.png" / >
< / p >
< / div >
< / div >
< center >
< h1 > Mirrors< / h1 >
< / center >
< table border = "2" cellspacing = "0" cellpadding = "6" rules = "groups" frame = "hsides" >
< colgroup >
< col class = "org-left" / >
< / colgroup >
< tbody >
< tr >
2016-08-08 18:57:32 +02:00
< td class = "org-left" > < a href = "#orgfb41e6a" > What are mirrors and why do they exist?< / a > < / td >
2016-02-01 12:02:34 +01:00
< / tr >
< tr >
2016-08-08 18:57:32 +02:00
< td class = "org-left" > < a href = "#org5599901" > What security do mirrors have?< / a > < / td >
2016-02-01 12:02:34 +01:00
< / tr >
< tr >
2016-08-08 18:57:32 +02:00
< td class = "org-left" > < a href = "#org93a2b8d" > How do I set up mirrors?< / a > < / td >
2016-02-01 12:02:34 +01:00
< / tr >
< tr >
2016-08-08 18:57:32 +02:00
< td class = "org-left" > < a href = "#org1db21e6" > Do mirrors include debian package repositories?< / a > < / td >
2016-02-01 12:02:34 +01:00
< / tr >
2016-02-01 15:43:12 +01:00
< tr >
2016-08-08 18:57:32 +02:00
< td class = "org-left" > < a href = "#org3db0693" > What do I need to do to keep the mirrored repositories updated?< / a > < / td >
2016-02-01 15:43:12 +01:00
< / tr >
2016-02-01 12:02:34 +01:00
< / tbody >
< / table >
2016-08-08 18:57:32 +02:00
< div id = "outline-container-orgfb41e6a" class = "outline-2" >
< h2 id = "orgfb41e6a" > What are mirrors and why do they exist?< / h2 >
< div class = "outline-text-2" id = "text-orgfb41e6a" >
2016-02-01 12:02:34 +01:00
< p >
It would be nice if all of the applications used by this project were packaged for Debian, but currently they're not. This means that various upstream git repositories are used and these mostly reside on Github. What if Github were to go away, become paying only or be censored in some manner which was difficult to work around? To guard against this possibility the repositories are mirrored on each install and can then be made available to other users so that new installations or updates could still occur without the original default repos.
< / p >
< / div >
< / div >
2016-08-08 18:57:32 +02:00
< div id = "outline-container-org5599901" class = "outline-2" >
< h2 id = "org5599901" > What security do mirrors have?< / h2 >
< div class = "outline-text-2" id = "text-org5599901" >
2016-02-01 12:02:34 +01:00
< p >
On each install you have a < i > mirrors< / i > user created, whose only purpose is to mirror upstream repositories. A random password is generated for the < i > mirrors< / i > user which can be seen within the control panel and so given to other users who may need it.
< / p >
< / div >
< / div >
2016-08-08 18:57:32 +02:00
< div id = "outline-container-org93a2b8d" class = "outline-2" >
< h2 id = "org93a2b8d" > How do I set up mirrors?< / h2 >
< div class = "outline-text-2" id = "text-org93a2b8d" >
2016-02-01 12:02:34 +01:00
< p >
The interactive installer will ask whether you want to configure the main respositories. Enter the URL, which will typically be an onion address, the ssh port number and the password for the mirrors on that system.
< / p >
< / div >
< / div >
2016-08-08 18:57:32 +02:00
< div id = "outline-container-org1db21e6" class = "outline-2" >
< h2 id = "org1db21e6" > Do mirrors include debian package repositories?< / h2 >
< div class = "outline-text-2" id = "text-org1db21e6" >
2016-02-01 12:02:34 +01:00
< p >
No. Packages for Debian will still be accessed in the conventional manner.
< / p >
< / div >
< / div >
2016-08-08 18:57:32 +02:00
< div id = "outline-container-orge7ffc58" class = "outline-2" >
< h2 id = "orge7ffc58" > Can I change mirrors after the system has been installed< / h2 >
< div class = "outline-text-2" id = "text-orge7ffc58" >
2016-02-01 15:43:12 +01:00
< p >
Yes. From the control panel select "< i > Set the main repository< / i > "
< / p >
2016-02-01 17:45:28 +01:00
2016-02-27 23:14:11 +01:00
< div class = "org-center" >
2016-02-01 17:45:28 +01:00
< div class = "figure" >
< p > < img src = "images/controlpanel/control_panel_mirrors.jpg" alt = "control_panel_mirrors.jpg" / >
< / p >
< / div >
2016-02-01 15:43:12 +01:00
< / div >
< / div >
2016-02-01 17:45:28 +01:00
< / div >
2016-08-08 18:57:32 +02:00
< div id = "outline-container-org3db0693" class = "outline-2" >
< h2 id = "org3db0693" > What do I need to do to keep the mirrored repositories updated?< / h2 >
< div class = "outline-text-2" id = "text-org3db0693" >
2016-02-01 12:02:34 +01:00
< p >
2016-02-01 15:43:12 +01:00
Nothing. That happens as part of regular automatic updates.
2016-02-01 12:02:34 +01:00
< / p >
2016-02-27 23:14:11 +01:00
< center >
Return to the < a href = "index.html" > home page< / a >
< / center >
2016-02-01 12:02:34 +01:00
< / div >
< / div >
< / div >
< div id = "postamble" class = "status" >
< style type = "text/css" >
.back-to-top {
position: fixed;
bottom: 2em;
right: 0px;
text-decoration: none;
color: #000000;
background-color: rgba(235, 235, 235, 0.80);
font-size: 12px;
padding: 1em;
display: none;
}
.back-to-top:hover {
background-color: rgba(135, 135, 135, 0.50);
}
< / style >
< div class = "back-to-top" >
< a href = "#top" > Back to top< / a > | < a href = "mailto:bob@robotics.uk.to" > E-mail me< / a >
< / div >
< / div >
< / body >
< / html >