<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>http://wiki.debianusers.or.kr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Westporch</id>
	<title>한국 데비안 사용자 모임 - 사용자 기여 [ko]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.debianusers.or.kr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Westporch"/>
	<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%ED%8A%B9%EC%88%98:%EA%B8%B0%EC%97%AC/Westporch"/>
	<updated>2026-05-04T02:27:29Z</updated>
	<subtitle>사용자 기여</subtitle>
	<generator>MediaWiki 1.34.1</generator>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=996</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=996"/>
		<updated>2021-05-09T13:37:24Z</updated>

		<summary type="html">&lt;p&gt;Westporch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;데비안 공식 문서에서 'ftpsync'를 이용해서 데비안 미러 서버를 만드는 것을 권장하고 있습니다. ftpsync는 데비안 프로젝트에서 만든 프로그램입니다. 이 프로그램을 이용하면 쉽게 미러 서버를 구축할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
물론 'apt-mirror'를 이용해서 데비안 미러 서버를 만들 수도 있습니다. 데비안 미러 서버를 구축하고자 한다면 ftpsync를 사용하시는 것을 권장합니다.&lt;br /&gt;
&lt;br /&gt;
본문에서는 ftpsync를 이용해서 [http://mirror.debianusers.or.kr/ 데비안 미러 서버]를 만든 방법을 설명합니다. 이 글의 부제목은 '데비안유저스의 미러 서버 구축기'입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nginx 설치 및 설정 ==&lt;br /&gt;
미러링 서비스를 제공할 서버의 웹 서버는 꼭 Nginx로 운영하지 않아도 됩니다. Apache 또는 Lighttpd 등으로 웹 서버를 운영해도 됩니다. 단지 제가 Nginx를 선호하기 때문에 웹 서버를 Nginx로 운영하는 것입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) &amp;lt;ref&amp;gt;https://marlon.kern.earth/blog/2019-01-14_fancy-index.html&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
저는 제 미러 서버에 국내 아이피만 접속되도록 설정했습니다. 해외 아이피를 가진 사용자가 제 미러 서버에 접속이 차단되도록 설정한 이유는 해외 트래픽 요금이 비싸기 때문입니다. 트래픽 요금에 걱정이 없으신 분은 저처럼 해외 트래픽을 차단할 필요 없습니다.&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
rsync를 설치하는 이유는 미러 서버를 구축할 때 사용하는 ftpsync가 내부적으로 rsync를 이용해서 원격 서버에 있는 파일 또는 디렉터리들을 받아오기 때문입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
[https://oss.oetiker.ch/mrtg/ MRTG(Multi Router Traffic Grapher)]를 사용하는 목적은 간단하게 네트워크의 트래픽(인바운드, 아웃바운드)을 지켜보기 위해서입니다. 트래픽을 지켜보는 다른 프로그램(Zabbix, Cacti 등)을 사용하고자 한다면 굳이 MRTG를 사용하지 않아도 됩니다.&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 저의 경우 아래 /etc/mrtg.cfg 파일에서 설정한 내용을 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ftpsync &amp;lt;ref&amp;gt;https://www.debian.org/mirror/ftpmirror#how&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://salsa.debian.org/mirror-team/archvsync/#usage&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.conf.5.en.html&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.1.en.html&amp;lt;/ref&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리(/home/ftpsync/log) 생성 ===&lt;br /&gt;
ftpsync에서 작업한 로그가 저장될 디렉터리(/home/ftpsync/log)를 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
미러링이 완료된 후에 나중에 미러링을 갱신하려면 아래 명령을 다시 실행하면 됩니다. 아래 명령을 crontab에 등록해서 주기적으로 실행하면 도움이 될 것입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
미러링이 완료된 후에 나중에 미러링을 갱신하려면 아래 명령을 다시 실행하면 됩니다. 아래 명령을 crontab에 등록해서 주기적으로 실행하면 도움이 될 것입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 저장소(debian-security)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
미러링이 완료된 후에 나중에 미러링을 갱신하려면 아래 명령을 다시 실행하면 됩니다. 아래 명령을 crontab에 등록해서 주기적으로 실행하면 도움이 될 것입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian-cd)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
미러링이 완료된 후에 나중에 미러링을 갱신하려면 아래 명령을 다시 실행하면 됩니다. 아래 명령을 crontab에 등록해서 주기적으로 실행하면 도움이 될 것입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian-multimedia)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC_%EB%B0%8F_%EC%84%9C%EB%B2%84_%EC%84%A4%EC%A0%95&amp;diff=995</id>
		<title>네트워크 및 서버 설정</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC_%EB%B0%8F_%EC%84%9C%EB%B2%84_%EC%84%A4%EC%A0%95&amp;diff=995"/>
		<updated>2021-05-02T12:09:51Z</updated>

		<summary type="html">&lt;p&gt;Westporch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== DNS 설정 ==&lt;br /&gt;
