Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
ローカルミラーのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
ローカルミラー
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:パッケージ管理]] [[de:Eigenen Mirror erstellen]] [[en:Local Mirror]] [[ru:Local Mirror]] [[zh-hans:Local Mirror]] {{Warning|公式ミラーを作成したい場合は[[DeveloperWiki:新しいミラー|こちらのページ]]を参照してください。}} 無駄に帯域幅を浪費することになるためローカルミラーの作成は基本的に推奨されません。[[pacman ヒント#pacman のキャッシュをネットワークで共有する]]に書かれている方法も見てください。 ==ローカルミラー== ===注意事項=== * ミラーの帯域幅は無料ではありません。あなたにデータを届けるためにミラーは必要経費を払っています。 ** あなたが ISP に払っている料金とは別にミラーは費用を負担しています。 ** 完全なミラー (32+64ビット) を作成すると容量が 41GB 以上にもなります (2015年1月21日現在)。 * ダウンロードされたパッケージの多くは一度も使われないでしょう。 * ミラーの運営者は必要なパッケージだけがダウンロードされることを好むはずです。 * 上記のリンクに書かれている方法で問題を解決できないか試してみてください。 ローカルミラー以外に方法がないという場合にのみ、以下のガイドを見てください。 ===サーバー設定=== ====Rsync コマンド==== * [[en2:DeveloperWiki:NewMirrors|DeveloperWiki:NewMirrors]] に書かれている rsync の引数を使用。 * 上記の記事からサーバーを選択。 * 必要ないフォルダやファイルは rsync の引数で {{Ic|1=--exclude-from="/path/to/exclude.txt"}} と指定して除外。例: iso #Exclude i686 Packages */os/i686 pool/*/*-i686.pkg.tar.xz pool/*/*-i686.pkg.tar.gz #Exclude x86_64 Packages */os/x86_64 pool/*/*-x86_64.pkg.tar.xz pool/*/*-x86_64.pkg.tar.gz * 全てのパッケージは pool ディレクトリに存在します。pool から core/extra/testing などにシンボリックリンクが作成されます。 ** 2010年9月21日現在、移行は完了していません。 *** ${repo}/os/${arch} にシンボリックリンクではなく実際のパッケージが存在することもあります。 * 不要なトップレベルディレクトリは除外。 コマンド例: {{Ic|1=rsync ''$rsync_arguments'' --exclude-from="/path/to/exclude.txt" ''rsync://example.com/'' /path/to/destination}} ====サンプルスクリプト==== {{Warning| * 以下のスクリプトを使うときはかならずこの記事の一番上に書かれている警告を読んでください。 * 以下のスクリプトで同期するのは Core/Extra/Community だけにしてください。Testing や gnome-unstable などを使う場合は {{ic|rsync --exclude}} を使用するようにしてください。}} コピーアンドペーストでミラーが作れてしまわないように、以下のスクリプトは意図的に一部が壊れています。修正は簡単です (本当にローカルミラーが必要なのであれば)。 #!/bin/bash ################################################################################################# ### It is generally frowned upon to create a local mirror due the bandwidth that is required. ### One of the alternatives will likely fulfill your needs. ### REMEMBER: ### * Bandwidth is not free for the mirrors. They must pay for all the data they serve you ### => This still applies although you pay your ISP ### => There are many packages that will be downloaded that you will likely never use ### => Mirror operators will much prefer you to download only the packages you need ### * Really please look at the alternatives on this page: ### https://wiki.archlinux.org/index.php?title=Local_Mirror ### If you are ABSOLUTELY CERTAIN that a local mirror is the only sensible solution, then this ### script will get you on your way to creating it. ################################################################################################# # Configuration SOURCE='rsync://mirror.example.com/archlinux' DEST='/srv/mirrors/archlinux' BW_LIMIT='500' REPOS='core extra' RSYNC_OPTS="-rtlHq --delete-after --delay-updates --copy-links --safe-links --max-delete=1000 --bwlimit=${BW_LIMIT} --delete-excluded --exclude=.*" LCK_FLE='/var/run/repo-sync.lck' PATH='/usr/bin' # Make sure only 1 instance runs if [ -e "$LCK_FLE" ] ; then OTHER_PID=$(cat $LCK_FLE) echo "Another instance already running: $OTHER_PID" exit 1 fi echo $$ > "$LCK_FLE" for REPO in $REPOS ; do echo "Syncing $REPO" rsync $RSYNC_OPTS ${SOURCE}/${REPO} ${DEST} done # Cleanup rm -f "$LCK_FLE" exit 0 ====lftp を使用するミラースクリプト==== lftp では ftp や http など複数のプロトコルでミラーリングを行えます。エラー時には再起動し、バックグラウンドで実行することもできます。以下のスクリプトを $PATH に通すことでログアウトしても簡単に複製を続行できます。 #!/usr/bin/lftp -f lcd /local/path/to/your/mirror open ftp.archlinux.org (or whatever your favorite mirror is) # Use 'cd' to change into the proper directory on the mirror, if necessary. mirror -cve -x '.*i686.*' core & mirror -cve -x '.*i686.*' extra & mirror -cve -x '.*i686.*' community & mirror -cve -x '.*i686.*' multilib & lcd pool cd pool mirror -cve -x '.*i686.*' community & mirror -cve -x '.*i686.*' packages & ミラーの現在の状態を確認したい場合、ターミナルで lftp を開いて 'attach <PID>' と入力してください。 ====部分的なミラーリング==== ほとんどのパッケージは `pool/` にまとめられているため、一部のリポジトリだけをミラーリングするのは簡単ではありません。詳しくは [http://blog.invokk.net/2012/01/mirroring-only-some-repositories-of-archlinux/ こちらのブログ記事] を読んでください。 ミラーしたいパッケージを全てインストールして、http サーバーを設定してパッケージキャッシュを共有する方法があります。{{ic|lighttpd.conf}} の例: # This is a minimal example config # See /usr/share/doc/lighttpd # and http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions server.port = 80 server.username = "http" server.groupname = "http" server.document-root = "/var/cache/pacman/pkg" server.errorlog = "/var/log/lighttpd/error.log" dir-listing.activate = "enable" index-file.names = ( "index.html" ) mimetype.assign = ( ".html" => "text/html", ".txt" => "text/plain", ".jpg" => "image/jpeg", ".png" => "image/png", "" => "application/octet-stream" ) {{ic|pacman -Syu}} を実行すればミラーが更新されます。マルチアーキテクチャでは上手くいかないので注意してください。 ====ミラーの構成==== *HTTP (LAN) **[[LAMP]] **[[Lighttpd]] *FTP (LAN) **[[vsftpd]] *物理メディア **フラッシュドライブ **外部 HD ===クライアント設定=== * {{ic|/etc/pacman.d/mirrorlist}} に {{ic|1=Server=}} を追加してください。 * (フラッシュドライブなど) 物理メディアをローカルミラーとして使用する場合 {{ic|<nowiki>Server = file:///mnt/media/repo/$repo/os/$arch</nowiki>}} と指定してください ({{ic|/mnt/media/repo}} はローカルミラーが存在するディレクトリに置き換えてください)。
このページで使用されているテンプレート:
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:Warning
(
ソースを閲覧
)
ローカルミラー
に戻る。
検索
検索
ローカルミラーのソースを表示
話題を追加