Eclipse is a powerful and feature-rich IDE for Java developers, but the versions packaged with Debian and Ubuntu lag far behind the latest releases. In fact, the version shipping with Ubuntu 16.04 was released in 2012 and was discontinued quite some time ago.

Despite the fact that both Ubuntu and Debian don't package and ship new versions of it anymore, Eclipse is still easily available to users of both distributions. You just have to go about getting it a different way, and the Eclipse developers have a great solution for this.

Getting Java 8

Since Eclipse is primarily a Java IDE(You can use it with other languages), you're probably going to want to install Java 8 on your system to be able to develop applications. The good news is; Java 8 is available for both Ubuntu and Debian.

Debian Jessie

Java 8 was not made available to Debian users when Jessie was first launched, but it is available through the jessie-backports repository. So, the first step in getting Java 8 installed is to enable that repository.

Open up /etc/apt/sources.list in your favorite text editor as root and add the following line.
# Backports repository
deb jessie-backports main

The following quick guide will help you to setup a latest version of Django framework with Python 3 on Debian Jessie Linux. The current default Django version on Debian 8 Jessie Linux is 1.7 with python 2.7. Follow the below step in order to install Python 3 with latest Django. Let's start by installation of python3-setuptools:
# apt-get install python3-setuptools
The above command will also install Python 3 on your system. Next, use easy_install3 to install alternative Python package installer pip:
# easy_install3 pip

After fresh system installation the root login on the Debian Linux is disabled by default. When you attempt to login as root user to your Debian Jessie Linux server the access will be denied eg.:
$ ssh This email address is being protected from spambots. You need JavaScript enabled to view it.
This email address is being protected from spambots. You need JavaScript enabled to view it.'s password: 
Permission denied, please try again.
This email address is being protected from spambots. You need JavaScript enabled to view it.'s password: 
Permission denied, please try again.
This email address is being protected from spambots. You need JavaScript enabled to view it.'s password: 
Permission denied (publickey,password).
To enable SSH login for a root user on Debian Linux system you need to first configure SSH server. Open /etc/ssh/sshd_config and change the following line:
PermitRootLogin without-password
PermitRootLogin yes

The following config will guide you through a process of changing the docker's default /var/lib/docker storage disk space to another directory. There are various reasons why you may want to change docker's default directory from which the most obvious could be that ran out of disk space. The following guide should work for both Ubuntu and Debian Linux or any other systemd system. Make sure to follow this guide in the exact order of execution.

Let's get started by modifying systemd's docker start up script. Open file /lib/systemd/system/docker.service with your favorite text editor and replace the following line where /new/path/docker is a location of your new chosen docker directory:
ExecStart=/usr/bin/docker daemon -H fd://
ExecStart=/usr/bin/docker daemon -g /new/path/docker -H fd://

So, you've decided to try out this thing you heard others talk about, called 'compiling a custom kernel'. If you are trying this as a hobby, or because you want to learn a new skill, very well – read on.

However, before we start, we will try to explain situations when this need arises and how to deal with it. Note that this is an extensive subject which needs much more in terms of space than we will provide here. You will learn the basics, what you need, what to do and what you'll achieve.

For more info, as usual, Google is your friend; also , the documentation resident in the kernel source tree will answer lots of questions. So, let's start with the beginning, with a last note : if need arises, we will publish more articles related to kernel compiling pertaining to other distros.

Author: Rares Aioanei


This is the last installment of our C development series, and arguably the most non-technical one. If you followed us from the beginning and practiced as much as possible, you now have some basic knowledge on C development and how to package your (favorite) application for two of the most used Linux distribution families, Debian and Redhat. This article is about the community, how to contribute, how to collaborate and finally, how to get your package in the official Debian archives. If you read the previous articles in the series you won't need any other technical knowledge; all you need is the will to put your knowledge to work for community's benefit.

Getting started

