Debuging commands running on memcached

I had stragne statistics on one memcached servers. I had to look what it’s doing there. I found such commands that may be used to sniff, extract and make statistics from running memcached server. Debug GET commands tcpflow -c dst port 11211 | cut -b46- | grep ^get cut command will remove 46 bytes at beginning of every string (src, dst, port). You may need to adjust numeric parameter for cut to leave commands only. Output should look like: ...

2016-07-13 · 1 min · timor

How to stole ssh session when you’re root

It happen to me all the time that one of developers notifies me about some kind of problem that I can’t confirm from my account. Sometimes it was because of bad ssh keys configuration, other times file permissions, mostly such stuff. It’s sometimes convenient to “enter into someone’s shoes” to see what’s going on there. If you’re root on machine you may do that like this: su developer - Easy one but that’s not enough for all cases. When you use bastion host (or similar solutions) sometimes users have connection problems and it’s harder to check. When such user have ForwardAgent ssh option enabled you may stole this session to check login problems. After you switch to such user, you may wan’t to hide history (it’s optional 😉 ) - disable history like that: ...

2016-04-27 · 1 min · timor

pip - uninstall package with dependencies

Virtualenvs in python are cheap but from time to time you will install something with pip on your system and when time comes removing all this crap could be difficult. I found this bash snippet1 that will uninstall package with all dependencies: Recursive pip uninstall for dep in $(pip show python-neutronclient | grep Requires | sed 's/Requires: //g; s/,//g') ; do pip uninstall -y $dep ; done pip uninstall -y python-neutronclient Depending how you installed it, you might need to use sudo. ...

2016-04-26 · 1 min · timor

Prefer IPv4 over IPv6

I try to use IPv6 where it’s available but it’s sometimes so hard… It happen quite often that I can’t download packages from repos because they weren’t configured on IPv6 vhosts even when host is available via IPv6 address. For APT you may use this trick to force IPv4 connections only: echo 'Acquire::ForceIPv4 "true";' > /etc/apt/apt.conf.d/99force-ipv4 If you need more than that, then gai.conf will allow you to filter where you will be connecting via IPv4 and where via IPv6 - in example bellow you will prefer IPv4 whenever it’s available: ...

2016-03-29 · 1 min · timor

List octal file permissions in bash

Sometimes it’s easier to use octal file permissions but they’re not so easy to list. I caught myself few times that I didn’t remember how to list them - so this is a reason for that note. stat -c "%a %n" * 755 bin 755 games 755 include Yes, it’s that easy 😃 And here also with human readable attributes: stat -c '%A %a %n' * drwxr-xr-x 755 bin drwxr-xr-x 755 games drwxr-xr-x 755 include

2016-02-24 · 1 min · timor

WordPress with HyperDB on PHP 7.0

I was configuring WordPress with HyperDB  external link plugin on PHP 7.0 but the only I get were constant 500 errors. As I found here  external link PHP 7.0 is not supported by HyperDB for now - it’s rely on mysql php extension but in PHP 7.0 there is only mysqli extension. But few folks fixed it and it’s possible to use it. ...

2016-02-24 · 1 min · timor

Automatically build after file change

I’m playing a lot with Docker lately. Building images, and then rebuilding, and then building again… It’s pretty boring. To automate this task a little I used inotify to build automatically after I changed any file. This trick could be used in many different situations. On Linux You will need inotify-tools package: sudo apt-get install -y inotify-tools Then run something like this: while inotifywait -e modify -r .; do docker-compose build; done On MacOS You will need fswatch tool: ...

2016-02-23 · 1 min · timor

Install Docker Compose

When I started playing with Docker I was running a lot of commands to build image, delete containers running on old image, run containers based on new image, etc… A lot of log commands with links, volumes, etc… Then I started searching for something to automate this task and here I get to docker-compse command, this is how you may install it: pip install docker-compose And install additional bash completions (run as root): ...

2016-02-12 · 1 min · timor

Manual installation of Docker on Debian/Ubuntu

I’ve played with Docker a little in it early days but didn’t stick for longer with it. It’s stable now so I wanted to check how it’s running now. I really can’t accept this method of installation: curl -fsSL https://get.docker.com/ | sh I think that world is going to it’s end when I see such scritps… I prefer to do this manually, knowing exactly what I have to do. Install prerequisites: ...

2016-02-11 · 2 min · timor

Some useful commands in Docker

I started playing with Docker and here I will write some commands that where not so obvious at beginning 😃 List running containers: docker ps List also not running containers: docker ps -a Remove all containers (be careful with that): docker rm $(docker ps -a -q) Remove all images: docker rmi $(docker images -q) Docker won’t remove any old volumes used by containers, so after some time you may be interested in deleting them all: ...

2016-02-11 · 1 min · timor