Add a system user

Use below command if you need to add a system user account (for example to run svnserve as daemon)

 sudo adduser --system --no-create-home --home /nonexistent --shell /usr/sbin/nologin --disabled-password --disabled-login svnowner  

and run it as

 sudo -u svnowner svnserve -d -r /opt/svn/repos/  


Remove all the Java related packages on Linux Mint 14

I have just installed Linux Mint 14 and wanted to install my own Java environment. Quick search brought me to this thread http://askubuntu.com/questions/84483/how-to-completely-uninstall-java/185250#185250, so this post is just a copy my own further needs :-)

1) Remove all the Java related packages (Sun, Oracle, OpenJDK, IcedTea plugins, GIJ):
sudo apt-get update
apt-cache search java | awk '{print($1)}' | grep -E -e '^(ia32-)?(sun|oracle)-java' -e '^openjdk-' -e '^icedtea' -e '^(default|gcj)-j(re|dk)' -e '^gcj-(.*)-j(re|dk)' -e 'java-common' | xargs sudo apt-get -y remove
sudo apt-get -y autoremove

2) Purge config files:
dpkg -l | grep ^rc | awk '{print($2)}' | xargs sudo apt-get -y purge

3) Remove Java config and cache directory:
sudo bash -c 'ls -d /home/*/.java' | xargs sudo rm -rf

4) Remove manually installed JVMs:
sudo rm -rf /usr/lib/jvm/*

5) Remove Java entries, if there is still any, from the alternatives:
for g in ControlPanel java java_vm javaws jcontrol jexec keytool mozilla-javaplugin.so orbd pack200 policytool rmid rmiregistry servertool tnameserv unpack200 appletviewer apt extcheck HtmlConverter idlj jar jarsigner javac javadoc javah javap jconsole jdb jhat jinfo jmap jps jrunscript jsadebugd jstack jstat jstatd native2ascii rmic schemagen serialver wsgen wsimport xjc xulrunner-1.9-javaplugin.so; do sudo update-alternatives --remove-all $g; done

6) Search for possible remaining Java directories:
sudo updatedb
sudo locate -b '\pack200'

If the command above produces any output like /path/to/jre1.6.0_34/bin/pack200 remove the directory that is parent of bin, like this:
sudo rm -rf /path/to/jre1.6.0_34.

[SOLVED] No sound on Linux Mint 14 (Nadia) through ATI RS690/780 HDMI, Digital Out.

I have just upgraded my Linux Mint from 9 to 14 (Nadia) and first issue was with playing audio through
Chip: ATI RS690/780 HDMI

Internet contains zillion of different solutions and neither one helped me until I found solution here https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/989671/comments/4. So, simply applying below steps solved my problem.

1) do
sudo vim /etc/default/grub

2) find the line

3) change it to
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash radeon.audio=1"

4) do
sudo update-grub

reboot your system and enjoy!


Dump average file size within a directory

I had to provide some stats about feed files and found below time saving command here http://vivekjain10.blogspot.com/2008/02/average-file-size-within-directory.html

1:  find /some/dir -type f -name *.txt \  
2:  -print0 | xargs -0 ls -l | gawk \  
3:  '{sum += $5; n++;} END {print "Total Size: " sum/1024/1024 " MB : Avg Size: " sum/n/1024 " KB : Total Files: " n ;}'  
5:  Total Size: 55214.8 MB : Avg Size: 9792.17 KB : Total Files: 5774   


Change text mode to binary in CVS

If you accidentally checked in jar file in text mode, you can fix it as below:
1:  $ cvs update -kb path/to/your.jar  
2:  $ cvs commit -fm "Change substitution mode (jar from text to binary)" path/to/your.jar  

credit for this post goes to http://chwang.blogspot.com/2006/06/change-text-mode-to-binary-in-cvs.html

Dump JAR's Manifest File

1:  unzip -p your-jar.jar META-INF/MANIFEST.MF  

credit for this post goes to http://marxsoftware.blogspot.com/2011/04/viewing-jars-manifest-file.html


/CVSROOTccess on cvs execution

This is a repost from http://www.whitesquaresoft.com/2006/07/15/cvsrootccess-on-cvs-execution/

I have often had the following issue when connecting to a CVS tree from the command line.

1:  $ cvs up  
2:  /CVSROOTccess /usr/local/cvsroot  
3:  No such file or directory  

The issue is one of line breaks, in that the actual error message that is supposed to be show is:

1:  Cannot access /usr/local/cvsroot  
2:  /CVSROOTNo such file or directory  

So this post is to help all those out there who have experienced the same issue.  I have found that the issue relates to the files in each of the CVS folders (Root, Entries, Repository)  depending on the client you use (in my case eclipse) to create the files, when you use the command line CVS it fails to interperet the files correctly and gets the wrong path.
I’d guess this is only an issue running CVS on cygwin under windows.  So now i’ve recorded it, all u have to do is dos2unix the files in all the CVS folders and it work a treat.

1:  dos2unix `find . -name Root`  
2:  dos2unix `find . -name Entries`  
3:  dos2unix `find . -name Repository`  

Will do the trick.