From Fedora Project Wiki
No edit summary
Line 1: Line 1:
{{autolang}}
{{autolang}}


= fedorapeople.org =
= fedorapeople.org个人空间 =


This page covers the details on how to obtain and use your personal
本页面介绍了有关 [http://fedorapeople.org fedorapeople.org] 个人源的一些细节,包括获取、使用等方面。[http://fedorapeople.org fedorapeople.org] 是一个供贡献人员上传文件并与全世界分享的地方。它尤其适合上传.spec文件、源代码RPM包(SRPM)、patch(补丁)以及个人源等等。
space on [http://fedorapeople.org fedorapeople.org] , which is a site where Fedora
contributors can upload files for sharing out with the world. It is
perfect for uploading specfiles, srpms, patches, personal repository etc, etc.


== Allowable content ==
== 允许的内容 ==


* Do not distribute anything on fedorapeople.org that Fedora itself cannot distribute for legal reasons. Nothing on the [http://fedoraproject.org/wiki/ForbiddenItems ForbiddenItems] list or otherwise non distributable by Fedora.
* Do not distribute anything on fedorapeople.org that Fedora itself cannot distribute for legal reasons. Nothing on the [http://fedoraproject.org/wiki/ForbiddenItems ForbiddenItems] list or otherwise non distributable by Fedora.
Line 29: Line 26:
# Verify your success. You will see "ssh-rsa" followed by alpha numeric string in "Public SSH Key:" field of your Account Details.
# Verify your success. You will see "ssh-rsa" followed by alpha numeric string in "Public SSH Key:" field of your Account Details.


== Common Answers ==
== 一些问题的解答 ==


* Each Fedora contributor has 2000000 KiB (approximately 1954 MiB) of quota-controlled space.
* Each Fedora contributor has 2000000 KiB (approximately 1954 MiB) of quota-controlled space.
Line 88: Line 85:




=== Pushing to your repository ===
=== 推送内容至您的个人空间 ===


To push changes from a local repository:
To push changes from a local repository:
Line 108: Line 105:




=== Cloning your repository ===
=== 克隆您的源 ===


To clone your repository, use a command similar to:
To clone your repository, use a command similar to:
Line 140: Line 137:
{{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.}}
{{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.}}


=== Browsing your project via gitweb ===
=== 通过gitweb浏览您的项目 ===


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.''
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.''
Line 164: Line 161:
}}
}}


=== Shared repository ===
=== 共享源 ===


If you want to give access to your repository to other users you can do this with ACLs.
If you want to give access to your repository to other users you can do this with ACLs.
Line 172: Line 169:


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

Revision as of 04:16, 20 January 2012

fedorapeople.org个人空间

本页面介绍了有关 fedorapeople.org 个人源的一些细节,包括获取、使用等方面。fedorapeople.org 是一个供贡献人员上传文件并与全世界分享的地方。它尤其适合上传.spec文件、源代码RPM包(SRPM)、patch(补丁)以及个人源等等。

允许的内容

  • Do not distribute anything on fedorapeople.org that Fedora itself cannot distribute for legal reasons. Nothing on the ForbiddenItems list or otherwise non distributable by Fedora.
  • Do not upload your private .ssh keys. While Fedora IT works hard on keeping the servers secure, break ins will happen and private keys uploaded can be downloaded and brute-forced easily these days. Private .ssh keys if found during an audit will be deleted.

Accessing Your fedorapeople.org Space

  1. You need an active Fedora account
  2. You must be sponsored in a group (other than the CLA groups)
  3. You need to generate a ssh key (ssh-keygen -t rsa).
  4. Upload that ssh key into your Fedora account. To upload, 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.
  5. To connect, use the ssh key you uploaded into your Fedora account:
    ssh -i ~/.ssh/id_rsa <your_fedora_id>@fedorapeople.org

This step can also be done via Fedora account.

  1. While logged in, click on "My Account" on the side bar.
  2. Select "edit" link next to "Account Details."
  3. Type the following in the "Public RSA SSH Key:" field:
    ~/.ssh/id_rsa.pub
  4. Click the "Save!" button.
  5. Verify your success. You will see "ssh-rsa" followed by alpha numeric string in "Public SSH Key:" field of your Account Details.

