fedorapeople.org
本稿は Fedora の貢献者が世界中でファイル共有のためにアップロードできる fedorapeople.org で、あなたの個人スペースを作成して使用する方法の詳細を説明します。それは spec ファイル、SRPM、パッチ、個人リポジトリ等をアップロードするために最適です。
アップロード不許可なコンテンツ
- 法的な理由により配布できないものはfedorapeople.org 上から配布してはいけません。禁止項目 に掲載されているものは表示してはいけません。それらは、Fedoraによって配布不可とされています。
- あなたのSSH秘密鍵をアップロードしてはいけません。Fedoraインフラチームはサーバを一生懸命にサーバを安全に保守管理していますが、邪魔することになるでしょう。アップロードされた秘密鍵は、ダウンロードされ、 簡単に総当たり攻撃される可能性があります。監査中に.sshの秘密鍵が見つかった場合は、削除されます。
fedorapeople.org スペースへアクセスする
- Fedora アカウントを有効にする必要があります。
- 何かのグループを支援するために参加しなければなりません(CLA グループ以外)。
- ssh キーを生成する必要があります(ssh-keygen -t rsa)。
- Fedora アカウントへ ssh キーをアップロードします。アップロードするために このリンクを訪問して 'Public RSA SSH key フィールドにあなたのパブリックキーを選択してください。通常はホームディレクトリの .ssh/id_rsa.pub にあります。アップロード後 ssh キーが有効になるのに1時間かかります。
- 接続するために、Fedora アカウントにアップロードした ssh キーを使用してください。
ssh -i ~/.ssh/id_rsa <your_fedora_id>@fedorapeople.org
一般的な回答
- 各 Fedora 貢献者は quota 制御で 2000000 KiB (およそ 1954 MiB)のスペースを持てます。
- あなたのスペースを使い切ったら、必要ない領域をクリーンアップすべきです。もし、それ以上クリーンアップできないなら quota 制限を上げるために fedora インフラ担当者へ連絡するようにしてください。
- ウェブ上に公開されたスペースを作成するために
public_html
ディレクトリを作成してください。 - fedorapeopleは、開発用途またはレポジトリ作成用途では使われません。レポジトリは他の場所に作成される必要があります。scpもしくはrsyncでアップロードされます。
- あなたの必要とするパッケージをsudoでインストールしないでください。自分がインフラグループでなく、また、sysadmin-mainから承認をもらっていないのなら、追加のパッケージはインストールされません。
- scp, sftp 又は rsync を使用してファイルをアップロードしてください。
コマンドラインからファイルをコピーするために scp コマンドを使用することができます。
scp /path/to/file your_fedora_username@fedorapeople.org:/home/fedora/your_fedora_username/public_html
- ユーザの public_html ディレクトリへファイルをアップロードすると、そのファイルが http://your_username.fedorapeople.org/ 経由で利用できます。
- 拡張 ACL を使用して read/write/etc のアクセス権をファイルへ与えてください。ディレクトリ/ファイルへアクセス権を追加するために setfacl と getfacl の man ページを確認してください。このサンプルは jkeating というユーザに読み込みと書き込みのアクセス権を
file
へ与えます。
setfacl -m u:jkeating:rw file
fedora people git ホスティングサポート
現在 fedorapeople.org はgitレポジトリをホスティングしており、cgit webインターフェースとともに、匿名ダウンロード用の git:// プロトコル経由でのアクセス手段が提供されています。
次に fedorapeople.org で git を使い始める方法を簡単に紹介します。これはあなたが既に git に少し慣れていることを前提としています。慣れていないなら Git クイックリファレンスで調べる方が良いかもしれません。
fedorapeople.org で ~/public_git
ディレクトリを作成する
ssh your_username@fedorapeople.org "mkdir ~/public_git; /sbin/restorecon -Rv ~/public_git"
~/public_git
で新たな git リポジトリを作成する
サンプルとして ローカルシステム上 に空のリポジトリを作成して、その空リポジトリをアップロードする方法を紹介します。
git init --bare repo.git scp -r repo.git/ your_username@fedorapeople.org:~/public_git/
このサンプルは bare リポジトリ(例えば、ワーキングディレクトリを持たないリポジトリ)を作成します。それは (大半のユーザは見慣れている) non-bare リポジトリの .git
ディレクトリの一部であるファイルのみを含みます。
加えて、もしあなたがcgit webインターフェースにあなたのレポジトリを表示させたいなら、次のようにしなければなりません:
touch ~/public_git/yourgitrepo.git/git-daemon-export-ok
デフォルトでは、表示したいどのレポジトリに対しても同様です。
~/public_git
に既存のレポジトリをアップロードする
fedorapeople 上に使用したい既存のリポジトリを持っているなら、もっと簡単にできます。
git clone --bare /path/to/local/repo repo.git scp -r repo.git/ your_fedora_username@fedorapeople.org:public_git/
ここでも前のセクションで説明した警告が同様に適用されます。
リポジトリに対して push する
ローカルリポジトリの変更を push するためには次のようにします。
cd /path/to/local/repo git remote add fedorapeople your_username@fedorapeople.org:public_git/repo.git git push --mirror fedorapeople
これはローカルリポジトリのミラーを作成します。ローカルリポジトリの全てのブランチとタグは fedorapeople リポジトリへ push されます。
選択したブランチへ push したいだけなら git push
のサンプルを修正してください。例えば、ローカルのマスタブランチへのみ push するには次のようにします。
git push fedorapeople master
リポジトリをクローンする
リポジトリをクローンするために次のコマンドを使用してください。
git clone git://fedorapeople.org/~your_fedora_username/repo.git
http:// プロトコル経由でプロジェクトをクローンすることもできます。この作業のためにリポジトリを更新するときはいつも git-update-server-info
を実行するように調整しなければなりません。通常、これは post-update フックスクリプトで行われます。しかし、fedorapeople.org 上のユーザのホームディレクトリは、そのフックスクリプトの実行が行えない noexec オプションでマウントされています。その代わり、リポジトリのフックディレクトリにある git-update-server-info
へのシンボリックリンクを作成します。
ssh your_username@fedorapeople.org cd ~/public_git/repo.git/hooks ln -svbf $(git --exec-path)/git-update-server-info post-update git update-server-info
また ~/public_html/git から ~/public_git へシンボリックリンクを作成することも必要です。
cd ~/public_html ln -svbf ../public_git git
次のコマンドで http:// 経由でリポジトリをクローンすることもできます。
git clone http://your_username.fedorapeople.org/git/repo.git/
cgit 経由でプロジェクトをブラウズする
プロジェクトリストが更新されるとcgitであなたのプロジェクトが表示されます。このリストは1時間毎に更新されます。 gitweb URL は変更されるかもしれないので注意してください。
もし他のユーザに自分のレポジトリへのアクセスさせたい場合、ACL をかけられます。
setfacl -R -m u:<user>:rwX <repo.git> find <repo.git> -type d | xargs setfacl -R -m d:u:<user>:rwX
レポジトリごとのアップロードアーカイブを有効にする
git archive --remote
を使って、レポジトリにアクセスを許したい場合、レポジトリの設定ファイルに以下をセットする必要があります:
[daemon] uploadarch = true
ポリシー
ウイルス
fedorapeople.orgのサーバは、定期的にウイルススキャンを行なっています。個人のホームディレクトリも含みます。Fedoraのドメイン名の上にある、ユーザがアップロードしたファイルがダウンロードされるという性質をもっているためです。
ウイルススキャナがウイルスを報告したらすぐ、別のウイルス検知器でもう一度スキャンされます。これは、ウイルスが本物であることを確認するためです(ただ過剰にスキャンするだけではありません)
二つ目のスキャナもファイルがウイルスであることを報告したならば、そのファイルは非公開のディレクトリに移動され、オーナーに通知されます。
一週間後にそのユーザーから応答がなかったならば、そのファイルは削除されます。