Category Archives: Linux

Stuff about the superior OS

Creating .deb-Packages With Checkinstall

If you’ve exhausted all other options, it might be time to compile from source, even in Debian. If you’re about to do that though, don’t abandon the concept of .deb files and the advantages they bring with versioning and easy removal. Use “checkinstall“. Checkinstall is in the standard Debian repositories and encapsulates your install into […]

Fixing “shmget() failed: No space left on device”

I had this happen when someone ran a script to kill x11vnc every so often, using kill -9 (don’t ask). Killing x11vnc with SIGTERM (15) allows it to clean up its shared memory segments. SIGKILL (9) will not. Googling around, I found a script over here (backup copy here). The problem with that was that […]

SSH in a while loop – stdin problems

When SSH is used with a line like “while read ….”, the while loop will only run once. This can be seen by running this simple example: $ seq 1 10 | while read line; do ssh remotehostname “echo x${line}x”; done x1x You might expect this to connect to the host with the name “remotehostname” […]

Set php.ini values using .htaccess

Did you know that you can set php.ini values right inside the .htaccess file? You can do so by adding lines like these: #format php_value setting_name setting_value #example php_value upload_max_filesize 128M

GCC stray X in program

Problem: IEMGD_HEAD_Linux/common/drm/emgd/display/pi/cmn/pi.c:1: error: stray ‘\357’ in program This is caused by “invalid” characters in the code, specifically I encountered this while trying to compile the Intel EMGD driver for my EEEPC’s graphics card. Thanks to the helpful folks over here, there’s a solution: cd IEMGD_HEAD_Linux/common/drm/emgd/display/pi/cmn cat -v pi.c | awk ‘{if(NR>1) print $0}’ > tmp […]

xorg.conf for KVM

Found this somewhere. Works for me. Section “ServerLayout” Identifier “BodhiZazen’s KVM xorg.conf” Screen 0 “Screen0” 0 0 InputDevice “Mouse0” “CorePointer” InputDevice “Keyboard0” “CoreKeyboard” EndSection Section “Module” Load “record” Load “dri” Load “extmod” Load “glx” Load “dbe” Load “dri2” EndSection Section “InputDevice” Identifier “Keyboard0” Driver “kbd” EndSection Section “InputDevice” Identifier “Mouse0” Driver “vmmouse” Option “Protocol” “SysMouse” […]

bash time limit on commands

Several programs, like “timelimit” and “timeout”, exist to prevent a process from running for too long. However, if you want to do this on a box where neither is installed, there’s a way to do so with bash alone. Based on the original script I found at pixelbeat.org… #!/bin/sh # Execute a command with a […]

Debian APT Pinning properly explained

Accidentally stumbled across the “Debian Cheat Sheet” at http://carlo17.home.xs4all.nl/howto/debian.html (now dead – see pdf below) Finally some documentation on why the heck pinning with “Package: *” and “Package: mypackage” doesn’t mix well, and other useful knowledge. In case the link goes dead, here’s a PDF: debian_cheat_sheet.pdf

Using LD_PRELOAD to override a function

This was blatantly stolen from technovelty, kept here because I hate it when my bookmarks die. For some reason, people seem to get this quite wrong a lot of the time. Certainly one should not be playing with symbols that start with __ unless you really know what you’re doing with them. ianw@lime:~/tmp/override$ cat override.c […]