Wed, 10 Nov 2010
Keywords: Webalizer Geoip database package missing dependency
I was getting the following error message from cron:
Error Opening file /usr/share/GeoIP/GeoIP.dat
Turns out it was coming from webalizer. It seems that there is a package dependency missing. The solution was fairly simple:
aptitude install geoip-database
Mon, 18 Oct 2010
Keywords: Virtualbox Ubuntu 10.10 crashes timer noapictimer nohz=off highres=off grub
I recently bought myself a new laptop. It's a rather nice HP Envy 14. Unfortunately no linux distribution properly supports it yet and so I run a Ubuntu guest virtual machine on it under VirtualBox with Windows 7 as the host.
Recently the VM started crashing. It would stop accepting keyboard input, and wouldn't shut itself down nicely using the mouse either from within Ubuntu or from VirtualBox. The only solution was to get VirtualBox to poweroff the VM. I upgraded Ubuntu to 10.10 and VirtualBox to 3.2.10, hoping to fix the problem, but it didn't help.
What did help though, was adding the following startup options:
noapictimer nohz=off highres=off
These can be added to the GRUB_CMDLINE_LINUX_DEFAULT line in /etc/default/grub, then run update-grub and the problem seems to be fixed.
Although sound under a VM isn't really the best idea, I just can't find any music players that I like which run under windows, and so I use Amarok 1.4. (No, I don't like Amarok 2.) Previously I was getting more frequent crashes whilst playing music. With this fix I've not had any crashes, even when playing flac files. Looking at the solution, this makes sense.
Sun, 10 Oct 2010
Keywords: Virtualbox Ubuntu 10.10 X server guest additions
Adding VirtualBox guest additions to a Ubuntu 10.10 guest fails for the X server, since 10.10 includes a later version than the guest additions are expecting.
$ sudo aptitude install virtualbox-ose-guest-x11
Sat, 09 Oct 2010
Keywords: copyright gallery2 carbon
I use the Carbon theme on gallery2. The copyright in the footer can be updated via the theme configuration on the web.
Sat, 25 Sep 2010
Keywords: git directory subdirectory separate detach filter-branch
I had a bunch of directories in a single git repository and I wanted to make each one into its own repository. It turns out to be fairly simple. Suppose that the original repository is called orig and the directories in it are called dir1, dir2 etc. For each directory:
$ git clone --no-hardlinks orig dir1 $ cd dir1 $ git filter-branch --subdirectory-filter dir1 HEAD -- --all $ git remote rm origin $ rm -r .git/refs/original/ $ git reflog expire --expire=now --all $ git gc --aggressive $ git prune $ du -sh * $ git log
Sat, 03 Jul 2010
Keywords: Windows floating menu items left screen dwm
Sometimes, under Windows, a floating menu item gets left on the screen. It's possible it may have something to do with Chrome. The only way to get rid of it is to reboot the machine. (Or maybe logging out works, I don't think I ever tried.) Well, obviously neither of those options is particularly attractive, but it turns out there is another. better option. Killing the dwm.exe process fixes the problem far more satisfactorily.
dwm.exe is the Desktop Window Manager which looks after thiings such as the 3D effects and transparencies. When it is killed it simply restarts itself.
Fri, 02 Jul 2010
Keywords: copy mysql database db directory files disk partition machine
I wanted to copy a MySQL database on a disk that used to be attached to a Ubuntu machine that died, to its replacement. It turns out not to be too difficult.
# stop mysql # mv /var/lib/mysql /var/lib/mysql.orig # cp -a /media/old-disk/var/lib/mysql /var/lib # chown -R mysql:mysql /var/lib/mysql
There were a couple of files in /var/lib/mysql that were owned by root - mysql_upgrade_info and debian-5.1.flag in my case. Change them back to being owned by root.
# start mysql
I actually had to reboot since something hung on restarting mysql. I have no idea why. Logs can be found in /var/log/mysql/error.log if required.
Mon, 28 Jun 2010
Keywords: linksys wrt54g router alchemy
Every so often my Linksys WRT54G router will stop accepting connections. The simplest solution is just to reboot it. The trouble occurs when that happens and I am not near the router. So I wanted to set up a cron job to reboot it every night.
ssh into the router and run these commands:
nvram set rc_startup='#!/bin/sh echo "0 5 * * * root /sbin/reboot" > /tmp/cron.d/reboot touch /tmp/crontab ' nvram commit nvram get rc_startup
The first four lines set up a startup command which writes the cron line after each reboot, and touches the crontab to get cron to reload. The fifth line commits the command to the nvram and the final command simply prints it out to check.
Sun, 06 Jun 2010
Keywords: iPhone iTunes error 0xE8000041
If you get the error 0xE8000041 from iTunes when trying to sync apps on the iPhone, you need to run the following command on your iPhone:
# chown mobile:mobile /var/mobile/Applications/
Well, I did anyway. The previous owner was root.wheel. The permissions are 777.
Mon, 17 May 2010
Keywords: mutt spam spamassasin macro
For far too long I had fairly simple macros for mutt which would train spamassasin on a single message and then chuck it in my spam folder. It worked well, but only on single messages. I wanted something that would also work on a set of tagged messages in a reasonable time. Eventually I got around to working out how to do it.
Mutt has the limitation that for the pager the macro will not work on tagged messages, but I kept the macros the same as for the index for simplicity.
Here they are:
macro index S "<enter-command>set auto_tag=yes<enter><enter-command>unset wait_key<enter>WoC=learnspam<enter>\ <pipe-entry>sa-learn --spam --progress --mbox ~/Mail/learnspam && cat /dev/null > ~/Mail/learnspam<enter>\ s=spam<enter><enter-command>set wait_key<enter><enter-command>set auto_tag=no<enter>" macro pager S "<enter-command>set auto_tag=yes<enter><enter-command>unset wait_key<enter>WoC=learnspam<enter><\ pipe-entry>sa-learn --spam --progress --mbox ~/Mail/learnspam && cat /dev/null > ~/Mail/learnspam<enter>\ s=spam<enter><enter-command>set wait_key<enter><enter-command>set auto_tag=no<enter>" macro index H "<enter-command>set auto_tag=yes<enter><enter-command>unset wait_key<enter>C=learnspam<enter>\ <pipe-entry>sa-learn --ham --progress --mbox ~/Mail/learnspam && cat /dev/null > ~/Mail/learnspam<enter>\ s=spam<enter><enter-command>set wait_key<enter><enter-command>set auto_tag=no<enter>" macro pager H "<enter-command>set auto_tag=yes<enter><enter-command>unset wait_key<enter>C=learnspam<enter>\ <pipe-entry>sa-learn --ham --progress --mbox ~/Mail/learnspam && cat /dev/null > ~/Mail/learnspam<enter>\ s=spam<enter><enter-command>set wait_key<enter><enter-command>set auto_tag=no<enter>"
Tue, 20 Apr 2010
Keywords: linux ubuntu disk mount fstab uuid
Linux likes to use UUIDs nowadays instead to the older /dev/hda1 format. The ways to find the UUID is to run
Sun, 18 Apr 2010
Adding a raw disk to VirtualBox is a lot harder than it is with vmware. Here's how to do it on Windows 7:
cd "\Program Files\Sun\VirtualBox" VBoxManage internalcommands createrawvmdk -filename C:\Users\pjcj\.VirtualBox\HardDisks\1.5TB.vmdk -rawdisk \\.\PhysicalDrive1
I had to start the command prompt window an administrator in order to be able to do this. I then had to start VirtualBox as administrator in order to be able to add the disk from the Virtual Device Manager.
Oracle bought Sun. The path is now:
cd "\Program Files\Oracle\VirtualBox"
But more importantly, if you do as I said above and do all this as an administrator, then you can't connect any USB devices, which is a shame. The solution to this, such as it is, is to turn off UAC (User Access Control). Type UAC into the start menu and drag the slider down to the bottom. Reboot, acknowledge that you are doing something silly, and off you go.
Thu, 18 Feb 2010
Keywords: Canon PIXMA MX860 ubuntu install
MX860 drivers for printing and scanning can be downloaded from Canon. Uncompress them and cd into the created directory:
$ tar xvzf cnijfilter-mx860series-3.10-1-i386-deb.tar.gz $ cd cnijfilter-mx860series-3.10-1-i386-deb
Installation is performed by runing the install.sh script. The script tries to determine whether to use rpm or dpkg but got confused when it found both on my system. This can be fixed quite easily by forcing the issue:
$ perl -pi.bak -e 's/rpm --version/XXX/' install.sh
Then install with:
$ sudo ./install.sh
Do exactly the same with the driver for the scanner, scangearmp-mx860series-1.30-1-i386-deb
If the printer is already on the network it can be configured with System -> Administration -> Printing and then clicking on New.
Tue, 09 Feb 2010
Keywords: ubuntu 9.10 amarok 1.4
I still don't like Amarok 2, so here's how I installed Amarok 1.4 on Ubuntu 9.10.
wget 'http://ppa.launchpad.net/bogdanb/amarok14/ubuntu/pool/main/a/amarok/amarok14-common_1.4.10-0ubuntu3~ppa4_all.deb' wget 'http://ppa.launchpad.net/bogdanb/amarok14/ubuntu/pool/main/a/amarok/amarok14-engine-xine_1.4.10-0ubuntu3~ppa4_i386.deb' wget 'http://ppa.launchpad.net/bogdanb/amarok14/ubuntu/pool/main/a/amarok/amarok14_1.4.10-0ubuntu3~ppa4_i386.deb' aptitude install ruby libtunepimp5 libqt3-mt libnjb5 libmysqlclient15off libifp4 kdelibs4c2a libtunepimp5-mp3 dpkg -i amarok14-common_1.4.10-0ubuntu3\~ppa4_all.deb dpkg -i amarok14-engine-xine_1.4.10-0ubuntu3\~ppa4_i386.deb dpkg -i amarok14_1.4.10-0ubuntu3\~ppa4_i386.deb apt-get install -f
wget 'http://ppa.launchpad.net/bogdanb/amarok14/ubuntu/pool/main/a/amarok/amarok14-common_1.4.10-0ubuntu3~ppa5_all.deb' wget 'http://ppa.launchpad.net/bogdanb/amarok14/ubuntu/pool/main/a/amarok/amarok14-engine-xine_1.4.10-0ubuntu3~ppa5_amd64.deb' wget 'http://ppa.launchpad.net/bogdanb/amarok14/ubuntu/pool/main/a/amarok/amarok14_1.4.10-0ubuntu3~ppa5_amd64.deb' aptitude install ruby libtunepimp5 libqt3-mt libnjb5 libmysqlclient15off libifp4 kdelibs4c2a libtunepimp5-mp3 dpkg -i amarok14-common_1.4.10-0ubuntu3\~ppa5_all.deb amarok14_1.4.10-0ubuntu3\~ppa5_amd64.deb amarok14-engine-xine_1.4.10-0ubuntu3\~ppa5_amd64.deb
For Ubuntu 10.04:
wget 'http://ppa.launchpad.net/bogdanb/amarok14/ubuntu/pool/main/a/amarok/amarok14-common_1.4.10-0ubuntu3~ppa5_all.deb' wget 'http://ppa.launchpad.net/bogdanb/amarok14/ubuntu/pool/main/a/amarok/amarok14-engine-xine_1.4.10-0ubuntu3~ppa5_amd64.deb' wget 'http://ppa.launchpad.net/bogdanb/amarok14/ubuntu/pool/main/a/amarok/amarok14_1.4.10-0ubuntu3~ppa5_amd64.deb' wget' http://de.archive.ubuntu.com/ubuntu/pool/universe/m/mysql-dfsg-5.0/libmysqlclient15off_5.1.30really5.0.83-0ubuntu3_amd64.deb' dpkg -i libmysqlclient15off_5.1.30really5.0.83-0ubuntu3_amd64.deb aptitude install ruby libtunepimp5 libqt3-mt libnjb5 libifp4 kdelibs4c2a libtunepimp5-mp3 libpq5 dpkg -i amarok14-common_1.4.10-0ubuntu3\~ppa5_all.deb amarok14_1.4.10-0ubuntu3\~ppa5_amd64.deb amarok14-engine-xine_1.4.10-0ubuntu3\~ppa5_amd64.deb
See this post to download libmysqlclient15off from [http://packages.ubuntu.com/karmic/amd64/libmysqlclient15off/download here] for amd64.
Fri, 05 Feb 2010
Keywords: ubuntu package
Here are the packages I added to a new Ubuntu 9.10 system:
apt-get install aptitude aptitude update aptitude full-upgrade aptitude install openssh-server aptitude install ubuntu-restricted-extras kubuntu-restricted-extras cd /etc/apt/sources.list.d/ wget http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list apt-get -q update apt-get --yes -q --allow-unauthenticated install medibuntu-keyring apt-get -q update aptitude install zsh vlc libdvdcss2 non-free-codecs mplayer \ vim-gnome exuberant-ctags nfs-client git-core \ git-doc gitk thunderbird ktorrent p7zip gimp \ acroread acroread-fonts compizconfig-settings-manager \ auto-apt graphicsmagick-imagemagick-compat abcde eyed3 \ lame libjpeg-progs parted k3b normalize-audio sshfs \ exiftags libtemplate-perl git-cola \ sharutils cuetools shntool flac mp3splt nasm etckeeper \ ffmpeg mencoder ispell audacity alac-decoder\ rxvt-unicode-256color tmux mutt update-manager-core lua5.1 \ liblua5.1-0-dev libx11-dev libxext-dev libsm-dev gettext \ graphviz gdebi libdvdread4 parcellite libgdk-pixbuf2.0-dev libxft2-dev /usr/share/doc/libdvdread4/install-css.sh aptitude install sqlite3 sqlite3-doc sqlite3-pcre sqlitebrowser sqliteman \ sqliteman-doc postgresql libpq-dev \ libopenoffice-oodoc-perl unoconv pdfjam pdftk \ rtmpdump add-apt-repository ppa:stebbins/handbrake-releases aptitude install handbrake-gtk handbrake-cli # edit /etc/etckeeper/etckeeper.conf to use git etckeeper init cd /etc; git commit -m "initial checkin"; git gc cd /etc/etckeeper/post-install.d (echo '#!/bin/sh' ; echo 'exec git gc') > 99git-gc chmod +x 99git-gc; git add .; git commit -m "run git gc after each apt run" # install Inconsolata for Powerline (otherwise ttf-inconsolata) mkdir ~/.fonts cp Inconsolata\ for\ Powerline.otf ~/.fonts fc-cache -vf ~/.fonts # build latest urxvt aptitude install libgdk-pixbuf2.0-dev libxft2-dev ./configure --prefix=~/g/sw --enable-everything --enable-256-color # build latest vim ./configure --prefix=~/g/sw --with-features=big --enable-pythoninterp gpasswd -a $USER fuse add-apt-repository ppa:tualatrix/ppa apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 6AF0E1940624A220 aptitude update aptitude install ubuntu-tweak aptitude full-upgrade apt-add-repository ppa:pmcenery/ppa aptitude update aptitude full-upgrade aptitude install ipheth-utils
And install Google Chrome.
And Amarok 1.4.
And download Picasa for Windows and install it by running the .exe with wine.
Install MX860 drivers for printing and scanning.
Thu, 28 Jan 2010
Keywords: ubuntu postfix saslauthd
Configuring saslauth with Ubuntu 9.10 required making /etc/postfix/sasl/smtpd.conf look like:
pwcheck_method: saslauthd mech_list: plain login saslauthd_path: /var/run/saslauthd/mux
The important missing part that I couldn't find in any tutorials or instructions is the /mux on the end of the saslauthd_path.
I also needed to add the following parts to /etc/postfix/main.cf:
smtp_tls_security_level = may smtpd_tls_security_level = may smtpd_tls_auth_only = no smtp_tls_note_starttls_offer = yes smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s tls_random_source = dev:/dev/urandom smtp_use_tls = yes