Bart's Blog

Now viewing: /tag/linux

Links

pictures
vimblog source

Search

Bookmarks

Tags

abiword adam apt asm ata audio bash bios board-game boot bug c code debian debug desktop devel disk dpkg email firefox font fs fun gdb geode git git-find git-graft go google gpg hardware html inkscape ion3 ipsec irc irssi joke kdb kernel klips kqemu kvm laptop lastfm ldap linux lua lvm mail make mercurial meta mouse-free mpd mutt net nfs oclug ogre ols oom openswan opteron osx ottawa perl power pxe qemu raid redhat ruby sbc scm screen scsi security shell ssh svn tags talk thinkpad ubuntu uml unix urxvt usb vi video vim vimgit vpn vserver web weechat wmii wmiirc-lua x x86 x86emu xen xen-box-setup xterm zsh

Posts

[ 20080719211329 ]
printable OLS/2008 schedule

[ 20080715214447 ]
wmiirc-lua updates

[ 20080713194704 ]
Git Screencast

[ 20080713143429 ]
four steps to reproducible Debian installs

[ 20080705150651 ]
USB2.0 enclosure benchmark

[ 20080703230924 ]
Linux Kernel Walkthroughs posted

[ 20080702113602 ]
Introducing the Ottawa Ruby folks to Git

[ 20080628160732 ]
Authenticating Linux against OSX LDAP directory

[ 20080627142123 ]
Canada Day Events 2008

[ 20080613162541 ]
Linux Kernel Walkthroughs

[ 20080510083828 ]
is my usb device connected to a fast port?

[ 20080509111534 ]
show more git info on zsh prompt

[ 20080430104202 ]
git-vim

[ 20080412100337 ]
color your word

[ 20080404105620 ]
show current git branch on zsh prompt (2)

[ 20080303200359 ]
how to track multiple svn branches in git

[ 20080301134220 ]
fixing X for GeodeLX

[ 20080108002540 ]
kvm nfs hang

[ 20080107160836 ]
screen -c relative path bug

[ 20080105132854 ]
WeeChat spell suggestions

[ 20071219221358 ]
show current git branch in zsh

[ 20071217141037 ]
wmiirc-lua kitchen sink repository

[ 20071212100316 ]
protecting sshd from OOM killer

[ 20071204234232 ]
wmiirc-lua v0.2.1 remembers a bit more

[ 20071013205336 ]
wmiirc-lua v0.2 has suspend and raw modes

[ 20070929112345 ]
wmiirc-lua debianization

[ 20070924104140 ]
zsh tip of the day - global aliases

[ 20070915094213 ]
wmiirc-lua v0.1.1

[ 20070913130838 ]
comparing two directories

[ 20070909204125 ]
git-rebase --interactive

[ 20070908115905 ]
zsh tab completion awesomeness

[ 20070902000736 ]
wmiirc in lua

[ 20070831150306 ]
debugging with -dbg libraries

[ 20070831142646 ]
svn status like output in git

[ 20070829141847 ]
Git Cheat Sheet

[ 20070821142038 ]
switching to abiword

[ 20070811105746 ]
forwarding ssh and X through screen

[ 20070807112531 ]
git-svnup

[ 20070724082355 ]
reducing power consumption

[ 20070722123734 ]
Makefile template

[ 20070722002649 ]
less, colourful

[ 20070719162359 ]
irssi docs

[ 20070716114553 ]
qemu eats up /dev/shm

[ 20070710214512 ]
git-clean in svn land

[ 20070705113139 ]
ipw2200 not working

[ 20070627191916 ]
git slides updated

[ 20070618220649 ]
unpopular debian packages on my system

[ 20070611125852 ]
git-svn with multiple branches

[ 20070517085321 ]
Linus on Git at Google

[ 20070510134551 ]
vim modelines insecure

[ 20070504205042 ]
bios disassembler

[ 20070504124124 ]
dd hex arguments

[ 20070503013555 ]
urxvt mouseless url yanking

[ 20070502211941 ]
gitdiff.vba v2

[ 20070419234350 ]
india

[ 20070418155857 ]
zsh fun

[ 20070418143632 ]
pipe to pastey.net

[ 20070418094151 ]
vimgrep alias

[ 20070416202545 ]
mouse-free

[ 20070406141850 ]
ATA messages via SCSI layer

[ 20070330221019 ]
GITDiff vim plugin

[ 20070329011735 ]
git presentation for OCLUG

[ 20070328123631 ]
fixing vim's [[ and ]] for bad code

[ 20070316092236 ]
pxeboot and nfsroot with debian

[ 20070312134706 ]
etc snapshots with git

[ 20070307004041 ]
remote power switch

[ 20070222215355 ]
klips-less openswan git tree

[ 20070221041316 ]
git caching for v1.5.x

[ 20070218002214 ]
klips loses zlib

[ 20070209172606 ]
vim and linux CodingStyle

[ 20070207205427 ]
my kqemu install

[ 20070204100100 ]
leaner meaner openswan

[ 20070115111917 ]
wmii+ruby xlock action

[ 20070112131252 ]
cloning xterms in wmii+ruby

