Monthly Archives: December 2011

Getting to know which VM machine has VMware tool installed or not on ESX/ESXi from command line.

Here are the following steps to know which VM has VMware tool installed.

 

1 – Login on ESX/ESXi server
2 – Run ESX top command
3 – Press ‘m’ to get into memory. Press ‘f’ to get into field selection window. Press ‘i’ to select MCTL?.
Note – Make sure MCTLSZ is 0. If it is not, check out VM is ballooning or not from vClient.
4 – Check out MCTL? columns,  “N” represents that VMware tool is not installed on that particular VM and if its represent “Y”, it means VMware Tool is installed.

Please see the screen below.

 

ESXTOP Output

Compiling “heartheat-2.0.2-1.src.com” to create RPM for 64-bits Linux System.

NoteI would like to express my gratitude to one of  my best friend Pramod Kumar for his help towards compiling and creating signature heartbeat RPM for CentOS 5.5 OS.

1 – First download the heartbeat-2.0.2 (Production release) source RPM.

2 –Run the following command to prepare the source rpm from tar.gz

rpm -ivh  heartbeat-2.0.2-1.src.rpmar

 Note – you might face the following prerequisite install these

——————————————————————————————————————————–

error: Failed build dependencies:

glib-devel is needed by heartbeat-2.0.2-1.x86_64

libnet is needed by heartbeat-2.0.2-1.x86_64

——————————————————————————————————————————–

3-  Installing the prerequisite – there may be other way around to installing, I am following up with  Yum method.

yum install glib-devel libnet

Loading “downloadonly” plugin

Loading “installonlyn” plugin

Setting up Install Process

Setting up repositories

core                                                                 [1/2]

core                      100% |=========================| 1.1 kB    00:00

extras                                                               [2/2]

extras                    100% |=========================| 1.1 kB    00:00

Reading repository metadata in from local files

Parsing package install arguments

Resolving Dependencies

Populating transaction set with selected packages. Please wait.

—> Downloading header for libnet10 to pack into transaction set.

libnet10-1.0.2a-10.fc5.x8 100% |=========================| 5.6 kB    00:01

—> Package libnet10.x86_64 0:1.0.2a-10.fc5 set to be updated

—> Downloading header for glib-devel to pack into transaction set.

glib-devel-1.2.10-18.2.2. 100% |=========================| 7.3 kB    00:00

—> Package glib-devel.x86_64 1:1.2.10-18.2.2 set to be updated

Running transaction check

 

Dependencies Resolved

 

=============================================================================

Package                 Arch       Version          Repository        Size

=============================================================================

Installing:

glib-devel              x86_64     1:1.2.10-18.2.2  core               38 k

libnet10                x86_64     1.0.2a-10.fc5    extras             51 k

 

Transaction Summary

=============================================================================

Install      2 Package(s)

Update       0 Package(s)

Remove       0 Package(s)

Total download size: 89 k

Is this ok [y/N]: y

Downloading Packages:

(1/2): libnet10-1.0.2a-10 100% |=========================|  51 kB    00:01

(2/2): glib-devel-1.2.10- 100% |=========================|  38 kB    00:00

Running Transaction Test

Finished Transaction Test

Transaction Test Succeeded

Running Transaction

Installing: glib-devel                   ######################### [1/2]

Installing: libnet10                     ######################### [2/2]

 

Installed: glib-devel.x86_64 1:1.2.10-18.2.2 libnet10.x86_64 0:1.0.2a-10.fc5

Complete!

[root@centos5.5 SOURCES]#

———————————————————————————————————————————

4-  Installing source rpm again after prerqusite match

 

rpm -ivh  heartbeat-2.0.2-1.src.rpm

:heartbeat              ########################################### [100%]

[root@centos5.5 SRPMS]#

5-  Run the tree command show the following structure, where the SOURCE RPM will create compressed file inside the /usr/src/redhat/Source directory and SPEC file inside the SPECS like heartbeat.spec

[root@centos5.5 redhat]# tree

|– BUILD

|– RPMS

|   |– noarch

|   `– x86_64

|– SOURCES

 `– heartbeat-2.0.2.tar.gz

|– SPECS

|   `– heartbeat.spec

`– SRPMS

