From Fedora Project Wiki

< Infrastructure‎ |

Revision as of 05:29, 6 August 2010 by T2y (talk | contribs) (目次と
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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

あなたの スペースへアクセスする

  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/ 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>


  • Each Fedora contributor has 150 MiB of quota-controlled space.
  • To make a publicly viewable space, create a public_html directory.
  • Upload files using scp, sftp, or rsync.
Using Nautilus
If you use GNOME, visit this page for an easy way to connect to your space.
Using Dolphin or Konqueror
If you use KDE, type s in your file manager address bar for an easy way to connect to your space.

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

scp /path/to/file

  • Once uploaded into the users public_html directory the files are available via http at:
  • 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 ホスティングサポート 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 It assumes that you are already somewhat familiar with git. You might want to take a look at the Git quick reference. で ~/public_git ディレクトリを作成する

ssh "mkdir ~/public_git"

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

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

mkdir repo.git
cd repo.git
git --bare init
touch git-daemon-export-ok
cd ..
scp -r repo.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.
Repository access and git-daemon-export-ok
Without the git-daemon-export-ok file, your repository won't be available anonymously via the git:// protocol.
Stop (medium size).png
Non-bare repositories
While non-bare repositories should work, it is 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. ~/public_git/your_repo.git/git-daemon-export-ok, NOT ~/public_git/your_repo.git/.git/git-daemon-export-ok

~/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
touch repo.git/git-daemon-export-ok
scp -r repo.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
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 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://

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 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:

cd ~/public_git/repo.git/hooks
ln -svbf /usr/bin/git-update-server-info post-update

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

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.