From Fedora Project Wiki
(目次と fedorapeople.org)
 
m (スペースの追加に関する修正)
(5 intermediate revisions by the same user not shown)
Line 5: Line 5:
本稿は Fedora の貢献者が世界中でファイル共有のためにアップロードできる [http://fedorapeople.org fedorapeople.org] で、あなたの個人スペースを作成して使用する方法の詳細を説明します。それは spec ファイル、SRPM、パッチ、個人リポジトリ等をアップロードするために最適です。
本稿は Fedora の貢献者が世界中でファイル共有のためにアップロードできる [http://fedorapeople.org fedorapeople.org] で、あなたの個人スペースを作成して使用する方法の詳細を説明します。それは spec ファイル、SRPM、パッチ、個人リポジトリ等をアップロードするために最適です。


== あなたの fedorapeople.org スペースへアクセスする ==
== fedorapeople.org スペースへアクセスする ==


# You need an active [https://admin.fedoraproject.org/accounts/ Fedora account]
# [https://admin.fedoraproject.org/accounts/ Fedora アカウント]を有効にする必要があります。
# You must be sponsored in a group (other than the CLA groups)
# 何かのグループを支援するために参加しなければなりません(CLA グループ以外)
# You need to generate a ssh key (ssh-keygen -t rsa).
# ssh キーを生成する必要があります(ssh-keygen -t rsa)
# Upload that ssh key into your Fedora account. To upload, [https://admin.fedoraproject.org/accounts/user/edit visit this link] and select your key file using the ''Public RSA SSH key'' field. Normally your key is stored in your home directory under ''.ssh/id_rsa.pub''. The ssh key gets activated an hour after you upload it.
# Fedora アカウントへ ssh キーをアップロードします。アップロードするために [https://admin.fedoraproject.org/accounts/user/edit このリンクを訪問]して 'Public RSA SSH key'' フィールドにあなたのパブリックキーを選択してください。通常はホームディレクトリの ''.ssh/id_rsa.pub'' にあります。アップロード後 ssh キーが有効になるのに1時間かかります。
# To connect, use the ssh key you uploaded into your Fedora account:
# 接続するために、Fedora アカウントにアップロードした ssh キーを使用してください。


<pre>
<pre>
Line 19: Line 19:
== 一般的な回答 ==
== 一般的な回答 ==


* Each Fedora contributor has 150 MiB of quota-controlled space.
* Fedora 貢献者は quota 制御で 150 MB のスペースを持てます。
* To make a publicly viewable space, create a <code>public_html</code> directory.
* あなたのスペースを使い切ったら、必要ない領域をクリーンアップすべきです。もし、それ以上クリーンアップできないなら quota 制限を上げるために fedora インフラ担当者へ連絡するようにしてください。
* Upload files using scp, sftp, or rsync.
* ウェブ上に公開されたスペースを作成するために <code>public_html</code> ディレクトリを作成してください。
{{admon/tip | Using Nautilus | If you use GNOME, visit [[Infrastructure/fedorapeople.org/Connecting_with_Nautilus | this page]] for an easy way to connect to your fedorapeople.org space.}}
* scp, sftp 又は rsync を使用してファイルをアップロードしてください。


{{admon/tip | Using Dolphin or Konqueror | If you use KDE, type <code>sftp://your_username@fedorapeople.org</code> in your file manager address bar for an easy way to connect to your fedorapeople.org space.}}
{{admon/tip | Nautilus の使用 | GNOME を使用しているなら fedorapeople.org スペースへ接続する簡単な方法について [[Infrastructure/fedorapeople.org/Connecting_with_Nautilus | このページ]]を訪問してください。}}


To copy files from the command line, you can use scp
{{admon/tip | Dolphin 又は Konqueror の使用 | KDE を使用しているなら fedorapeople.org スペースへ接続する簡単な方法として、ファイルマネージャに <code>sftp://your_username@fedorapeople.org</code> を入力してください。}}
 
コマンドラインからファイルをコピーするために scp コマンドを使用することができます。


<pre>
<pre>
Line 32: Line 34:
</pre>
</pre>


* ユーザの public_html ディレクトリへファイルをアップロードすると、そのファイルが http://your_username.fedorapeople.org/ 経由で利用できます。


* Once uploaded into the users public_html directory the files are available via http at: http://your_username.fedorapeople.org/.
* 拡張 ACL を使用して read/write/etc のアクセス権をファイルへ与えてください。ディレクトリ/ファイルへアクセス権を追加するために setfacl getfacl の man ページを確認してください。このサンプルは jkeating というユーザに読み込みと書き込みのアクセス権を <code>file</code> へ与えます。
* Give other users access to read/write/etc files by using extended acls. Read man pages for setfacl and getfacl for adding them to your dirs/files. This gives the user jkeating read and write access to <code>file</code>:


<pre>setfacl -m u:jkeating:rw file</pre>
<pre>setfacl -m u:jkeating:rw file</pre>
Line 40: Line 42:
== ''BETA'' git ホスティングサポート ==
== ''BETA'' git ホスティングサポート ==


fedorapeople.org now has support for hosting git repositories including accessing them via the git:// protocol for anonymous downloads as well as providing gitweb.  ''This should be considered beta.''
現在 fedorapeople.org はホスティングのために gitweb で提供しているサービスと同様に匿名ダウンロードのために git:// 経由でのアクセスを含めて git リポジトリをサポートしています。 ''これは beta と見なされるべきです。''


Here is a quick rundown of how to get started using git on fedorapeople.org.  It assumes that you are already somewhat familiar with git.  You might want to take a look at the [[Git quick reference]].
次に fedorapeople.org で git を使い始める方法を簡単に紹介します。これはあなたが既に git に少し慣れていることを前提としています。慣れていないなら[[Git quick reference| Git クイックリファレンス]]で調べる方が良いかもしれません。


=== fedorapeople.org で <code>~/public_git</code> ディレクトリを作成する ===
=== fedorapeople.org で <code>~/public_git</code> ディレクトリを作成する ===


<pre>ssh your_fedora_username@fedorapeople.org "mkdir ~/public_git"</pre>
<pre>ssh your_fedora_username@fedorapeople.org "mkdir ~/public_git"</pre>


=== <code>~/public_git</code> で新たな git リポジトリを作成する ===
=== <code>~/public_git</code> で新たな git リポジトリを作成する ===


As an example, here is one method to create an empty repository ''on your local system'' and upload it:
サンプルとして ''ローカルシステム上'' に空のリポジトリを作成して、その空リポジトリをアップロードする方法を紹介します。


<pre>
<pre>
Line 62: Line 63:
</pre>
</pre>


This creates a ''bare'' repository (i.e. a repository that has no working directory).  It contains just the files that are part of the <code>.git</code> directory of a ''non-bare'' git repository (the kind most users are accustomed to seeing).
このサンプルは ''bare'' リポジトリ(例えば、ワーキングディレクトリを持たないリポジトリ)を作成します。それは (大半のユーザは見慣れている) ''non-bare'' リポジトリの <code>.git</code> ディレクトリの一部であるファイルのみを含みます。
 


{{admon/important|Repository name must end with .git|Gitweb will not list repos that do not end in <code>.git</code>.|}}
{{admon/important|リポジトリ名は .git 終わらなければなりません| Gitweb repos を表示しません。というのは <code>.git</code> で終わっていないからです。|}}


{{admon/important|Repository access and git-daemon-export-ok|Without the <code>git-daemon-export-ok</code> file, your repository won't be available anonymously via the git:// protocol.}}
{{admon/important|リポジトリアクセスと git-daemon-export-ok|<code>git-daemon-export-ok</code> ファイルなしでは git:// プロトコル経由でリポジトリへ匿名アクセスはできません。}}


{{admon/caution|Non-bare repositories|While non-bare repositories ''should'' work, it is [http://git.or.cz/gitwiki/GitFaq#git-push%20non-bare generally discouraged] to push to such repositories.  However, if you do use a non-bare repository, you should place the git-daemon-export-ok file in the top-level git dir, e.g. <code>~/public_git/your_repo.git/git-daemon-export-ok</code>, '''NOT''' <code>~/public_git/your_repo.git/.git/git-daemon-export-ok</code>}}
{{admon/caution|Non-bare リポジトリ| non-bare リポジトリは動作 ''すべき'' ではありますが、そのようなリポジトリに push することは一般的に推奨されていません。しかし、あなたが non-bare リポジトリをどうしても使用するなら、トップレベルの git ディレクトリに git-daemon-export-ok ファイルを置くべきです。例えば、<code>~/public_git/your_repo.git/git-daemon-export-ok</code> です。また <code>~/public_git/your_repo.git/.git/git-daemon-export-ok</code> では '''ありません'''。


=== <code>~/public_git</code> への既存リポジトリへアップロードする ===
=== <code>~/public_git</code> への既存リポジトリへアップロードする ===


If you have an existing repository you want to use on fedorapeople, you can do so easily:
fedorapeople 上に使用したい既存のリポジトリを持っているなら、もっと簡単にできます。


<pre>
<pre>
Line 81: Line 81:
</pre>
</pre>


The caveats from the previous section apply here as well.
ここでも前のセクションで説明した警告が同様に適用されます。
 


=== あなたのリポジトリに対してプッシュする ===
=== リポジトリに対して push する ===


To push changes from a local repository:
ローカルリポジトリの変更を push するためには次のようにします。


<pre>
<pre>
Line 94: Line 93:
</pre>
</pre>


This creates a mirror of your local repository.  All of the branches and tags in the local repository will be pushed to the fedorapeople repository.
これはローカルリポジトリのミラーを作成します。ローカルリポジトリの全てのブランチとタグは fedorapeople リポジトリへ push されます。


If you only want to push selected branches, amend the <code>git push</code> example.  For example, to push only your local master branch:
選択したブランチへ push したいだけなら <code>git push</code> のサンプルを修正してください。例えば、ローカルのマスタブランチへのみ push するには次のようにします。


<pre>git push fedorapeople master</pre>
<pre>git push fedorapeople master</pre>


{{admon/tip|他のユーザにも push を許可する|他の fedorapeople.org ユーザに、拡張 ACL を使用して(詳細は <code>setfacl(1)</code> を参照)リポジトリへ push することを許可することができます。しかし、あなたのプロジェクトで作業するユーザがたくさんいるなら [http://fedorahosted.org Fedora Hosted] を使用することを強く推奨します。}}


{{admon/tip|Allowing others to push|You can allow other fedorapeople.org users to push to your repository using extended acls (see <code>setfacl(1)</code> for details).  However, if you have many others working on your project, using [http://fedorahosted.org Fedora Hosted] is strongly preferred.}}
=== リポジトリをクローンする ===
 
 
=== あなたのリポジトリをクローンする ===


To clone your repository, use a command similar to:
リポジトリをクローンするために次のコマンドを使用してください。


<pre>git clone git://fedorapeople.org/~your_fedora_username/repo.git</pre>
<pre>git clone git://fedorapeople.org/~your_fedora_username/repo.git</pre>


 
http:// プロトコル経由でプロジェクトをクローンすることもできます。この作業のためにリポジトリを更新するときはいつも <code>git-update-server-info</code> を実行するように調整しなければなりません。通常、これは post-update フックスクリプトで行われます。しかし、fedorapeople.org 上のユーザのホームディレクトリは、そのフックスクリプトの実行が行えない noexec オプションでマウントされています。その代わり、リポジトリのフックディレクトリにある <code>git-update-server-info</code> へのシンボリックリンクを作成します。
It is also possible to clone your project via the http:// protocol.  In order for this to work, you must arrange to have <code>git-update-server-info</code> run whenever you update your repository.  Typically, this is done with a post-update hook script.  However, the user home directories on fedorapeople.org are mounted with the noexec option, which prevents the script from running.  Instead, you may create a symbolic link to <code>git-update-server-info</code> in the hooks directory of your repository:


<pre>
<pre>
Line 119: Line 115:
</pre>
</pre>


 
また ~/public_html/git から ~/public_git へシンボリックリンクを作成することも必要です。
You also need to create a link from ~/public_html/git to ~/public_git:


<pre>
<pre>
Line 127: Line 122:
</pre>
</pre>


次のコマンドで http:// 経由でリポジトリをクローンすることもできます。


You can clone your repository over http:// with a command similar to:
<pre>git clone http://your_fedora_username.fedorapeople.org/git/repo.git/</pre>


<pre>git clone http://your_fedora_username.fedorapeople.org/git/repo.git/</pre>
{{admon/tip|git:// 対 http://|もしファイアウォールのために git:// プロトコルが使えないなら http:// プロトコルのみでクローンしてください。git:// の方が http:// プロトコルよりも速くて効率的です。}}


=== gitweb 経由でプロジェクトをブラウズする ===


{{admon/tip|git:// versus http://|Only clone via http:// if you are behind a firewall that prevents git:// from working. The git:// protocol is faster and more efficient than the http:// protocol for git usage.}}
プロジェクトリストが更新されると [http://fedorapeople.org/gitweb gitweb] であなたのプロジェクトが表示されます。このリストは1時間毎に更新されます。 ''gitweb URL は変更されるかもしれないので注意してください。''


{{admon/tip|リポジトリの説明|リポジトリにある <code>description</code> ファイルを編集することで gitweb に表示されるリポジトリの説明を設定することができます。}}


=== gitweb 経由であなたのプロジェクトをブラウズする ===
{{admon/tip|リポジトリ URL| デフォルトで gitweb リポジトリが表示する URL は正しくありません(2008年中頃のサービスの導入以来、最近は2010年8月11日に確認しました)。正しい URL を含むリポジトリに対する <code>cloneurl</code> をファイルに追加することで対処することができます。


You can see your project listed in [http://fedorapeople.org/gitweb gitweb] once the project list updates. This happens hourly. ''Note that the gitweb URL may change.''
デフォルトの壊れた URL:
<pre>
git://fedorapeople.org/home/fedora/your_fedora_username/public_git/repo.git
ssh://fedorapeople.org/home/fedora/your_fedora_username/public_git/repo.git
</pre>


正しく動作するためには <code>cloneurl</code> ファイルにこれらの URL を追加します。
<pre>
git://fedorapeople.org/~your_fedora_username/repo.git
ssh://fedorapeople.org/~your_fedora_username/public_git/repo.git
</pre>


{{admon/tip|Repository description|You can set the description for the repository that is displayed in gitweb by editing the description file in your repository.}}
}}


[[Category:Infrastructure]]
[[Category:Infrastructure]]

Revision as of 08:39, 19 August 2010

fedorapeople.org

本稿は Fedora の貢献者が世界中でファイル共有のためにアップロードできる fedorapeople.org で、あなたの個人スペースを作成して使用する方法の詳細を説明します。それは spec ファイル、SRPM、パッチ、個人リポジトリ等をアップロードするために最適です。

fedorapeople.org スペースへアクセスする

  1. Fedora アカウントを有効にする必要があります。
  2. 何かのグループを支援するために参加しなければなりません(CLA グループ以外)。
  3. ssh キーを生成する必要があります(ssh-keygen -t rsa)。
  4. Fedora アカウントへ ssh キーをアップロードします。アップロードするために このリンクを訪問して 'Public RSA SSH key フィールドにあなたのパブリックキーを選択してください。通常はホームディレクトリの .ssh/id_rsa.pub にあります。アップロード後 ssh キーが有効になるのに1時間かかります。
  5. 接続するために、Fedora アカウントにアップロードした ssh キーを使用してください。
ssh -i ~/.ssh/id_rsa <your_fedora_id>@fedorapeople.org

一般的な回答

  • 各 Fedora 貢献者は quota 制御で 150 MB のスペースを持てます。
  • あなたのスペースを使い切ったら、必要ない領域をクリーンアップすべきです。もし、それ以上クリーンアップできないなら quota 制限を上げるために fedora インフラ担当者へ連絡するようにしてください。
  • ウェブ上に公開されたスペースを作成するために public_html ディレクトリを作成してください。
  • scp, sftp 又は rsync を使用してファイルをアップロードしてください。
Idea.png
Nautilus の使用
GNOME を使用しているなら fedorapeople.org スペースへ接続する簡単な方法について このページを訪問してください。
Idea.png
Dolphin 又は Konqueror の使用
KDE を使用しているなら fedorapeople.org スペースへ接続する簡単な方法として、ファイルマネージャに sftp://your_username@fedorapeople.org を入力してください。

コマンドラインからファイルをコピーするために scp コマンドを使用することができます。

scp /path/to/file your_fedora_username@fedorapeople.org:/home/fedora/your_fedora_username/public_html
  • 拡張 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 ディレクトリの一部であるファイルのみを含みます。

Important.png
リポジトリ名は .git 終わらなければなりません
Gitweb は repos を表示しません。というのは .git で終わっていないからです。
Important.png
リポジトリアクセスと git-daemon-export-ok
git-daemon-export-ok ファイルなしでは 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
Idea.png
他のユーザにも push を許可する
他の fedorapeople.org ユーザに、拡張 ACL を使用して(詳細は setfacl(1) を参照)リポジトリへ push することを許可することができます。しかし、あなたのプロジェクトで作業するユーザがたくさんいるなら Fedora Hosted を使用することを強く推奨します。

リポジトリをクローンする

リポジトリをクローンするために次のコマンドを使用してください。

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/
Idea.png
git:// 対 http://
もしファイアウォールのために git:// プロトコルが使えないなら http:// プロトコルのみでクローンしてください。git:// の方が http:// プロトコルよりも速くて効率的です。

gitweb 経由でプロジェクトをブラウズする

プロジェクトリストが更新されると gitweb であなたのプロジェクトが表示されます。このリストは1時間毎に更新されます。 gitweb URL は変更されるかもしれないので注意してください。

Idea.png
リポジトリの説明
リポジトリにある description ファイルを編集することで gitweb に表示されるリポジトリの説明を設定することができます。
Idea.png
リポジトリ URL
デフォルトで gitweb リポジトリが表示する URL は正しくありません(2008年中頃のサービスの導入以来、最近は2010年8月11日に確認しました)。正しい URL を含むリポジトリに対する cloneurl をファイルに追加することで対処することができます。

デフォルトの壊れた URL:

git://fedorapeople.org/home/fedora/your_fedora_username/public_git/repo.git
ssh://fedorapeople.org/home/fedora/your_fedora_username/public_git/repo.git

正しく動作するためには cloneurl ファイルにこれらの URL を追加します。

git://fedorapeople.org/~your_fedora_username/repo.git
ssh://fedorapeople.org/~your_fedora_username/public_git/repo.git