You have an application, you packaged it and now you're anxious to upload it to the Debian archives (by the way, many of the ideas presented here apply to many Open Source projects: what differs usually is the way of doing things). We'd say not so fast. Take a minute to breathe and find ways to make yourself known to the community. Take some time to read the Debian New Maintainer's Guide, if you haven't already, and remember the key word here: community. Everyone is a volunteer, and we chose Debian especially because of its democratic views, and nobody is paid or forced in any way to do your bidding. Anyway, since we know how much you like to read guides and manuals, part of this article will consist of some sane advice regarding collaboration. First, get used to get by on your own. Nobody likes a person that, when he or she hits the first sign of trouble, instead of going to the best Internet friend, $SEARCH_ENGINE, start polluting the forums, mailing lists and IRC channels with puerile questions like "What gcc flags do I need to compile my code for i686?". The only thing you will gain is a less than friendly RTFM and lots of missing geek points. Yes, we know that the gcc manual is big and a sure shot for headaches, but reading the manual, then searching the net first is the Right Way (TM). No exceptions. You will make a first good impression when you show the other developers that you made your homework. On the other hand, giving beginners a hard time, especially when such behavior is not called for, will not get you any popularity. Remember that you were once like them, remember that you, as we all, still have a lot to learn, and perhaps point the person towards a resource you think is helpful. In this context, remember that word again: community. Your work doesn't mean much, despite the fact that it means the world to you, unless the community finds it useful. Collaborate with them and be ready to accept feedback, and be thankful for it, even though you might not like what you hear. Leave your pride at the door and remember that the best and maybe only way to make your software better is community feedback. But don't fall into extremes, and try to be impartial. Perhaps some people will try to put you down just for the fun of it: ignore them and concentrate on constructive criticism.

The following config will guide you through a process of installing Cran R-3.2.1 on Debian Linux 8 Jessie. First, updated you repository list:
# apt-get udpate
If you have not done so yet install a curl command which you will use to download Cran R-3.2.1 source code:
# apt-get install curl

The following lines will describe a procedure on how to mimic Ubuntu's sudo privilege authorization system on Debian Linux. Sudo allows users to run programs with the authorization privileges of another user by supplying their own password for authentication.

If you have not done so yet, first install sudo package:
# apt-get install sudo
Once sudo is installed run:
# visudo
which allows you to edit the content of /etc/sudoers file. Change the content of this file as show below:
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

root    ALL=(ALL:ALL) ALL
%admin ALL=(ALL) ALL
%sudo   ALL=(ALL:ALL) ALL

This short config will describe a installation of s3cmd Command Line S3 tool on Debian. First update your repository:
# apt-get update
Next, install Python package installer pip which will be later used to install s3cmd:
apt-get install python-pip

If you are looking for the netstat command and getting error:
bash: netstat: command not found
This simply means that the relevant package net-tools which includes netstat executable is not installed, thus missing. The package net-tools may not be installed on your system by default so you need to install it manually.

The package also includes aditional utilisties such as arp, ifconfig, netstat, rarp, nameif and route.

Related sources.list repositories:
Wheezy, Jessie, Stretch, Buster

Security Updates

# /etc/apt/sources.list :
deb stretch/updates main contrib non-free
deb-src stretch/updates main contrib non-free

Australia Mirror

# /etc/apt/sources.list :
deb stretch main contrib non-free
deb-src stretch main contrib non-free

There are multiple way on how to determine whether a specific package is already installed on your system. The first dpkg command will list all currenlty installed packages on your system:
# dpkg -l

The typical question after we install a new package on our system is that what are the actual files ware installed and what is their location. This may be even less obvious if the final executable name intended to start your program has slightly different name than the package its self. In the following example we are going to install a dummy package hello using apt-get command:
# apt-get install hello
(Reading database ... 7528 files and directories currently installed.)
Preparing to unpack .../hello_2.9-2+deb8u1_amd64.deb ...
Unpacking hello (2.9-2+deb8u1) ...
Setting up hello (2.9-2+deb8u1) ...

Very useful tool to extract files from Debian package archive DEB (*.deb) is ar command. First, let's download a sample debian package hello_2.10-1_amd64.deb:
$ wget
Now, that we have downloaded our sample Debian package we can use ar command to list its content. This can be achieved by t option:
$ ar t hello_2.10-1_amd64.deb 

This article will describe an installation of the ownCloud file sync and share server on Debian 8 Linux Jessie. This article does not assume any pre-installed packages. Using the commands below you can install ownCloud on the fresh installation of Debian 8 Linux Jessie. Furthermore, we will be using external sources to install the latest version of ownCloud suite.

Let's begin by inclusion of the ownCloud repository:
# wget -q
# apt-key add - < Release.key
# echo 'deb /' >> /etc/apt/sources.list.d/owncloud.list
# apt-get update
Now install the owncloud package which will also fetch all required prerequisites such as mysql-server or apache2 webserver:
# apt-get install owncloud
In the next step we are going to configure database. Let's enable database to start after reboot and start the database:
# systemctl enable mysql
# service mysql start
Once the MySQL( mariaDB ) is up and running, we need to create a new database called owncloud. All mysql commands below require administrator user name and password. Replace root user if your administration to access to mariaDB database is different:
# mysqladmin -u root -p create owncloud
Enter password:

Submit your RESUME, create a JOB ALERT or subscribe to RSS feed.
Subscribe to NEWSLETTER and receive latest news, jobs, career advice and tutorials.
Get extra help by visiting our LINUX FORUM or simply use comments below.

You may also be interested in: