Use of uninitialized value $u in substitution (s///) at /usr/share/perl5/Git/ line 101

When I try to migrate SVN repository to GIT repository , I was getting the below error.

Use of uninitialized value $u in substitution (s///) at /usr/share/perl5/Git/ line 101

Open the file /usr/share/perl5/Git/ and go to line 101.

$u =~ s!^\Q$url\E(/|$)!! or die 
        "$refname: '$url' not found in '$u'\n"; 

to this: 

if(!$u) { 
        $u = $pathname; 
}else { 
        $u =~ s!^\Q$url\E(/|$)!! or die 
        "$refname: '$url' not found in '$u'\n"; 

steps to upgrade jdk-8 & gradle-2.11

Upgrading java using update-alternatives

  1. Download the latest java-8 binary zip from official oracle downloads
  2. Create a new folder  under /opt
     mkdir -p /opt/jdk-8
  3. Extract the gzip file to the /opt/jdk-8 directory
     tar -zxf jdk-8u5-linux-x64.tar.gz -C /opt/jdk-8
  4. Setting Oracle JDK as the default JVM
    update-alternatives --install /usr/bin/java java  /opt/jdk-8/jdk1.8.0_74/bin/java 2000
    update-alternatives --install /usr/bin/javac  javac /opt/jdk-8/jdk1.8.0_74/bin/javac 2000
  5. Configure java if more than one java version is available already.
     update-alternatives --config java

    choose the correct number if prompted .

  6.  Verify the installation
     java –version

Upgrading gradle manually.

  1. Download the latest gradle binary file from
  2. Create a new folder  under /opt
     mkdir -p /opt/gradle-2.11
  3. Extract the gzip file to the /opt/gradle-2.11 directory
     tar -zxf -C /opt/gradle-2.11
  4. Create a symbolic link to the original file.
     ln -s /opt/gradle-2.11/bin/gradle /usr/local/bin/gradle
  5. Verify the installation
     gradle –version

gradle –version -> may still use the older version of java  if  JAVA_HOME is not  points to the latest jdk-8 directory.

 export JAVA_HOME=/opt/jdk-8/jdk1.8.0_74
 export PATH=$PATH:$JAVA_HOME/bin


How to Daemonize a Java Program?

I have a Java program that I’d like to daemonize on a linux system.
In other words, I want to start running it in a shell and have it continue running after I’ve logged out.
Even After I reboot my system, my java program should be up and running like any other daemon service (sshd etc..)
I also want to be able to stop the program cleanly.

What’s your preferred method to daemonize a Java program on a Linux system?

I have Java Archive (vm.jar) , I want to run this Jar as an UNIX Service. Here are steps I followed to achieve that

  1. Install daemon tools from the URL  and follow the instruction mentioned there,for any issues please try instructions  error.h
  2. Create a file at /etc/init/svscan.conf and add the below lines.(only required for cent-os-6.7)

start on runlevel [12345]
stop on runlevel [^12345]
exec /command/svscanboot

3. Create a new script named run inside /service/vm/ folder and add the below lines.

echo starting VM
exec java -jar /root/learning-/daemon-java/vm.jar

replace the Jar with your own Jar file. or any java class file.

4. Reboot the system

5. svstat /service/vm should be up and running now !.

6. svc -d /service/vm should bring vm down now !.

7. svc -u /service/vm should bring vm up now !.

Enable eth0 centos-6.7

I have created a VM in virtual box using Centos-6.7. I have configured eth0 interface as bridge adapter. However I am not able to connect to internet. When I did ifconfig , I could only see loopback address as shown below.


ifconfig – displays the connected network interfaces.

ip link displays the available network interfaces on machine.


ip-link – displays the available network interfaces


  1. add NETWORKING=yes in /etc/sysconfig/network file.
  2. create a new file called ifcfg-eth0 in /etc/sysconfig/network-scripts/ folder as shown below. ifcfg-eth0DEVICE=eth0
  3. save and reboot the machine.
  4. Now you should be able to see the eth0 network in ifconfigifconfig-eth0

ifup eth0 will throw an below error  “Configuration for eth0 not found “ unless we create a file in /etc/sysconfig/network-scripts/ifcfg-eth0 no-device-found

ifup eth0 throws “Device eth0 does not seem to be present, delaying initialization.”

rm -f /etc/udev/rules.d/70-persistent-net.rules