(本文特邀huwang撰写)
在Fedora社区中注册账号意味着我们要拥有三样东西:
- 注册Redhat Bugzilla账号
- 注册Fedora社区账号
- 订阅Feodra Devel邮件列表
下面让我们进入实际过程中:
创建Bugzilla帐号
如果你还没有Bugzilla帐号,那么需要在:
https://bugzilla.redhat.com/
当中注册新账户,如下图所示:
点击New Account,进入注册页面:
输入自己的Email地址。注意,这里注册的email要与后面fedora注册的email相同。输入Emaill地址,点击Send,之后会收到一封邮件,点击里面的链接继续完成注册就可以了。
订阅Fedora Devel邮件列表
要成为Fedora社区一员,订阅这个邮件列表是必须的:
https://lists.fedoraproject.org/mailman/listinfo/devel-announce
按图所示填写Email地址,然后点击Subscribe进行订阅:
在后续的工作流程中,会用到这个邮件列表。
创建Fedora帐号
接下来是创建Fedora社区账号。这个过程比较复杂,下面进行详细的讲解:
*注册*
首先是注册账号,在:
https://admin.fedoraproject.org/accounts/
中选择New Account,填写用户名,名字和email地址就可以了。注册后系统会发临时密码到注册的信箱中,用注册帐号和临时密码登录,系统会强制用户修改密码,按照密码设置要求进行设置密码就可。
*签署CLA(Fedora Project Contributor Agreement)*
设置好密码后,此时账户信息除了密码没有任何修改也没有任何角色,如图所示:
现在需要签署CLA, 点击"Complete it!",补充电话和国家信息,勾选同意就可以了,此时账户信息发生了变化,如图所示,自动加入了两个角色:
分别是:
- Signed CLA Group
- Signers of the Fedora Project Contributor Agreement
此时不要关掉这个窗口,接下来我们要在自己的机器上生成个人证书:
*上传个人证书*
Fedora社区要求用户提供个人证书,我们要将自己的SSH Publick Key上传至Fedora空间。
为了实现这一目标,我们首先要用ssh-keygen命令为自己生成个人证书:
$ ssh-keygen
注意, id_rsa的mod要设置为0400:
$ chmod 0400 id_rsa
RSA私钥必须要设定成仅拥有者本人可读写,否则证书会被认为是无效的。有关这方面的内容,可以学习SSH的文档以及RSA非对称加密的相关知识,本文不详细展开原理,总之照做即可。
*上传个人证书*
生成证书的工作完成后,我们回到Fedora的用户页面,点击"My Account"进行编辑,上传刚才产生的id_rsa.pub文件,点击保存,如图所示:
要注意的是,上传之后大概一个小时才能够生效。至此,我们的注册过程基本上告一段落了,我们此时已经拥有了所需的Fedora账号。接下来,我们便可以让Fedora生成客户端证书了,这个证书将会放在你自己的电脑上,当你在Fedora社区中工作时,将会经常使用到这个证书。
*客户端认证*
生成证书的方法很简单:使用你注册完成的账号登录并访问以下地址:
https://admin.fedoraproject.org/accounts/user/gencert
登录之后如图所示:
点击"Generate a certificate",就会出现提示保存文件的对话框,将该文件保存至你的本机:
~/.fedora.cert
在下一篇文章中,我们将会用到这个证书,本文中理解如何生成它即可。
注意:这个证书的有效期是6个月,到期失效时还需要再次重复上面的过程重新生成证书。
小结
至此为止,你已经拥有了Fedora的社区账号;从这个流程可以看出来,开源社区的管理并不想想象中的那么“松散”;恰恰相反,社区对流程的控制和对账号的管理是非常严格的:一个Fedora社区的账号,对安全性的要求是非常高的。
所有的这些对账号安全性的高要求,都是为了保证社区所生产的产品的可靠性。对于Fedora社区来讲,其最重要的产品当然就是Fedora Linux了。组成Fedora Linux的,就是Feodra社区的各个RPM包:每一个发行版中,都将包含Fedora社区生产的这些RPM包,形成一个完整的操作系统。
用户后续用yum来安装的软件,实际上也是从Fedora服务上面下载rpm包。因此,对于Fedora社区来讲,最主要的工作就是生产这些RPM包,我们称之为“编包”,英文叫做"Build Package"。对于Ubuntu社区来讲,使用deb格式的包+apt-get来下载,与Fedora社区的yum+rpm是类似的,理念上大同小异。
因此,如果你是某个软件的开发人员,想把自己开发的软件加进下一个Fedora Linux的发行版本,那么首先必须要拥有Fedora社区账号,下一步就是将你自己的软件build成一个rpm,然后申请将包纳入Fedora。
在下一节当中,我将介绍如何使用自己的社区账号,将自己build的rpm加入Fedora发行版本,并和大家一起体会社区良好的流程管理和清晰可操作的制度规范。