(Updated the Japanese contents) |
|||
(3 intermediate revisions by one other 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 上から配布してはいけません。[https://fedoraproject.org/wiki/Forbidden_items 禁止項目 ] に掲載されているものは表示してはいけません。それらは、Fedoraによって配布不可とされています。 | |||
* あなたのSSH秘密鍵をアップロードしてはいけません。Fedoraインフラチームはサーバを一生懸命にサーバを安全に保守管理していますが、邪魔することになるでしょう。アップロードされた秘密鍵は、ダウンロードされ、 簡単に総当たり攻撃される可能性があります。監査中に.sshの秘密鍵が見つかった場合は、削除されます。 | |||
== fedorapeople.org スペースへアクセスする == | |||
# [https://admin.fedoraproject.org/accounts/ Fedora アカウント]を有効にする必要があります。 | # [https://admin.fedoraproject.org/accounts/ Fedora アカウント]を有効にする必要があります。 | ||
# 何かのグループを支援するために参加しなければなりません(CLA グループ以外)。 | # 何かのグループを支援するために参加しなければなりません(CLA グループ以外)。 | ||
# ssh キーを生成する必要があります(ssh-keygen -t rsa)。 | # ssh キーを生成する必要があります(ssh-keygen -t rsa)。 | ||
# Fedora アカウントへ ssh キーをアップロードします。アップロードするために [https://admin.fedoraproject.org/accounts/user/edit このリンクを訪問]して 'Public RSA SSH key'' フィールドにあなたのパブリックキーを選択してください。通常はホームディレクトリの ''.ssh/id_rsa.pub'' にあります。アップロード後 ssh キーが有効になるのに1時間かかります。 | # Fedora アカウントへ ssh キーをアップロードします。アップロードするために [https://admin.fedoraproject.org/accounts/user/edit このリンクを訪問]して 'Public RSA SSH key'' フィールドにあなたのパブリックキーを選択してください。通常はホームディレクトリの ''.ssh/id_rsa.pub'' にあります。アップロード後 ssh キーが有効になるのに1時間かかります。 | ||
Line 16: | Line 22: | ||
ssh -i ~/.ssh/id_rsa <your_fedora_id>@fedorapeople.org | ssh -i ~/.ssh/id_rsa <your_fedora_id>@fedorapeople.org | ||
</pre> | </pre> | ||
{{admon/important | SSH公開鍵の更新 | もしfedorapeople.orgのSSH公開鍵を更新したくなったら、手でssh/authorized_keysファイルを編集してはいけません。[https://admin.fedoraproject.org/accounts/user/edit いつものFedoraアカウント管理の編集ページ] を通じて更新し、公開鍵が更新されるのを待ちましょう。そうしないと、アカウントからロックアウトされます。}} | |||
== 一般的な回答 == | == 一般的な回答 == | ||
* 各 Fedora 貢献者は quota 制御で | * 各 Fedora 貢献者は quota 制御で 2000000 KiB (およそ 1954 MiB)のスペースを持てます。 | ||
* あなたのスペースを使い切ったら、必要ない領域をクリーンアップすべきです。もし、それ以上クリーンアップできないなら quota 制限を上げるために fedora インフラ担当者へ連絡するようにしてください。 | |||
* ウェブ上に公開されたスペースを作成するために <code>public_html</code> ディレクトリを作成してください。 | * ウェブ上に公開されたスペースを作成するために <code>public_html</code> ディレクトリを作成してください。 | ||
* fedorapeopleは、開発用途またはレポジトリ作成用途では使われません。レポジトリは他の場所に作成される必要があります。scpもしくはrsyncでアップロードされます。 | |||
* あなたの必要とするパッケージをsudoでインストールしないでください。自分がインフラグループでなく、また、sysadmin-mainから承認をもらっていないのなら、追加のパッケージはインストールされません。 | |||
* scp, sftp 又は rsync を使用してファイルをアップロードしてください。 | * scp, sftp 又は rsync を使用してファイルをアップロードしてください。 | ||
{{admon/tip | Nautilus の使用 | GNOME を使用しているなら fedorapeople.org スペースへ接続する簡単な方法について [[Infrastructure/fedorapeople.org/Connecting_with_Nautilus | このページ]]を訪問してください。}} | {{admon/tip | Nautilus の使用 | GNOME を使用しているなら fedorapeople.org スペースへ接続する簡単な方法について [[Infrastructure/fedorapeople.org/Connecting_with_Nautilus | このページ]]を訪問してください。}} | ||
{{admon/tip | Dolphin 又は Konqueror の使用 | KDE を使用しているなら fedorapeople.org スペースへ接続する簡単な方法として、ファイルマネージャに <code>sftp://your_username@fedorapeople.org</code> を入力してください。}} | {{admon/tip | Dolphin 又は Konqueror の使用 | KDE を使用しているなら fedorapeople.org スペースへ接続する簡単な方法として、ファイルマネージャに <code>sftp://your_username@fedorapeople.org</code> を入力してください。}} | ||
{{admon/tip | Thunarの使用 | もし XFCEを使っているなら, <code>ctrl+l</code>とタイプして、Open Location Dialogue を表示し、<code>sftp://your_username@fedorapeople.org/home/fedora/your_username</code> をローケーションに記入するのが自分のfedorapeople.orgのスペースに接続する簡単な方法です。PCManFMも機能します。}} | |||
コマンドラインからファイルをコピーするために scp コマンドを使用することができます。 | コマンドラインからファイルをコピーするために scp コマンドを使用することができます。 | ||
Line 34: | Line 46: | ||
* ユーザの public_html ディレクトリへファイルをアップロードすると、そのファイルが http://your_username.fedorapeople.org/ 経由で利用できます。 | * ユーザの public_html ディレクトリへファイルをアップロードすると、そのファイルが http://your_username.fedorapeople.org/ 経由で利用できます。 | ||
* 拡張 ACL を使用して read/write/etc のアクセス権をファイルへ与えてください。ディレクトリ/ファイルへアクセス権を追加するために setfacl と getfacl の man ページを確認してください。このサンプルは jkeating というユーザに読み込みと書き込みのアクセス権を <code>file</code> へ与えます。 | * 拡張 ACL を使用して read/write/etc のアクセス権をファイルへ与えてください。ディレクトリ/ファイルへアクセス権を追加するために setfacl と getfacl の man ページを確認してください。このサンプルは jkeating というユーザに読み込みと書き込みのアクセス権を <code>file</code> へ与えます。 | ||
<pre>setfacl -m u:jkeating:rw file</pre> | <pre>setfacl -m u:jkeating:rw file</pre> | ||
== | == fedora people git ホスティングサポート == | ||
現在 fedorapeople.org | 現在 fedorapeople.org はgitレポジトリをホスティングしており、cgit webインターフェースとともに、匿名ダウンロード用の git:// プロトコル経由でのアクセス手段が提供されています。 | ||
次に fedorapeople.org で git を使い始める方法を簡単に紹介します。これはあなたが既に git に少し慣れていることを前提としています。慣れていないなら[[Git quick reference| Git クイックリファレンス]]で調べる方が良いかもしれません。 | 次に fedorapeople.org で git を使い始める方法を簡単に紹介します。これはあなたが既に git に少し慣れていることを前提としています。慣れていないなら[[Git quick reference| Git クイックリファレンス]]で調べる方が良いかもしれません。 | ||
Line 47: | Line 58: | ||
=== fedorapeople.org で <code>~/public_git</code> ディレクトリを作成する === | === fedorapeople.org で <code>~/public_git</code> ディレクトリを作成する === | ||
<pre>ssh | <pre>ssh your_username@fedorapeople.org "mkdir ~/public_git; /sbin/restorecon -Rv ~/public_git"</pre> | ||
=== <code>~/public_git</code> で新たな git リポジトリを作成する === | === <code>~/public_git</code> で新たな git リポジトリを作成する === | ||
Line 54: | Line 65: | ||
<pre> | <pre> | ||
git init --bare repo.git | |||
scp -r repo.git/ your_username@fedorapeople.org:~/public_git/ | |||
git --bare | |||
scp -r repo.git/ | |||
</pre> | </pre> | ||
このサンプルは ''bare'' リポジトリ(例えば、ワーキングディレクトリを持たないリポジトリ)を作成します。それは (大半のユーザは見慣れている) ''non-bare'' リポジトリの <code>.git</code> ディレクトリの一部であるファイルのみを含みます。 | このサンプルは ''bare'' リポジトリ(例えば、ワーキングディレクトリを持たないリポジトリ)を作成します。それは (大半のユーザは見慣れている) ''non-bare'' リポジトリの <code>.git</code> ディレクトリの一部であるファイルのみを含みます。 | ||
{{admon/important|リポジトリ名は .git 終わらなければなりません| | {{admon/important|リポジトリ名は .git 終わらなければなりません| cgit は <code>.git</code> で終わっていないrepos を表示しません。|}} | ||
加えて、もしあなたがcgit webインターフェースにあなたのレポジトリを表示させたいなら、次のようにしなければなりません: | |||
<pre> | |||
touch ~/public_git/yourgitrepo.git/git-daemon-export-ok | |||
</pre> | |||
デフォルトでは、表示したいどのレポジトリに対しても同様です。 | |||
=== <code>~/public_git</code> | === <code>~/public_git</code>に既存のレポジトリをアップロードする === | ||
fedorapeople 上に使用したい既存のリポジトリを持っているなら、もっと簡単にできます。 | fedorapeople 上に使用したい既存のリポジトリを持っているなら、もっと簡単にできます。 | ||
Line 76: | Line 87: | ||
<pre> | <pre> | ||
git clone --bare /path/to/local/repo repo.git | git clone --bare /path/to/local/repo repo.git | ||
scp -r repo.git/ your_fedora_username@fedorapeople.org:public_git/ | scp -r repo.git/ your_fedora_username@fedorapeople.org:public_git/ | ||
</pre> | </pre> | ||
Line 88: | Line 98: | ||
<pre> | <pre> | ||
cd /path/to/local/repo | cd /path/to/local/repo | ||
git remote add fedorapeople | git remote add fedorapeople your_username@fedorapeople.org:public_git/repo.git | ||
git push --mirror fedorapeople | git push --mirror fedorapeople | ||
</pre> | </pre> | ||
Line 109: | Line 119: | ||
<pre> | <pre> | ||
ssh | ssh your_username@fedorapeople.org | ||
cd ~/public_git/repo.git/hooks | cd ~/public_git/repo.git/hooks | ||
ln -svbf | ln -svbf $(git --exec-path)/git-update-server-info post-update | ||
git update-server-info | |||
</pre> | </pre> | ||
Line 123: | Line 134: | ||
次のコマンドで http:// 経由でリポジトリをクローンすることもできます。 | 次のコマンドで http:// 経由でリポジトリをクローンすることもできます。 | ||
<pre>git clone http:// | <pre>git clone http://your_username.fedorapeople.org/git/repo.git/</pre> | ||
{{admon/tip|git:// 対 http://|もしファイアウォールのために git:// プロトコルが使えないなら http:// プロトコルのみでクローンしてください。git:// の方が http:// プロトコルよりも速くて効率的です。}} | {{admon/tip|git:// 対 http://|もしファイアウォールのために git:// プロトコルが使えないなら http:// プロトコルのみでクローンしてください。git:// の方が http:// プロトコルよりも速くて効率的です。}} | ||
=== gitweb | === cgit 経由でプロジェクトをブラウズする === | ||
プロジェクトリストが更新されると[http://fedorapeople.org/cgit cgit]であなたのプロジェクトが表示されます。このリストは1時間毎に更新されます。 ''gitweb URL は変更されるかもしれないので注意してください。'' | |||
{{admon/tip|リポジトリの説明|リポジトリにある <code>description</code> ファイルを編集することで cgit に表示されるリポジトリの説明を設定することができます。}} | |||
=== 共有レポジトリShared repository === | |||
もし他のユーザに自分のレポジトリへのアクセスさせたい場合、ACL をかけられます。 | |||
setfacl -R -m u:<user>:rwX <repo.git> | |||
find <repo.git> -type d | xargs setfacl -R -m d:u:<user>:rwX | |||
=== レポジトリごとのアップロードアーカイブを有効にする === | |||
<code>git archive --remote </code>を使って、レポジトリにアクセスを許したい場合、レポジトリの設定ファイルに以下をセットする必要があります: | |||
[daemon] | |||
uploadarch = true | |||
== ポリシー == | |||
=== ウイルス === | |||
fedorapeople.orgのサーバは、定期的にウイルススキャンを行なっています。個人のホームディレクトリも含みます。Fedoraのドメイン名の上にある、ユーザがアップロードしたファイルがダウンロードされるという性質をもっているためです。 | |||
ウイルススキャナがウイルスを報告したらすぐ、別のウイルス検知器でもう一度スキャンされます。これは、ウイルスが本物であることを確認するためです(ただ過剰にスキャンするだけではありません) | |||
二つ目のスキャナもファイルがウイルスであることを報告したならば、そのファイルは非公開のディレクトリに移動され、オーナーに通知されます。 | |||
一週間後にそのユーザーから応答がなかったならば、そのファイルは削除されます。 | |||
[[Category:Infrastructure]] | [[Category:Infrastructure]] |
Latest revision as of 01:47, 19 March 2019
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のドメイン名の上にある、ユーザがアップロードしたファイルがダウンロードされるという性質をもっているためです。
ウイルススキャナがウイルスを報告したらすぐ、別のウイルス検知器でもう一度スキャンされます。これは、ウイルスが本物であることを確認するためです(ただ過剰にスキャンするだけではありません)
二つ目のスキャナもファイルがウイルスであることを報告したならば、そのファイルは非公開のディレクトリに移動され、オーナーに通知されます。
一週間後にそのユーザーから応答がなかったならば、そのファイルは削除されます。