`– heartbeat-2.0.2-1.src.rpm

7 directories, 3 files

[root@centos5.5 redhat]#

6 – Modify the spec file as per your requirement. Like modify the version as

Release:        2.0.2.signature

7 – Uncompress /usr/src/redhat/SOURCE/heartbeat-2.0.2.tar.gz

cd /usr/src/redhat/SOURCES/heartbeat-2.0.2

 8  – Open configure file i.e vi configure

Replace the following for avoid Werror which interrupt warning as error and does not compile. Remove the Werror from the following string under configure file

 

if test “${enable_fatal_warnings}” = yes && cc_supports_flag -Werror ; then

echo “Enabling Fatal Warnings (-Werror) on this platform”

FATAL_WARNINGS=”-Werror”

fi

 

with

 

if test “${enable_fatal_warnings}” = yes && cc_supports_flag -Werror ; then

echo “Enabling Fatal Warnings (-Werror) on this platform”

FATAL_WARNINGS=””

fi

 

(ii) if test X”$CURSESLIBS” != X”” &&  cc_supports_flag -Wcast-qual

&& cc_supports_flag -Werror; then

echo “$as_me:$LINENO: checking whether printw() requires argument of “const char *”” >&5

echo $ECHO_N “checking whether printw() requires argument of “const char *”… $ECHO_C” >&6

ac_save_LIBS=$LIBS

LIBS=”$CURSESLIBS  $LIBS”

ac_save_CFLAGS=$CFLAGS

CFLAGS=”-Wcast-qual -Werror”

cat >conftest.$ac_ext <<_ACEOF

/* confdefs.h.  */

 

With

 

if test X”$CURSESLIBS” != X”” &&  cc_supports_flag -Wcast-qual

&& cc_supports_flag -Werror; then

echo “$as_me:$LINENO: checking whether printw() requires argument of “const char *”” >&5

echo $ECHO_N “checking whether printw() requires argument of “const char *”… $ECHO_C” >&6

ac_save_LIBS=$LIBS

LIBS=”$CURSESLIBS  $LIBS”

ac_save_CFLAGS=$CFLAGS

CFLAGS=”-Wcast-qual”

cat >conftest.$ac_ext <<_ACEOF

/* confdefs.h.  */

 

9 – Delete /usr/src/Redhat/Source/heartbeat-2.0.2.tar.gz  and compress the /usr/src/redhat/SOURCES/heartbeat-2.0.2

tar –cf  heartbeat-2.0.2.tar.gz  heartbeat-2.0.2

10 – run the following command to build the rpm

rpmbuild -bb SPECS/heartbeat.spec

It may complain with the following error ( Fix the prerequisite)

 Making all in libltdl

/bin/sh: line 0: cd: libltdl: No such file or directory

make: *** [all-recursive] Error 1

error: Bad exit status from /var/tmp/rpm-tmp.71649 (%build)

RPM build errors:

Bad exit status from /var/tmp/rpm-tmp.71649 (%build)

11- installing libltdl

[root@centos5.5 SOURCES]# yum install libtool-ltdl-devel libtool-ltdl

Loading “downloadonly” plugin

Loading “installonlyn” plugin

Setting up Install Process

Setting up repositories

core                                                                 [1/2]

extras                                                               [2/2]

Reading repository metadata in from local files

Parsing package install arguments

Resolving Dependencies

Populating transaction set with selected packages. Please wait.

—> Downloading header for libtool-ltdl to pack into transaction set.

libtool-ltdl-1.5.22-2.2.i 100% |=========================|  15 kB    00:00

—> Package libtool-ltdl.i386 0:1.5.22-2.2 set to be updated

—> Downloading header for libtool-ltdl-devel to pack into transaction set.

libtool-ltdl-devel-1.5.22 100% |=========================|  13 kB    00:00

—> Package libtool-ltdl-devel.x86_64 0:1.5.22-2.2 set to be updated

Running transaction check

 

Dependencies Resolved

 

=============================================================================

Package                 Arch       Version          Repository        Size

=============================================================================

Installing:

libtool-ltdl            i386       1.5.22-2.2       core               36 k

libtool-ltdl-devel      x86_64     1.5.22-2.2       core               31 k

 

Transaction Summary

=============================================================================

Install      2 Package(s)

Update       0 Package(s)

Remove       0 Package(s)

Total download size: 67 k

Is this ok [y/N]: y

Downloading Packages:

(1/2): libtool-ltdl-1.5.2 100% |=========================|  36 kB    00:01

(2/2): libtool-ltdl-devel 100% |=========================|  31 kB    00:00

Running Transaction Test

Finished Transaction Test

Transaction Test Succeeded

Running Transaction

Installing: libtool-ltdl                 ######################### [1/2]

Installing: libtool-ltdl-devel           ######################### [2/2]

 

Installed: libtool-ltdl.i386 0:1.5.22-2.2 libtool-ltdl-devel.x86_64 0:1.5.22-2.2

Complete!

[root@centos5.5 SOURCES]#

12 – run the rpmbuild command again to build the rpm.

[root@centos5.5 SOURCES]# rpmbuild -bb /usr/src/redhat/SPECS/heartbeat.spec

Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1

Requires: /bin/sh /usr/bin/python heartbeat-pils = 2.0.2-2.Signature libbz2.so.1()(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3)(64bit) libcurl.so.3()(64bit) libdl.so.2()(64bit) libglib-2.0.so.0()(64bit) libltdl.so.3()(64bit) libpils.so.1()(64bit) librt.so.1()(64bit) libssl.so.6()(64bit) libstonith.so.1()(64bit) libuuid.so.1()(64bit) libxml2.so.2()(64bit) libz.so.1()(64bit) telnet

Processing files: heartbeat-pils-2.0.2-2.Signature

Provides: generic.so()(64bit) libpils.so.1()(64bit)

Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1

Requires: libbz2.so.1()(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libdl.so.2()(64bit) libglib-2.0.so.0()(64bit) libltdl.so.3()(64bit) librt.so.1()(64bit) libuuid.so.1()(64bit) libz.so.1()(64bit)

Processing files: heartbeat-debuginfo-2.0.2-2.Signature

Provides: apcmaster.so.debug()(64bit) apcsmart.so.debug()(64bit) baytech.so.debug()(64bit) bcast.so.debug()(64bit) bz2.so.debug()(64bit) crc.so.debug()(64bit) cyclades.so.debug()(64bit) drac3.so.debug()(64bit) external.so.debug()(64bit) generic.so.debug()(64bit) heartbeat.so.debug()(64bit) ibmhmc.so.debug()(64bit) libapphb.so.0.0.0.debug()(64bit) libccmclient.so.1.0.0.debug()(64bit) libcib.so.0.0.0.debug()(64bit) libclm.so.1.0.0.debug()(64bit) libcrmcommon.so.0.0.0.debug()(64bit) libhbclient.so.1.0.0.debug()(64bit) liblrm.so.0.0.0.debug()(64bit) libpengine.so.0.0.0.debug()(64bit) libpils.so.1.0.0.debug()(64bit) libplumb.so.1.0.0.debug()(64bit) libplumbgpl.so.1.0.0.debug()(64bit) librecoverymgr.so.1.0.0.debug()(64bit) libstonith.so.1.0.0.debug()(64bit) libstonithd.so.0.0.0.debug()(64bit) lsb.so.debug()(64bit) mcast.so.debug()(64bit) md5.so.debug()(64bit) meatware.so.debug()(64bit) null.so.debug()(64bit) nw_rpc100s.so.debug()(64bit) ocf.so.debug()(64bit) ping.so.debug()(64bit) ping_group.so.debug()(64bit) rcd_serial.so.debug()(64bit) recmgr.so.debug()(64bit) rps10.so.debug()(64bit) serial.so.debug()(64bit) sha1.so.debug()(64bit) ssh.so.debug()(64bit) stonith.so.debug()(64bit) suicide.so.debug()(64bit) test.so.debug()(64bit) ucast.so.debug()(64bit) wti_nps.so.debug()(64bit) zlib.so.debug()(64bit)

Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1

Checking for unpackaged file(s): /usr/lib/rpm/check-files /var/tmp/heartbeat-2.0.2-build

Wrote:/usr/src/redhat/RPMS/x86_64/heartbeat-2.0.2-2.Signature.x86_64.rpm

Wrote:/usr/src/redhat/RPMS/x86_64/heartbeat-ldirectord-2.0. 2.Signature.x86_64.rpm 

Wrote:/usr/src/redhat/RPMS/x86_64/heartbeat-stonith-2.0.2-2.Signature.x86_64.rpm

Wrote: /usr/src/redhat/RPMS/x86_64/heartbeat-pils-2.0.2-2.Signature.x86_64.rpm

Wrote:/usr/src/redhat/RPMS/x86_64/heartbeat-debuginfo-2.0.2-2.Signature.x86_64.rpm

Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.48338

+ umask 022

+ cd /usr/src/redhat/BUILD

+ cd heartbeat-2.0.2

+ ‘[‘ -n /var/tmp/heartbeat-2.0.2-build -a /var/tmp/heartbeat-2.0.2-build ‘!=’ / ‘]’

+ rm -rf /var/tmp/heartbeat-2.0.2-build

+ rm -rf /usr/src/redhat/BUILD/heartbeat-2.0.2

+ exit 0

[root@centos5.5 redhat]#

Note –  Heartbeat & LVS rpm are build.

[root@centos5.5 SOURCES]# ls -trl ../RPMS/x86_64/

total 19016

-rw-r–r– 1 root root   40943 Nov 18 18:58 heartbeat-ldirectord-2.0.2-2.Signature.x86_64.rpm

-rw-r–r– 1 root root 9053786 Nov 18 18:58 heartbeat-2.0.2-2.Signature.x86_64.rpm

-rw-r–r– 1 root root 1274315 Nov 18 18:58 heartbeat-stonith-2.0.2-2.Signature.x86_64.rpm

-rw-r–r– 1 root root  123031 Nov 18 18:58 heartbeat-pils-2.0.2-2.Signature.x86_64.rpm

-rw-r–r– 1 root root 8926329 Nov 18 18:58 heartbeat-debuginfo-2.0.2-2.Signature.x86_64.rpm

[root@centos5.5 SOURCES]#

 

Installing and Configuring SVN

Introduction

This document focuses on installing and configuring SVN on RedHat Linux as an SCM Repository. Subversion is the popular standard for version control and Software Configuration Management (SCM) for globally distributed organizations. CollabNet Subversion is an enterprise-ready distribution of Subversion that includes certified binaries, platform-specific installers, and certified plugins for Eclipse, HP Quality Center, and IBM Rational ClearCase.
SVN runs on most platforms, including Windows, Linux, AIX, and UNIX. However the most stable platform and the most used platform are Linux and Unix.
There are many variants of subversion available in market, below document is written based on CollabNet Subversion. Thousands of documents, tutorials are available over SVN but I tried to make this post as simple as possible which will help those who are going to use SVN for the first time for any small team size. Various securities, configuration can be set in SVN, which is not in scope of this article.
Follow below steps, user must have root privilege – Please check the latest version available
TortoiseSVN-1.6.8.19260-win32-svn-1.6.11.msi (windows client for SVN operation – download from http://tortoisesvn.net/downloads)

CollabNetSubversion-client-1.6.11-1.i386.rpm (command line client)
i. Import CollabNet GPG key

CollabNet Subversion RPMs are signed using our GPG key. As a one-time task,
import the CollabNet GPG key using the command:

sudo rpm –import /path/to/RPM-GPG-KEY-csvn.asc

The CollabNet GPG key is available for download at:
http://www.collab.net/nonav/downloads/subversion/gpg-key/RPM-GPG-KEY-csvn.asc

ii. First installation

The command to install the CollabNet Subversion RPM, if a previous version
has not already been installed, is:

sudo rpm -ivh /path/to/client.rpm

iii. Updating an existing installation

If you have a previous version of the CollabNet Subversion client RPM installed,
update to the new version by running this command:

sudo rpm -Uvh /path/to/client.rpm

If you also have a previous version of the CollabNet Subversion server RPM
installed, add the –force option to the command:

sudo rpm -Uvh –force /path/to/client.rpm

iv. Post-installation instructions

A. CollabNet Subversion installs into /opt/CollabNet_Subversion, which is
probably not on the executable search path for your system. Add the directory
/opt/CollabNet_Subversion/bin to your $PATH environment variable. In order to
make this change affect all users of your system and persists across reboots,
add the following line to /etc/profile:

PATH=/opt/CollabNet_Subversion/bin:$PATH

B. CollabNet Subversion provides man pages and localizations for several
languages. To take advantage of these features, update your MANPATH and/or
LOCPATH environment variables to include the CollabNet Subversion directories.
For example:

export MANPATH=/opt/CollabNet_Subversion/share/man:$MANPATH
export LOCPATH=/opt/CollabNet_Subversion/share/locale:$LOCPATH

 CollabNetSubversion-server-1.6.11-1.i386.rpm (subversion server)
i. First-time installation

Install the client RPM first. The client RPM includes all of the
Subversion libraries. (Refer to the readme for the client RPM before
continuing.) Once the client is installed, install the server RPM using
this command:

sudo rpm -ivh /path/to/server.rpm

ii. Updating an existing installation

Before updating an existing CollabNet Subversion server installation to the
latest version, follow these steps:

A. Stop the existing server if it is running:

sudo /etc/rc.d/init.d/collabnet_subversion stop

B. Back up local configuration files. The update process does not touch your
repositories at all, but it is possible for you to lose your local
configuration files, such as your Apache configuration or your list of
usernames/passwords. To be safe, copy the contents of this folder to a
safe location:

/etc/opt/CollabNet_Subversion/conf

C. Install the updates. You must update the client RPM first. Follow the
instructions in the readme for the client. Then install the server RPM
using this command:

sudo rpm -Uvh /path/to/server.rpm

D. Run the Configure-CollabNet-Subversion script. Just follow the
Post-installation instructions in the next section. When you run the
Configure script, select No when you are asked if you want to create
new repositories, users, and so on (unless you want to redo those steps).
At the end, the script restarts the server and, if you followed these
instructions, your previous configuration should still be in tact.

If you have problems, you can copy the files you saved in step B back to
their original location.

iii. Post-installation instructions

A. CollabNet Subversion installs into /opt/CollabNet_Subversion, which is
probably not on the executable search path for your system. Add the
directory /opt/CollabNet_Subversion/bin to your $PATH environment
variable. To make this change so it affects all users of your system
and persists across reboots, add the following line to /etc/profile:

PATH=/opt/CollabNet_Subversion/bin:$PATH

B. CollabNet Subversion provides an interactive script which allows you to
choose which Subversion server process you want to run (either Apache or
the custom svnserve daemon) and configure it. The script also walks you
through creating Subversion repositories and setting up of basic
Subversion authentication and authorization. Once you add CollabNet
Subversion to your system’s $PATH environment variable, run the following
script as superuser:

$ sudo Configure-CollabNet-Subversion

C. CollabNet Subversion provides man pages and localizations for several
languages. To take advantage of these features, update your MANPATH and/or
LOCPATH environment variables to include the CollabNet Subversion directories.
For example:

export MANPATH=/opt/CollabNet_Subversion/share/man:$MANPATH
export LOCPATH=/opt/CollabNet_Subversion/share/locale:$LOCPATH

CollabNetSubversion-extras-1.6.11-1.i386.rpm (subversion  extras – viewVC and python bindings)
i. First-time installation

Install the client and server RPM first. The client RPM includes all of the
Subversion libraries. (Refer to the readmes for the client and server RPM
before continuing.) Once the client and server are installed, you install
the extras RPM using this command:

sudo rpm -ivh /path/to/extras.rpm

ii. Updating an existing installation

You must update the client and server RPM first. Follow the instructions
in the readme for the client and server respectively. Then install the extras
RPM using this command:

sudo rpm -Uvh /path/to/extras.rpm

iii. Post-installation instructions

A. CollabNet Subversion installs into /opt/CollabNet_Subversion, which is
probably not on the executable search path for your system.  Add the directory
/opt/CollabNet_Subversion/bin to your $PATH environment variable. To make this
change affect all users of your system and persists across reboots, add the
following line to /etc/profile:

PATH=/opt/CollabNet_Subversion/bin:$PATH

B. CollabNet Subversion provides an interactive script which allows you to
choose which Subversion server process you want to run (either Apache or
the custom svnserve daemon) and configure it. The script also walks you
through creating Subversion repositories and setting up basic
Subversion authentication and authorization. Once you add CollabNet
Subversion to your system’s $PATH environment variable, run the following
script as superuser:

$ sudo Configure-CollabNet-Subversion

C. CollabNet Subversion provides man pages and localizations for several
languages. To take advantage of these features, update your MANPATH and/or
LOCPATH environment variables to include the CollabNet Subversion directories.
For example:

export MANPATH=/opt/CollabNet_Subversion/share/man:$MANPATH
export LOCPATH=/opt/CollabNet_Subversion/share/locale:$LOCPATH

iv. ViewVC configuration
(optional-this will give you browser based control of SVN to user)
ViewVC support currently requires that you use the Apache server option.
When you run the Configure-CollabNet-Subversion script, if you choose the
option to configure an Apache server and the extras RPM has been installed,
then you are asked if you want to configure ViewVC. Answer Yes and the script
adds ViewVC to the Apache configuration.

Start  SVN – /etc/rc.d/init.d/collabnet_subversion start
Stop SVN – /etc/rc.d/init.d/collabnet_subversion stop
SVN Status – /etc/rc.d/init.d/collabnet_subversion status
Default location for installation – /opt/CollabNet_Subversion/
Sample files for SVN Configuration (by default /etc/opt/CollabNet_Subversion/conf) –
The below configuration is required if you don’t use ViewVC and want users will do operations from SVN windows client (e.g. Tortoise). From browser you can only get read only (http download possible) view of all files in svn repositories.
httpd_csvn.conf
<IfDefine csvn_installed>
# CollabNet Subversion DAV settings
Include /etc/opt/CollabNet_Subversion/conf/collabnet_subversion_httpd.conf
</IfDefine>

<IfDefine viewvc_installed>
# CollabNet Subversion VIEWVC settings
Include /etc/opt/CollabNet_Subversion/conf/viewvc_httpd.conf
</ifDefine>

collabnet_subversion_httpd.conf (main configuration file SVN with user level access control – means when users will do check in or delete files it will ask for user name password, this helps for user tracking and their day to day operation on SVN)

ServerName 119.43.8.37:80
Listen 80

User csvn

Group csvn

<Location /svn>
DAV svn
SVNParentPath /admin/svn/repositories
AuthzSVNAccessFile /etc/opt/CollabNet_Subversion/conf/svn_access_file
Satisfy Any
Require valid-user
AuthType Basic
AuthName “Subversion repository”
AuthUserFile /etc/opt/CollabNet_Subversion/conf/svn_auth_file
</Location>

svn_auth_file (file stores the user name and password for authentication)
This file need to be created as administrator –
Steps –

i. touch svn_auth_file (this file must be present in conf directory, in this scenario – /etc/opt/CollabNet_Subversion/conf)

ii. htpasswd -b svn_auth_file username 123@svn (user ‘username’ will be added in svn_auth_file with encrypted password 123@svn)

svn_access_file (this file is used for configuring the folder level access to users by creating groups, users must be present svn_auth_file)

[groups]
servicepower = usera, userb,userc,userc
Admins = Keshab, Satya, Mike

[/KP]
Keshab= rw
Mike = rw
[/TI]
Keshab = rw
Satya = rw
[/DMPM]
Mike = rw
Satya = rw

[/]
keshab = rw
* = r

[KP:/EI]
keshab = rw
Mike= rw

[KP:/Power]
@servicepower = rw
[KP:/Power/Business_Req_Spec]
@power = rw
[KP:/Power/Database]
@power = rw

Add a user for SVN

Administrator can change the password by the following command after deleting the existing entry from svn_auth_file.

# htpasswd -b svn_auth_file username 123@svn_0

In this SVN server, users will be added to the linux system (they won’t be able to ssh login to the server) only for SVN authentication as valid user.
# useradd -d /home/cduser -s /sbin/nologin ohrid
To delete the user just delete the line (having entry of that user id) from the file svn_auth_file. Also remove that user’s id from svn_access_file (where ever it exists). Also delete that user from the linux system too by using command – deluser ohrid

Create Repository

# svnadmin create /admin/svn/repositories/repositoryname