未找到特定用户的 svn 命令

未找到特定用户的 svn 命令

我正在实现一个系统,用于将源代码从我的 svn 服务器导出到客户端的服务器(将要托管网络的地方)。

我要求我的客户在他的计算机上安装 subversion,以便能够通过 ssh 从他的服务器命令行使用“svn export”命令。

我不知道他的服务器是如何配置的...我在其他本地机器/服务器上进行了测试,并且能够从我的服务器远程检索代码,但在他的服务器中我收到错误:

未找到 svn 命令

我告诉他用他的用户测试“svn”命令以检查它是否有效,他说这对他来说没问题“提示输入 svn help... blabla”。所以我认为这是一个权限问题。

我必须告诉他在他的服务器上做什么才能在那里访问 svn 命令?我尝试在本地和我的服务器上进行测试,但我添加的每个新用户(即使使用 useradd 并且没有特定权限/组)都能够访问 svn 命令,所以我没有任何线索。

他的机器是 Ubuntu 10.04.2 LTS

任何帮助均感激不尽。

编辑 - - - - - - - - - - - - - - - - - -

将 ~/bin 添加到 $PATH 并将 ln -s /usr/bin/svn 添加到 ~bin/svn 可以吗?

是否可以授予 visudo NOPASSWD 中的用户执行特定命令(在本例中为 usr/bin/svn)的权限,以便能够使用“sudo svn”?这应该可以解决问题。


PS:请原谅我的英语,这不是我的母语。

答案1

这不是答案针对您的问题,但需要进一步调查步骤。我在评论中没有太多空间和格式。

我会调查该用户的启动脚本,例如 .profile 或 .bashrc,以查看路径是否被更改。您可以尝试让您的客户使用 SSH 登录。以下命令在我的服务器上显示该svn命令可供调用

:~> echo $PATH
/home/djechelon/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games
:~> whereis svn
svn: /usr/bin/svn /usr/share/man/man1/svn.1.gz

解释:第一个命令显示 Linux 中的活动PATH,第二个命令告诉我svn可执行文件位于何处。忘记svn.1.gz哪个是man命令。

通常svn二进制文件位于 中/usr/bin,通常在 下PATH。如果您的客户设置了不同的机器和/或 SVN,那么您可能会发现一些不同的东西。

请记住,您或您的客户必须使用同一个账户登录服务器时遇到问题。

相关内容