我目前销售一款用于管理 Windows 上的 Subversion 服务器的程序。有几个客户问我,我的程序是否可以通过映射的 Samba 驱动器管理 Linux 机器。我需要在 VMWare 中设置一个测试服务器。
如今,Linux 的安装相当简单。我目前的问题是不知道 Linux 程序如何/在哪里安装,以及在那里运行软件所需的权限。我已经非常熟悉 Windows 上的 Subversion。红色的书对 Linux 来说,这些指南毫无帮助(至少对我来说)。我读过几本 HOW-TO 指南,但找不到能解答我疑问的内容。主要是因为我读过的大多数指南都要求你必须已经了解 Linux。
我的问题是:
- Subversion 二进制文件安装到哪里?
- Subversion 命令行程序安装在哪里?
- 运行调用命令行程序的程序需要什么权限?有人告诉我,我需要对相关命令行程序执行 CHMOD 755。
我选择 OpenSuse 和/或 Ubuntu 的主要原因是因为我需要运行 Mono 二进制文件。
谢谢!
答案1
OpenSUSE 有出色的Subversion 安装指南, 包括:
- 安装
- svnserver,包括访问控制
- 修改 dav_svn
答案2
在 ubuntu (或 debian) 下你可以使用:
dpkg --listfiles
列出特定软件包安装的所有文件的最终位置。对“subversion”软件包执行此操作会发现它将二进制文件(即命令行程序)放入 /usr/bin。您不必担心执行 chmod,因为软件包管理器会为您执行此操作。只需在空闲时运行 svn 或 svnadmin 即可。
答案3
二进制文件安装到哪里并不重要。与 Windows 不同,UNIX 具有合理的 PATH 环境变量。我将使用 Ubuntu 作为示例,因为我对它很了解。
jdugger:~$ env | grep ^PATH
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
现代 Linux 发行版使用软件包来安装常用程序。它有点像 MSI,只是它们不能直接执行。相反,软件包管理器会处理安全性、依赖项跟踪、更新等。对于 Ubuntu,命令“sudo apt-get install subversion”将下载 Ubuntu 的官方 svn 版本,安装它,并识别 Ubuntu 发布更新的时间。
安装完成后,您可以从任何地方运行该程序:
jldugger:~$ svn --version
svn, version 1.5.1 (r32289)
compiled Jul 31 2008, 09:45:17
Copyright (C) 2000-2008 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).
The following repository access (RA) modules are available:
* ra_neon : Module for accessing a repository via WebDAV protocol using Neon.
- handles 'http' scheme
- handles 'https' scheme
* ra_svn : Module for accessing a repository using the svn network protocol.
- with Cyrus SASL authentication
- handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
- handles 'file' scheme
您编写的任何要在 Linux 上运行的脚本都需要启用执行位 (chmod +x),并且应安装到 PATH 中列出的目录之一。对于您来说,可能是 /usr/local/bin。
答案4
(映射 Samba 驱动器) 我认为,问题在于,管理员 svn 在 Linux 机器上运行。是否可以使用 samba 从 Windows 在 Linux 中运行管理员颠覆?