[ 20070102010551 ]
wmii+ruby talk for OCLUG

[ 20061228220641 ]
dump and restore

[ 20061218100219 ]
C style

[ 20061101002027 ]
fetching all git branches from remote

[ 20061028111607 ]
local caching for git repos

[ 20061020145437 ]
automatic version creation with git

[ 20061018213306 ]
wmii w/ ruby wmiirc

[ 20061018201907 ]
small fonts

[ 20061007151802 ]
google-codesearch from vim

[ 20060928020813 ]
shell commands

[ 20060920093957 ]
letting screen apps use the ssh-agent

[ 20060908223613 ]
mpdscribble stream support

[ 20060907125149 ]
glGo on ubuntu/dapper amd64

[ 20060906163240 ]
lbdb and mutt

[ 20060902145643 ]
vim tutorial

[ 20060902135722 ]
fixing your terminal

[ 20060828124713 ]
apt-get pdiffs

[ 20060824224842 ]
256 colour xterms

[ 20060824152658 ]
dynamic IPcomp

[ 20060824145428 ]
inkscape++

[ 20060818150516 ]
tags/cscope for system headers

[ 20060805131557 ]
opteron 170, part 4

[ 20060805101941 ]
opteron 170, part 3

[ 20060803233234 ]
opteron 170, part 2

[ 20060802210126 ]
opteron 170

[ 20060729144129 ]
OLS keysigning / 2006

[ 20060728105500 ]
git-find findings

[ 20060727162941 ]
starting on git-find

[ 20060727113632 ]
git-graft and git-find brainstorm

[ 20060726224531 ]
pretty function tracing

[ 20060713174723 ]
uml and multiple network segments

[ 20060707182236 ]
lastfm artist and title to clipboard

[ 20060706162256 ]
reverting a git changeset

[ 20060629212003 ]
user #3

[ 20060628083456 ]
firefox crashes with form input

[ 20060621151402 ]
git vs hg

[ 20060612222204 ]
ldap account management

[ 20060612194523 ]
stupid ldap

[ 20060608092157 ]
rpm hell is right

[ 20060605095726 ]
OpenSSH VPNs

[ 20060604114317 ]
Lenovo lost a customer

[ 20060601234010 ]
generating html colourized sourcecode

[ 20060601211716 ]
ion3 greatness and acting on X selections

[ 20060526085644 ]
software RAID10 performance

[ 20060525234148 ]
learning to love git

[ 20060524121638 ]
recent vim7 articles

[ 20060516095748 ]
bootstrapping debian on my sbc

[ 20060428145140 ]
entropy injection

[ 20060423140628 ]
Adam

[ 20060414202507 ]
converting mp3s to CD

[ 20060413232836 ]
secure apt-get

[ 20060412194423 ]
xen domain0 on debian

[ 20060410220525 ]
LVM2 on RAID1 mirror

[ 20060410102824 ]
building a RHEL4 kernel w/ kdb support

[ 20060407230939 ]
xen on debian

[ 20060407230818 ]
Upgraded look

[ 20060330131334 ]
Flattered by a copy

[ 20060328165153 ]
vim7 from source

[ 20060308123539 ]
Perl, Catalyst, CPAN, and Debian

[ 20060308123302 ]
last.fm

[ 20060128124841 ]
carcassonne and zombies

[ 20060120135931 ]
Election Humour

[ 20050925130002 ]
ldap on debian

[ 20050528190034 ]
Error while mapping shared library sections

[ 20050124130158 ]
IRC over email gateway

[ 20050110225522 ]
brute force attacks sshd?

[ 20050108095026 ]
LDAP authentication (part 1)

[ 20041124130146 ]
sawfish workspace themes

[ 20041113082651 ]
Mini-DV to divx using mencoder

[ 20041004084525 ]
notes on vserver

[ 20040922104334 ]
fast kernel logging

[ 20040326082602 ]
bash vi editing mode

[ 20040305163216 ]
cool debian tools

...



RSS Feed - Full Content

Valid XHTML 1.0 Transitional

Created with Vim

Created with Perl


USB2.0 enclosure benchmark

[ link: usb2-enclosure-benchmark | tags: usb linux disk | updated: Sat, 05 Jul 2008 20:42:19 ]

I've noticed my laptop disk filling up... particularly in $HOME/work/*. Lots of little contracts, each involving at least the linux kernel tree of one vintage of another, are to blame.

[Read More]

Linux Kernel Walkthroughs posted

[ link: 20080703230924 | tags: linux kernel oclug talk video | updated: Fri, 04 Jul 2008 17:00:13 ]

Ian just posted the screen casts of the Linux Kernel Walkthroughs that I ran last week.

Here is the same video on google/video... it's a lot lower rez :(

Authenticating Linux against OSX LDAP directory

[ link: osx-ldap-authentication | tags: osx linux ubuntu ldap | updated: Mon, 30 Jun 2008 09:21:13 ]

I was recently asked by a colleague, and now also a client, to look over the LDAP configuration on his Ubuntu boxen. He was having issues with the root account. The problem turned out being that the Ubuntu box was trying to get the root authentication from LDAP. It successfully found an LDAP account on the OSX LDAP server, but was unable to login since that account is disabled. The solution was to filter out the root account from the LDAP reply using the pam_filter directive in /etc/ldap.conf. Jay was also kind enough to document his setup for others that are trying to accomplish a similar task.

