Mar 262014

The last 2 weekends were quite busy especially as the week before I got married. Fortunately my wife didn’t mind me going to the CLT2014 and the Augsburger Linuxinfotag so I took advantage of that. It was the first time I got a chance to visit them and it was great to see familiar faces. At the CLT2014 I had a brief chat with Jan Dittberner who organized the Debian booth which was well prepared and hope to repeat on the Linuxtag 2014 in Berlin again. Apart from looking at the booths I visited a few talks like nftables and kernel news but missed Deciphering kernel oopsies which was down to poor organization from my end. Despite I stayed just for a few hours at the CLT2014 the overall atmosphere was very nice.

Feb 022014

If you use ssh agent forwarding in combination with screen and disconnect from the screen session just to reconnect later to maybe connect to another host you are asked for the password. The reason is quickly explained. When you start a screen session for the first time it sets the SHELL variables for the current SSH session:

root@test1:~# export | egrep 'TERM|SSH'
declare -x SSH_AUTH_SOCK="/tmp/ssh-XFKYAHW930/agent.930"
declare -x SSH_CLIENT=" 10841 22"
declare -x SSH_CONNECTION=" 10841 22"
declare -x SSH_TTY="/dev/pts/0"
declare -x TERM="screen"
declare -x TERMCAP="SC|screen|VT 100/ANSI X3.64 virtual terminal:\\

When you disconnect from the host and reconnect later, the SHELL variables were already set in the existing screen session. Below the variables direclty after reconnecting to the host:

root@test1:~# export | egrep 'SSH|TERM'
declare -x SSH_AUTH_SOCK="/tmp/ssh-oPRczk7046/agent.7046"
declare -x SSH_CLIENT=" 10875 22"
declare -x SSH_CONNECTION=" 10875 22"
declare -x SSH_TTY="/dev/pts/0"
declare -x TERM="xterm"

And the variables after reconnecting and within the screen session:

root@test1:~# export | egrep 'TERM|SSH'
declare -x SSH_AUTH_SOCK="/tmp/ssh-XFKYAHW930/agent.930"
declare -x SSH_CLIENT=" 10841 22"
declare -x SSH_CONNECTION=" 10841 22"
declare -x SSH_TTY="/dev/pts/0"
declare -x TERM="screen"
declare -x TERMCAP="SC|screen|VT 100/ANSI X3.64 virtual terminal:\\

The solution is quite easy and can be found on a number of pages, e.g. or (as I just noticed) even more comfortable by linking the SSH_AUTH_SOCK variable.

I might give the linking SSH_AUTH_SOCK variable a go, though in the past I used the PROMPT_COMMAND variable, which get’s called prior running a command in bash, for zsh you can use the precmd (man zshmisc) function.

Add the following to the ~/.bashrc

if [ $TERM != "screen" ]; then
PROMPT_COMMAND=". ${HOME}/tmp/fixssh"

Create 2 directories in your home directory:

# mkdir -p ~/{tmp,bin}