* [[bind9]] - 바인드 설치&lt;br /&gt;
* [[PDNS]] - PowerDNS + MySQL + PowerAdmin (DNS 웹/디비로 관리하기)&lt;br /&gt;
&lt;br /&gt;
== 서버 구축 종합 ==&lt;br /&gt;
* [[데비안 패키지로 APM 설치하기]]&lt;br /&gt;
* [[APM installation]] (westporch)&lt;br /&gt;
&lt;br /&gt;
== 웹서버 ==&lt;br /&gt;
* [[아파치 팁]] : 아파치 팁을 적어 보았습니다.&lt;br /&gt;
* [[제로보드 설치]] : 제로보드 설치하기... :) genes&lt;br /&gt;
* [[티티사이트빌더]] 설치로 간단 홈피 만들기]]&lt;br /&gt;
* [[젠드 옵티마이저 : Zend Optimizer 수동설치(php 최적화) :) genes&lt;br /&gt;
* [[사진첩]] : 유저스에서 사용한 사진첩 사용하기 → gallery 설치&lt;br /&gt;
* [[위키설치]] : 데비안에 모인모인을 설치하자&lt;br /&gt;
* [[MoniWiki]] - 위키클론 중 하나이며 손쉬운 설치가 가능한 모니위키 설치하기&lt;br /&gt;
* [[tomcat4]] - Woody 에서 Tomcat4 셋팅하기&lt;br /&gt;
* [[apache2Tomcat5_Sarge]] - debian 패키지만으로 apache2+tomcat5+libapache2-mod-jk2 연동하기 -_-;&lt;br /&gt;
* [[tomcat_userconfig]] - apache2 + 톰캣5.5.9 를 이용하여 일반 계정 이용자에게 JSP를 사용가능하게 만들기.&lt;br /&gt;
* [[tomcat_mysql_connector]] - 톰캣과 mySQL의 연동을 위한 Connector 설정&lt;br /&gt;
* [[Apache1.3Tomcat4__webjjin]] - 위의 설치법으로 안 되시는분 참고&lt;br /&gt;
* [[APACHE + PHP4 + ORACLE 10g EX Client]] - apache 1.3.33/2.0.54 + PHP 4.3.10-16.2 + Oracle 10g EX Client&lt;br /&gt;
* [[apache+tomcat4+mysql+java+jdbc]] - 대회&lt;br /&gt;
* [[Apache2+mod_cband]] : apache2 + mod_cband로 트래픽 제어하기&lt;br /&gt;
&lt;br /&gt;
== DB서버 ==&lt;br /&gt;
* [[Mysql]]&lt;br /&gt;
&lt;br /&gt;
== 데비안 미러 서버 ==&lt;br /&gt;
* [[데비안 미러 서버를 만드는 방법]]&lt;br /&gt;
&lt;br /&gt;
== 메일서버 ==&lt;br /&gt;
* 데비안에서 패키지로 sendmail 설치&lt;br /&gt;
* postfix - postfix 설정&lt;br /&gt;
* Mailman 설치하기&lt;br /&gt;
* Qmail&lt;br /&gt;
&lt;br /&gt;
== 삼바 ==&lt;br /&gt;
* [[삼바 팁]] : 삼바 팁을 적어봤습니다.&lt;br /&gt;
* [[윈도우 네트워크 프린터 사용하기]] : 윈도우 컴에 물린 프린터를 삼바 네트워크로 사용하기&lt;br /&gt;
&lt;br /&gt;
== FTP ==&lt;br /&gt;
* [[ProFTPd 설치]]&lt;br /&gt;
* [[vsFTP 설치]]&lt;br /&gt;
&lt;br /&gt;
== SSH ==&lt;br /&gt;
* [[ssh 트러블슈팅]]&lt;br /&gt;
&lt;br /&gt;
== 기타 데몬 설정 ==&lt;br /&gt;
* [[SYSLOGD]]: syslogd 관련 tip&lt;br /&gt;
* [[Heartbeat]]: Heartbeat 관련 HA (고가용서버) 관련 설치 tip&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=994</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=994"/>
		<updated>2021-05-02T12:04:47Z</updated>

		<summary type="html">&lt;p&gt;Westporch: /* 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;데비안 공식 문서에서 'ftpsync'를 이용해서 데비안 미러 서버를 만드는 것을 권장하고 있습니다. ftpsync는 데비안 프로젝트에서 만든 프로그램입니다. 이 프로그램을 이용하면 쉽게 미러 서버를 구축할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
물론 'apt-mirror'를 이용해서 데비안 미러 서버를 만들 수도 있습니다. 데비안 미러 서버를 구축하고자 한다면 ftpsync를 사용하시는 것을 권장합니다.&lt;br /&gt;
&lt;br /&gt;
본문에서는 ftpsync를 이용해서 [http://mirror.debianusers.or.kr/ 데비안 미러 서버]를 만든 방법을 설명합니다. 이 글의 부제목은 '데비안유저스의 미러 서버 구축기'입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nginx 설치 및 설정 ==&lt;br /&gt;
미러링 서비스를 제공할 서버의 웹 서버는 꼭 Nginx로 운영하지 않아도 됩니다. Apache 또는 Lighttpd 등으로 웹 서버를 운영해도 됩니다. 단지 제가 Nginx를 선호하기 때문에 웹 서버를 Nginx로 운영하는 것입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) &amp;lt;ref&amp;gt;https://marlon.kern.earth/blog/2019-01-14_fancy-index.html&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
저는 제 미러 서버에 국내 아이피만 접속되도록 설정했습니다. 해외 아이피를 가진 사용자가 제 미러 서버에 접속이 차단되도록 설정한 이유는 해외 트래픽 요금이 비싸기 때문입니다. 트래픽 요금에 걱정이 없으신 분은 저처럼 해외 트래픽을 차단할 필요 없습니다.&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
rsync를 설치하는 이유는 미러 서버를 구축할 때 사용하는 ftpsync가 내부적으로 rsync를 이용해서 원격 서버에 있는 파일 또는 디렉터리들을 받아오기 때문입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
[https://oss.oetiker.ch/mrtg/ MRTG(Multi Router Traffic Grapher)]를 사용하는 목적은 간단하게 네트워크의 트래픽(인바운드, 아웃바운드)을 지켜보기 위해서입니다. 트래픽을 지켜보는 다른 프로그램(Zabbix, Cacti 등)을 사용하고자 한다면 굳이 MRTG를 사용하지 않아도 됩니다.&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 저의 경우 아래 /etc/mrtg.cfg 파일에서 설정한 내용을 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ftpsync &amp;lt;ref&amp;gt;https://www.debian.org/mirror/ftpmirror#how&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://salsa.debian.org/mirror-team/archvsync/#usage&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.conf.5.en.html&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.1.en.html&amp;lt;/ref&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리(/home/ftpsync/log) 생성 ===&lt;br /&gt;
ftpsync에서 작업한 로그가 저장될 디렉터리(/home/ftpsync/log)를 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
미러링이 완료된 후에 나중에 미러링을 갱신하려면 아래 명령을 다시 실행하면 됩니다. 아래 명령을 crontab에 등록해서 주기적으로 실행하면 도움이 될 것입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
미러링이 완료된 후에 나중에 미러링을 갱신하려면 아래 명령을 다시 실행하면 됩니다. 아래 명령을 crontab에 등록해서 주기적으로 실행하면 도움이 될 것입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 저장소(debian-security)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
미러링이 완료된 후에 나중에 미러링을 갱신하려면 아래 명령을 다시 실행하면 됩니다. 아래 명령을 crontab에 등록해서 주기적으로 실행하면 도움이 될 것입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian-cd)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
미러링이 완료된 후에 나중에 미러링을 갱신하려면 아래 명령을 다시 실행하면 됩니다. 아래 명령을 crontab에 등록해서 주기적으로 실행하면 도움이 될 것입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian-multimedia)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://sleeplessbeastie.eu/2020/07/01/how-to-limit-bandwidth-on-specific-network-interface/&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가합니다. 저는 다운로드 및 업로드 속도를 모두 10Mbit/s로 제한했습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=993</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=993"/>
		<updated>2021-05-02T10:56:32Z</updated>

		<summary type="html">&lt;p&gt;Westporch: /* 미러링 실행 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;데비안 공식 문서에서 'ftpsync'를 이용해서 데비안 미러 서버를 만드는 것을 권장하고 있습니다. ftpsync는 데비안 프로젝트에서 만든 프로그램입니다. 이 프로그램을 이용하면 쉽게 미러 서버를 구축할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
물론 'apt-mirror'를 이용해서 데비안 미러 서버를 만들 수도 있습니다. 데비안 미러 서버를 구축하고자 한다면 ftpsync를 사용하시는 것을 권장합니다.&lt;br /&gt;
&lt;br /&gt;
본문에서는 ftpsync를 이용해서 [http://mirror.debianusers.or.kr/ 데비안 미러 서버]를 만든 방법을 설명합니다. 이 글의 부제목은 '데비안유저스의 미러 서버 구축기'입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nginx 설치 및 설정 ==&lt;br /&gt;
미러링 서비스를 제공할 서버의 웹 서버는 꼭 Nginx로 운영하지 않아도 됩니다. Apache 또는 Lighttpd 등으로 웹 서버를 운영해도 됩니다. 단지 제가 Nginx를 선호하기 때문에 웹 서버를 Nginx로 운영하는 것입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) &amp;lt;ref&amp;gt;https://marlon.kern.earth/blog/2019-01-14_fancy-index.html&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
저는 제 미러 서버에 국내 아이피만 접속되도록 설정했습니다. 해외 아이피를 가진 사용자가 제 미러 서버에 접속이 차단되도록 설정한 이유는 해외 트래픽 요금이 비싸기 때문입니다. 트래픽 요금에 걱정이 없으신 분은 저처럼 해외 트래픽을 차단할 필요 없습니다.&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
rsync를 설치하는 이유는 미러 서버를 구축할 때 사용하는 ftpsync가 내부적으로 rsync를 이용해서 원격 서버에 있는 파일 또는 디렉터리들을 받아오기 때문입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
[https://oss.oetiker.ch/mrtg/ MRTG(Multi Router Traffic Grapher)]를 사용하는 목적은 간단하게 네트워크의 트래픽(인바운드, 아웃바운드)을 지켜보기 위해서입니다. 트래픽을 지켜보는 다른 프로그램(Zabbix, Cacti 등)을 사용하고자 한다면 굳이 MRTG를 사용하지 않아도 됩니다.&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 저의 경우 아래 /etc/mrtg.cfg 파일에서 설정한 내용을 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ftpsync &amp;lt;ref&amp;gt;https://www.debian.org/mirror/ftpmirror#how&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://salsa.debian.org/mirror-team/archvsync/#usage&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.conf.5.en.html&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.1.en.html&amp;lt;/ref&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리(/home/ftpsync/log) 생성 ===&lt;br /&gt;
ftpsync에서 작업한 로그가 저장될 디렉터리(/home/ftpsync/log)를 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
미러링이 완료된 후에 나중에 미러링을 갱신하려면 아래 명령을 다시 실행하면 됩니다. 아래 명령을 crontab에 등록해서 주기적으로 실행하면 도움이 될 것입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
미러링이 완료된 후에 나중에 미러링을 갱신하려면 아래 명령을 다시 실행하면 됩니다. 아래 명령을 crontab에 등록해서 주기적으로 실행하면 도움이 될 것입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 저장소(debian-security)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
미러링이 완료된 후에 나중에 미러링을 갱신하려면 아래 명령을 다시 실행하면 됩니다. 아래 명령을 crontab에 등록해서 주기적으로 실행하면 도움이 될 것입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian-cd)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
미러링이 완료된 후에 나중에 미러링을 갱신하려면 아래 명령을 다시 실행하면 됩니다. 아래 명령을 crontab에 등록해서 주기적으로 실행하면 도움이 될 것입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian-multimedia)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=992</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=992"/>
		<updated>2021-05-02T10:56:15Z</updated>

		<summary type="html">&lt;p&gt;Westporch: /* 미러링 실행 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;데비안 공식 문서에서 'ftpsync'를 이용해서 데비안 미러 서버를 만드는 것을 권장하고 있습니다. ftpsync는 데비안 프로젝트에서 만든 프로그램입니다. 이 프로그램을 이용하면 쉽게 미러 서버를 구축할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
물론 'apt-mirror'를 이용해서 데비안 미러 서버를 만들 수도 있습니다. 데비안 미러 서버를 구축하고자 한다면 ftpsync를 사용하시는 것을 권장합니다.&lt;br /&gt;
&lt;br /&gt;
본문에서는 ftpsync를 이용해서 [http://mirror.debianusers.or.kr/ 데비안 미러 서버]를 만든 방법을 설명합니다. 이 글의 부제목은 '데비안유저스의 미러 서버 구축기'입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nginx 설치 및 설정 ==&lt;br /&gt;
미러링 서비스를 제공할 서버의 웹 서버는 꼭 Nginx로 운영하지 않아도 됩니다. Apache 또는 Lighttpd 등으로 웹 서버를 운영해도 됩니다. 단지 제가 Nginx를 선호하기 때문에 웹 서버를 Nginx로 운영하는 것입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) &amp;lt;ref&amp;gt;https://marlon.kern.earth/blog/2019-01-14_fancy-index.html&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
저는 제 미러 서버에 국내 아이피만 접속되도록 설정했습니다. 해외 아이피를 가진 사용자가 제 미러 서버에 접속이 차단되도록 설정한 이유는 해외 트래픽 요금이 비싸기 때문입니다. 트래픽 요금에 걱정이 없으신 분은 저처럼 해외 트래픽을 차단할 필요 없습니다.&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
rsync를 설치하는 이유는 미러 서버를 구축할 때 사용하는 ftpsync가 내부적으로 rsync를 이용해서 원격 서버에 있는 파일 또는 디렉터리들을 받아오기 때문입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
[https://oss.oetiker.ch/mrtg/ MRTG(Multi Router Traffic Grapher)]를 사용하는 목적은 간단하게 네트워크의 트래픽(인바운드, 아웃바운드)을 지켜보기 위해서입니다. 트래픽을 지켜보는 다른 프로그램(Zabbix, Cacti 등)을 사용하고자 한다면 굳이 MRTG를 사용하지 않아도 됩니다.&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 저의 경우 아래 /etc/mrtg.cfg 파일에서 설정한 내용을 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ftpsync &amp;lt;ref&amp;gt;https://www.debian.org/mirror/ftpmirror#how&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://salsa.debian.org/mirror-team/archvsync/#usage&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.conf.5.en.html&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.1.en.html&amp;lt;/ref&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리(/home/ftpsync/log) 생성 ===&lt;br /&gt;
ftpsync에서 작업한 로그가 저장될 디렉터리(/home/ftpsync/log)를 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
미러링이 완료된 후에 나중에 미러링을 갱신하려면 아래 명령을 다시 실행하면 됩니다. 아래 명령을 crontab에 등록해서 주기적으로 실행하면 도움이 될 것입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
미러링이 완료된 후에 나중에 미러링을 갱신하려면 아래 명령을 다시 실행하면 됩니다. 아래 명령을 crontab에 등록해서 주기적으로 실행하면 도움이 될 것입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 저장소(debian-security)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
미러링이 완료된 후에 나중에 미러링을 갱신하려면 아래 명령을 다시 실행하면 됩니다. 아래 명령을 crontab에 등록해서 주기적으로 실행하면 도움이 될 것입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian-cd)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian-multimedia)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=991</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=991"/>
		<updated>2021-05-02T10:55:53Z</updated>

		<summary type="html">&lt;p&gt;Westporch: /* 미러링 실행 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;데비안 공식 문서에서 'ftpsync'를 이용해서 데비안 미러 서버를 만드는 것을 권장하고 있습니다. ftpsync는 데비안 프로젝트에서 만든 프로그램입니다. 이 프로그램을 이용하면 쉽게 미러 서버를 구축할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
물론 'apt-mirror'를 이용해서 데비안 미러 서버를 만들 수도 있습니다. 데비안 미러 서버를 구축하고자 한다면 ftpsync를 사용하시는 것을 권장합니다.&lt;br /&gt;
&lt;br /&gt;
본문에서는 ftpsync를 이용해서 [http://mirror.debianusers.or.kr/ 데비안 미러 서버]를 만든 방법을 설명합니다. 이 글의 부제목은 '데비안유저스의 미러 서버 구축기'입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nginx 설치 및 설정 ==&lt;br /&gt;
미러링 서비스를 제공할 서버의 웹 서버는 꼭 Nginx로 운영하지 않아도 됩니다. Apache 또는 Lighttpd 등으로 웹 서버를 운영해도 됩니다. 단지 제가 Nginx를 선호하기 때문에 웹 서버를 Nginx로 운영하는 것입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) &amp;lt;ref&amp;gt;https://marlon.kern.earth/blog/2019-01-14_fancy-index.html&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
저는 제 미러 서버에 국내 아이피만 접속되도록 설정했습니다. 해외 아이피를 가진 사용자가 제 미러 서버에 접속이 차단되도록 설정한 이유는 해외 트래픽 요금이 비싸기 때문입니다. 트래픽 요금에 걱정이 없으신 분은 저처럼 해외 트래픽을 차단할 필요 없습니다.&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
rsync를 설치하는 이유는 미러 서버를 구축할 때 사용하는 ftpsync가 내부적으로 rsync를 이용해서 원격 서버에 있는 파일 또는 디렉터리들을 받아오기 때문입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
[https://oss.oetiker.ch/mrtg/ MRTG(Multi Router Traffic Grapher)]를 사용하는 목적은 간단하게 네트워크의 트래픽(인바운드, 아웃바운드)을 지켜보기 위해서입니다. 트래픽을 지켜보는 다른 프로그램(Zabbix, Cacti 등)을 사용하고자 한다면 굳이 MRTG를 사용하지 않아도 됩니다.&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 저의 경우 아래 /etc/mrtg.cfg 파일에서 설정한 내용을 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ftpsync &amp;lt;ref&amp;gt;https://www.debian.org/mirror/ftpmirror#how&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://salsa.debian.org/mirror-team/archvsync/#usage&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.conf.5.en.html&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.1.en.html&amp;lt;/ref&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리(/home/ftpsync/log) 생성 ===&lt;br /&gt;
ftpsync에서 작업한 로그가 저장될 디렉터리(/home/ftpsync/log)를 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
미러링이 완료된 후에 나중에 미러링을 갱신하려면 아래 명령을 다시 실행하면 됩니다. 아래 명령을 crontab에 등록해서 주기적으로 실행하면 도움이 될 것입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
미러링이 완료된 후에 나중에 미러링을 갱신하려면 아래 명령을 다시 실행하면 됩니다. 아래 명령을 crontab에 등록해서 주기적으로 실행하면 도움이 될 것입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 저장소(debian-security)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian-cd)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian-multimedia)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=990</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=990"/>
		<updated>2021-05-02T10:55:32Z</updated>

		<summary type="html">&lt;p&gt;Westporch: /* 미러링 실행 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;데비안 공식 문서에서 'ftpsync'를 이용해서 데비안 미러 서버를 만드는 것을 권장하고 있습니다. ftpsync는 데비안 프로젝트에서 만든 프로그램입니다. 이 프로그램을 이용하면 쉽게 미러 서버를 구축할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
물론 'apt-mirror'를 이용해서 데비안 미러 서버를 만들 수도 있습니다. 데비안 미러 서버를 구축하고자 한다면 ftpsync를 사용하시는 것을 권장합니다.&lt;br /&gt;
&lt;br /&gt;
본문에서는 ftpsync를 이용해서 [http://mirror.debianusers.or.kr/ 데비안 미러 서버]를 만든 방법을 설명합니다. 이 글의 부제목은 '데비안유저스의 미러 서버 구축기'입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nginx 설치 및 설정 ==&lt;br /&gt;
미러링 서비스를 제공할 서버의 웹 서버는 꼭 Nginx로 운영하지 않아도 됩니다. Apache 또는 Lighttpd 등으로 웹 서버를 운영해도 됩니다. 단지 제가 Nginx를 선호하기 때문에 웹 서버를 Nginx로 운영하는 것입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) &amp;lt;ref&amp;gt;https://marlon.kern.earth/blog/2019-01-14_fancy-index.html&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
저는 제 미러 서버에 국내 아이피만 접속되도록 설정했습니다. 해외 아이피를 가진 사용자가 제 미러 서버에 접속이 차단되도록 설정한 이유는 해외 트래픽 요금이 비싸기 때문입니다. 트래픽 요금에 걱정이 없으신 분은 저처럼 해외 트래픽을 차단할 필요 없습니다.&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
rsync를 설치하는 이유는 미러 서버를 구축할 때 사용하는 ftpsync가 내부적으로 rsync를 이용해서 원격 서버에 있는 파일 또는 디렉터리들을 받아오기 때문입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
[https://oss.oetiker.ch/mrtg/ MRTG(Multi Router Traffic Grapher)]를 사용하는 목적은 간단하게 네트워크의 트래픽(인바운드, 아웃바운드)을 지켜보기 위해서입니다. 트래픽을 지켜보는 다른 프로그램(Zabbix, Cacti 등)을 사용하고자 한다면 굳이 MRTG를 사용하지 않아도 됩니다.&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 저의 경우 아래 /etc/mrtg.cfg 파일에서 설정한 내용을 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ftpsync &amp;lt;ref&amp;gt;https://www.debian.org/mirror/ftpmirror#how&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://salsa.debian.org/mirror-team/archvsync/#usage&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.conf.5.en.html&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.1.en.html&amp;lt;/ref&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리(/home/ftpsync/log) 생성 ===&lt;br /&gt;
ftpsync에서 작업한 로그가 저장될 디렉터리(/home/ftpsync/log)를 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
미러링이 완료된 후에 나중에 미러링을 갱신하려면 아래 명령을 다시 실행하면 됩니다. 아래 명령을 crontab에 등록해서 주기적으로 실행하면 도움이 될 것입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 저장소(debian-security)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian-cd)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian-multimedia)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=989</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=989"/>
		<updated>2021-05-02T10:49:57Z</updated>

		<summary type="html">&lt;p&gt;Westporch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;데비안 공식 문서에서 'ftpsync'를 이용해서 데비안 미러 서버를 만드는 것을 권장하고 있습니다. ftpsync는 데비안 프로젝트에서 만든 프로그램입니다. 이 프로그램을 이용하면 쉽게 미러 서버를 구축할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
물론 'apt-mirror'를 이용해서 데비안 미러 서버를 만들 수도 있습니다. 데비안 미러 서버를 구축하고자 한다면 ftpsync를 사용하시는 것을 권장합니다.&lt;br /&gt;
&lt;br /&gt;
본문에서는 ftpsync를 이용해서 [http://mirror.debianusers.or.kr/ 데비안 미러 서버]를 만든 방법을 설명합니다. 이 글의 부제목은 '데비안유저스의 미러 서버 구축기'입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nginx 설치 및 설정 ==&lt;br /&gt;
미러링 서비스를 제공할 서버의 웹 서버는 꼭 Nginx로 운영하지 않아도 됩니다. Apache 또는 Lighttpd 등으로 웹 서버를 운영해도 됩니다. 단지 제가 Nginx를 선호하기 때문에 웹 서버를 Nginx로 운영하는 것입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) &amp;lt;ref&amp;gt;https://marlon.kern.earth/blog/2019-01-14_fancy-index.html&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
저는 제 미러 서버에 국내 아이피만 접속되도록 설정했습니다. 해외 아이피를 가진 사용자가 제 미러 서버에 접속이 차단되도록 설정한 이유는 해외 트래픽 요금이 비싸기 때문입니다. 트래픽 요금에 걱정이 없으신 분은 저처럼 해외 트래픽을 차단할 필요 없습니다.&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
rsync를 설치하는 이유는 미러 서버를 구축할 때 사용하는 ftpsync가 내부적으로 rsync를 이용해서 원격 서버에 있는 파일 또는 디렉터리들을 받아오기 때문입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
[https://oss.oetiker.ch/mrtg/ MRTG(Multi Router Traffic Grapher)]를 사용하는 목적은 간단하게 네트워크의 트래픽(인바운드, 아웃바운드)을 지켜보기 위해서입니다. 트래픽을 지켜보는 다른 프로그램(Zabbix, Cacti 등)을 사용하고자 한다면 굳이 MRTG를 사용하지 않아도 됩니다.&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 저의 경우 아래 /etc/mrtg.cfg 파일에서 설정한 내용을 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ftpsync &amp;lt;ref&amp;gt;https://www.debian.org/mirror/ftpmirror#how&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://salsa.debian.org/mirror-team/archvsync/#usage&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.conf.5.en.html&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.1.en.html&amp;lt;/ref&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리(/home/ftpsync/log) 생성 ===&lt;br /&gt;
ftpsync에서 작업한 로그가 저장될 디렉터리(/home/ftpsync/log)를 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 저장소(debian-security)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian-cd)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian-multimedia)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=988</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=988"/>
		<updated>2021-05-02T10:48:44Z</updated>

		<summary type="html">&lt;p&gt;Westporch: /* Nginx 설치 및 설정 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;데비안 공식 문서에서 'ftpsync'를 이용해서 데비안 미러 서버를 만드는 것을 권장하고 있습니다. ftpsync는 데비안 프로젝트에서 만든 프로그램입니다. 이 프로그램을 이용하면 쉽게 미러 서버를 구축할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
물론 'apt-mirror'를 이용해서 데비안 미러 서버를 만들 수도 있습니다. 데비안 미러 서버를 구축하고자 한다면 ftpsync를 사용하시는 것을 권장합니다.&lt;br /&gt;
&lt;br /&gt;
본문에서는 ftpsync를 이용해서 [http://mirror.debianusers.or.kr/ 데비안 미러 서버]를 만든 방법을 설명합니다. 이 글의 부제목은 '데비안유저스의 미러 서버 구축기'입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nginx 설치 및 설정 ==&lt;br /&gt;
미러링 서비스를 제공할 서버의 웹 서버는 꼭 Nginx로 운영하지 않아도 됩니다. Apache 또는 Lighttpd 등으로 웹 서버를 운영해도 됩니다. 단지 제가 Nginx를 선호하기 때문에 웹 서버를 Nginx로 운영하는 것입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) &amp;lt;ref&amp;gt;https://marlon.kern.earth/blog/2019-01-14_fancy-index.html&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
저는 제 미러 서버에 국내 아이피만 접속되도록 설정했습니다. 해외 아이피를 가진 사용자가 제 미러 서버에 접속이 차단되도록 설정한 이유는 해외 트래픽 요금이 비싸기 때문입니다. 트래픽 요금에 걱정이 없으신 분은 저처럼 해외 트래픽을 차단할 필요 없습니다.&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
rsync를 설치하는 이유는 미러 서버를 구축할 때 사용하는 ftpsync가 내부적으로 rsync를 이용해서 원격 서버에 있는 파일 또는 디렉터리들을 받아오기 때문입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
[https://oss.oetiker.ch/mrtg/ MRTG(Multi Router Traffic Grapher)]를 사용하는 목적은 간단하게 네트워크의 트래픽(인바운드, 아웃바운드)을 지켜보기 위해서입니다. 트래픽을 지켜보는 다른 프로그램(Zabbix, Cacti 등)을 사용하고자 한다면 굳이 MRTG를 사용하지 않아도 됩니다.&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 저의 경우 아래 /etc/mrtg.cfg 파일에서 설정한 내용을 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ftpsync &amp;lt;ref&amp;gt;https://www.debian.org/mirror/ftpmirror#how&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://salsa.debian.org/mirror-team/archvsync/#usage&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.conf.5.en.html&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.1.en.html&amp;lt;/ref&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리(/home/ftpsync/log) 생성 ===&lt;br /&gt;
ftpsync에서 작업한 로그가 저장될 디렉터리(/home/ftpsync/log)를 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 저장소(debian-security)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian-cd)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian-multimedia)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=987</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=987"/>
		<updated>2021-05-02T10:43:58Z</updated>

		<summary type="html">&lt;p&gt;Westporch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;데비안 공식 문서에서 'ftpsync'를 이용해서 데비안 미러 서버를 만드는 것을 권장하고 있습니다. ftpsync는 데비안 프로젝트에서 만든 프로그램입니다. 이 프로그램을 이용하면 쉽게 미러 서버를 구축할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
물론 'apt-mirror'를 이용해서 데비안 미러 서버를 만들 수도 있습니다. 데비안 미러 서버를 구축하고자 한다면 ftpsync를 사용하시는 것을 권장합니다.&lt;br /&gt;
&lt;br /&gt;
본문에서는 ftpsync를 이용해서 [http://mirror.debianusers.or.kr/ 데비안 미러 서버]를 만든 방법을 설명합니다. 이 글의 부제목은 '데비안유저스의 미러 서버 구축기'입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) &amp;lt;ref&amp;gt;https://marlon.kern.earth/blog/2019-01-14_fancy-index.html&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
저는 제 미러 서버에 국내 아이피만 접속되도록 설정했습니다. 해외 아이피를 가진 사용자가 제 미러 서버에 접속이 차단되도록 설정한 이유는 해외 트래픽 요금이 비싸기 때문입니다. 트래픽 요금에 걱정이 없으신 분은 저처럼 해외 트래픽을 차단할 필요 없습니다.&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
rsync를 설치하는 이유는 미러 서버를 구축할 때 사용하는 ftpsync가 내부적으로 rsync를 이용해서 원격 서버에 있는 파일 또는 디렉터리들을 받아오기 때문입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
[https://oss.oetiker.ch/mrtg/ MRTG(Multi Router Traffic Grapher)]를 사용하는 목적은 간단하게 네트워크의 트래픽(인바운드, 아웃바운드)을 지켜보기 위해서입니다. 트래픽을 지켜보는 다른 프로그램(Zabbix, Cacti 등)을 사용하고자 한다면 굳이 MRTG를 사용하지 않아도 됩니다.&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 저의 경우 아래 /etc/mrtg.cfg 파일에서 설정한 내용을 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ftpsync &amp;lt;ref&amp;gt;https://www.debian.org/mirror/ftpmirror#how&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://salsa.debian.org/mirror-team/archvsync/#usage&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.conf.5.en.html&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.1.en.html&amp;lt;/ref&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리(/home/ftpsync/log) 생성 ===&lt;br /&gt;
ftpsync에서 작업한 로그가 저장될 디렉터리(/home/ftpsync/log)를 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 저장소(debian-security)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian-cd)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian-multimedia)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=986</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=986"/>
		<updated>2021-05-02T10:42:52Z</updated>

		<summary type="html">&lt;p&gt;Westporch: /* nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;데비안 공식 문서에서 'ftpsync'를 이용해서 데비안 미러 서버를 만드는 것을 권장하고 있습니다. ftpsync는 데비안 프로젝트에서 만든 프로그램입니다. 이 프로그램을 이용하면 쉽게 미러 서버를 구축할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
물론 'apt-mirror'를 이용해서 데비안 미러 서버를 만들 수도 있습니다. 데비안 미러 서버를 구축하고자 한다면 ftpsync를 사용하시는 것을 권장합니다.&lt;br /&gt;
&lt;br /&gt;
본문에서는 ftpsync를 이용해서 [http://mirror.debianusers.or.kr/ 데비안 미러 서버]를 만든 방법을 설명합니다. 이 글의 부제목은 '데비안유저스의 미러 서버 구축기'입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) &amp;lt;ref&amp;gt;https://marlon.kern.earth/blog/2019-01-14_fancy-index.html&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
저는 제 미러 서버에 국내 아이피만 접속되도록 설정했습니다. 해외 아이피를 가진 사용자가 제 미러 서버에 접속이 차단되도록 설정한 이유는 해외 트래픽 요금이 비싸기 때문입니다. 트래픽 요금에 걱정이 없으신 분은 저처럼 해외 트래픽을 차단할 필요 없습니다.&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
rsync를 설치하는 이유는 미러 서버를 구축할 때 사용하는 ftpsync가 내부적으로 rsync를 이용해서 원격 서버에 있는 파일 또는 디렉터리들을 받아오기 때문입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
[https://oss.oetiker.ch/mrtg/ MRTG(Multi Router Traffic Grapher)]를 사용하는 목적은 간단하게 네트워크의 트래픽(인바운드, 아웃바운드)을 지켜보기 위해서입니다. 트래픽을 지켜보는 다른 프로그램(Zabbix, Cacti 등)을 사용하고자 한다면 굳이 MRTG를 사용하지 않아도 됩니다.&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 저의 경우 아래 /etc/mrtg.cfg 파일에서 설정한 내용을 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ftpsync &amp;lt;ref&amp;gt;https://www.debian.org/mirror/ftpmirror#how&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://salsa.debian.org/mirror-team/archvsync/#usage&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.conf.5.en.html&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.1.en.html&amp;lt;/ref&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리(/home/ftpsync/log) 생성 ===&lt;br /&gt;
ftpsync에서 작업한 로그가 저장될 디렉터리(/home/ftpsync/log)를 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 저장소(debian-security)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian-cd)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian-multimedia)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=985</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=985"/>
		<updated>2021-05-02T10:41:48Z</updated>

		<summary type="html">&lt;p&gt;Westporch: /* nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) https://marlon.kern.earth/blog/2019-01-14_fancy-index.html */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;데비안 공식 문서에서 'ftpsync'를 이용해서 데비안 미러 서버를 만드는 것을 권장하고 있습니다. ftpsync는 데비안 프로젝트에서 만든 프로그램입니다. 이 프로그램을 이용하면 쉽게 미러 서버를 구축할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
물론 'apt-mirror'를 이용해서 데비안 미러 서버를 만들 수도 있습니다. 데비안 미러 서버를 구축하고자 한다면 ftpsync를 사용하시는 것을 권장합니다.&lt;br /&gt;
&lt;br /&gt;
본문에서는 ftpsync를 이용해서 [http://mirror.debianusers.or.kr/ 데비안 미러 서버]를 만든 방법을 설명합니다. 이 글의 부제목은 '데비안유저스의 미러 서버 구축기'입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) &amp;lt;ref&amp;gt;https://marlon.kern.earth/blog/2019-01-14_fancy-index.html&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
rsync를 설치하는 이유는 미러 서버를 구축할 때 사용하는 ftpsync가 내부적으로 rsync를 이용해서 원격 서버에 있는 파일 또는 디렉터리들을 받아오기 때문입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
[https://oss.oetiker.ch/mrtg/ MRTG(Multi Router Traffic Grapher)]를 사용하는 목적은 간단하게 네트워크의 트래픽(인바운드, 아웃바운드)을 지켜보기 위해서입니다. 트래픽을 지켜보는 다른 프로그램(Zabbix, Cacti 등)을 사용하고자 한다면 굳이 MRTG를 사용하지 않아도 됩니다.&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 저의 경우 아래 /etc/mrtg.cfg 파일에서 설정한 내용을 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ftpsync &amp;lt;ref&amp;gt;https://www.debian.org/mirror/ftpmirror#how&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://salsa.debian.org/mirror-team/archvsync/#usage&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.conf.5.en.html&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.1.en.html&amp;lt;/ref&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리(/home/ftpsync/log) 생성 ===&lt;br /&gt;
ftpsync에서 작업한 로그가 저장될 디렉터리(/home/ftpsync/log)를 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 저장소(debian-security)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian-cd)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian-multimedia)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=984</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=984"/>
		<updated>2021-05-02T10:26:54Z</updated>

		<summary type="html">&lt;p&gt;Westporch: /* 미러 서버의 대역폭 설정(wondershaper 이용) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;데비안 공식 문서에서 'ftpsync'를 이용해서 데비안 미러 서버를 만드는 것을 권장하고 있습니다. ftpsync는 데비안 프로젝트에서 만든 프로그램입니다. 이 프로그램을 이용하면 쉽게 미러 서버를 구축할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
물론 'apt-mirror'를 이용해서 데비안 미러 서버를 만들 수도 있습니다. 데비안 미러 서버를 구축하고자 한다면 ftpsync를 사용하시는 것을 권장합니다.&lt;br /&gt;
&lt;br /&gt;
본문에서는 ftpsync를 이용해서 [http://mirror.debianusers.or.kr/ 데비안 미러 서버]를 만든 방법을 설명합니다. 이 글의 부제목은 '데비안유저스의 미러 서버 구축기'입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) &amp;lt;ref&amp;gt;https://marlon.kern.earth/blog/2019-01-14_fancy-index.html&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
rsync를 설치하는 이유는 미러 서버를 구축할 때 사용하는 ftpsync가 내부적으로 rsync를 이용해서 원격 서버에 있는 파일 또는 디렉터리들을 받아오기 때문입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
[https://oss.oetiker.ch/mrtg/ MRTG(Multi Router Traffic Grapher)]를 사용하는 목적은 간단하게 네트워크의 트래픽(인바운드, 아웃바운드)을 지켜보기 위해서입니다. 트래픽을 지켜보는 다른 프로그램(Zabbix, Cacti 등)을 사용하고자 한다면 굳이 MRTG를 사용하지 않아도 됩니다.&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 저의 경우 아래 /etc/mrtg.cfg 파일에서 설정한 내용을 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ftpsync &amp;lt;ref&amp;gt;https://www.debian.org/mirror/ftpmirror#how&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://salsa.debian.org/mirror-team/archvsync/#usage&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.conf.5.en.html&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.1.en.html&amp;lt;/ref&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리(/home/ftpsync/log) 생성 ===&lt;br /&gt;
ftpsync에서 작업한 로그가 저장될 디렉터리(/home/ftpsync/log)를 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 저장소(debian-security)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian-cd)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian-multimedia)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=983</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=983"/>
		<updated>2021-05-02T10:26:27Z</updated>

		<summary type="html">&lt;p&gt;Westporch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;데비안 공식 문서에서 'ftpsync'를 이용해서 데비안 미러 서버를 만드는 것을 권장하고 있습니다. ftpsync는 데비안 프로젝트에서 만든 프로그램입니다. 이 프로그램을 이용하면 쉽게 미러 서버를 구축할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
물론 'apt-mirror'를 이용해서 데비안 미러 서버를 만들 수도 있습니다. 데비안 미러 서버를 구축하고자 한다면 ftpsync를 사용하시는 것을 권장합니다.&lt;br /&gt;
&lt;br /&gt;
본문에서는 ftpsync를 이용해서 [http://mirror.debianusers.or.kr/ 데비안 미러 서버]를 만든 방법을 설명합니다. 이 글의 부제목은 '데비안유저스의 미러 서버 구축기'입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) &amp;lt;ref&amp;gt;https://marlon.kern.earth/blog/2019-01-14_fancy-index.html&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
rsync를 설치하는 이유는 미러 서버를 구축할 때 사용하는 ftpsync가 내부적으로 rsync를 이용해서 원격 서버에 있는 파일 또는 디렉터리들을 받아오기 때문입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
[https://oss.oetiker.ch/mrtg/ MRTG(Multi Router Traffic Grapher)]를 사용하는 목적은 간단하게 네트워크의 트래픽(인바운드, 아웃바운드)을 지켜보기 위해서입니다. 트래픽을 지켜보는 다른 프로그램(Zabbix, Cacti 등)을 사용하고자 한다면 굳이 MRTG를 사용하지 않아도 됩니다.&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 저의 경우 아래 /etc/mrtg.cfg 파일에서 설정한 내용을 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ftpsync &amp;lt;ref&amp;gt;https://www.debian.org/mirror/ftpmirror#how&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://salsa.debian.org/mirror-team/archvsync/#usage&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.conf.5.en.html&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.1.en.html&amp;lt;/ref&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리(/home/ftpsync/log) 생성 ===&lt;br /&gt;
ftpsync에서 작업한 로그가 저장될 디렉터리(/home/ftpsync/log)를 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 저장소(debian-security)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian-cd)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian-multimedia)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=982</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=982"/>
		<updated>2021-05-02T10:25:45Z</updated>

		<summary type="html">&lt;p&gt;Westporch: /* 미러링 로그 확인 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;데비안 공식 문서에서 'ftpsync'를 이용해서 데비안 미러 서버를 만드는 것을 권장하고 있습니다. ftpsync는 데비안 프로젝트에서 만든 프로그램입니다. 이 프로그램을 이용하면 쉽게 미러 서버를 구축할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
물론 'apt-mirror'를 이용해서 데비안 미러 서버를 만들 수도 있습니다. 데비안 미러 서버를 구축하고자 한다면 ftpsync를 사용하시는 것을 권장합니다.&lt;br /&gt;
&lt;br /&gt;
본문에서는 ftpsync를 이용해서 [http://mirror.debianusers.or.kr/ 데비안 미러 서버]를 만든 방법을 설명합니다. 이 글의 부제목은 '데비안유저스의 미러 서버 구축기'입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) &amp;lt;ref&amp;gt;https://marlon.kern.earth/blog/2019-01-14_fancy-index.html&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
rsync를 설치하는 이유는 미러 서버를 구축할 때 사용하는 ftpsync가 내부적으로 rsync를 이용해서 원격 서버에 있는 파일 또는 디렉터리들을 받아오기 때문입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
[https://oss.oetiker.ch/mrtg/ MRTG(Multi Router Traffic Grapher)]를 사용하는 목적은 간단하게 네트워크의 트래픽(인바운드, 아웃바운드)을 지켜보기 위해서입니다. 트래픽을 지켜보는 다른 프로그램(Zabbix, Cacti 등)을 사용하고자 한다면 굳이 MRTG를 사용하지 않아도 됩니다.&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 저의 경우 아래 /etc/mrtg.cfg 파일에서 설정한 내용을 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ftpsync &amp;lt;ref&amp;gt;https://www.debian.org/mirror/ftpmirror#how&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://salsa.debian.org/mirror-team/archvsync/#usage&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.conf.5.en.html&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.1.en.html&amp;lt;/ref&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리(/home/ftpsync/log) 생성 ===&lt;br /&gt;
ftpsync에서 작업한 로그가 저장될 디렉터리(/home/ftpsync/log)를 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 저장소(debian-security)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian-cd)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian-multimedia)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=981</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=981"/>
		<updated>2021-05-02T10:24:26Z</updated>

		<summary type="html">&lt;p&gt;Westporch: /* 미러링 로그 확인 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;데비안 공식 문서에서 'ftpsync'를 이용해서 데비안 미러 서버를 만드는 것을 권장하고 있습니다. ftpsync는 데비안 프로젝트에서 만든 프로그램입니다. 이 프로그램을 이용하면 쉽게 미러 서버를 구축할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
물론 'apt-mirror'를 이용해서 데비안 미러 서버를 만들 수도 있습니다. 데비안 미러 서버를 구축하고자 한다면 ftpsync를 사용하시는 것을 권장합니다.&lt;br /&gt;
&lt;br /&gt;
본문에서는 ftpsync를 이용해서 [http://mirror.debianusers.or.kr/ 데비안 미러 서버]를 만든 방법을 설명합니다. 이 글의 부제목은 '데비안유저스의 미러 서버 구축기'입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) &amp;lt;ref&amp;gt;https://marlon.kern.earth/blog/2019-01-14_fancy-index.html&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
rsync를 설치하는 이유는 미러 서버를 구축할 때 사용하는 ftpsync가 내부적으로 rsync를 이용해서 원격 서버에 있는 파일 또는 디렉터리들을 받아오기 때문입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
[https://oss.oetiker.ch/mrtg/ MRTG(Multi Router Traffic Grapher)]를 사용하는 목적은 간단하게 네트워크의 트래픽(인바운드, 아웃바운드)을 지켜보기 위해서입니다. 트래픽을 지켜보는 다른 프로그램(Zabbix, Cacti 등)을 사용하고자 한다면 굳이 MRTG를 사용하지 않아도 됩니다.&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 저의 경우 아래 /etc/mrtg.cfg 파일에서 설정한 내용을 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ftpsync &amp;lt;ref&amp;gt;https://www.debian.org/mirror/ftpmirror#how&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://salsa.debian.org/mirror-team/archvsync/#usage&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.conf.5.en.html&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.1.en.html&amp;lt;/ref&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리(/home/ftpsync/log) 생성 ===&lt;br /&gt;
ftpsync에서 작업한 로그가 저장될 디렉터리(/home/ftpsync/log)를 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 저장소(debian-security)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian-cd)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=980</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=980"/>
		<updated>2021-05-02T10:23:38Z</updated>

		<summary type="html">&lt;p&gt;Westporch: /* 미러링 로그 확인 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;데비안 공식 문서에서 'ftpsync'를 이용해서 데비안 미러 서버를 만드는 것을 권장하고 있습니다. ftpsync는 데비안 프로젝트에서 만든 프로그램입니다. 이 프로그램을 이용하면 쉽게 미러 서버를 구축할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
물론 'apt-mirror'를 이용해서 데비안 미러 서버를 만들 수도 있습니다. 데비안 미러 서버를 구축하고자 한다면 ftpsync를 사용하시는 것을 권장합니다.&lt;br /&gt;
&lt;br /&gt;
본문에서는 ftpsync를 이용해서 [http://mirror.debianusers.or.kr/ 데비안 미러 서버]를 만든 방법을 설명합니다. 이 글의 부제목은 '데비안유저스의 미러 서버 구축기'입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) &amp;lt;ref&amp;gt;https://marlon.kern.earth/blog/2019-01-14_fancy-index.html&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
rsync를 설치하는 이유는 미러 서버를 구축할 때 사용하는 ftpsync가 내부적으로 rsync를 이용해서 원격 서버에 있는 파일 또는 디렉터리들을 받아오기 때문입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
[https://oss.oetiker.ch/mrtg/ MRTG(Multi Router Traffic Grapher)]를 사용하는 목적은 간단하게 네트워크의 트래픽(인바운드, 아웃바운드)을 지켜보기 위해서입니다. 트래픽을 지켜보는 다른 프로그램(Zabbix, Cacti 등)을 사용하고자 한다면 굳이 MRTG를 사용하지 않아도 됩니다.&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 저의 경우 아래 /etc/mrtg.cfg 파일에서 설정한 내용을 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ftpsync &amp;lt;ref&amp;gt;https://www.debian.org/mirror/ftpmirror#how&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://salsa.debian.org/mirror-team/archvsync/#usage&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.conf.5.en.html&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.1.en.html&amp;lt;/ref&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리(/home/ftpsync/log) 생성 ===&lt;br /&gt;
ftpsync에서 작업한 로그가 저장될 디렉터리(/home/ftpsync/log)를 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 저장소(debian)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 저장소(debian-security)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=979</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=979"/>
		<updated>2021-05-02T10:22:41Z</updated>

		<summary type="html">&lt;p&gt;Westporch: /* 미러링 로그 확인 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;데비안 공식 문서에서 'ftpsync'를 이용해서 데비안 미러 서버를 만드는 것을 권장하고 있습니다. ftpsync는 데비안 프로젝트에서 만든 프로그램입니다. 이 프로그램을 이용하면 쉽게 미러 서버를 구축할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
물론 'apt-mirror'를 이용해서 데비안 미러 서버를 만들 수도 있습니다. 데비안 미러 서버를 구축하고자 한다면 ftpsync를 사용하시는 것을 권장합니다.&lt;br /&gt;
&lt;br /&gt;
본문에서는 ftpsync를 이용해서 [http://mirror.debianusers.or.kr/ 데비안 미러 서버]를 만든 방법을 설명합니다. 이 글의 부제목은 '데비안유저스의 미러 서버 구축기'입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) &amp;lt;ref&amp;gt;https://marlon.kern.earth/blog/2019-01-14_fancy-index.html&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
rsync를 설치하는 이유는 미러 서버를 구축할 때 사용하는 ftpsync가 내부적으로 rsync를 이용해서 원격 서버에 있는 파일 또는 디렉터리들을 받아오기 때문입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
[https://oss.oetiker.ch/mrtg/ MRTG(Multi Router Traffic Grapher)]를 사용하는 목적은 간단하게 네트워크의 트래픽(인바운드, 아웃바운드)을 지켜보기 위해서입니다. 트래픽을 지켜보는 다른 프로그램(Zabbix, Cacti 등)을 사용하고자 한다면 굳이 MRTG를 사용하지 않아도 됩니다.&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 저의 경우 아래 /etc/mrtg.cfg 파일에서 설정한 내용을 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ftpsync &amp;lt;ref&amp;gt;https://www.debian.org/mirror/ftpmirror#how&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://salsa.debian.org/mirror-team/archvsync/#usage&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.conf.5.en.html&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.1.en.html&amp;lt;/ref&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리(/home/ftpsync/log) 생성 ===&lt;br /&gt;
ftpsync에서 작업한 로그가 저장될 디렉터리(/home/ftpsync/log)를 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 저장소(debian-security)를 미러링하는 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=978</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=978"/>
		<updated>2021-05-02T10:21:28Z</updated>

		<summary type="html">&lt;p&gt;Westporch: /* 저장소(debian) 미러링 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;데비안 공식 문서에서 'ftpsync'를 이용해서 데비안 미러 서버를 만드는 것을 권장하고 있습니다. ftpsync는 데비안 프로젝트에서 만든 프로그램입니다. 이 프로그램을 이용하면 쉽게 미러 서버를 구축할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
물론 'apt-mirror'를 이용해서 데비안 미러 서버를 만들 수도 있습니다. 데비안 미러 서버를 구축하고자 한다면 ftpsync를 사용하시는 것을 권장합니다.&lt;br /&gt;
&lt;br /&gt;
본문에서는 ftpsync를 이용해서 [http://mirror.debianusers.or.kr/ 데비안 미러 서버]를 만든 방법을 설명합니다. 이 글의 부제목은 '데비안유저스의 미러 서버 구축기'입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) &amp;lt;ref&amp;gt;https://marlon.kern.earth/blog/2019-01-14_fancy-index.html&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
rsync를 설치하는 이유는 미러 서버를 구축할 때 사용하는 ftpsync가 내부적으로 rsync를 이용해서 원격 서버에 있는 파일 또는 디렉터리들을 받아오기 때문입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
[https://oss.oetiker.ch/mrtg/ MRTG(Multi Router Traffic Grapher)]를 사용하는 목적은 간단하게 네트워크의 트래픽(인바운드, 아웃바운드)을 지켜보기 위해서입니다. 트래픽을 지켜보는 다른 프로그램(Zabbix, Cacti 등)을 사용하고자 한다면 굳이 MRTG를 사용하지 않아도 됩니다.&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 저의 경우 아래 /etc/mrtg.cfg 파일에서 설정한 내용을 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ftpsync &amp;lt;ref&amp;gt;https://www.debian.org/mirror/ftpmirror#how&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://salsa.debian.org/mirror-team/archvsync/#usage&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.conf.5.en.html&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.1.en.html&amp;lt;/ref&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리(/home/ftpsync/log) 생성 ===&lt;br /&gt;
ftpsync에서 작업한 로그가 저장될 디렉터리(/home/ftpsync/log)를 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=977</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=977"/>
		<updated>2021-05-02T10:20:54Z</updated>

		<summary type="html">&lt;p&gt;Westporch: /* crontab을 사용할 수 있는 사용자 설정 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;데비안 공식 문서에서 'ftpsync'를 이용해서 데비안 미러 서버를 만드는 것을 권장하고 있습니다. ftpsync는 데비안 프로젝트에서 만든 프로그램입니다. 이 프로그램을 이용하면 쉽게 미러 서버를 구축할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
물론 'apt-mirror'를 이용해서 데비안 미러 서버를 만들 수도 있습니다. 데비안 미러 서버를 구축하고자 한다면 ftpsync를 사용하시는 것을 권장합니다.&lt;br /&gt;
&lt;br /&gt;
본문에서는 ftpsync를 이용해서 [http://mirror.debianusers.or.kr/ 데비안 미러 서버]를 만든 방법을 설명합니다. 이 글의 부제목은 '데비안유저스의 미러 서버 구축기'입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) &amp;lt;ref&amp;gt;https://marlon.kern.earth/blog/2019-01-14_fancy-index.html&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
rsync를 설치하는 이유는 미러 서버를 구축할 때 사용하는 ftpsync가 내부적으로 rsync를 이용해서 원격 서버에 있는 파일 또는 디렉터리들을 받아오기 때문입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
[https://oss.oetiker.ch/mrtg/ MRTG(Multi Router Traffic Grapher)]를 사용하는 목적은 간단하게 네트워크의 트래픽(인바운드, 아웃바운드)을 지켜보기 위해서입니다. 트래픽을 지켜보는 다른 프로그램(Zabbix, Cacti 등)을 사용하고자 한다면 굳이 MRTG를 사용하지 않아도 됩니다.&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 저의 경우 아래 /etc/mrtg.cfg 파일에서 설정한 내용을 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ftpsync &amp;lt;ref&amp;gt;https://www.debian.org/mirror/ftpmirror#how&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://salsa.debian.org/mirror-team/archvsync/#usage&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.conf.5.en.html&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.1.en.html&amp;lt;/ref&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리(/home/ftpsync/log) 생성 ===&lt;br /&gt;
ftpsync에서 작업한 로그가 저장될 디렉터리(/home/ftpsync/log)를 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=976</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=976"/>
		<updated>2021-05-02T10:20:29Z</updated>

		<summary type="html">&lt;p&gt;Westporch: /* ftpsync https://www.debian.org/mirror/ftpmirror#how https://salsa.debian.org/mirror-team/archvsync/#usage https://manpages.debian.org/testing/ftpsync/ftpsync.conf.5.en.html https://manpages.debian.org/testing/ftpsync/ftpsync.1.en.html */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;데비안 공식 문서에서 'ftpsync'를 이용해서 데비안 미러 서버를 만드는 것을 권장하고 있습니다. ftpsync는 데비안 프로젝트에서 만든 프로그램입니다. 이 프로그램을 이용하면 쉽게 미러 서버를 구축할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
물론 'apt-mirror'를 이용해서 데비안 미러 서버를 만들 수도 있습니다. 데비안 미러 서버를 구축하고자 한다면 ftpsync를 사용하시는 것을 권장합니다.&lt;br /&gt;
&lt;br /&gt;
본문에서는 ftpsync를 이용해서 [http://mirror.debianusers.or.kr/ 데비안 미러 서버]를 만든 방법을 설명합니다. 이 글의 부제목은 '데비안유저스의 미러 서버 구축기'입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) &amp;lt;ref&amp;gt;https://marlon.kern.earth/blog/2019-01-14_fancy-index.html&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
rsync를 설치하는 이유는 미러 서버를 구축할 때 사용하는 ftpsync가 내부적으로 rsync를 이용해서 원격 서버에 있는 파일 또는 디렉터리들을 받아오기 때문입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
[https://oss.oetiker.ch/mrtg/ MRTG(Multi Router Traffic Grapher)]를 사용하는 목적은 간단하게 네트워크의 트래픽(인바운드, 아웃바운드)을 지켜보기 위해서입니다. 트래픽을 지켜보는 다른 프로그램(Zabbix, Cacti 등)을 사용하고자 한다면 굳이 MRTG를 사용하지 않아도 됩니다.&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 저의 경우 아래 /etc/mrtg.cfg 파일에서 설정한 내용을 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ftpsync &amp;lt;ref&amp;gt;https://www.debian.org/mirror/ftpmirror#how&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://salsa.debian.org/mirror-team/archvsync/#usage&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.conf.5.en.html&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.1.en.html&amp;lt;/ref&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리(/home/ftpsync/log) 생성 ===&lt;br /&gt;
ftpsync에서 작업한 로그가 저장될 디렉터리(/home/ftpsync/log)를 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=975</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=975"/>
		<updated>2021-05-02T10:18:39Z</updated>

		<summary type="html">&lt;p&gt;Westporch: /* ftpsync https://www.debian.org/mirror/ftpmirror#how https://salsa.debian.org/mirror-team/archvsync/#usage https://manpages.debian.org/testing/ftpsync/ftpsync.conf.5.en.html https://manpages.debian.org/testing/ftpsync/ftpsync.1.en.html */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;데비안 공식 문서에서 'ftpsync'를 이용해서 데비안 미러 서버를 만드는 것을 권장하고 있습니다. ftpsync는 데비안 프로젝트에서 만든 프로그램입니다. 이 프로그램을 이용하면 쉽게 미러 서버를 구축할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
물론 'apt-mirror'를 이용해서 데비안 미러 서버를 만들 수도 있습니다. 데비안 미러 서버를 구축하고자 한다면 ftpsync를 사용하시는 것을 권장합니다.&lt;br /&gt;
&lt;br /&gt;
본문에서는 ftpsync를 이용해서 [http://mirror.debianusers.or.kr/ 데비안 미러 서버]를 만든 방법을 설명합니다. 이 글의 부제목은 '데비안유저스의 미러 서버 구축기'입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) &amp;lt;ref&amp;gt;https://marlon.kern.earth/blog/2019-01-14_fancy-index.html&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
rsync를 설치하는 이유는 미러 서버를 구축할 때 사용하는 ftpsync가 내부적으로 rsync를 이용해서 원격 서버에 있는 파일 또는 디렉터리들을 받아오기 때문입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
[https://oss.oetiker.ch/mrtg/ MRTG(Multi Router Traffic Grapher)]를 사용하는 목적은 간단하게 네트워크의 트래픽(인바운드, 아웃바운드)을 지켜보기 위해서입니다. 트래픽을 지켜보는 다른 프로그램(Zabbix, Cacti 등)을 사용하고자 한다면 굳이 MRTG를 사용하지 않아도 됩니다.&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 저의 경우 아래 /etc/mrtg.cfg 파일에서 설정한 내용을 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ftpsync &amp;lt;ref&amp;gt;https://www.debian.org/mirror/ftpmirror#how&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://salsa.debian.org/mirror-team/archvsync/#usage&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.conf.5.en.html&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.1.en.html&amp;lt;/ref&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리(/home/ftpsync/log) 생성 ===&lt;br /&gt;
ftpsync에서 작업한 로그가 저장될 디렉터리(/home/ftpsync/log)를 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=974</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=974"/>
		<updated>2021-05-02T10:16:56Z</updated>

		<summary type="html">&lt;p&gt;Westporch: /* 로그 디렉터리 생성 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;데비안 공식 문서에서 'ftpsync'를 이용해서 데비안 미러 서버를 만드는 것을 권장하고 있습니다. ftpsync는 데비안 프로젝트에서 만든 프로그램입니다. 이 프로그램을 이용하면 쉽게 미러 서버를 구축할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
물론 'apt-mirror'를 이용해서 데비안 미러 서버를 만들 수도 있습니다. 데비안 미러 서버를 구축하고자 한다면 ftpsync를 사용하시는 것을 권장합니다.&lt;br /&gt;
&lt;br /&gt;
본문에서는 ftpsync를 이용해서 [http://mirror.debianusers.or.kr/ 데비안 미러 서버]를 만든 방법을 설명합니다. 이 글의 부제목은 '데비안유저스의 미러 서버 구축기'입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) &amp;lt;ref&amp;gt;https://marlon.kern.earth/blog/2019-01-14_fancy-index.html&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
rsync를 설치하는 이유는 미러 서버를 구축할 때 사용하는 ftpsync가 내부적으로 rsync를 이용해서 원격 서버에 있는 파일 또는 디렉터리들을 받아오기 때문입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
[https://oss.oetiker.ch/mrtg/ MRTG(Multi Router Traffic Grapher)]를 사용하는 목적은 간단하게 네트워크의 트래픽(인바운드, 아웃바운드)을 지켜보기 위해서입니다. 트래픽을 지켜보는 다른 프로그램(Zabbix, Cacti 등)을 사용하고자 한다면 굳이 MRTG를 사용하지 않아도 됩니다.&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 저의 경우 아래 /etc/mrtg.cfg 파일에서 설정한 내용을 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ftpsync &amp;lt;ref&amp;gt;https://www.debian.org/mirror/ftpmirror#how&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://salsa.debian.org/mirror-team/archvsync/#usage&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.conf.5.en.html&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.1.en.html&amp;lt;/ref&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리(/home/ftpsync/log) 생성 ===&lt;br /&gt;
ftpsync에서 작업한 로그가 저장될 디렉터리(/home/ftpsync/log)를 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=973</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=973"/>
		<updated>2021-05-02T10:14:41Z</updated>

		<summary type="html">&lt;p&gt;Westporch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;데비안 공식 문서에서 'ftpsync'를 이용해서 데비안 미러 서버를 만드는 것을 권장하고 있습니다. ftpsync는 데비안 프로젝트에서 만든 프로그램입니다. 이 프로그램을 이용하면 쉽게 미러 서버를 구축할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
물론 'apt-mirror'를 이용해서 데비안 미러 서버를 만들 수도 있습니다. 데비안 미러 서버를 구축하고자 한다면 ftpsync를 사용하시는 것을 권장합니다.&lt;br /&gt;
&lt;br /&gt;
본문에서는 ftpsync를 이용해서 [http://mirror.debianusers.or.kr/ 데비안 미러 서버]를 만든 방법을 설명합니다. 이 글의 부제목은 '데비안유저스의 미러 서버 구축기'입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) &amp;lt;ref&amp;gt;https://marlon.kern.earth/blog/2019-01-14_fancy-index.html&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
rsync를 설치하는 이유는 미러 서버를 구축할 때 사용하는 ftpsync가 내부적으로 rsync를 이용해서 원격 서버에 있는 파일 또는 디렉터리들을 받아오기 때문입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
[https://oss.oetiker.ch/mrtg/ MRTG(Multi Router Traffic Grapher)]를 사용하는 목적은 간단하게 네트워크의 트래픽(인바운드, 아웃바운드)을 지켜보기 위해서입니다. 트래픽을 지켜보는 다른 프로그램(Zabbix, Cacti 등)을 사용하고자 한다면 굳이 MRTG를 사용하지 않아도 됩니다.&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 저의 경우 아래 /etc/mrtg.cfg 파일에서 설정한 내용을 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ftpsync &amp;lt;ref&amp;gt;https://www.debian.org/mirror/ftpmirror#how&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://salsa.debian.org/mirror-team/archvsync/#usage&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.conf.5.en.html&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.1.en.html&amp;lt;/ref&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리 생성 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=972</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=972"/>
		<updated>2021-05-02T10:13:45Z</updated>

		<summary type="html">&lt;p&gt;Westporch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;데비안 공식 문서에서 'ftpsync'를 이용해서 데비안 미러 서버를 만드는 것을 권장하고 있습니다. ftpsync는 데비안 프로젝트에서 만든 프로그램입니다. 이 프로그램을 이용하면 쉽게 미러 서버를 구축할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
물론 'apt-mirror'를 이용해서 데비안 미러 서버를 만들 수도 있습니다. 데비안 미러 서버를 구축하고자 한다면 ftpsync를 사용하시는 것을 권장합니다.&lt;br /&gt;
&lt;br /&gt;
본문에서는 ftpsync를 이용해서 [http://mirror.debianusers.or.kr/ 데비안 미러 서버]를 만든 방법을 설명합니다. 이 글의 부제목은 '데비안유저스의 미러 서버 구축기'입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) &amp;lt;ref&amp;gt;https://marlon.kern.earth/blog/2019-01-14_fancy-index.html&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
rsync를 설치하는 이유는 미러 서버를 구축할 때 사용하는 ftpsync가 내부적으로 rsync를 이용해서 원격 서버에 있는 파일 또는 디렉터리들을 받아오기 때문입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
[https://oss.oetiker.ch/mrtg/ MRTG(Multi Router Traffic Grapher)]를 사용하는 목적은 간단하게 네트워크의 트래픽(인바운드, 아웃바운드)을 지켜보기 위해서입니다. 트래픽을 지켜보는 다른 프로그램(Zabbix, Cacti 등)을 사용하고자 한다면 굳이 MRTG를 사용하지 않아도 됩니다.&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 저의 경우 아래 /etc/mrtg.cfg 파일에서 설정한 내용을 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ftpsync &amp;lt;ref&amp;gt;https://www.debian.org/mirror/ftpmirror#how&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://salsa.debian.org/mirror-team/archvsync/#usage&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.conf.5.en.html&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.1.en.html&amp;lt;/ref&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리 생성 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=971</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=971"/>
		<updated>2021-05-02T10:13:11Z</updated>

		<summary type="html">&lt;p&gt;Westporch: /* MRTG 추가 설정 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;데비안 공식 문서에서 'ftpsync'를 이용해서 데비안 미러 서버를 만드는 것을 권장하고 있습니다. ftpsync는 데비안 프로젝트에서 만든 프로그램입니다. 이 프로그램을 이용하면 쉽게 미러 서버를 구축할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
물론 'apt-mirror'를 이용해서 데비안 미러 서버를 만들 수도 있습니다. 데비안 미러 서버를 구축하고자 한다면 ftpsync를 사용하시는 것을 권장합니다.&lt;br /&gt;
&lt;br /&gt;
본문에서는 ftpsync를 이용해서 [http://mirror.debianusers.or.kr/ 데비안 미러 서버]를 만든 방법을 설명합니다. 이 글의 부제목은 '데비안유저스의 미러 서버 구축기'입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) &amp;lt;ref&amp;gt;https://marlon.kern.earth/blog/2019-01-14_fancy-index.html&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
rsync를 설치하는 이유는 미러 서버를 구축할 때 사용하는 ftpsync가 내부적으로 rsync를 이용해서 원격 서버에 있는 파일 또는 디렉터리들을 받아오기 때문입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
[https://oss.oetiker.ch/mrtg/ MRTG(Multi Router Traffic Grapher)]를 사용하는 목적은 간단하게 네트워크의 트래픽(인바운드, 아웃바운드)을 지켜보기 위해서입니다. 트래픽을 지켜보는 다른 프로그램(Zabbix, Cacti 등)을 사용하고자 한다면 굳이 MRTG를 사용하지 않아도 됩니다.&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 저의 경우 아래 /etc/mrtg.cfg 파일에서 설정한 내용을 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ftpsync &amp;lt;ref&amp;gt;https://www.debian.org/mirror/ftpmirror#how&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://salsa.debian.org/mirror-team/archvsync/#usage&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.conf.5.en.html&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.1.en.html&amp;lt;/ref&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리 생성 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=970</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=970"/>
		<updated>2021-05-02T10:11:32Z</updated>

		<summary type="html">&lt;p&gt;Westporch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;데비안 공식 문서에서 'ftpsync'를 이용해서 데비안 미러 서버를 만드는 것을 권장하고 있습니다. ftpsync는 데비안 프로젝트에서 만든 프로그램입니다. 이 프로그램을 이용하면 쉽게 미러 서버를 구축할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
물론 'apt-mirror'를 이용해서 데비안 미러 서버를 만들 수도 있습니다. 데비안 미러 서버를 구축하고자 한다면 ftpsync를 사용하시는 것을 권장합니다.&lt;br /&gt;
&lt;br /&gt;
본문에서는 ftpsync를 이용해서 [http://mirror.debianusers.or.kr/ 데비안 미러 서버]를 만든 방법을 설명합니다. 이 글의 부제목은 '데비안유저스의 미러 서버 구축기'입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) &amp;lt;ref&amp;gt;https://marlon.kern.earth/blog/2019-01-14_fancy-index.html&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
rsync를 설치하는 이유는 미러 서버를 구축할 때 사용하는 ftpsync가 내부적으로 rsync를 이용해서 원격 서버에 있는 파일 또는 디렉터리들을 받아오기 때문입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
[https://oss.oetiker.ch/mrtg/ MRTG(Multi Router Traffic Grapher)]를 사용하는 목적은 간단하게 네트워크의 트래픽(인바운드, 아웃바운드)을 지켜보기 위해서입니다. 트래픽을 지켜보는 다른 프로그램(Zabbix, Cacti 등)을 사용하고자 한다면 굳이 MRTG를 사용하지 않아도 됩니다.&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 설정한 내용은 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ftpsync &amp;lt;ref&amp;gt;https://www.debian.org/mirror/ftpmirror#how&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://salsa.debian.org/mirror-team/archvsync/#usage&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.conf.5.en.html&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.1.en.html&amp;lt;/ref&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리 생성 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=969</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=969"/>
		<updated>2021-05-02T10:10:31Z</updated>

		<summary type="html">&lt;p&gt;Westporch: /* MRTG */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;데비안 공식 문서에서 'ftpsync'를 이용해서 데비안 미러 서버를 만드는 것을 권장하고 있습니다. ftpsync는 데비안 프로젝트에서 만든 프로그램입니다. 이 프로그램을 이용하면 쉽게 미러 서버를 구축할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
물론 'apt-mirror'를 이용해서 데비안 미러 서버를 만들 수도 있습니다. 데비안 미러 서버를 구축하고자 한다면 ftpsync를 사용하시는 것을 권장합니다.&lt;br /&gt;
&lt;br /&gt;
본문에서는 ftpsync를 이용해서 [http://mirror.debianusers.or.kr/ 데비안 미러 서버]를 만든 방법을 설명합니다. 이 글의 부제목은 '데비안유저스의 미러 서버 구축기'입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) &amp;lt;ref&amp;gt;https://marlon.kern.earth/blog/2019-01-14_fancy-index.html&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
rsync를 설치하는 이유는 미러 서버를 구축할 때 사용하는 ftpsync가 내부적으로 rsync를 이용해서 원격 서버에 있는 파일 또는 디렉터리들을 받아오기 때문입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
[https://oss.oetiker.ch/mrtg/ MRTG(Multi Router Traffic Grapher)]를 사용하는 목적은 간단하게 네트워크의 트래픽(인바운드, 아웃바운드)을 지켜보기 위해서입니다. 트래픽을 지켜보는 다른 프로그램(Zabbix, Cacti 등)을 사용하고자 한다면 굳이 MRTG를 사용하지 않아도 됩니다.&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 설정한 내용은 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ftpsync &amp;lt;ref&amp;gt;https://www.debian.org/mirror/ftpmirror#how&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://salsa.debian.org/mirror-team/archvsync/#usage&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.conf.5.en.html&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.1.en.html&amp;lt;/ref&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리 생성 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=968</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=968"/>
		<updated>2021-05-02T10:09:05Z</updated>

		<summary type="html">&lt;p&gt;Westporch: /* MRTG */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;데비안 공식 문서에서 'ftpsync'를 이용해서 데비안 미러 서버를 만드는 것을 권장하고 있습니다. ftpsync는 데비안 프로젝트에서 만든 프로그램입니다. 이 프로그램을 이용하면 쉽게 미러 서버를 구축할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
물론 'apt-mirror'를 이용해서 데비안 미러 서버를 만들 수도 있습니다. 데비안 미러 서버를 구축하고자 한다면 ftpsync를 사용하시는 것을 권장합니다.&lt;br /&gt;
&lt;br /&gt;
본문에서는 ftpsync를 이용해서 [http://mirror.debianusers.or.kr/ 데비안 미러 서버]를 만든 방법을 설명합니다. 이 글의 부제목은 '데비안유저스의 미러 서버 구축기'입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) &amp;lt;ref&amp;gt;https://marlon.kern.earth/blog/2019-01-14_fancy-index.html&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
rsync를 설치하는 이유는 미러 서버를 구축할 때 사용하는 ftpsync가 내부적으로 rsync를 이용해서 원격 서버에 있는 파일 또는 디렉터리들을 받아오기 때문입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
MRTG(Multi Router Traffic Grapher)를 사용하는 목적은 간단하게 네트워크의 트래픽(인바운드, 아웃바운드)을 지켜보기 위해서입니다. 트래픽을 지켜보는 다른 프로그램(Zabbix, Cacti 등)을 사용하고자 한다면 굳이 MRTG를 사용하지 않아도 됩니다.&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 설정한 내용은 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ftpsync &amp;lt;ref&amp;gt;https://www.debian.org/mirror/ftpmirror#how&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://salsa.debian.org/mirror-team/archvsync/#usage&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.conf.5.en.html&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.1.en.html&amp;lt;/ref&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리 생성 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=967</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=967"/>
		<updated>2021-05-02T09:46:48Z</updated>

		<summary type="html">&lt;p&gt;Westporch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;데비안 공식 문서에서 'ftpsync'를 이용해서 데비안 미러 서버를 만드는 것을 권장하고 있습니다. ftpsync는 데비안 프로젝트에서 만든 프로그램입니다. 이 프로그램을 이용하면 쉽게 미러 서버를 구축할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
물론 'apt-mirror'를 이용해서 데비안 미러 서버를 만들 수도 있습니다. 데비안 미러 서버를 구축하고자 한다면 ftpsync를 사용하시는 것을 권장합니다.&lt;br /&gt;
&lt;br /&gt;
본문에서는 ftpsync를 이용해서 [http://mirror.debianusers.or.kr/ 데비안 미러 서버]를 만든 방법을 설명합니다. 이 글의 부제목은 '데비안유저스의 미러 서버 구축기'입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) &amp;lt;ref&amp;gt;https://marlon.kern.earth/blog/2019-01-14_fancy-index.html&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
rsync를 설치하는 이유는 미러 서버를 구축할 때 사용하는 ftpsync가 내부적으로 rsync를 이용해서 원격 서버에 있는 파일 또는 디렉터리들을 받아오기 때문입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 설정한 내용은 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ftpsync &amp;lt;ref&amp;gt;https://www.debian.org/mirror/ftpmirror#how&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://salsa.debian.org/mirror-team/archvsync/#usage&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.conf.5.en.html&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.1.en.html&amp;lt;/ref&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리 생성 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=966</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=966"/>
		<updated>2021-05-02T09:46:15Z</updated>

		<summary type="html">&lt;p&gt;Westporch: /* rsync 설치 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;데비안 공식 문서에서 'ftpsync'를 이용해서 데비안 미러 서버를 만드는 것을 권장하고 있습니다. ftpsync는 데비안 프로젝트에서 만든 프로그램입니다. 이 프로그램을 이용하면 쉽게 미러 서버를 구축할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
물론 'apt-mirror'를 이용해서 데비안 미러 서버를 만들 수도 있습니다. 데비안 미러 서버를 구축하고자 한다면 ftpsync를 사용하시는 것을 권장합니다.&lt;br /&gt;
&lt;br /&gt;
본문에서는 ftpsync를 이용해서 [http://mirror.debianusers.or.kr/ 데비안 미러 서버]를 만든 방법을 설명합니다. 이 글의 부제목은 '데비안유저스의 미러 서버 구축기'입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) &amp;lt;ref&amp;gt;https://marlon.kern.earth/blog/2019-01-14_fancy-index.html&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
rsync를 설치하는 이유는 미러 서버를 구축할 때 사용하는 ftpsync가 내부적으로 rsync를 이용해서 원격 서버에 있는 파일 또는 디렉터리들을 받아오기 때문입니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 설정한 내용은 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ftpsync &amp;lt;ref&amp;gt;https://www.debian.org/mirror/ftpmirror#how&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://salsa.debian.org/mirror-team/archvsync/#usage&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.conf.5.en.html&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.1.en.html&amp;lt;/ref&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리 생성 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=965</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=965"/>
		<updated>2021-05-02T09:41:49Z</updated>

		<summary type="html">&lt;p&gt;Westporch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;데비안 공식 문서에서 'ftpsync'를 이용해서 데비안 미러 서버를 만드는 것을 권장하고 있습니다. ftpsync는 데비안 프로젝트에서 만든 프로그램입니다. 이 프로그램을 이용하면 쉽게 미러 서버를 구축할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
물론 'apt-mirror'를 이용해서 데비안 미러 서버를 만들 수도 있습니다. 데비안 미러 서버를 구축하고자 한다면 ftpsync를 사용하시는 것을 권장합니다.&lt;br /&gt;
&lt;br /&gt;
본문에서는 ftpsync를 이용해서 [http://mirror.debianusers.or.kr/ 데비안 미러 서버]를 만든 방법을 설명합니다. 이 글의 부제목은 '데비안유저스의 미러 서버 구축기'입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) &amp;lt;ref&amp;gt;https://marlon.kern.earth/blog/2019-01-14_fancy-index.html&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 설정한 내용은 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ftpsync &amp;lt;ref&amp;gt;https://www.debian.org/mirror/ftpmirror#how&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://salsa.debian.org/mirror-team/archvsync/#usage&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.conf.5.en.html&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.1.en.html&amp;lt;/ref&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리 생성 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=964</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=964"/>
		<updated>2021-05-02T05:20:56Z</updated>

		<summary type="html">&lt;p&gt;Westporch: /* ftpsync */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) &amp;lt;ref&amp;gt;https://marlon.kern.earth/blog/2019-01-14_fancy-index.html&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 설정한 내용은 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ftpsync &amp;lt;ref&amp;gt;https://www.debian.org/mirror/ftpmirror#how&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://salsa.debian.org/mirror-team/archvsync/#usage&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.conf.5.en.html&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;https://manpages.debian.org/testing/ftpsync/ftpsync.1.en.html&amp;lt;/ref&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리 생성 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=963</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=963"/>
		<updated>2021-05-02T05:09:23Z</updated>

		<summary type="html">&lt;p&gt;Westporch: /* nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) &amp;lt;ref&amp;gt;https://marlon.kern.earth/blog/2019-01-14_fancy-index.html&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 설정한 내용은 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ftpsync ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리 생성 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=962</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=962"/>
		<updated>2021-05-02T05:05:13Z</updated>

		<summary type="html">&lt;p&gt;Westporch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 설정한 내용은 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ftpsync ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리 생성 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=961</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=961"/>
		<updated>2021-05-02T05:04:39Z</updated>

		<summary type="html">&lt;p&gt;Westporch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRTG ==&lt;br /&gt;
&lt;br /&gt;
=== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRTG 추가 설정 ===&lt;br /&gt;
/etc/mrtg.cfg을 아래와 같이 설정합니다. 설정한 내용은 http://mirror.debianusers.or.kr/mrtg/debianusers-mirror_3.html 에서 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- Target[localhost_3]: 3:public@localhost:&lt;br /&gt;
+ Target[debianusers-mirror_3]: 3:public@localhost:&lt;br /&gt;
- SetEnv[localhost_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
+ SetEnv[debianusers-mirror_3]: MRTG_INT_IP=&amp;quot;121.78.112.223&amp;quot; MRTG_INT_DESCR=&amp;quot;No-Description&amp;quot;&lt;br /&gt;
- MaxBytes[localhost_3]: 125000000&lt;br /&gt;
+ MaxBytes[debianusers-mirror_3]: 1250000&lt;br /&gt;
- Title[localhost_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
+ Title[debianusers-mirror_3]: Traffic Analysis for 3 -- debianusers-mirror&lt;br /&gt;
- PageTop[localhost_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
+ PageTop[debianusers-mirror_3]: &amp;lt;h1&amp;gt;Traffic Analysis for 3 -- debianusers-mirror&amp;lt;/h1&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;sysdetails&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;System:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;debianusers-mirror in Sitting on the Dock of the Bay&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Maintainer:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;Me &amp;amp;lt;me@example.org&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;Hyun-gwan Seo&amp;amp;lt;westporch@debianusers.or.kr&amp;amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Description:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;No-Description  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifType:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ethernetCsmacd (6)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;ifName:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;enp5s0f1&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Max Speed:&amp;lt;/td&amp;gt;&lt;br /&gt;
-                    &amp;lt;td&amp;gt;125.0 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
+                    &amp;lt;td&amp;gt;1.25 MBytes/s&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;Ip:&amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;121.78.112.223 (debianusers-mirror)&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ftpsync ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리 생성 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=960</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=960"/>
		<updated>2021-05-01T14:01:43Z</updated>

		<summary type="html">&lt;p&gt;Westporch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt;==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ftpsync ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리 생성 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 미러 서버의 대역폭 설정(wondershaper 이용)==&lt;br /&gt;
&lt;br /&gt;
=== wondershaper 설치 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install wondershaper&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 시스템 재시작 시에도 wondershaper 설정이 되도록 하기 &amp;lt;ref&amp;gt;https://documentation.online.net/en/dedicated-server/tutorials/network/configure-wondershaper#launch_wondershaper_automatically_on_boot_with_systemd&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
wondershaper로 이더넷 장치에 대역폭을 설정해도, 리부팅하면 설정이 초기화됩니다. 따라서 부팅할 때 마다 wondershaper를 적용하도록 해야합니다.&lt;br /&gt;
&lt;br /&gt;
/etc/systemd/wondershaper.conf에 아래 내용을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [wondershaper]&lt;br /&gt;
+ # Adapter&lt;br /&gt;
+ IFACE=&amp;quot;eth0&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Download rate in Kbps&lt;br /&gt;
+ DSPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
+ &lt;br /&gt;
+ # Upload rate in Kbps&lt;br /&gt;
+ USPEED=&amp;quot;10240&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/usr/lib/systemd/system/wondershaper.service에 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
+ [Unit]&lt;br /&gt;
+ Description=Bandwidth shaper/Network rate limiter&lt;br /&gt;
+ After=network.target&lt;br /&gt;
+ Wants=network.target&lt;br /&gt;
+ &lt;br /&gt;
+ [Service]&lt;br /&gt;
+ Type=oneshot&lt;br /&gt;
+ RemainAfterExit=yes&lt;br /&gt;
+ EnvironmentFile=/etc/systemd/wondershaper.conf&lt;br /&gt;
+ ExecStart=/usr/sbin/wondershaper $IFACE $DSPEED $USPEED&lt;br /&gt;
+ ExecStop=/usr/sbin/wondershaper clear $IFACE&lt;br /&gt;
+&lt;br /&gt;
+ [Install]&lt;br /&gt;
+ WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wondershaper.service 서비스를 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl start wondershaper.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
부팅할 때 wondershaper.service를 시작하도록 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl enable wondershaper.service&lt;br /&gt;
Created symlink /etc/systemd/system/multi-user.target.wants/wondershaper.service → /lib/systemd/system/wondershaper.service.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=959</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=959"/>
		<updated>2021-05-01T13:48:46Z</updated>

		<summary type="html">&lt;p&gt;Westporch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt;==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ftpsync ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리 생성 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== /etc/apt/sources.list 파일 수정 ==&lt;br /&gt;
&lt;br /&gt;
=== 클라이언트 ===&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list 파일을 아래와 같이 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# debianusers-mirror [데비안10(buster)를 사용할 경우]&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian-security buster/updates main&lt;br /&gt;
&lt;br /&gt;
deb http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
deb-src http://mirror.debianusers.or.kr/debian/ buster-updates main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러 서버 ===&lt;br /&gt;
직접 셋팅한 미러 서버에서 /etc/apt/sources.list를 local repository로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb file:/data/mirrors/debian/ buster main&lt;br /&gt;
deb file:/data/mirrors/debian-security buster/updates main contrib&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'sudo apt update' 명령을 실행합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=958</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=958"/>
		<updated>2021-05-01T13:40:56Z</updated>

		<summary type="html">&lt;p&gt;Westporch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt;==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ftpsync ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리 생성 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-multimedia) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-multimedia.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-multimedia.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-multimedia.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-multimedia' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-multimedia/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-multimedia.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-multimedia/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-multimedia&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:multimedia&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-multimedia.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=957</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=957"/>
		<updated>2021-05-01T13:35:35Z</updated>

		<summary type="html">&lt;p&gt;Westporch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt;==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ftpsync ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리 생성 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-cd) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-cd.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-cd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-cd.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-cd' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-cd.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-cd/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-cd.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-cd/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-cd&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:cd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-cd.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=956</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=956"/>
		<updated>2021-05-01T13:24:45Z</updated>

		<summary type="html">&lt;p&gt;Westporch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt;==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ftpsync ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리 생성 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync.conf 파일 설정 ====&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 저장소(debian-security) 미러링 ===&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 ====&lt;br /&gt;
/home/ftpsync/etc/ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /home/ftpsync/etc/ftpsync-security.conf 파일 설정 ====&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 실행 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /home/ftpsync/bin/./ftpsync sync:archive:security&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 미러링 로그 확인 ====&lt;br /&gt;
&lt;br /&gt;
아래 명령으로 미러링의 실시간 로그를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tail -f /home/ftpsync/log/rsync-ftpsync-security.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=955</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=955"/>
		<updated>2021-05-01T11:32:25Z</updated>

		<summary type="html">&lt;p&gt;Westporch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt;==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ftpsync ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리 생성 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== /home/ftpsync/etc/ftpsync.conf 파일 생성 및 설정 ===&lt;br /&gt;
&lt;br /&gt;
ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== /home/ftpsync/etc/ftpsync-security.conf 파일 생성 및 설정 ===&lt;br /&gt;
&lt;br /&gt;
ftpsync.conf.sample 파일을 복사해서 ftpsync-security.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync-security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ftpsync-security.conf 파일은 데비안 미러 서버에서 'debian-security' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync-security.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian-security/ 저장소를 만들었습니다. 제가 사용하는 ftpsync-security.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian-security/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST=&amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
- RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
+ RSYNC_PATH=&amp;quot;debian-security&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=954</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=954"/>
		<updated>2021-05-01T11:28:37Z</updated>

		<summary type="html">&lt;p&gt;Westporch: /* /home/ftpsync/etc/ftpsync.conf 파일 생성 및 설정 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt;==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ftpsync ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리 생성 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== /home/ftpsync/etc/ftpsync.conf 파일 생성 및 설정 ===&lt;br /&gt;
&lt;br /&gt;
ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=953</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=953"/>
		<updated>2021-05-01T11:27:52Z</updated>

		<summary type="html">&lt;p&gt;Westporch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt;==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ftpsync ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리 생성 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== /home/ftpsync/etc/ftpsync.conf 파일 생성 및 설정 ===&lt;br /&gt;
&lt;br /&gt;
ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=952</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=952"/>
		<updated>2021-05-01T11:21:40Z</updated>

		<summary type="html">&lt;p&gt;Westporch: /* /home/ftpsync/etc/ftpsync.conf 파일 설정 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt;==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ftpsync ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리 생성 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ftpsync.conf 파일 생성 ===&lt;br /&gt;
ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== /home/ftpsync/etc/ftpsync.conf 파일 설정 ===&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf 파일을 이용해 http://mirror.debianusers.or.kr/debian/ 저장소를 만들었습니다.&lt;br /&gt;
제가 사용하는 ftpsync.conf는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=951</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=951"/>
		<updated>2021-05-01T11:19:41Z</updated>

		<summary type="html">&lt;p&gt;Westporch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt;==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
== 디렉터리(/data) ==&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리(/data)의 퍼미션 변경 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo chmod 757 data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 미러용 디렉터리(/data/mirrors) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /data/mirrors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ftpsync ==&lt;br /&gt;
&lt;br /&gt;
=== 사용자 계정(ftpsync) 생성 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo adduser ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== crontab을 사용할 수 있는 사용자 설정 ===&lt;br /&gt;
&lt;br /&gt;
/etc/cron.allow 파일에 'ftpsync'를 추가한 후 저장합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
root&lt;br /&gt;
westporch&lt;br /&gt;
+ ftpsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
크론을 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ftpsync 다운로드 ===&lt;br /&gt;
아래 명령어로 ftpsync를 내려받습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ wget https://ftp-master.debian.org/ftpsync.tar.gz -P /home/ftpsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다운로드 받은 파일을 압축 해제합니다. ftpsync.tar.gz 파일의 압축을 해제하면 distrib 디렉터리가 생깁니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 디렉터리 변경(이동) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mv /home/ftpsync/distrib/bin /home/ftpsync/&lt;br /&gt;
$ mv /home/ftpsync/distrib/etc /home/ftpsync/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 로그 디렉터리 생성 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ id&lt;br /&gt;
uid=1001(ftpsync) gid=1001(ftpsync) groups=1001(ftpsync)&lt;br /&gt;
$ mkdir /home/ftpsync/log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ftpsync.conf 파일 생성 ===&lt;br /&gt;
ftpsync.conf.sample 파일을 복사해서 ftpsync.conf 파일을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp /home/ftpsync/etc/ftpsync.conf.sample /home/ftpsync/etc/ftpsync.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== /home/ftpsync/etc/ftpsync.conf 파일 설정 ===&lt;br /&gt;
ftpsync.conf 파일은 데비안 미러 서버에서 'debian' 저장소를 다운로드하는 데 사용합니다. 저는 ftpsync.conf를 아래와 같이 설정해서 사용하고 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
## This is a sample configuration file for the ftpsync mirror script. ##&lt;br /&gt;
## Only options most users may need are included.  For documentation  ##&lt;br /&gt;
## and all available options see ftpsync.conf(5).                     ##&lt;br /&gt;
########################################################################&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # MIRRORNAME=`hostname -f`&lt;br /&gt;
+ MIRRORNAME=`hostname -f`&lt;br /&gt;
- # TO=&amp;quot;/srv/mirrors/debian/&amp;quot;&lt;br /&gt;
+ TO=&amp;quot;/data/mirrors/debian/&amp;quot;&lt;br /&gt;
# MAILTO=&amp;quot;$LOGNAME&amp;quot;&lt;br /&gt;
# HUB=false&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Connection options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- RSYNC_HOST=&lt;br /&gt;
+ RSYNC_HOST= &amp;quot;ftp.kaist.ac.kr&amp;quot;&lt;br /&gt;
RSYNC_PATH=&amp;quot;debian&amp;quot;&lt;br /&gt;
# RSYNC_USER=&lt;br /&gt;
# RSYNC_PASSWORD=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Mirror information options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
# INFO_MAINTAINER=&amp;quot;Admins &amp;lt;admins@example.com&amp;gt;, Person &amp;lt;person@example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_SPONSOR=&amp;quot;Example &amp;lt;https://example.com&amp;gt;&amp;quot;&lt;br /&gt;
# INFO_COUNTRY=DE&lt;br /&gt;
# INFO_LOCATION=&amp;quot;Example&amp;quot;&lt;br /&gt;
# INFO_THROUGHPUT=10Gb&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Include and exclude options&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # ARCH_INCLUDE=&lt;br /&gt;
+ #ARCH_INCLUDE=&amp;quot;all amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x&amp;quot;&lt;br /&gt;
+ ARCH_INCLUDE=&amp;quot;amd64 i386 source&amp;quot;&lt;br /&gt;
# ARCH_EXCLUDE=&lt;br /&gt;
&lt;br /&gt;
########################################################################&lt;br /&gt;
## Log option&lt;br /&gt;
########################################################################&lt;br /&gt;
&lt;br /&gt;
- # LOGDIR=&lt;br /&gt;
+ LOGDIR=&amp;quot;/home/ftpsync/log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
+ ## limit I/O bandwidth. Value is KBytes per second, unset or 0 means unlimited&lt;br /&gt;
+ RSYNC_BW=&amp;quot;1024&amp;quot;  # (1024KByte/s / 1024) * 8 = 8Mbit/s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=950</id>
		<title>데비안 미러 서버를 만드는 방법</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8D%B0%EB%B9%84%EC%95%88_%EB%AF%B8%EB%9F%AC_%EC%84%9C%EB%B2%84%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EB%B2%95&amp;diff=950"/>
		<updated>2021-05-01T09:12:17Z</updated>

		<summary type="html">&lt;p&gt;Westporch: 새 문서: == Nginx 설치 및 설정 ==  &amp;lt;pre&amp;gt; $ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex &amp;lt;/pre&amp;gt;   === nginx에서 디렉터리 목록 나열을...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Nginx 설치 및 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install nginx nginx-extras libnginx-mod-http-geoip libnginx-mod-http-fancyindex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 디렉터리 목록 나열을 허용하기(fancyindex 이용) ===&lt;br /&gt;
/etc/nginx/sites-available/default 파일에서 ‘location /’ 항목에 아래 초록색 내용을 추가합니다.&lt;br /&gt;
fancyindex를 이용하면 웹에서 파일과 디렉터리 목록을 예쁘게 볼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.                           &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			#autoindex on;   # 디렉터리 목록을 나열한다.&lt;br /&gt;
			#autoindex_exact_size off;&lt;br /&gt;
        &lt;br /&gt;
+          fancyindex on;   # 디렉터리 목록을 나열한다.(fancyindex 사용)&lt;br /&gt;
+          fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
        try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nginx에서 해외 아이피 차단. 국내 아이피만 접속 허용(geoip 이용) ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/nginx.conf  파일 수정 ====&lt;br /&gt;
/etc/nginx/nginx.conf 파일에 아래 초록색으로 표시한 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
user www-data;                                                      &lt;br /&gt;
worker_processes auto;&lt;br /&gt;
pid /run/nginx.pid;&lt;br /&gt;
include /etc/nginx/modules-enabled/*.conf;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections 768;&lt;br /&gt;
    # multi_accept on; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
+    # 우리나라를 제외한 해외 아이피를 모두 차단함. &lt;br /&gt;
+    geoip_country /usr/share/GeoIP/GeoIP.dat;&lt;br /&gt;
+    map $geoip_country_code $allowed_country {&lt;br /&gt;
+        default no; &lt;br /&gt;
+        KR yes;&lt;br /&gt;
+    }   &lt;br /&gt;
&lt;br /&gt;
    ##  &lt;br /&gt;
    # Basic Settings&lt;br /&gt;
    ##  &lt;br /&gt;
&lt;br /&gt;
    sendfile on;&lt;br /&gt;
 (..생략..)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/nginx/sites-available/default 파일 수정 ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
location / { &lt;br /&gt;
        # First attempt to serve request as file, then&lt;br /&gt;
        # as directory, then fall back to displaying a 404.&lt;br /&gt;
&lt;br /&gt;
        fancyindex on; &lt;br /&gt;
        fancyindex_exact_size off;&lt;br /&gt;
&lt;br /&gt;
+       if ($allowed_country = no) {&lt;br /&gt;
+            return 444;&lt;br /&gt;
+       }            &lt;br /&gt;
+        try_files $uri $uri/ /index.html; &lt;br /&gt;
&lt;br /&gt;
-        #try_files $uri $uri/ =404;&lt;br /&gt;
    }&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Nginx 재시작 ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== rsync 설치 ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install rsync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MRTG 설치 및 설정 &amp;lt;ref&amp;gt;https://www.youtube.com/watch?v=ftutyWqzRCs&amp;lt;/ref&amp;gt;==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt install snmpd snmp mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/snmp/snmpd.conf 파일을 아래처럼 수정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
-#rocommunity public  localhost&lt;br /&gt;
+rocommunity public  localhost&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
snmpd를 재시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ systemctl restart snmpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg 디렉터리를 생성합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo mkdir /data/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
mrtg.cfg 파일을 백업합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo cp /etc/mrtg.cfg /etc/mrtg.cfg.bak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/mrtg 파일을 편집합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
(..생략..)&lt;br /&gt;
- #WorkDir: /var/www/mrtg&lt;br /&gt;
+ WorkDir: /data/mrtg&lt;br /&gt;
(..생략..)&lt;br /&gt;
+ #  to get bits instead of bytes and graphs growing to the right&lt;br /&gt;
+ Options[_]: growright, bits&lt;br /&gt;
(..생략..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cfgmaker public@localhost &amp;gt; /etc/mrtg.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG의 index.html 파일을 생성합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
indexmaker /etc/mrtg.cfg &amp;gt; /data/mrtg/index.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MRTG 데이터는 /data/mrtg에 저장됩니다. 이 데이터를 웹에서 보여주고자 /var/www/mrtg로 심볼릭링크를 걸었습니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ ln -s /data/mrtg/ /var/www/mrtg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 MRTG의 인덱스 페이지를 볼 수 있습니다. 저의 경우는 http://mirror.debianusers.or.kr/mrtg/ 에서 MRTG의 인덱스 페이지를 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
== 참고 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=Raspbian_%EC%84%A4%EC%B9%98_%EB%B0%8F_%EC%84%A4%EC%A0%95&amp;diff=949</id>
		<title>Raspbian 설치 및 설정</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=Raspbian_%EC%84%A4%EC%B9%98_%EB%B0%8F_%EC%84%A4%EC%A0%95&amp;diff=949"/>
		<updated>2020-04-05T00:41:16Z</updated>

		<summary type="html">&lt;p&gt;Westporch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 작성자&lt;br /&gt;
! 개요&lt;br /&gt;
|-&lt;br /&gt;
| [mailto:westporch@debianusers.or.kr Westporch]&lt;br /&gt;
| RaspberryPI(RPI)에 raspbian 설치 및 설정 방법.&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
== 작업 환경 ==&lt;br /&gt;
&lt;br /&gt;
=== RPI 정보 === &lt;br /&gt;
&lt;br /&gt;
RPI Model B, RPI2 Model B에서 각각 RASPBIAN Buster LITE(버전: February 2020)를 설치했습니다.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! RPI 모델명&lt;br /&gt;
! CPU 모델명&lt;br /&gt;
! CPU 코어 개수&lt;br /&gt;
! 메모리&lt;br /&gt;
! HW Revision&lt;br /&gt;
! RPI Serial&lt;br /&gt;
! microSD카드 &lt;br /&gt;
|-&lt;br /&gt;
| RPI Model B &lt;br /&gt;
| ARMv6-compatible processor rev 7 (v6l)&lt;br /&gt;
| 1개&lt;br /&gt;
| 512MB&lt;br /&gt;
| 000e&lt;br /&gt;
| 00000000295c1f3e&lt;br /&gt;
| 64GB (SanDisk 10 class)&lt;br /&gt;
|-&lt;br /&gt;
| RPI2 Model B&lt;br /&gt;
| ARMv7 Processor rev 5 (v7l)&lt;br /&gt;
| 4개&lt;br /&gt;
| 1GB&lt;br /&gt;
| a01041&lt;br /&gt;
| 0000000024253751&lt;br /&gt;
| 32GB (SanDisk 10 class)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Raspbian 정보 ===&lt;br /&gt;
&lt;br /&gt;
Raspbian은 Buster LITE (Debian Buster 기반의 최소 버전)를 설치했습니다.&lt;br /&gt;
Raspbian 이미지는 라즈베리파이 공식 홈페이지의 [https://www.raspberrypi.org/downloads/raspbian/ 다운로드 페이지]에서 받을 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 이름&lt;br /&gt;
! 버전&lt;br /&gt;
! 커널 버전&lt;br /&gt;
! 릴리스 노트&lt;br /&gt;
! 다운로드&lt;br /&gt;
! 비고&lt;br /&gt;
|-&lt;br /&gt;
| RASPBIAN Buster LITE&lt;br /&gt;
| February 2020&lt;br /&gt;
| 4.19&lt;br /&gt;
| [http://downloads.raspberrypi.org/raspbian/release_notes.txt 릴리스 노트]&lt;br /&gt;
| [https://downloads.raspberrypi.org/raspbian_latest 다운로드(ZIP)]&lt;br /&gt;
| Debian Buster 기반의 최소 이미지&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
== Raspbian 설치 ==&lt;br /&gt;
&lt;br /&gt;
Raspbian 설치 과정은 간단합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
① SD카드에 다운로드한 raspbian 이미지를 burning 합니다. &lt;br /&gt;
② SD카드를 RPI에 장착한 후 케이블(전원, 이더넷, 키보드)을 연결하여 부팅합니다. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
저는 Windows 10에서 [https://sourceforge.net/projects/win32diskimager/ Win32DiskImager]로 raspbian 이미지를 구웠습니다. Raspbian의 초기 계정 정보는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID&lt;br /&gt;
! Password&lt;br /&gt;
|-&lt;br /&gt;
| pi&lt;br /&gt;
| raspberry&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Raspbian 설정 ==&lt;br /&gt;
&lt;br /&gt;
=== 타임존 설정 ===&lt;br /&gt;
&lt;br /&gt;
Raspbian의 기본 타임존은 UTC입니다. sudo dpkg-reconfigure tzdata 명령으로 타임존을 KST로 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo dpkg-reconfigure tzdata&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
① sudo dpkg-reconfigure tzdata 실행&lt;br /&gt;
② Asia 선택&lt;br /&gt;
③ Seoul 선택&lt;br /&gt;
④ Would you like the SSH Server to be enabled? 라는 물음에 Yes를 선택합니다.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 키보드 레이아웃 설정 &amp;lt;ref&amp;gt;https://raspberrypi.stackexchange.com/a/41058&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
라즈비안을 처음 설치한 후 따옴표(&amp;quot;)를 입력하면 제대로 입력되지 않습니다. 키보드 레이아웃을 설정해야 따옴표가 제대로 입력됩니다. 키보드 레이아웃은 아래 방법으로 설정하시면 됩니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
① sudo raspi-config 실행&lt;br /&gt;
② 'Localisation Options Set up language and regional setings to match your location' 선택&lt;br /&gt;
③ 'Change Keyboard Layout' 선택&lt;br /&gt;
④ 'Generic 105-key PC (intl.)' 선택&lt;br /&gt;
⑤ 'Korean - Korean (101/104 key compatible)' 선택&lt;br /&gt;
⑥ 'The default for the keyboard layout' 선택&lt;br /&gt;
⑦ 'No compose key' 선택&lt;br /&gt;
⑧ raspi-config 메뉴에서 'Finish' 항목을 선택(raspi-config 프로그램 종료)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 계정 설정 ===&lt;br /&gt;
&lt;br /&gt;
==== pi 계정 비밀번호 변경 ====&lt;br /&gt;
&lt;br /&gt;
pi 계정 비밀번호를 재설정합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pi@raspberrypi:~ $ passwd&lt;br /&gt;
Enter new UNIX password:&lt;br /&gt;
Retype new UNIX password:&lt;br /&gt;
passwd: password updated successfully&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== root 계정 비밀번호 설정 ====&lt;br /&gt;
&lt;br /&gt;
root 계정의 비밀번호를 설정합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pi@raspberrypi:~ $ sudo passwd root&lt;br /&gt;
Enter new UNIX password:&lt;br /&gt;
Retype new UNIX password:&lt;br /&gt;
passwd: password updated successfully&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 일반 사용자 계정 생성 ====&lt;br /&gt;
&lt;br /&gt;
저는 westporch 계정을 생성했습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pi@raspberrypi:~ $ sudo adduser westporch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Swap 설정 &amp;lt;ref&amp;gt;https://raspberrypi.stackexchange.com/a/1605&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
① /etc/dphys-swapfile에서 CONF_SWAPSIZE 값(단위: MB) 수정&lt;br /&gt;
② sudo systemctl stop dphys-swapfile&lt;br /&gt;
③ sudo systemctl start dphys-swapfile&lt;br /&gt;
④ 리부팅&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/etc/dphys-swapfile에서 CONF_SWAPSIZE 값(단위: MB)을 수정하여 swap 크기를 변경할 수 있습니다. raspbian의 기본 스왑 크기는 100MB입니다. 저는 스왑을 2GB로&lt;br /&gt;
사용하기 위해서 CONF_SWAPSIZE 값을 2048로 수정하였습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
- CONF_SWAPSIZE=100&lt;br /&gt;
+ CONF_SWAPSIZE=2048&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CONF_SWAPSIZE 값을 변경한 후 dphys-swapfile 서비스를 정지한 후 다시 시작합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo systemctl stop dphys-swapfile&lt;br /&gt;
$ sudo systemctl start dphys-swapfile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
시스템을 재시작한 후에 free -h 명령을 실행하면, 스왑 크기가 변경되었음을 확인할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@raspberrypi:/home/westporch# free -h&lt;br /&gt;
              total        used        free      shared  buff/cache   available&lt;br /&gt;
Mem:           434M         21M        353M        3.0M         59M        362M&lt;br /&gt;
Swap:          2.0G          0B        2.0G&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Static IP 설정 &amp;lt;ref&amp;gt;https://www.raspberrypi.org/forums/viewtopic.php?t=191140#p1208408&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Raspbian에서 static ip를 설정하기 위해서는 /etc/network/interfaces 파일을 설정하지 않습니다. /etc/dhcp'''cd'''.conf 파일을 수정해야 합니다.&lt;br /&gt;
/etc/dhcpcd.conf에 각자의 네트워크 환경에 따른 주소를 입력합니다. 저는 다음과 같이 설정했습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
- # Example static IP configuration:&lt;br /&gt;
- #interface eth0&lt;br /&gt;
- #static ip_address=192.168.0.10/24&lt;br /&gt;
- #static routers=192.168.0.1&lt;br /&gt;
- #static domain_name_servers=192.168.0.1 8.8.8.8&lt;br /&gt;
+ interface eth0&lt;br /&gt;
+ static ip_address=192.168.0.82/24&lt;br /&gt;
+ static routers=192.168.0.1&lt;br /&gt;
+ static domain_name_servers=168.126.63.1 8.8.8.8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이제 시스템을 재시작하면, 위 옵션에서 지정한 아이피 주소가 설정됩니다.&lt;br /&gt;
&lt;br /&gt;
각각의 항목들은 다음을 의미합니다.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! interface&lt;br /&gt;
! static ip_address&lt;br /&gt;
! static routers&lt;br /&gt;
! static domain_name_servers&lt;br /&gt;
|-&lt;br /&gt;
| Static ip를 설정할 장치명&lt;br /&gt;
| Static ip 주소 및 netmask&lt;br /&gt;
| Gateway&lt;br /&gt;
| DNS&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== SSH 설정 ===&lt;br /&gt;
&lt;br /&gt;
==== SSH 활성화 &amp;lt;ref&amp;gt;https://raspberrypi.stackexchange.com/a/58479&amp;lt;/ref&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
2016년 11월 이후부터 Raspbian에서 기본적으로 SSH 서버는 비활성화 되었습니다. 따라서 SSH를 사용하려면 수동으로 활성화 해야합니다.&lt;br /&gt;
SSH를 활성화 하기 위해서는 다음 과정을 거쳐야합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
① sudo raspi-config 실행&lt;br /&gt;
② Interfacing Options 선택&lt;br /&gt;
③ SSH 선택&lt;br /&gt;
④ Would you like the SSH Server to be enabled? 라는 물음에 Yes를 선택합니다.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== /etc/ssh/sshd_config 수정 ====&lt;br /&gt;
/etc/sshd/sshd_config 파일을 수정합니다.&lt;br /&gt;
&lt;br /&gt;
ssh 기본 포트를 설정합니다. 포트번호는 tcp/22번을 반드시 사용할 필요는 없습니다. well-known 포트를 제외한 선호하는 포트를 사용해도 무방합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
- #Port 22&lt;br /&gt;
+ Port 22&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
모든 주소에서 RPI로 ssh 접속할 수 있도록 ListenAddress를 0.0.0.0으로 설정합니다.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;diff&amp;quot;&amp;gt;&lt;br /&gt;
- #ListenAddress 0.0.0.0&lt;br /&gt;
+ ListenAddress 0.0.0.0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ssh를 재시작합니다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# sudo systemctl restart ssh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== references ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=%EB%8C%80%EB%AC%B8&amp;diff=946</id>
		<title>대문</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=%EB%8C%80%EB%AC%B8&amp;diff=946"/>
		<updated>2020-02-15T01:15:55Z</updated>

		<summary type="html">&lt;p&gt;Westporch: '관련 공지사항'의 링크를 수정함.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 소개 ==&lt;br /&gt;
* 이곳은 [http://debianusers.or.kr 한국 데비안 사용자 모임] 위키입니다.&lt;br /&gt;
* 회원가입을 해야 글을 작성할 수 있습니다. [https://debianusers.or.kr/node/331 (관련 공지사항)]&lt;br /&gt;
* &amp;lt;b&amp;gt;함께&amp;lt;/b&amp;gt; 데비안 문서를 만들어가요.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 위키 문서의 작성 방식에 대하여 ==&lt;br /&gt;
글(위키 문서)에 링크를 덧붙이면 본문의 내용을 '보충'할 수 있습니다. 하지만 주객전도하여, 새로 작성한 위키 문서와 기존 위키를 편집한 부분에는 핵심 내용이 없고, 온전히 외부 사이트의 게시물을 참고하라는 작성 방식(아래 링크)은 피하셨으면 합니다.&lt;br /&gt;
&lt;br /&gt;
* [[Brother_Printer]]&lt;br /&gt;
* [[NetBook]]&lt;br /&gt;
* [https://wiki.debianusers.or.kr/index.php?title=버추얼박스에_데비안_설치하기&amp;amp;diff=prev&amp;amp;oldid=587 버추얼박스에 데비안 설치하기]&lt;br /&gt;
&lt;br /&gt;
우리 커뮤니티의 위키 문서가 '자세한 설명'으로 작성되기를 바랍니다.&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.debianusers.or.kr/index.php?title=Certbot&amp;diff=944</id>
		<title>Certbot</title>
		<link rel="alternate" type="text/html" href="http://wiki.debianusers.or.kr/index.php?title=Certbot&amp;diff=944"/>
		<updated>2019-06-30T17:20:17Z</updated>

		<summary type="html">&lt;p&gt;Westporch: /* 주의할 점 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://i.creativecommons.org/l/by-sa/4.0/80x15.png 이 문서는 [https://creativecommons.org/licenses/by-sa/4.0/ 크리에이티브 커먼즈 저작자표시-동일조건변경허락 4.0 국제 라이선스]에 따라 이용할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
== 요약 ==&lt;br /&gt;
크론(cron)과 시스템디(systemd)를 사용하여, 레츠 인크립트(Let's Encrypt)의 SSL 인증서를 자동으로 갱신하는 과정을 다룹니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:certbot_auto_renewal_process.png|1300px]]&lt;br /&gt;
&lt;br /&gt;
== 시스템 환경 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 운영체제&lt;br /&gt;
! 시스템디(systemd) 버전&lt;br /&gt;
! 웹 서버(Nginx) 버전&lt;br /&gt;
! 서트봇(certbot) 버전 &lt;br /&gt;
|-&lt;br /&gt;
| Debian GNU/Linux 9.1 (stretch)&lt;br /&gt;
| v232&lt;br /&gt;
| v1.10.3&lt;br /&gt;
| v0.28.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
서트봇은 레츠 인크립트(Let's Encrypt)의 SSL 인증서를 발급 및 갱신하는 프로그램입니다.&lt;br /&gt;
&lt;br /&gt;
== 레츠 인크립트(Let's Encrypt)의 인증서를 자동으로 갱신하기 ==&lt;br /&gt;
&lt;br /&gt;
=== 주의할 점 ===&lt;br /&gt;
&lt;br /&gt;
* 데비안 9(stretch) 이상의 버전을 사용[테스팅(testing)과 불안정(unstable) 릴리스도 모두 포함]할 경우에는, 크론을 사용해서 인증서를 갱신하면 안 됩니다.  왜냐하면 시스템디(systemd)를 활용(certbot.timer와 certbot.service)하여 매일 2회에 걸쳐 자동으로 인증서를 갱신하기 때문입니다. (서트봇을 설치하면 자동으로 /lib/systemd/system/certbot.timer와 /lib/systemd/system/certbot.service 파일, 그리고 /etc/cron.d/certbot 파일이 생성됩니다. 만약 시스템이 시스템디를 사용한다면 이 파일들 중에서 cerbot.timer와 certbot.service를 사용해서 자동으로 인증서를 갱신합니다. 따라서 시스템 관리자는 인증서 갱신 설정 및 작업을 할 필요가 없습니다.) 만약 시스템 관리자가 별도로 크론탭에 인증서 갱신 명령어를 등록(예외 처리를 하지 않았을 경우)하면, 크론탭의 인증서 갱신 명령과 시스템디를 활용하여 인증서를 갱신하는 명령이 중복으로 실행됩니다. 인증서의 갱신 명령이 여러 번 실행된다고 해서, 시스템에 치명적인 문제를 유발하지는 않습니다. 다만 수행하지 않아도 되는 작업을 반복해서 수행하기 때문에 시스템의 관리 측면에서 볼 때 비효율적입니다. 만약 크론탭에 예외 처리를 하지 않은 명령을 아래와 같이 등록하면, 시스템디를 활용하여 인증서를 갱신하는 작업과 크론탭에 등록된 인증서를 갱신하는 작업이 반복되는 문제가 발생합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0 0,12 * * * /usr/bin/certbot -q renew&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
그래서 certbot을 설치할 때 자동으로 생성된 /etc/cron.d/certbot 파일에는, 시스템디가 설치되어 있을 때 크론 작업을 수행하지 않도록 예외처리가 적용되었습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;3, 17,9,10,11&amp;quot;&amp;gt;&lt;br /&gt;
# /etc/cron.d/certbot: crontab entries for the certbot package&lt;br /&gt;
#&lt;br /&gt;
# Upstream recommends attempting renewal twice a day&lt;br /&gt;
#&lt;br /&gt;
# Eventually, this will be an opportunity to validate certificates&lt;br /&gt;
# haven't been revoked, etc.  Renewal will only occur if expiration&lt;br /&gt;
# is within 30 days.&lt;br /&gt;
#&lt;br /&gt;
# Important Note!  This cronjob will NOT be executed if you are&lt;br /&gt;
# running systemd as your init system.  If you are running systemd,&lt;br /&gt;
# the cronjob.timer function takes precedence over this cronjob.  For&lt;br /&gt;
# more details, see the systemd.timer manpage, or use systemctl show&lt;br /&gt;
# certbot.timer.&lt;br /&gt;
SHELL=/bin/sh&lt;br /&gt;
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&lt;br /&gt;
&lt;br /&gt;
0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system &amp;amp;&amp;amp; perl -e 'sleep int(rand(43200))' &amp;amp;&amp;amp; certbot -q renew&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 데비안 8(jessie) 이하의 버전을 사용할 경우에는 크론을 사용해서 SSL 인증서를 갱신해야 합니다. 아래 명령&amp;lt;ref&amp;gt;https://certbot.eff.org/lets-encrypt/debianjessie-nginx&amp;lt;/ref&amp;gt;을 실행하여, 크론탭에 인증서 갱신 작업을 등록하면 매일 2회에 걸쳐 자동으로 인증서를 갱신합니다. 크론탭에 매일 자정과 정오에 인증서 갱신 명령을 수행하도록 지정했지만, 임의의 지연 시간 때문에 인증서 연장 명령어가 정확히 자정과 정오에 실행되지는 않습니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo &amp;quot;0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' &amp;amp;&amp;amp; certbot renew&amp;quot; | sudo tee -a /etc/crontab &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다음은 지금까지 설명한 내용을 유사코드(pseudo-code)로 간략히 작성한 것입니다. 자세한 내용은 플로 차트를 확인해 주십시오.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IF ((릴리스_유형 = stable AND 데비안_버전 ≥ 9.0) OR (릴리스_유형 = testing) OR (릴리스_유형 = unstable)) THEN&lt;br /&gt;
&lt;br /&gt;
    IF (시스템디를 사용) THEN&lt;br /&gt;
       // 시스템디(systemd)를 사용하여, SSL 인증서의 갱신을 자동화한다.&lt;br /&gt;
       certbot.timer 실행&lt;br /&gt;
       certbot.service 실행    &lt;br /&gt;
   ELSE&lt;br /&gt;
         크론(cron)을 사용하여, SSL 인증서의 갱신을 자동화한다.&lt;br /&gt;
   ENDIF&lt;br /&gt;
   &lt;br /&gt;
ELSE&lt;br /&gt;
    크론을 사용하여, SSL 인증서의 갱신을 자동화한다.&lt;br /&gt;
ENDIF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== systemd를 활용하여 인증서를 갱신하는 과정 ===&lt;br /&gt;
&lt;br /&gt;
==== /lib/systemd/system/certbot.timer ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;2,5,6&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Run certbot twice daily&lt;br /&gt;
&lt;br /&gt;
[Timer]&lt;br /&gt;
OnCalendar=*-*-* 00,12:00:00&lt;br /&gt;
RandomizedDelaySec=43200&lt;br /&gt;
Persistent=true&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=timers.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OnCalendar(인증서_갱신_시각)부분에, 매일 2회(정오, 자정)에 걸쳐 인증서를 자동으로 갱신한다고 설정되었지만, 항상 정오와 자정에 인증서를 갱신하지는 않습니다. 왜냐하면 ‘RandomizedDelaySec(인증서_갱신_지연_시각)=43200’ 옵션이 있기 때문입니다. 이 옵션의 의미는 인증서_갱신_지연_시각을 항상 43200으로 취한다는 것이 아니라, 0 ~ 43200 범위 중에서 임의의 값(즉 0시간 ~ 12시간) 한 개를 선택한다는 의미합니다. 최종적으로 인증서를 갱신할 시각은 아래 공식으로 계산합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
인증서_갱신_시각 ← 인증서_갱신_시각 + 인증서_갱신_지연_시각&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
systemctl list-timers 명령어로 타이머 목록을 확인하면, certbot.timer가 ‘2019-06-30 10:25:47 KST’에 실행되었음을 알 수 있습니다. 그리고 이 다음에 certbot.timer가 실행할 시각은 ‘2019-06-30 15:13:03 KST’입니다. 매일 2회에 걸쳐서 인증서를 갱신한다는 것을 잊지 말아 주십시오.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
# systemctl list-timers&lt;br /&gt;
NEXT                         LEFT          LAST                         PASSED       UNIT                         ACTIVATES&lt;br /&gt;
Sun 2019-06-30 10:39:00 KST  9min left     Sun 2019-06-30 10:09:01 KST  20min ago    phpsessionclean.timer        phpsessionclean.service&lt;br /&gt;
Sun 2019-06-30 15:13:03 KST  4h 43min left Sun 2019-06-30 10:25:47 KST  3min 43s ago certbot.timer                certbot.service&lt;br /&gt;
Mon 2019-07-01 00:24:11 KST  13h left      Sun 2019-06-30 07:09:48 KST  3h 19min ago apt-daily.timer              apt-daily.service&lt;br /&gt;
Mon 2019-07-01 01:21:15 KST  14h left      Sun 2019-06-30 01:21:15 KST  9h ago       systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service&lt;br /&gt;
Mon 2019-07-01 06:59:27 KST  20h left      Sun 2019-06-30 06:05:54 KST  4h 23min ago apt-daily-upgrade.timer      apt-daily-upgrade.service&lt;br /&gt;
&lt;br /&gt;
5 timers listed.&lt;br /&gt;
Pass --all to see loaded but inactive timers, too.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
certbot.timer가 다음에 실행할 시각이 왜 이렇게 되는지 알아보도록 하겠습니다. 우선 journalctl -u cerbot.timer 명령어로 certbot.timer의 로그를 살펴보도록 하겠습니다. 아래 로그를 보면 6월 30일 10시 25분 48초에  두 줄이 기록되었습니다. cerbot.timer가 실행되면 해당 시각의 로그는 두 줄이 기록됩니다. 이때 첫 번째가 아닌 두 번째의 로그에서 임의의 시간(random time) 값을 취합니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;8&amp;quot;&amp;gt;&lt;br /&gt;
# journalctl -u certbot.timer&lt;br /&gt;
(..생략..)&lt;br /&gt;
Jun 29 05:29:28 drupal systemd[1]: certbot.timer: Adding 9h 8min 8.249536s random time.&lt;br /&gt;
Jun 29 05:29:28 drupal systemd[1]: certbot.timer: Adding 5h 57min 35.065975s random time.&lt;br /&gt;
Jun 29 17:57:38 drupal systemd[1]: certbot.timer: Adding 5h 13min 33.628385s random time.&lt;br /&gt;
Jun 29 17:57:38 drupal systemd[1]: certbot.timer: Adding 10h 25min 40.174131s random time.&lt;br /&gt;
Jun 30 10:25:48 drupal systemd[1]: certbot.timer: Adding 4h 30min 44.761944s random time.&lt;br /&gt;
Jun 30 10:25:48 drupal systemd[1]: certbot.timer: Adding 3h 13min 3.784704s random time.&lt;br /&gt;
Jun 30 15:13:12 drupal systemd[1]: certbot.timer: Adding 2h 1min 43.960225s random time.&lt;br /&gt;
Jun 30 15:13:12 drupal systemd[1]: certbot.timer: Adding 5h 13min 56.474331s random time.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
다음 번에 인증서를 갱신할 시각이 ‘2019-06-30 15:13:03 KST’ 이라는 것은 아래 공식으로 계산할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
인증서_갱신_시각(2019-06-30 15:13:03 KST) ← 인증서_갱신_시각(12시 00분 00초) + 인증서_갱신_지연_시각(3h 13min 3.784704s)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== /lib/systemd/system/certbot.service ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;7&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Certbot&lt;br /&gt;
Documentation=file:///usr/share/doc/python-certbot-doc/html/index.html&lt;br /&gt;
Documentation=https://letsencrypt.readthedocs.io/en/latest/&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
ExecStart=/usr/bin/certbot -q renew&lt;br /&gt;
PrivateTmp=true&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
이전 단계에서 certbot.timer를 통해 다음 번에 인증서를 갱신할 시각이 '2019-06-30 15:13:03 KST' 임을 알았습니다. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
인증서_갱신_시각(2019-06-30 15:13:03 KST) ← 인증서_갱신_시각(12시 00분 00초) + 인증서_갱신_지연_시각(3h 13min 3.784704s)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
현재 시스템의 시각이 인증서_갱신_시각(2019-06-30 15:13:03 KST)과 동일하다면, certbot.service는 '/usr/bin/certbot -q renew' 명령어를 실행합니다. 이때 인증서의 만료 날짜에서 현재 시스템의 날짜를 뺀 값이 30일 이내 일 때만 인증서가 갱신됩니다. 두 값의 차가 30일을 초과할 때는 인증서가 갱신되지 않습니다.&lt;br /&gt;
&lt;br /&gt;
다음은 지금까지 설명한 내용을 유사코드(pseudo-code)로 간략히 작성한 것입니다. 자세한 내용은 플로 차트를 확인해 주십시오.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IF (인증서_만료_날짜 - 현재_시스템_날짜 ≤ 30) THEN&lt;br /&gt;
    인증서가 갱신됨&lt;br /&gt;
ELSE&lt;br /&gt;
    인증서를 갱신하지 않음&lt;br /&gt;
ENDIF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
journalctl -u certbot.service 명령어로 certbot.service의 로그를 확인하면, 6월 30일 15:13:12에 서트봇이 시작되었음을 알 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; highlight=&amp;quot;숫자&amp;quot;&amp;gt;&lt;br /&gt;
# journalctl -u certbot.service&lt;br /&gt;
(.. 생략 ..)&lt;br /&gt;
Jun 29 05:29:27 drupal systemd[1]: Starting Certbot...&lt;br /&gt;
Jun 29 05:29:28 drupal systemd[1]: Started Certbot.&lt;br /&gt;
Jun 29 17:57:37 drupal systemd[1]: Starting Certbot...&lt;br /&gt;
Jun 29 17:57:38 drupal systemd[1]: Started Certbot.&lt;br /&gt;
Jun 30 10:25:47 drupal systemd[1]: Starting Certbot...&lt;br /&gt;
Jun 30 10:25:48 drupal systemd[1]: Started Certbot.&lt;br /&gt;
Jun 30 15:13:11 drupal systemd[1]: Starting Certbot...&lt;br /&gt;
Jun 30 15:13:12 drupal systemd[1]: Started Certbot.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/var/log/letsencrypt/letsencrypt.log를 살펴보면 아래 내용이 기록되었습니다. '인증서_만료_날짜 - 현재_시스템_날짜'를 계산한 값이 30일을 초과하기 때문에 인증서가 갱신되지 않았습니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2019-06-30 15:13:12,103:INFO:certbot.renewal:Cert not yet due for renewal&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 각주 ==&lt;/div&gt;</summary>
		<author><name>Westporch</name></author>
		
	</entry>
</feed>