I currently sell a program to admin the Subversion server on Windows. I had several customers ask me, if my program could admin a Linux box through a mapped Samba drive. I need to setup a test server in VMWare.

Linux is pretty easy to setup nowadays. My current issues come with not knowing how/where Linux program install to, and the permissions needed to run software there. I'm already very familiar with Subversion on Windows. The red book has been unhelpful (at least to me) on Linux. I have read several HOW-TO guides, but I haven't been able to find something that answers my questions. Mostly, it's because of the premise that most of the guides I've read that you already have to know Linux.

So here are my questions:

  1. Where do the Subversion binaries install to?
  2. Where do the Subversion command-line programs install to?
  3. What permissions are needed to run a program that calls the command-line programs? I was told that I needed to do a CHMOD 755 on the command-line program in question.

The main reason I chose OpenSuse and/or Ubuntu is because I need to run Mono binaries.



OpenSUSE has an excellent guide for installing Subversion, which includes:

  • installation
  • svnserver, including access control
  • mod_dav_svn
  • The link is broken, changed the link for one that works. – Johan Nov 17 '12 at 15:32

Under ubuntu (or debian) you can use:

dpkg --listfiles

to list where all the files that a particular package installs end up. Doing so on the 'subversion' package reveals that it puts binaries (which are the commandline programs) into /usr/bin. And you shouldn't have to worry about doing a chmod because the package manager should do it for you. Just run svn or svnadmin at your leisure.


It shouldn't matter where the binaries install to. Unlike Windows, UNIX has a sane PATH environment variable. I'll use Ubuntu as the example, since I know it well.

jdugger:~$ env | grep ^PATH

Modern Linux distributions use packages to install common programs. It's kind of like MSI, except they're not directly executable. Instead, a package manager handles security, dependency tracking, updates and so on. For Ubuntu, the command "sudo apt-get install subversion" will download official Ubuntu builds of svn, install it, and recognize when Ubuntu publishes updates.

When it's installed, you can run the program from anywhere:

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

Any scripts you write to run on Linux need the execute bit enabled (chmod +x), and should be installed to one of the directories listed in PATH. Probably /usr/local/bin, in your case.


Questions 1 and 2 are actually dependant on linux distribution. However usually binaries are stored to /usr/bin if you use linux distributions package manager.

You can use command which to find out where given binary is installed for example (execute command in command-line terminal):

which svn

(mapped Samba drive) I think, the question is about, admin svn running in a linux machine. Is posible admin subversion, running in linux, from windows, using samba?

  • Yes, that's one way. The other way is to create a WebDav connection. Windows will treat it just like a regular mapped drive. – Hector Sosa Jr Jun 17 '09 at 2:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.