diff --git a/content/labs/misc/2013-02-09-make_network-installable_repository_by_apt-mirror.md b/content/labs/misc/2013-02-09-make_network-installable_repository_by_apt-mirror.md index 6bd4ec9..0c234c4 100644 --- a/content/labs/misc/2013-02-09-make_network-installable_repository_by_apt-mirror.md +++ b/content/labs/misc/2013-02-09-make_network-installable_repository_by_apt-mirror.md @@ -2,12 +2,6 @@ title: apt-mirrorを使ってネットワークインストール可能なレポジトリを作成する author: kazu634 date: 2013-02-09 -has_been_twittered: - - yes -tmac_last_id: - - 314310983340421120 -wordtwit_post_info: - - 'O:8:"stdClass":13:{s:6:"manual";b:0;s:11:"tweet_times";s:1:"1";s:5:"delay";s:1:"0";s:7:"enabled";s:1:"1";s:10:"separation";i:60;s:7:"version";s:3:"3.7";s:14:"tweet_template";b:0;s:6:"status";i:3;s:6:"result";a:0:{}s:13:"tweet_counter";i:1;s:13:"tweet_log_ids";a:0:{}s:9:"hash_tags";a:0:{}s:8:"accounts";a:1:{i:0;s:7:"kazu634";}}' categories: - apt - インフラ @@ -27,77 +21,84 @@ Windowsでいうところの、WSUSサーバをイントラネット内部に設 ## どうすればレポジトリを作成できるの? -apt-mirrorを使います。 +`apt-mirror`を使います。 -
aptitude install apt-mirror+``` +# aptitude install apt-mirror +``` -設定ファイルは /etc/apt/mirror.list です。debian-installの設定を追加する必要があります。私の設定はこのようになりました: +設定ファイルは`/etc/apt/mirror.list`です。debian-installの設定を追加する必要があります。私の設定はこのようになりました: -
############# config ################## -# -set base_path /share/apt-mirror -# -# set mirror_path $base_path/mirror -# set skel_path $base_path/skel -# set var_path $base_path/var -# set cleanscript $var_path/clean.sh -# set defaultarch <running host architecture> -# set postmirror_script $var_path/postmirror.sh -# set run_postmirror 0 -set nthreads 20 -set _tilde 0 -# -############# end config ############## - -deb http://archive.ubuntu.com/ubuntu precise main restricted universe multiverse -deb http://archive.ubuntu.com/ubuntu precise-security main restricted universe multiverse -deb http://archive.ubuntu.com/ubuntu precise-updates main restricted universe multiverse -deb http://archive.ubuntu.com/ubuntu precise-proposed main restricted universe multiverse -deb http://archive.ubuntu.com/ubuntu precise-backports main restricted universe multiverse - -# debian installer here -deb http://archive.ubuntu.com/ubuntu precise main/debian-installer restricted/debian-installer - -deb-src http://archive.ubuntu.com/ubuntu precise main restricted universe multiverse -deb-src http://archive.ubuntu.com/ubuntu precise-security main restricted universe multiverse -deb-src http://archive.ubuntu.com/ubuntu precise-updates main restricted universe multiverse -deb-src http://archive.ubuntu.com/ubuntu precise-proposed main restricted universe multiverse -deb-src http://archive.ubuntu.com/ubuntu precise-backports main restricted universe multiverse - -clean http://archive.ubuntu.com/ubuntu+``` +############# config ################## +# +set base_path /share/apt-mirror +# +# set mirror_path $base_path/mirror +# set skel_path $base_path/skel +# set var_path $base_path/var +# set cleanscript $var_path/clean.sh +# set defaultarch <running host architecture> +# set postmirror_script $var_path/postmirror.sh +# set run_postmirror 0 +set nthreads 20 +set _tilde 0 +# +############# end config ############## -私の場合デフォルトのミラー作成先 (/var/spool/apt-mirror) から変更 (/share/apt-mirror)したかったため、以下のコマンドを実行しています。 +deb http://archive.ubuntu.com/ubuntu precise main restricted universe multiverse +deb http://archive.ubuntu.com/ubuntu precise-security main restricted universe multiverse +deb http://archive.ubuntu.com/ubuntu precise-updates main restricted universe multiverse +deb http://archive.ubuntu.com/ubuntu precise-proposed main restricted universe multiverse +deb http://archive.ubuntu.com/ubuntu precise-backports main restricted universe multiverse -
sudo cp -pr /var/spool/apt-mirror/ /share/+# debian installer here +deb http://archive.ubuntu.com/ubuntu precise main/debian-installer restricted/debian-installer + +deb-src http://archive.ubuntu.com/ubuntu precise main restricted universe multiverse +deb-src http://archive.ubuntu.com/ubuntu precise-security main restricted universe multiverse +deb-src http://archive.ubuntu.com/ubuntu precise-updates main restricted universe multiverse +deb-src http://archive.ubuntu.com/ubuntu precise-proposed main restricted universe multiverse +deb-src http://archive.ubuntu.com/ubuntu precise-backports main restricted universe multiverse + +clean http://archive.ubuntu.com/ubuntu +``` + +私の場合デフォルトのミラー作成先 (`/var/spool/apt-mirror`) から変更 (`/share/apt-mirror`)したかったため、以下のコマンドを実行しています。 + +``` +# sudo cp -pr /var/spool/apt-mirror/ /share/ +``` ## Nginxの設定 レポジトリを公開するためには、HTTPでインデックスを表示できなければいけません。私は以下の設定を実施しています: -
server { - listen 80; - - root /share/apt-mirror/mirror/archive.ubuntu.com; - index index.html index.htm; - - server_name repository.kazu634.lan; - - access_log /var/log/nginx/repository.kazu634.lan.access.log; - error_log /var/log/nginx/repository.kazu634.lan.error.log; - - autoindex on; - gzip on; -}+``` +server { + listen 80; + + root /share/apt-mirror/mirror/archive.ubuntu.com; + index index.html index.htm; + + server_name repository.kazu634.lan; + + access_log /var/log/nginx/repository.kazu634.lan.access.log; + error_log /var/log/nginx/repository.kazu634.lan.error.log; + + autoindex on; + gzip on; +} +``` autoindexをonにするのがポイントです。 ## レポジトリの内容を定期的に更新する - 以下の設定ファイルを更新します。コメントアウトを外して、cronの書式で好きな頻度で実行できるようにしてください。 -
# -# Regular cron jobs for the apt-mirror package -# -0 4 * * * apt-mirror /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log- - +``` +# +# Regular cron jobs for the apt-mirror package +# +0 4 * * * apt-mirror /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log +```