【问题标题】:gitolite installation issuegitolite安装问题
【发布时间】:2011-03-16 16:41:53
【问题描述】:

有没有人尝试过 gitolite 的简单安装选项?
我正在尝试将 gitolite 从我的 windows(工作站)安装到 solaris 盒子。

[command used to install] 
./gl-easy-install -q git sjcfsap1 git

命令在以下位置中断。

*Y*ou are logging into system : [gitserver]
cloning gitolite-admin repo...
Initialized empty Git repository in c:/Documents and Settings/chandve/gitolite-a
dmin/.git/
Password:
fatal: 'gitolite-admin' does not appear to be a git repository
fatal: The remote end hung up unexpectedly**

有人遇到过这个问题吗? 你认为 gitolite 值得这个努力吗?我正在为 Git 评估 ACL。

感谢您提前回复。

[下面完整的命令执行日志]

CHANDVE@CHANDVE /c/git/repos/gitolite/src (master)
$ ./gl-easy-install git sjcfsap1 git


------------------------------------------------------------------------

you are upgrading     v1.5.3-13-g20c2e1a     to v1.5.3-13-g20c2e1a

Note: getting '(unknown)' for the 'from' version should only happen once.
Getting '(unknown)' for the 'to' version means you are probably installing
from a tar file dump, not a real clone.  This is not an error but it's nice to
have those version numbers in case you need support.  Try and install from a
clone


...press enter to continue or Ctrl-C to bail out


------------------------------------------------------------------------

the next command will create a new keypair for your gitolite access

The pubkey will be /c/Documents and Settings/chandve/.ssh/git.pub.  You will hav
e to choose a
passphrase or hit enter for none.  I recommend not having a passphrase for
now, *especially* if you do not have a passphrase for the key which you are
already using to get server access!

Add one using 'ssh-keygen -p' after all the setup is done and you've
successfully cloned and pushed the gitolite-admin repo.  After that, install
'keychain' or something similar, and add the following command to your bashrc
(since this is a non-default key)

    ssh-add $HOME/.ssh/git

This makes using passphrases very convenient.


...press enter to continue or Ctrl-C to bail out


------------------------------------------------------------------------

Hmmm... pubkey /c/Documents and Settings/chandve/.ssh/git.pub exists; should I j
ust (re-)use it?

IMPORTANT: once the install completes, *this* key can no longer be used to get
a command line on the server -- it will be used by gitolite, for git access
only.  If that is a problem, please ABORT now.

doc/6-ssh-troubleshooting.mkd will explain what is happening here, if you need
more info.


...press enter to continue or Ctrl-C to bail out


------------------------------------------------------------------------

your $HOME/.ssh/config already has settings for gitolite.  I will assume
they're correct, but if they're not, please edit that file, delete that
paragraph (that line and the following few lines), Ctrl-C, and rerun.

In case you want to check right now (from another terminal) if they're
correct, here's what they are *supposed* to look like:

host gitolite
     user git
     hostname sjcfsap1
     port 22
     identityfile ~/.ssh/git



...press enter to continue or Ctrl-C to bail out
gitolite.pm                                   100%   26KB  26.3KB/s   00:00
gl-auth-command                               100% 8319     8.1KB/s   00:00
gl-compile-conf                               100%   26KB  25.6KB/s   00:00
gl-conf-convert                               100% 2325     2.3KB/s   00:00
gl-easy-install                               100%   23KB  23.2KB/s   00:00
gl-emergency-addkey                           100% 1295     1.3KB/s   00:00
gl-install                                    100% 4087     4.0KB/s   00:00
gl-setup                                      100% 3081     3.0KB/s   00:00
gl-system-install                             100% 1814     1.8KB/s   00:00
gl-tool                                       100% 2145     2.1KB/s   00:00
output.txt                                    100%   60KB  60.2KB/s   00:00
sshkeys-lint                                  100% 2962     2.9KB/s   00:00
example.conf                                  100%   12KB  12.1KB/s   00:00
example.gitolite.rc                           100% 8390     8.2KB/s   00:00
VERSION                                       100%   19     0.0KB/s   00:00
0-INSTALL.mkd                                 100%   12KB  11.6KB/s   00:00
1-migrate.mkd                                 100% 3569     3.5KB/s   00:00
2-admin.mkd                                   100% 9063     8.9KB/s   00:00
3-faq-tips-etc.mkd                            100%   29KB  29.0KB/s   00:00
4-wildcard-repositories.mkd                   100%   12KB  11.8KB/s   00:00
5-delegation.mkd                              100% 6143     6.0KB/s   00:00
6-ssh-troubleshooting.mkd                     100%   19KB  19.5KB/s   00:00
7-install-transcript.mkd                      100% 8372     8.2KB/s   00:00
9-gitolite-and-ssh.mkd                        100% 7798     7.6KB/s   00:00
9-packaging.mkd                               100% 2257     2.2KB/s   00:00
9-uninstall.mkd                               100% 2791     2.7KB/s   00:00
admin-defined-commands.mkd                    100% 9700     9.5KB/s   00:00
big-config.mkd                                100% 6469     6.3KB/s   00:00
CHANGELOG                                     100% 3873     3.8KB/s   00:00
COPYING                                       100%   18KB  17.9KB/s   00:00
hook-propagation.mkd                          100% 7654     7.5KB/s   00:00
overkill.mkd                                  100% 2059     2.0KB/s   00:00
progit-article.mkd                            100%   12KB  12.5KB/s   00:00
report-output.mkd                             100% 1818     1.8KB/s   00:00
shell-games.mkd                               100% 3363     3.3KB/s   00:00
gitolite-hooked                               100%    0     0.0KB/s   00:00
update                                        100% 4728     4.6KB/s   00:00
post-update                                   100%  943     0.9KB/s   00:00