一些问题的解答

  • Each Fedora contributor has 2000000 KiB (approximately 1954 MiB) of quota-controlled space.
  • If you run out of space you should: clean up stuff you don't need. If you cannot clean up anything then you should contact fedora infrastructure to raise your quota.
  • To make a publicly viewable space, create a public_html directory.
  • Fedora people is NOT to be used for development or creating repositories on. Repositories will need to be created elsewhere and uploaded via scp or rsync.
  • DO NOT try to use sudo to install packages you "need." Unless you are in the Infrastructure group, and have gotten approval from sysadmin-main, extra packages are not to be installed on fedorapeople.
  • Upload files using scp, sftp, or rsync.
Using Nautilus
If you use GNOME, visit this page for an easy way to connect to your fedorapeople.org space.
Using Dolphin or Konqueror
If you use KDE, type sftp://your_username@fedorapeople.org in your file manager address bar for an easy way to connect to your fedorapeople.org space.

To copy files from the command line, you can use scp

scp /path/to/file your_fedora_username@fedorapeople.org:/home/fedora/your_fedora_username/public_html


  • Once uploaded into the users public_html directory the files are available via http at: http://your_username.fedorapeople.org/.
  • 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 file:
setfacl -m u:jkeating:rw file

BETA git hosting support

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.

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.

Create a ~/public_git directory on fedorapeople.org

ssh your_fedora_username@fedorapeople.org "mkdir ~/public_git; /sbin/restorecon -Rv ~/public_git"

Creating a new git repository in ~/public_git

As an example, here is one method to create an empty repository on your local system and upload it:

git init --bare repo.git
scp -r repo.git/ your_fedora_username@fedorapeople.org:~/public_git/

This creates a bare repository (i.e. a repository that has no working directory). It contains just the files that are part of the .git directory of a non-bare git repository (the kind most users are accustomed to seeing).

Repository name must end with .git
Gitweb will not list repos that do not end in .git.

Uploading an existing repository to ~/public_git

If you have an existing repository you want to use on fedorapeople, you can do so easily:

git clone --bare /path/to/local/repo repo.git
scp -r repo.git/ your_fedora_username@fedorapeople.org:public_git/

The caveats from the previous section apply here as well.


推送内容至您的个人空间

To push changes from a local repository:

cd /path/to/local/repo
git remote add fedorapeople your_fedora_username@fedorapeople.org:public_git/repo.git
git push --mirror fedorapeople

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.

If you only want to push selected branches, amend the git push example. For example, to push only your local master branch:

git push fedorapeople master


Allowing others to push
You can allow other fedorapeople.org users to push to your repository using extended acls (see setfacl(1) for details). However, if you have many others working on your project, using Fedora Hosted is strongly preferred.


克隆您的源

To clone your repository, use a command similar to:

git clone git://fedorapeople.org/~your_fedora_username/repo.git


It is also possible to clone your project via the http:// protocol. In order for this to work, you must arrange to have git-update-server-info 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 git-update-server-info in the hooks directory of your repository:

ssh your_fedora_username@fedorapeople.org
cd ~/public_git/repo.git/hooks
ln -svbf $(git --exec-path)/git-update-server-info post-update
git update-server-info


You also need to create a link from ~/public_html/git to ~/public_git:

cd ~/public_html
ln -svbf ../public_git git


You can clone your repository over http:// with a command similar to:

git clone http://your_fedora_username.fedorapeople.org/git/repo.git/


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.

通过gitweb浏览您的项目

You can see your project listed in gitweb once the project list updates. This happens hourly. Note that the gitweb URL may change.


Repository description
You can set the description for the repository that is displayed in gitweb by editing the description file in your repository.


Repository URLs
The URLs gitweb shows for your repository by default are incorrect (since the introduction of the service in mid-2008, last checked 2010-08-11). You can work around that by adding a file cloneurl to your repository which contains working URLs.

Default broken URLs:

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

Write these URLs into the cloneurl file to work around that:

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

共享源

If you want to give access to your repository to other users you can do this with ACLs.

 setfacl -R -m u:<user>:rwX <repo.git>
 find <repo.git> -type d | xargs setfacl -R -m d:u:<user>:rwX