side note: Jay briefly showed me his OSX/Linux integration... looks pretty cool. Particularly the LDAP directory and automount of OSX exported volumes for users. OSX seems to make certain things really easy.

Linux Kernel Walkthroughs

[ link: linux-kernel-walkthroughs | tags: linux kernel oclug talk | updated: Wed, 02 Jul 2008 11:35:56 ]

I will be kicking off a new series of talks at OCLUG later this month. The idea is not mine, but a copy of a similar series ran by Silicon Valley Linux Users Group. Kudos to them!

Here is the info on the first Kernel Walkthrough: Source Tree Layout. I will start off by covering the tree structure and talk a bit about the components, before handing control of the talk over to the audience and let them drive the types of things they would like to explore.

We are being hosted by the TheCodeFactory, which is a very cool concept. From the website:

"TheCodeFactory is a collaborative work space located in downtown Ottawa at 246 Queen Street, between Bank and Kent, above the Green Papaya Restaurant. TheCodeFactory is a clubhouse or water cooler for the Start-up community in Ottawa."

In short they are a place where startups can meet and collaborate way before they have any office space of their own. Ottawa being such a hotspot for startups, this is clearly a good idea.

is my usb device connected to a fast port?

[ link: slow-usb-key | tags: usb linux | updated: Thu, 22 May 2008 20:18:09 ]

I started a transfer last night to copy a 700M file to my USB key. It's still going. I figured that it might have been OHCI vs EHCI issue. I had to remind myself how to check.

[Read More]

fixing X for GeodeLX

[ link: fixing-x-for-geode-lx | tags: geode x linux x86emu ubuntu | updated: Sun, 02 Mar 2008 13:27:57 ]

Recently I have been doign a bit of contract work for Symbio Technologies. They have had me do various little projects part time. Most recently I got a chance to work on X.org video drivers for the Geode family.

Here is the progress...

[Read More]

kvm nfs hang

[ link: kvm-nfs-hang | tags: kvm linux | updated: Tue, 08 Jan 2008 00:29:29 ]

I ran into a strange NFS + KVM issue. Every so often under heavy NFS load my KVM client would hang retrying the nfs server. On the console the client was showing:

    nfs: server host not responding, still trying

I found this bug post which does not seem to have been resolved in 2.6.24.

Using the kvm flag -net nic,model=rtl8139 fixed the problem for me.

protecting sshd from OOM killer

[ link: deoom-sshd | tags: linux kernel oom | updated: Wed, 12 Dec 2007 10:08:11 ]

When Linux runs low on memory it tries to kill off applications that may be responsible for the high memory usage. It sometimes gets is all wrong, so the kernel has a way to tell it which processes are to be treated differently by the OOM killer.

I am using ssh to run some stress tests. Occasionally they cause memory to run out, and when I am not paying attention sshd is killed off... which means I cannot turn off the tests.

Here is a script that makes sshd immune to OOM killer.

    for pid in $(pidof sshd) ; do
            echo "disabling oom on pid $pid"
            echo -17 | sudo tee /proc/$pid/oom_adj > /dev/null
    done

NOTE: the sudo tee is a useful trick when you want to write to a file as root w/o spawning a subshell.

comparing two directories

[ link: comparing-two-directories | tags: shell linux | updated: Thu, 13 Sep 2007 14:07:51 ]

In one of the project I am working on we have the build environment tarred up and stored in tgz files and committed in SVN. To avoid updating the same 300M tarball we decided to added incremental tarballs each time that we add new software to the build environment. But that's not the important bit...

I wanted to figure out what software was installed since the last tarballs were extracted. To do this I need to compare two directories and create a new tarball with all the new files. How do you diff two directories pro grammatically?

I came up with this...

    cp -ax orig-dir new-dir

    ... do whatever in new-dir ...

    diff -u <(find orig-dir -printf "%p %t\n" | cut -d / -f 2-) \
            <(find new-dir -printf "%p %t\n" | cut -d / -f 2-) \
    | grep -v '^[+-]'

And then I found out that I can do it with rsync...

    rsync -a orig-dir/ new-dir/

    ... do whatever in new-dir ...

    rsync -av --dry-run orig-dir/ new-dir/

reducing power consumption

[ link: reducing-power-consumption | tags: linux power laptop | updated: Tue, 24 Jul 2007 08:28:24 ]

I was recently talking to Jean about lowering power consumption. One of the things I do is to purge all modules when I go to battery power. Here is the script I use to remove unwanted modules.

    lsmod | awk '/0 *$/ {print $1}' | xargs -n1 sudo rmmod

Building things as modules makes this more successful. And you have to run it a few times to get all the unused modules out. Maybe something like this would work...

    while lsmod | grep -q '0 *$' ; do
            lsmod | awk '/0 *$/ {print $1}' | xargs -n1 sudo rmmod
    done




Bart Trojanowski
http://www.jukie.net/~bart
bart@jukie.net