Showing posts with label Debian. Show all posts
Showing posts with label Debian. Show all posts

Tuesday, February 28, 2012

Learning Go

Go is the new kid in town which wants to superseed the programming language C.

So let's have a brief overview of what Go brings to the table:
  • typesafety
  • garbage collection
  • concurrency
  • clean and concise syntax
  • error handling via panic/recover
Let's take a ride with Go on Debian GNU/Linux with Eclipse:

sudo apt-get install golang-weekly

I assume you have already installed Eclipse. Go is supported with Eclipse via the Goclipse plugin.

Install Goclipse via the following update site:
http://goclipse.googlecode.com/svn/trunk/goclipse-update-site/

Now hook your Go installation up with the Goeclipse plugin goto Window>Preferences>Go and apply the following path settings:

Now we are ready to create a classical hello world.
  • change to Go perspective
  • create a new Go Project and name it HelloGo
  • within HelloGo/src/cmd create a new main.go (see content below)
  • now run main.go(right click Run As>Run Go Application)

package main

import (
 "fmt"
)

func main() {
 fmt.Printf("Hello World!")
}

So that's it for now have fun :-)

Sunday, February 26, 2012

Installing Oracle JDK7 on Debian GNU Linux

Since Oracle does not allow anymore to ship its "orignal" JDK7 with Linux distributions developers are to either use OpenJDK7 or manually install Oracle JDK7. Fortunately the oldtimer debian tool java-package got revived which makes it pretty easy to create an installable deb of the Oracle JDK tarball.


So here we go:

First download Oracle JDK7 tarball (not rpm!) e.g. jdk-7u3-linux-x64.tar.gz then fire up a shell.

sudo apt-get install java-package
make-jpkg jdk-7u3-linux-x64.tar.gz
sudo dpkg -i oracle-j2sdk1.7_1.7.0+update3_amd64.deb
sudo update-java-alternatives -l
sudo update-java-alternatives --jre --plugin -s  j2sdk1.7-oracle

Wednesday, December 14, 2011

Make Nexus startup script LSB compliant

I recently ran into the following error with  Nexus and Debian:

warning: script 'nexus' missing LSB tags and overrides insserv... 

which causes a loop within insserv. This is due to a non LSB compliant startup script of Nexus. To make your nexus startup script LSB compliant add the following stuff at the beginning:

#! /bin/sh

### BEGIN INIT INFO
# Provides:          nexus
# Required-Start:    $remote_fs $syslog $network
# Required-Stop:     $remote_fs $syslog $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Nexus Maven Proxy
# Description:       Nexus Maven Proxy
### END INIT INFO
Then run:
# insserv nexus 
and you are done.

Insserv is now aware of preconditions for properly starting and stopping Nexus.