Archive for Debian/Linux

Installing Java and JDK on Debian Etch

Several popular tools require a Java runtime environment, or JRE, to work. Whilst there a growing number of open Java environments at times installing Sun Java environment is the pragmatic approach - unfortunately the software doesn’t come in a Debian package. This short recipe shows how to install a Java SDK, or JDK, as a Debian package, and make it work inside your browser.

Whilst there is nothing wrong with installing software outside the control of the Debian packaging system, it’s not something that should be undertaken lightly as it makes it hard to keep track of installations, and it complicates updating a number of machines from a centralised Debian package repository.

Thankfully there are facilities available which make it a simple job to install Sun’s Java as a Debian package.

Two packages we’re going to need are java-package, and fakeroot. These can be installed simply:

apt-get install fakeroot java-package

Once the relevent packages have been installed you will need to download the Sun release of the Java package from http://java.sun.com

At the time of writing the most current version can be found here:

Once you agreed to the license presented to you, and have downloaded the file you will have something like jre-1_5_0_03-linux-i586.bin.

To turn this into a Debian package you should run:

fakeroot make-jpkg jre-1_5_0_03-linux-i586.bin

This command will first prompt for confirmation, then :

  • Ask you for your name
  • Ask you for your email address
  • Display a license agreement:
    • Press Space to scroll down, or q to quit.
    • Type “yes” to indicate you agree with the terms.

(The name, and email address, you give will be inserted into the Debian package information - and not sent to Sun.)

Once these questions have been answered the process will inform you that your package has been built shortly afterwards. The final output you should expect to see will look something like this:

The Debian package has been created in the current directory. You can
install the package as root (e.g. dpkg -i sun-j2re1.5_1.5.0+update03_i386.deb).

As the instructions tell you it is now possible for you to install the package by becoming root and running:

dpkg -i sun-j2re1.5_1.5.0+update03_i386.deb

One final step might be for you to ensure the Java software works for Mozilla Firefox, or the Mozilla browser.

The package you’ve installed should include a plugin for your browser. At the time of writing the most recent Sun Java version we’ve been using will install a plugin for you at the following location:

/usr/lib/j2re1.5-sun/plugin/i386/ns7/libjavaplugin_oji.so

Create a symlink to this directory in your home directory:

ln -s /usr/lib/j2re1.5-sun/plugin/i386/ns7/libjavaplugin_oji.so \
~/.mozilla/plugins/

If you wish to do this for all users on the current system instead run, as root:

ln -s /usr/lib/j2re1.5-sun/plugin/i386/ns7/libjavaplugin_oji.so \
/usr/lib/mozilla/plugins/

(You might find that the plugin has been automatically installed for all users - so it’s worth checking whether you need to complete this last step yourself.)

Original Article Source:www.debian-administration.org

Comments

Eternal Bash History - super duper useful

I come accross this nice little article! Me and Simon have wondered how to do this for a while.. well, now we know how! wohoo!

Many times I’ve found myself using Ctrl-R in Bash to get a old command four times the terminal width, just to find out that too many days have passed and it’s no longer in the .bash_history file. Here are two lines that will keep track of every command line you type at the bash prompt and use no external processes at all, just plain bash.

My first approach to this problem was increasing the maximum number of lines in the history to a very large quantity. But no matter how large it was, there was always a moment when I needed a long command I typed many months ago and it had already left the history. The current solution came to my mind when I learned about the PROMPT_COMMAND variable, a command that bash executes before showing each prompt. Here are the two lines:

export HISTTIMEFORMAT=”%s ”
PROMPT_COMMAND=”${PROMPT_COMMAND:+$PROMPT_COMMAND ; }”‘echo $$ $USER \
“$(history 1)” >> ~/.bash_eternal_history’

One goal I set to myself was to achieve it without using any external process, so bash wouldn’t have to fork a new process after every ENTER pressed at its prompt. The first line sets the format of history lines to include the date as a Unix timestamp, so you can now when you typed every command. The second line, which is the core of the solution, first ensures that, if a previous PROMPT_COMMAND was set, it gets executed before our stuff and then appends a line of the format:

PID USER INDEX TIMESTAMP COMMAND

to a file called .bash_eternal_history in the current user home.

Adding the username, which at first seemed unnecesary, became useful later to distiguish between “sudo -s” sessions and normal sessions which retain the same value for “~/”, and so append lines to the same .bash_eternal_history file.

I hope some of you find these two lines as useful as I do. :-)

Source: debian-administration.org
Author: Andy Teijelo

Comments (3)

using ssh on multiple servers at one time

The possibilities for this app are endless. Yum.

Lots of us have many server to manage and we perform the same tasks on each of the machine every day, if you want to save time the package cssh will make you happy!

Simply install the clusterssh package:

host:/# apt-get install clusterssh

Now if you want to perform the same command on the three servers one, two, & three simply run:

host:/# cssh one two three

This will open three console, one for each server, over an ssh connection, and one little console to type your command.

Enjoy !
Source of article: Debian-Administration.org

Comments (1)