------------------------------------------------------------------------

the gitolite rc file needs to be edited by hand.  The defaults are sensible,
so if you wish, you can just exit the editor.

Otherwise, make any changes you wish and save it.  Read the comments to
understand what is what -- the rc file's documentation is inline.

Please remember this file will actually be copied to the server, and that all
the paths etc. represent paths on the server!


...press enter to continue or Ctrl-C to bail out


------------------------------------------------------------------------
Oh hey... you already had a '.gitolite.rc' file on the server.
Let's see if we can use that instead of the default one...

...press enter to continue or Ctrl-C to bail out
.gitolite.rc                                  100% 8390     8.2KB/s   00:00


------------------------------------------------------------------------

ignore any 'please edit this file' or 'run this command' type lines in the
next set of command outputs coming up.  They're only relevant for a manual
install, not this one...


...press enter to continue or Ctrl-C to bail out

    *** WARNING ***: looks like an upgrade... ignoring argument 'git'
/export/home/git/repositories already exists
/export/home/git/.gitolite already exists
/export/home/git/.gitolite/conf already exists
/export/home/git/.gitolite/doc already exists
/export/home/git/.gitolite/keydir already exists
/export/home/git/.gitolite/logs already exists
/export/home/git/.gitolite/src already exists
/export/home/git/.gitolite/hooks already exists
/export/home/git/.gitolite/hooks/common already exists
/export/home/git/.gitolite/hooks/gitolite-admin already exists
copying post-update hook to gitolite-admin repo...
Pseudo-terminal will not be allocated because stdin is not a terminal.
stty: : Invalid argument



You are logging into system : sjcfsap1
/export/home/git/repositories already exists
/export/home/git/.gitolite already exists
/export/home/git/.gitolite/conf already exists
/export/home/git/.gitolite/doc already exists
/export/home/git/.gitolite/keydir already exists
/export/home/git/.gitolite/logs already exists
/export/home/git/.gitolite/src already exists
/export/home/git/.gitolite/hooks already exists
/export/home/git/.gitolite/hooks/common already exists
/export/home/git/.gitolite/hooks/gitolite-admin already exists
copying post-update hook to gitolite-admin repo...


------------------------------------------------------------------------

now we will clone the gitolite-admin repo to your workstation and see if it
all hangs together.  We'll do this in your $HOME for now, and you can move
it elsewhere later if you wish to.


...press enter to continue or Ctrl-C to bail out
Initialized empty Git repository in c:/Documents and Settings/chandve/gitolite-a
dmin/.git/
Password:
Password:
fatal: 'gitolite-admin' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

【问题讨论】:

    标签: git msysgit gitolite


    【解决方案1】:

    如果在服务器上,git 用户在~/.ssh/authorized_keys 中有一个未以command 变量为前缀的远程用户的键,则会发生这种情况:

    % cat ~/.ssh/authorized_keys
    ssh-rsa ...... user@host
    # gitolite start
    command="/home/gituser/.... user@host
    # gitolite end
    %
    

    只需删除第一行即可。

    【讨论】:

    • 这正是发生在我身上的事情。我以前遵循基于 ssh 的标准 git-server 安装,然后决定使用 gitolite,但在 authorized_keys 文件中留下了“未加前缀”的公钥
    • 哦,指向 gitolite 文档中大警告的指针:sitaramc.github.com/gitolite/doc/…
    【解决方案2】:

    我精确地做了同样的安装(从 Windows 到 Solaris),这是值得的。

    我做到了:

    • 来自 git bash 会话(不是 DOS 会话),
    • 正确设置$HOME(即引用存储我的.ssh 公钥/私钥的目录,包括存在于Solaris 服务器端的用户的目录)

    【讨论】:

    • 您好 VonC,我也尝试使用 git bash。我的家也指 /c/documents & settings/chandve (.ssh 在这个目录里面) 但是我得到了上面提到的错误。
    • @vengateswaran:我记得在最后一步遇到了这个问题,但它并没有成为阻碍。下周一我会看看我必须进行哪些更改才能使克隆成功。
    • 您好 VonC,您为此使用了哪个版本的 msysgit?你的 msysgit 版本有 ssh-copy-id 命令吗?
    • @vengateswaran:当时是 Windows 端的 git1.7.0。里面有ssh-add.exe、ssh-agent.exe、ssh-keygen.exe、ssh-keyscan.exe和ssh.exe ssh相关的命令。
    • @vengateswaran:我确认:没有ssh-copy-id。我使用了一些等效的命令,例如:cat ~/.ssh/id_dsa.pub | ssh user@machine "cat - >> ~/.ssh/authorized_keys"
    【解决方案3】:

    大多数时候,这似乎是因为 ssh 没有将正确的公钥传递给 gitolite。参照。 “Does Not Appear to be a Git Repository”。本文中的一条评论链接到 gitolite 作者的网站,尤其是“附录#2”,它解释了如何知道“which key is which”。

    【讨论】:

      【解决方案4】:

      我们通过阅读https://github.com/sitaramc/gitolite/blob/pu/doc/ssh-troubleshooting.mkd 文档解决了这个问题。特别是提到我们没有听从指示的部分。 “这些问题发生在完全没有阅读/注意运行 gl-easy-install 结束时显示的消息的人身上” 删除所有文件。重新运行安装,并注意说明:)

      【讨论】:

        猜你喜欢
        • 2011-05-18
        • 2011-09-18
        • 1970-01-01
        • 1970-01-01
        • 2016-05-18
        • 2011-09-16
        • 2012-11-18
        • 1970-01-01
        • 2012-12-17
        相关资源
        最近更新 更多