dpkg -l

List all installed packages.


dpkg returns a number of installed packages:

$ dpkg -l | wc -l

ask dpkg to return only packages related to php. This will include installed and non-installed packages:

$ dpkg -l *php*

Using dpkg with grep to see only installed packages

dpkg -l | grep php

dpkg -L <package>

dpkg -L will show whether the package is installed. If the package is installed dpkg will show related files and their locations whithin the filesystem.


$ dpkg -L ntpdate

$ dpkg -L php5-json
Package `php5-json' is not installed.

Here are simple steps on how to install custom build or existing Debian kernel within a chroot environment. In this example we do not install a new version of Debian in chroot environment but we use the existing installation. Let's create directory for a chroot environment:

Make directory

# mkdir -p /mnt/chroot

First we need to mount a partition with existing Debian installation. In our case a / partition of existing installation is /dev/hdb1 .

# mount  /dev/hdb1 /mnt/chroot

Install prerequisites

jdownloader is a great tool to download file from share websites like rapidshare.com and many more. Here are simple steps on how to install jdownloader on Ubuntu or Debian Linux distributions:
First install all prerequisites:

apt-get install openjdk-6-jre sun-java6-jre default-jre \
zenity default-jre-headles sun-java6-bin \

Installing this plugin on any Linux system should be a easy task. First download google-talkplugin_current_i386.deb package. On a Ubuntu system use:

sudo dpkg -i google-talkplugin_current_i386.deb 

on a system where sudo is not present by default first change to root:


and then enter:

dpkg - i google-talkplugin_current_i386.deb

If you have installed a Debian lenny ( kernel 2.6.26-2-iop32x ) on your Thecus 2100 NAS device the fan is not automatically controlled by default and it is running on a full speed. The default value is 255 as specified in :

cat /sys/class/i2c-adapter/i2c-0/0-002e/pwm2

To change the default values use a echo command. For example to turn off the fan use:

echo 0 > /sys/class/i2c-adapter/i2c-0/0-002e/pwm2


if the pwm2 file did not produce the desired outcome you may try pwm1 instead.

The main reason to put a fan on lower RPM is to get rid of the noise. However, make sure that you check your hard drives temperature before you leave the fan turned off completely:

# apt-get install hddtemp

I have installed a Debian on my N2100 yesterday and it is just great. I wonder why the Thecus guys do not put a full version of debian into this small box by default :-). Since this is a headless PC I was missing that last beep once the system booted so I would know when I can ssh to it. Here is a small hack to overcome this problem. First install a beep package:

# apt-get isntall beep

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

Security Updates

# /etc/apt/sources.list :
deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free

Australia Mirror

# /etc/apt/sources.list :
deb http://ftp.au.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.au.debian.org/debian/ squeeze main contrib non-free

Running Linux system inside a chroot environment allows a system admin to decrease an impact on a production server when the server gets compromised. Change root will change root directory to all current running processes and its children to a chroot jail. Testing of various package installations and server configuration in a chrooted environment can be another handy way how to utilize a chroot jail.

This tutorial will provide a reader with step by step guide on how to install Debian with ssh daemon inside chroot environment using debootstrap.

Install chroot environment

In the first step we will create a directory in which new chroot environment will reside. For convenience during the installation we also declare temporary bash shell variable CHROOT to hold a path to chroot environment.

# mkdir -p /mnt/chroot/squeeze
# CHROOT=/mnt/chroot/squeeze

When new chroot directory is ready we will use debootstrap to install new Debian system within chroot environment. Change the architecture and debian version according to your needs. The installation may take some time as debootstrap will use your specified mirror to download and install core packages. Choose the closest mirror as it will rapidly reduce the installation time.

# debootstrap --arch i386 squeeze \

At the end of the installation you should seed output similar to the one below:

I: Configuring debian-archive-keyring...
I: Configuring apt...
I: Configuring libept0...
I: Configuring apt-utils...
I: Configuring aptitude...
I: Configuring tasksel-data...
I: Configuring tasksel...
I: Base system installed successfully.

This short article describes the quick and easy way on how to customize, build and install Linux kernel under Debian or Ubuntu Linux. First, we will install all prerequisites then download kernel source. Next step will be customization and as a last step we will create and install a Debian package with new Customized Linux kernel.


Let's start with first step which is installation of all prerequisites:

# apt-get install bzip2  build-essential \ 
kernel-package libncurses5-dev

Kernel build and customization

Next step is to download kernel source code from kernel.org. Untar and cd inside the kernel's directory tree:

$ tar xvjf linux-2.6.34.tar.bz2
$ cd linux-2.6.34

At this point we will do the most important part of creating new customized kernel and building a Debian package. This is all done with a single make-kpkg command.


Optional step is to apply kernel patches before running a following linux command:

make-kpkg --rootcmd fakeroot --config menuconfig --initrd --us --uc kernel_image
  • --us do not sign source
  • --uc do not sign changelog
  • --initrd perform any actions necessary for a kernel loaded using initrd
  • -- rootcmd fakeroot command that provides a means of gaining super user access
  • --config menuconfig will use menuconfig as a configuration tool where default is oldconfig

There are more and more Laptops nowadays which do not have a CD/DVD-ROM facility build in but are able to boot from USB memory stick. This small guide provides all needs on how to create a bootable USB memory stick to install a Debian without a need for CD/DVD drive.

Before you continue make sure that you have backed up all your data from your USB memory stick. After completing this guide your USB memory stick will contain a new partition table and all your data will be lost.

This guide also assumes that you have a running linux system and USB memory stick with minimal size of 512MB which you will use for the process of creating Debian boot installation USB stick.

Find USB device name

Plug in your USB stick and find its device file name by:

fdisk -l

For the rest of this guide we are going to use /dev/sdb as our target.


Create FAT16 partition

Next we need to create FAT16 partition. For this we can use cfdisk with -z option. This command will completely remove all your data from your USB stick, so backup first !:

cfdisk -z /dev/sdb

and create a first primary partition with the minimal size of 260MB and leave the rest unpartitioned or create second partition with some other filesystem for normal use of your USB stick. The size of 260 MB will fit a current Debian stable boot.img.gz and and Debian netinst ISO image.


How often do you need to install your favorite Linux distribution in a single year either virtually or using real hardware? How frequently it happens that you just want to test new release of certain Linux distribution so you install it on different partition or simply virtually using your current system as a host. How often do you need to deploy a server which is a complete clone of the one you configured yesterday. The installation part of any Linux system today is a very straightforward process. Nonetheless, the hardest and the most tedious part comes with a fine tuning, customization and configuration of your system's services as well as your own user environment. You can simply copy your custom system configuration files from one system to another but engaging in this concept this task can become quite disorganized, time consuming and most importantly error-prone.

In this article, we are going to take a different approach which involves a creation of a Debian package archive containing all required custom user and configuration files. First part of this article describes a rather simple way on how to create a Debian package archive containing all custom files followed by its installation. In the second part, we will look at the way on how to create our own very basic Debian Repository and use it to deploy a simple website including Apache webserver installation and configuration on a freshly installed Linux system.


In this section, we create and install simple Debian package. The package will accommodate some sample user data to serve as an example.

Creating a Debian Package

It took you a while to configure your desktop to have it the way it best suits your needs and convenience. In your custom environment, you may for example include some bash scripts, create several aliases using .bashrc file or changed default behavior of a vim text editor by altering .vimrc file. Furthermore, you may also have customized numerous system configuration files such as /etc/network/interfaces and so on. All this hard work can be saved within a Debian package and installed and removed from any system with a single dpkg command. As a first step we need to create a bare minimum skeleton for a Debian package. This is a fairly simple task as it only involves a single DEBIAN/control file. So let us start by creating a directory named "myenv". This directory will hold all data for our own version 1.0 Debian package.

$ mkdir myenv

In the next step, we need to create a control file:

$ cd myenv
$ mkdir DEBIAN
$ vi DEBIAN/control

Installation prerequisites

Debian LogoIt is said that the installation of Debian Linux is know as one of the hardest among all Linux Distributions. In this article we will see that this is just a myth, in fact it is very easy, even for beginners. All you need is basic understanding of disk partitioning techniques and a downloaded/burned netinstall image which suits the hardware architecture you intend to install onto Debian Linux, and a internet connection. Of course there are other requirements, such as a working PC with a CD-ROM drive and free/unpartitioned space on your hard disk. :'''NOTE:''' Do not download all Debian GNU/Linux 4.0 installation disks! You only need the first CD or go to netinstall CD.




Beginning of the installation

Make sure you set your BIOS to boot from the CD-ROM. Once you boot Debian, it will welcome you with an Introductory Screen similar to the one below.

Debian Etch Introductory Screen

At this stage you can navigate with the function keys F1-F10:


This guide will provide all necessary steps on how to create, bundle, upload, run and connect Debian ETCH AMI on Amazon Elastic Compute Cloud (Amazon EC2). For this guide we have used a Ubuntu 9.04. However, any other Linux distribution can also be used as long as it contains java and ruby packages. For more information about Amazon EC2 read  here.

This page is not in any way an affiliate to Amazon Web Services. !


  • Internet connection
  • registered user account for S3 and EC2 services with Amazon Web Services (AWS) 
  • Amazaon Access Key ID
  • Amazon Secret Access Key
  • Amazon Account Number
  • Amazon X.509 Certificate
  • at least 1GB free hard drive space
  • following packages need to be installed:
apt-get install ssh debootstrap ruby 
sun-java6-bin libopenssl-ruby curl

Before we start

 As you will see in the next sections of this guide many different files are required to successfully use Amazon's EC2 Web Services. For the sake of simplicity, we will create a directory "aws" in ~/ and store all necessary files there for a quick access. There will be three exceptions:

FIND LATEST LINUX JOBS on LinuxCareers.com
Submit your RESUME, create a JOB ALERT.
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: