ArchLinuxのリポジトリミラーをローカルに立てる

Pocket

Ubuntuでならやったことあるんだけど、そういえばArchLinuxではやったことないな~とふと思ったのでやってみた。

基本はLocal Mirror – ArchWikiの通りにしたんだけど、再三「マジ?やめとけよ、な?無駄だろ?pacman cacheとかにしなよ?な?」と言われまくったので、sync.shの内容は省略する。

ちなみにいつもどおり、ArchLinuxと見せかけてAntergosでの実験である()

 

自分のところにリポジトリミラーを作っておけば、ローカルでの通信になるので非常に高速に処理が可能になる。リモートのミラーサーバからなら、大抵の場合ボトルネックになるのはインターネット回線(というよりミラーサーバ側の通信帯域制限)だけど、ローカルからだとストレージの速度になるんかな。LANはギガビットイーサだし。

 

/dev/sdc1を/var/mirrorとしてmount、その中にLinuxというディレクトリを作成し、その中にミラーリングするようにした。実際ArchLinuxのミラーサーバには不満全然なくていいんだけど、Antergosのほうにこそ不満があるため、こちらもミラーリングする。

ftp.tsukuba.wide.ad.jpから、core, extra, community, iso, multilib、それからmirror.us.leaseweb.netからantergosをrsyncでもらってくる。rsyncするサーバは新しいミラーのガイドライン|antergosウィキで見つけたものを使った。

/var/mirror/Linux/$repoではなく、/var/mirror/Linux/{archlinux, antergos}/$repoという構成にしておかないと、rsyncでmultilibが削除されてしまうので横着せず、それぞれ処理を行う。

最終的なフォルダツリーはこんな感じ。

$ cd /var/mirror/Linux
$ tree -d
.
├── antergos
│ ├── antergos
│ │ ├── i686
│ │ └── x86_64
│ ├── antergos-staging
│ │ ├── i686
│ │ └── x86_64
│ ├── iso
│ │ ├── release
│ │ └── testing
│ │   └── uefi
│ │      └── antergos-staging
│ │         ├── i686
│ │         └── x86_64
│ └── project
│    └── trace
└── archlinux
   ├── community
   │ └── os
   │   └── x86_64
   │     └── local
   ├── core
   │ └── os
   │   ├── i686
   │   └── x86_64
   ├── extra
   │ └── os
   │   ├── i686
   │   └── x86_64
   ├── iso
   │ ├── 2016.06.01
   │ │ └── arch
   │ │       ├── boot
   │ │       │ └── x86_64
   │ │       └── x86_64
   │ ├── 2016.07.01
   │ │ └── arch
   │ │   ├── boot
   │ │   │ └── x86_64
   │ │   └── x86_64
   │ ├── 2016.08.01
   │ │ └── arch
   │ │    ├── boot
   │ │    │ └── x86_64
   │ │    └── x86_64
   │ ├── archboot
   │ │ ├── 2016.05
   │ │ │ └── boot
   │ │ ├── history
   │ │ └── latest
   │ │    └── boot
   │ └── latest
   │    └── arch
   │       ├── boot
   │       │ └── x86_64
   │       └── x86_64
   ├── multilib
   │ └── os
   │ └── x86_64
   └── project
      └── trace
61 directories

後は好きなHTTPサーバを入れて、

・DocumentRootを/var/mirror/Linuxにする

・インデックス表示されるようにするといいかも

・ポート番号変えても良い

mirrorlistはそれぞれこんな感じで。

# ArchLinux
Server = http://localhost:1123/archlinux/$repo/os/$arch

# Antergos
Server = http://localhost:1123/antergos/$repo/$arch

ISOが手元にあるので、毎度インストールメディア作ろうと思って拾ってくる待ち時間を過ごす必要が無くなったし、新規にインストールするのも時間かからずいけるな!って気持ち。

新規にインストールする機会がそう沢山あるのかどうかは置いといて感がすごい。

お茶漬け

たまーに飲み屋で食べるお茶漬けめちゃウマい

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です