fedorapeople.org
本稿は Fedora の貢献者が世界中でファイル共有のためにアップロードできる fedorapeople.org で、あなたの個人スペースを作成して使用する方法の詳細を説明します。それは spec ファイル、SRPM、パッチ、個人リポジトリ等をアップロードするために最適です。
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 制御で 150 MB のスペースを持てます。
- あなたのスペースを使い切ったら、必要ない領域をクリーンアップすべきです。もし、それ以上クリーンアップできないなら quota 制限を上げるために fedora インフラ担当者へ連絡するようにしてください。
- ウェブ上に公開されたスペースを作成するために
public_html
ディレクトリを作成してください。 - 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
BETA git ホスティングサポート
現在 fedorapeople.org はホスティングのために gitweb で提供しているサービスと同様に匿名ダウンロードのために git:// 経由でのアクセスを含めて git リポジトリをサポートしています。 これは beta と見なされるべきです。
次に fedorapeople.org で git を使い始める方法を簡単に紹介します。これはあなたが既に git に少し慣れていることを前提としています。慣れていないなら Git クイックリファレンスで調べる方が良いかもしれません。
fedorapeople.org で ~/public_git
ディレクトリを作成する
ssh your_fedora_username@fedorapeople.org "mkdir ~/public_git"
~/public_git
で新たな git リポジトリを作成する
サンプルとして ローカルシステム上 に空のリポジトリを作成して、その空リポジトリをアップロードする方法を紹介します。
mkdir repo.git cd repo.git git --bare init touch git-daemon-export-ok cd .. scp -r repo.git/ your_fedora_username@fedorapeople.org:public_git/
このサンプルは bare リポジトリ(例えば、ワーキングディレクトリを持たないリポジトリ)を作成します。それは (大半のユーザは見慣れている) non-bare リポジトリの .git
ディレクトリの一部であるファイルのみを含みます。
{{admon/caution|Non-bare リポジトリ| non-bare リポジトリは動作 すべき ではありますが、そのようなリポジトリに push することは一般的に推奨されていません。しかし、あなたが non-bare リポジトリをどうしても使用するなら、トップレベルの git ディレクトリに git-daemon-export-ok ファイルを置くべきです。例えば、~/public_git/your_repo.git/git-daemon-export-ok
です。また ~/public_git/your_repo.git/.git/git-daemon-export-ok
では ありません。
~/public_git
への既存リポジトリへアップロードする
fedorapeople 上に使用したい既存のリポジトリを持っているなら、もっと簡単にできます。
git clone --bare /path/to/local/repo repo.git touch repo.git/git-daemon-export-ok scp -r repo.git/ your_fedora_username@fedorapeople.org:public_git/
ここでも前のセクションで説明した警告が同様に適用されます。
リポジトリに対して push する
ローカルリポジトリの変更を push するためには次のようにします。
cd /path/to/local/repo git remote add fedorapeople your_fedora_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_fedora_username@fedorapeople.org cd ~/public_git/repo.git/hooks ln -svbf /usr/bin/git-update-server-info post-update
また ~/public_html/git から ~/public_git へシンボリックリンクを作成することも必要です。
cd ~/public_html ln -svbf ../public_git git
次のコマンドで http:// 経由でリポジトリをクローンすることもできます。
git clone http://your_fedora_username.fedorapeople.org/git/repo.git/
gitweb 経由でプロジェクトをブラウズする
プロジェクトリストが更新されると gitweb であなたのプロジェクトが表示されます。このリストは1時間毎に更新されます。 gitweb URL は変更されるかもしれないので注意してください。