Place the below script (original from in ~/bin/


for x in ${SSHVARS} ; do
    (eval echo $x=\$$x) | sed  's/=/="/
                                s/^/export /'
done 1>$HOME/tmp/fixssh

Whenever you reconnet to the host it will run the scrip and sets the SSH variables for the current session. In the screen session you have to run one command before (or just hit “return”) to source the values from ~/tmp/fixssh.

Aug 202013

This year I attended my first Debconf in Varmarcus, Switzerland. I spent the week before in Italy, close to Ravenna at at small place called Porto Cosini where Lisa, Sofia and I had rented a appartment. Though the original plan was to spent there 2 weeks together I could convince Lisa beforehand to “allow” me to head off for Debconf – which I very much appreciated.

I arrived on Monday late evening and have to admit the first 2 days were not quite as productive as I had hoped for. Wheras Wednesday wasn’t much chance to do much anyway due to the daytrip to CERN. Big thanks to Cate again to for organizing this unofficial trip. I posted some pics below which I took with my mobile phone so they are not great quality.

One of the original Next computers used by  Tim Berners-LeeOne of the original Next computers used by Tim Berners-Lee

CERN DCCERN datacenter

LHC controll roomLHC controll room

LHC controll centerLHC controll room

CERN symbolCERN symbol

ATLAS paintingPainting of ATLAS experiment

The way back took a bit longer with the result that we missed our ship where we were suppose to have dinner on. Thanks god they had mercy and collected us eventually



Thursday morning I sat in a few talks like Introduction to git-dpmWoman in Debian and MariaDB. In the afternoon I took the chance for my first ghostification as Assassin with the result being of ghostified 10 minutes later myself.

Friday I  followed up regarding bugfixes for the Sympa packages and got hold of Jonas for a while so he could explain me about the bugfixing process. Late afternoon was an interesting talk about Paths into Debian where one conclusion was to have more local groups which would allow interested people  personal contacts beside IRC or mailinglists. And indeed it definitely would be nice to see more local city groups, which I take as a little challenge to follow up on after I had a chat with Moray, Asheesh and Sorina.

So looking back Dbconf2013 was my first Debconf and for sure not my last.

May 302013

A few weeks ago we had a problem with a higher number of aborted connects at work. Looking at a few suggestions from the web none of them worked. (e.g. to search tcpdump for string). Eventually enabling logging gave away the issue. Here the steps to enable logging to see what’s causing aborted connects for mysql 5.1.

root@dbslave:~# mysql -A -uroot -p -e'SHOW GLOBAL VARIABLES LIKE "general_log%"'
| Variable_name    | Value              |
| general_log      | ON                 |
| general_log_file | /var/log/mysql.log |

root@dbslave:~# mysql -A -uroot  -p -e'SHOW GLOBAL VARIABLES LIKE "%warning%"'
| Variable_name | Value |
| log_warnings  | 2     |
| sql_warnings  | OFF   |
| warning_count | 0     |

SET GLOBAL log_warnings=2;
SET GLOBAL general_log_file=’/var/log/mysql.log’;
SET GLOBAL general_log=on;

Once done logging should be disabled again as the logs can get huge on a busy server.

Mar 242013

Last week I got the chance to attend the Hadoop Summit 2013 in Amsterdam. As my experience with hadoop is still quite new it’s nice to
get a chance to see how other people deal with challenges in their infrastructure.

The most interesting sessions were from Mahadev Konar about Ambari and Allan Wittenau about linkedIn operations.

Actually I just joined Mahadev Birds of a Feather session on Day1 where he gave an overview about Ambari as I couldn’t make it to the actual talk. The 1.3.0 release could be a an early stage alternativ to Cloudera Manager. It still requires work but the first impression looks promising. A big benefit to Cloudera Manager is probably the rest-API which allows you to combine external applications/tools (e.g. config mgmt, etc.).

Allen Wittenau from LinkedIn who works as an Architect on their hadoop infrastructure gave a good insight into the operations at linkedIn. Nice was also to get a chance for a follow up chat the day after. with Allen,  Owen,  Avik and Bence

Jan 112013

I was configuring my work laptop and ran into the problem that I used the caps lock key as modifier in awesome. Most of my personal computers are setup in this way as I it’s quite convenient. Considering that caps lock is barely used for the intended purpose. Unfortunately I didn’t document it the last time hence changes below:

[@digdug: ~]$ cat /etc/default/keyboard 

# Consult the keyboard(5) manual page.


Nov 062012

From time to time it happend that my keyboard behaved in a funny way, although I were not aware that I pressed any specific keys.
In the past I resolved the issue with a restart of the X server but as it started to bug me I had a closer look and the solution was actually quite easy.

A look into the /var/log/Xorg.0.log showed the following line:

(II) XKB SlowKeys are now enabled. Hold shift to disable.

A quick search on the net showed a good few bug reports. Though it’s a feature and not a bug.

To disable it was just a matter to install the package “xkbset” and to add the following line into ~/.zshrc.

xkbset exp -accessx
Jun 172012

When setting up port forwarding to a web server, request were failing and command line returned:

channel 3: open failed: administratively prohibited: open failed

There were no firewalls blocking requests and curl just replied with “curl: (52) Empty reply from server”

After reestablishing ssh with -v as argument, the message came a bit clearer:

debug1: channel 3: new [direct-tcpip]                                                                                                                                                 
channel 3: open failed: administratively prohibited: open failed                                                                                                                      
debug1: channel 3: free: direct-tcpip: listening port 8000 for port 80, connect from port 38887, nchannels 4 

Looking into sshd man page and checking sshd options, showed the potential issue straight away:

 AllowTcpForwarding no 

After setting above to yes and a sshd reload all worked smoothly.

 Tagged with:
Jan 042012

It’s was time to replace my good old x40 with a more modern laptop. Having multiple tabs in Firefox/Thunderbird open and a few xterm made it a bit sluggish but still fully sufficient otherwise. So will keep using it  when some short trips are required.  As I wasn’t willing to spent big money I decided to get a x200 of luxnote. Price seemed reasonable, was supposed to be in a good condition and shop ratings were alright too. So my resume after 2 month, it still works – wouldn’t consider it as normal nowadays –  running it with Wheezy/sid and awesome as lightweight window manager.

Took some time to get awesome the way setup I wanted, as before fluxbox was my WM of choice and I still love it. But thought to give a different approach a go and haven’t regret it so far..