Tag Archive for 'Linux'

Introducing the BeagleBone

The BeagleBone is the low-cost, high-expansion hardware-hacker focused BeagleBoard. It is a bare-bones BeagleBoard that acts as a USB or Ethernet connected expansion.
BeagleBone brings full-featured Linux to places it has never gone before.

Delicious facts about BeagleBone
AM3359 Processor btw. this is the Datasheet Continue reading ‘Introducing the BeagleBone’

Mail command

My tiny mail-command collection of the very important administrator mail command.
You can test E-Mail-Server create scripts with this useful command or send yourself some notifications.

The simplest one: Continue reading ‘Mail command’

Kernel modules

It’s sometimes useful to prevent some kernel modules from loading. This howto will show you how to do this. This is really easy to do, so if you want you can just skip to the end to see some examples.

Load manualy kernel modules:

1
modprobe ip_conntrack_ftp

List all loaded modules:

1
lsmod

This option remove loaded module:

1
modprobe -r pcspkr

Creating a blacklist:

1
2
cat /etc/modprobe.d/blacklist-custom
blacklist pcspkr

Persistent IPv6 Address

I show you, how to add a secondary IPv6 Address to your existing one.
You need only to edit “vim /etc/network/interfaces” file and add the IPv6 networking configuration.

1
2
3
4
5
6
7
8
9
10
11
12
13
# The loopback network interface
auto lo
iface lo inet loopback
 
# The primary network interface
auto eth0
iface eth0 inet static
 address 10.1.100.4
 gateway 10.1.100.1
 netmask 255.255.255.0
 pre-up modprobe ipv6
 post-up ip addr add 2001:470:1f0b:1514::4/64 dev eth0 
 post-up ip route add default via 2001:470:1f0b:1514::1 dev eth0

Another way to do the same:

1
2
3
4
5
6
pre-up modprobe ipv6
 
iface eth0 inet6 static
 address 2001:470:1f0b:1514::4
 netmask 64
 gateway 2001:470:1f0b:1514::1

Also you can put the ipv6 module in to “/etc/modules” instead of “pre-up modprobe ipv6″

Test it:

1
ping6 ipv6.google.com

Some complexe example:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# The loopback network interface
auto lo
iface lo inet loopback
 
# The primary network interface
allow-hotplug eth0
iface eth0 inet static
        address 188.40.116.234
        netmask 255.255.255.0
        network 188.40.116.0
        broadcast 188.40.116.255
        gateway 188.40.116.206
 
auto eth0:1
iface eth0:1 inet static
        address 192.168.2.70
        netmask 255.255.255.0
 
# IPv6 over tunnel-broker
auto he-ipv6
iface he-ipv6 inet6 v4tunnel
 endpoint   216.66.80.30
 ttl        255
 address    2001:470:1f0a:1604::2
 netmask    64
 mtu        1480
 post-up ip addr add 2001:470:1f0b:1604::1/64 dev eth0
 post-up ip route add ::/0 dev he-ipv6

What does this “> /dev/null 2>&1″ mean?

I remember being very confused for a very long time about the trailing garbage in commands that I saw in Linux systems.

Now I can explain it to you with a very easy example.

Standard in, out, and error

There are 3 standard sources of input and output for a program. Standard input usually comes from the keyboard if it’s an interactive program, or from another program if it’s processing the other program’s output. The program usually prints to standard output, and sometimes prints to standard error. These three file descriptors (you can think of them as “data pipes”) are often called STDIN, STDOUT and STDERR

Sometimes they’re not named, they’re numbered! The built-in numberings for them are 0, 1, and 2, in that order. By default, if you don’t name or number one explicitly, you’re talking about STDOUT.

Given that context, you can see the command above is redirecting standard output into /dev/null, which is a place you can dump anything you don’t want (often called the bit-bucket), then redirecting standard error into standard output (you have to put an & in front of the destination when you do this).

Will create a new directory

1
mkdir test

if you execute it second time you will get a error.
With this redirection you will suppress the error.

1
mkdir test > /dev/null 2>&1

The short explanation, therefore, is “all output from this command should be shoved into a black hole.” That’s one good way to make a program be really quiet! That means, if you have some critical errors in your code, you will never see them.