If you think this is confusing ...

$ mount

sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=1008105,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,relatime,size=1616484k,mode=755)
/dev/mapper/benz-root on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=22,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)
mqueue on /dev/mqueue type mqueue (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
/dev/sda1 on /boot type ext2 (rw,relatime)
/dev/mapper/benz-home on /home type ext4 (rw,relatime,data=ordered)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,relatime)
tmpfs on /run/user/124 type tmpfs (rw,nosuid,nodev,relatime,size=808244k,mode=700,uid=124,gid=131)
/dev/mapper/benz-home on /var/lib/schroot/mount/sid-amd64-ed5e5176-2c0f-4708-b259-663d20011b26 type ext4 (rw,relatime,data=ordered)
proc on /var/lib/schroot/mount/sid-amd64-ed5e5176-2c0f-4708-b259-663d20011b26/proc type proc (rw,nosuid,nodev,noexec,relatime)
sysfs on /var/lib/schroot/mount/sid-amd64-ed5e5176-2c0f-4708-b259-663d20011b26/sys type sysfs (rw,nosuid,nodev,noexec,relatime)
udev on /var/lib/schroot/mount/sid-amd64-ed5e5176-2c0f-4708-b259-663d20011b26/dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=1008105,mode=755)
devpts on /var/lib/schroot/mount/sid-amd64-ed5e5176-2c0f-4708-b259-663d20011b26/dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
/dev/mapper/benz-home on /var/lib/schroot/mount/sid-amd64-ed5e5176-2c0f-4708-b259-663d20011b26/home type ext4 (rw,relatime,data=ordered)
/dev/mapper/benz-root on /var/lib/schroot/mount/sid-amd64-ed5e5176-2c0f-4708-b259-663d20011b26/tmp type ext4 (rw,relatime,errors=remount-ro,data=ordered)
/dev/mapper/benz-home on /var/lib/schroot/mount/sid-amd64-ed5e5176-2c0f-4708-b259-663d20011b26/srv type ext4 (rw,relatime,data=ordered)
/dev/mapper/benz-root on /var/lib/schroot/mount/sid-amd64-ed5e5176-2c0f-4708-b259-663d20011b26/media type ext4 (rw,relatime,errors=remount-ro,data=ordered)
//newton/credativ on /credativ/credativ type cifs (rw,nosuid,nodev,noexec,relatime,vers=1.0,cache=strict,username=cbe,domain=CREDATIV,uid=0,noforceuid,gid=0,noforcegid,addr=172.26.14.2,unix,posixpaths,serverino,acl,rsize=1048576,wsize=65536,actimeo=1,user)
//newton/cbe on /credativ/cbe type cifs (rw,nosuid,nodev,noexec,relatime,vers=1.0,cache=strict,username=cbe,domain=CREDATIV,uid=0,noforceuid,gid=0,noforcegid,addr=172.26.14.2,unix,posixpaths,serverino,acl,rsize=1048576,wsize=65536,actimeo=1,user)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
devpts on /var/lib/schroot/mount/sid-amd64-ed5e5176-2c0f-4708-b259-663d20011b26/dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run/user/2062 type tmpfs (rw,nosuid,nodev,relatime,size=808244k,mode=700,uid=2062,gid=2062)
gvfsd-fuse on /run/user/2062/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=2062,group_id=2062)
/dev/mapper/benz-home on /var/lib/schroot/mount/wheezy-i386-a6e9e772-1061-4587-8321-c1615f21ebb2 type ext4 (rw,relatime,data=ordered)
proc on /var/lib/schroot/mount/wheezy-i386-a6e9e772-1061-4587-8321-c1615f21ebb2/proc type proc (rw,nosuid,nodev,noexec,relatime)
sysfs on /var/lib/schroot/mount/wheezy-i386-a6e9e772-1061-4587-8321-c1615f21ebb2/sys type sysfs (rw,nosuid,nodev,noexec,relatime)
udev on /var/lib/schroot/mount/wheezy-i386-a6e9e772-1061-4587-8321-c1615f21ebb2/dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=1008105,mode=755)
devpts on /var/lib/schroot/mount/wheezy-i386-a6e9e772-1061-4587-8321-c1615f21ebb2/dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
devpts on /var/lib/schroot/mount/sid-amd64-ed5e5176-2c0f-4708-b259-663d20011b26/dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
/dev/mapper/benz-home on /var/lib/schroot/mount/wheezy-i386-a6e9e772-1061-4587-8321-c1615f21ebb2/home type ext4 (rw,relatime,data=ordered)
/dev/mapper/benz-root on /var/lib/schroot/mount/wheezy-i386-a6e9e772-1061-4587-8321-c1615f21ebb2/tmp type ext4 (rw,relatime,errors=remount-ro,data=ordered)
/dev/mapper/benz-home on /var/lib/schroot/mount/wheezy-i386-a6e9e772-1061-4587-8321-c1615f21ebb2/srv type ext4 (rw,relatime,data=ordered)
/dev/mapper/benz-root on /var/lib/schroot/mount/wheezy-i386-a6e9e772-1061-4587-8321-c1615f21ebb2/media type ext4 (rw,relatime,errors=remount-ro,data=ordered)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
devpts on /var/lib/schroot/mount/sid-amd64-ed5e5176-2c0f-4708-b259-663d20011b26/dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
devpts on /var/lib/schroot/mount/wheezy-i386-a6e9e772-1061-4587-8321-c1615f21ebb2/dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)

... try mounttree:

$ mounttree

/                               rootfs                          rw
/                               /dev/mapper/benz-root (ext4)    rw,relatime,errors=remount-ro,data=ordered
  boot                          /dev/sda1 (ext2)                rw,relatime
  credativ/cbe                  //newton/cbe (cifs)             rw,nosuid,nodev,noexec,relatime,vers=1.0,cache=strict,username=cbe,domain=CREDATIV,uid=0,noforceuid,gid=0,noforcegid,addr=172.26.14.2,unix,posixpaths,serverino,acl,rsize=1048576,wsize=65536,actimeo=1
  credativ/credativ             //newton/credativ (cifs)        rw,nosuid,nodev,noexec,relatime,vers=1.0,cache=strict,username=cbe,domain=CREDATIV,uid=0,noforceuid,gid=0,noforcegid,addr=172.26.14.2,unix,posixpaths,serverino,acl,rsize=1048576,wsize=65536,actimeo=1
  dev                           udev (devtmpfs)                 rw,relatime,size=10240k,nr_inodes=1008105,mode=755
    hugepages                   hugetlbfs                       rw,relatime
    mqueue                      mqueue                          rw,relatime
    pts                         devpts                          rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000
    pts                         devpts                          rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000
    pts                         devpts                          rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000
    pts                         devpts                          rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000
    pts                         devpts                          rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000
    shm                         tmpfs                           rw,nosuid,nodev
  home                          /dev/mapper/benz-home (ext4)    rw,relatime,data=ordered
  proc                          proc                            rw,nosuid,nodev,noexec,relatime
    sys/fs/binfmt_misc          systemd-1 (autofs)              rw,relatime,fd=22,pgrp=1,timeout=300,minproto=5,maxproto=5,direct
    sys/fs/binfmt_misc          binfmt_misc                     rw,relatime
  run                           tmpfs                           rw,nosuid,relatime,size=1616484k,mode=755
    lock                        tmpfs                           rw,nosuid,nodev,noexec,relatime,size=5120k
    user/124                    tmpfs                           rw,nosuid,nodev,relatime,size=808244k,mode=700,uid=124,gid=131
    user/2062                   tmpfs                           rw,nosuid,nodev,relatime,size=808244k,mode=700,uid=2062,gid=2062
      gvfs                      gvfsd-fuse (fuse.gvfsd-fuse)    rw,nosuid,nodev,relatime,user_id=2062,group_id=2062
  sys                           sysfs                           rw,nosuid,nodev,noexec,relatime
    fs/cgroup                   tmpfs                           ro,nosuid,nodev,noexec,mode=755
      blkio                     cgroup                          rw,nosuid,nodev,noexec,relatime,blkio
      cpu,cpuacct               cgroup                          rw,nosuid,nodev,noexec,relatime,cpu,cpuacct
      cpuset                    cgroup                          rw,nosuid,nodev,noexec,relatime,cpuset
      devices                   cgroup                          rw,nosuid,nodev,noexec,relatime,devices
      freezer                   cgroup                          rw,nosuid,nodev,noexec,relatime,freezer
      net_cls,net_prio          cgroup                          rw,nosuid,nodev,noexec,relatime,net_cls,net_prio
      perf_event                cgroup                          rw,nosuid,nodev,noexec,relatime,perf_event
      systemd                   cgroup                          rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd
    fs/fuse/connections         fusectl                         rw,relatime
    fs/pstore                   pstore                          rw,nosuid,nodev,noexec,relatime
    kernel/debug                debugfs                         rw,relatime
    kernel/security             securityfs                      rw,nosuid,nodev,noexec,relatime
  var/lib/schroot/mount/sid-amd64-ed5e5176-2c0f-4708-b259-663d20011b26  /dev/mapper/benz-home (ext4)    rw,relatime,data=ordered
    dev                         udev (devtmpfs)                 rw,relatime,size=10240k,nr_inodes=1008105,mode=755
      pts                       devpts                          rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000
      pts                       devpts                          rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000
      pts                       devpts                          rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000
      pts                       devpts                          rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000
    home                        /dev/mapper/benz-home (ext4)    rw,relatime,data=ordered
    media                       /dev/mapper/benz-root (ext4)    rw,relatime,errors=remount-ro,data=ordered
    proc                        proc                            rw,nosuid,nodev,noexec,relatime
    srv                         /dev/mapper/benz-home (ext4)    rw,relatime,data=ordered
    sys                         sysfs                           rw,nosuid,nodev,noexec,relatime
    tmp                         /dev/mapper/benz-root (ext4)    rw,relatime,errors=remount-ro,data=ordered
  var/lib/schroot/mount/wheezy-i386-a6e9e772-1061-4587-8321-c1615f21ebb2  /dev/mapper/benz-home (ext4)    rw,relatime,data=ordered
    dev                         udev (devtmpfs)                 rw,relatime,size=10240k,nr_inodes=1008105,mode=755
      pts                       devpts                          rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000
      pts                       devpts                          rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000
    home                        /dev/mapper/benz-home (ext4)    rw,relatime,data=ordered
    media                       /dev/mapper/benz-root (ext4)    rw,relatime,errors=remount-ro,data=ordered
    proc                        proc                            rw,nosuid,nodev,noexec,relatime
    srv                         /dev/mapper/benz-home (ext4)    rw,relatime,data=ordered
    sys                         sysfs                           rw,nosuid,nodev,noexec,relatime
    tmp                         /dev/mapper/benz-root (ext4)    rw,relatime,errors=remount-ro,data=ordered

Posted Fri Nov 28 10:29:06 2014

Following Enrico's terminal-emulators comparison, I wanted to implement "start a new terminal tab in my current working directory" for rxvt-unicode aka urxvt. As Enrico notes, this functionality is something between "rather fragile" and non-existing, so I went to implement it myself. Martin Pohlack had the right hint, so here's the patch:

--- /usr/lib/urxvt/perl/tabbed  2014-05-03 21:37:37.000000000 +0200
+++ ./tabbed    2014-07-09 18:50:26.000000000 +0200
@@ -97,6 +97,16 @@
       $term->resource (perl_ext_2 => $term->resource ("perl_ext_2") . ",-tabbed");
    };
 
+   if (@{ $self->{tabs} }) {
+      # Get the working directory of the current tab and append a -cd to the command line
+      my $pid = $self->{cur}{pid};
+      my $pwd = readlink "/proc/$pid/cwd";
+      #print "pid $pid pwd $pwd\n";
+      if ($pwd) {
+         push @argv, "-cd", $pwd;
+      }
+   }
+
    push @urxvt::TERM_EXT, urxvt::ext::tabbed::tab::;
 
    my $term = new urxvt::term
@@ -312,6 +322,12 @@
    1
 }
 
+sub tab_child_start {
+   my ($self, $term, $pid) = @_;
+   $term->{pid} = $pid;
+   1;
+}
+
 sub tab_start {
    my ($self, $tab) = @_;
 
@@ -402,7 +418,7 @@
 # simply proxies all interesting calls back to the tabbed class.
 
 {
-   for my $hook (qw(start destroy key_press property_notify)) {
+   for my $hook (qw(start destroy key_press property_notify child_start)) {
       eval qq{
          sub on_$hook {
             my \$parent = \$_[0]{term}{parent}
Posted Wed Jul 9 19:13:32 2014 Tags:

On RedHat/CentOS/rpm systems, there's no dpkg --compare-versions available - sort -V can help to compare version numbers:

version_lt () {
    newest=$( ( echo "$1"; echo "$2" ) | sort -V | tail -n1)
    [ "$1" != "$newest" ]
}

$ version_lt 1.5 1.1 && echo yes
$ version_lt 1.5 1.10 && echo yes
yes
Posted Wed Jun 25 09:56:50 2014 Tags:

Yesterday saw the first beta release of the new PostgreSQL version 9.4. Along with the sources, we uploaded binary packages to Debian experimental and apt.postgresql.org, so there's now packages ready to be tested on Debian wheezy, squeeze, testing/unstable, and Ubuntu trusty, saucy, precise, and lucid.

If you are using one of the release distributions of Debian or Ubuntu, add this to your /etc/apt/sources.list.d/pgdg.list to have 9.4 available:

deb http://apt.postgresql.org/pub/repos/apt/ codename-pgdg main 9.4

On Debian jessie and sid, install the packages from experimental.

Happy testing!

Posted Fri May 16 07:54:27 2014 Tags:

Over the past few weeks, new distributions have been added on apt.postgresql.org: Ubuntu 13.10 codenamed "saucy" and the upcoming Ubuntu LTS release 14.04 codenamed "trusty".

Adding non-LTS releases for the benefit of developers using PostgreSQL on their notebooks and desktop machines has been a frequently requested item since we created the repository. I had some qualms about targeting a new Ubuntu release every 6 months, but with having automated more and more parts of the repository infrastructure, and the bootstrapping process now being painless, the distributions are now available for use. Technically, trusty started as empty, so it hasn't all packages yet, but of course all the PostgreSQL server packages are there, along with pgAdmin. Saucy started as a copy of precise (12.04) so it has all packages. Not all packages have been rebuilt for saucy, but the precise packages included (you can tell by the version number ending in .pgdg12.4+12 or .pgdg13.10+1) will work, unless apt complains about dependency problems. I have rebuilt the packages needing it I was aware about (most notably the postgresql-plperl packages) - if you spot problems, please let us know on the mailing list.

Needless to say, last week's PostgreSQL server updates are already included in the repository.

Posted Tue Feb 25 09:32:01 2014 Tags:

More and more packages are getting autopkgtest aka DEP-8 testsuites these days. Thanks to Antonio Terceiro, there is ci.debian.net" running the tests.

Last weekend, I've added a "CI" column on DDPO that shows the current test results for your packages. Enjoy, and add tests to your packages!

Posted Wed Feb 12 17:12:49 2014 Tags:
Posted Sun Dec 8 20:36:44 2013

My ASUS Transformer TF101 had suddenly started flickering in all sorts of funny colors some weeks ago. As tapping it gently on the table in the right angle made the problem go away temporarily, it was clear the problem was about a loose cable, or some other hardware connection issue.

As I needed to go on a business trip the other day, I didn't look up the warranty expiration day until later that week. Then, Murphy struck: the tablet was now 2 years + 1 day old! Calling ASUS, some friendly guy there suggested I still tried to get ASUS to accept it for warranty, because the tablet had been with them last year for 5 days, so if they added that, it would still be within the warranty period. I filled out the RMA form, but one hour later the reply was they rejected it because it was out of warranty. Another guy on the phone then said they would probably only do the adding if it had been with them for maybe 10 days, or actually really 30 days, or whatever.

Some googling suggested that the loose cable theory was indeed worth a try, so I took it apart. Thanks to a forum post I could then locate the display connector and fix it.

Putting the case back together was actually harder than disassembling it because some plastic bits got stuck, but now everything is back to normal.

Posted Sun Dec 8 20:36:44 2013 Tags:

If you are upgrading your HP/Compaq 6715b to Debian Jessie, and suddenly Wifi stops working because the PCI device is gone, install the "rfkill" package:

# lspci | tail -2
02:04.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 02)
10:00.0 Ethernet controller: Broadcom Corporation NetLink BCM5787M Gigabit Ethernet PCI Express (rev 02)

# rfkill list 1
1: hp-wifi: Wireless LAN
    Soft blocked: yes
    Hard blocked: no

# rfkill unblock wifi

# rfkill list 1
1: hp-wifi: Wireless LAN
    Soft blocked: no
    Hard blocked: no

# lspci | tail -2
10:00.0 Ethernet controller: Broadcom Corporation NetLink BCM5787M Gigabit Ethernet PCI Express (rev 02)
30:00.0 Network controller: Broadcom Corporation BCM4311 802.11a/b/g (rev 02)

Reports on the internet say that the same could be done by going into the BIOS and selecting "Reset to default" - this makes the Wifi LED active until about udev is started on the next boot.

To be done: figure out how to automate this.

Posted Sun Sep 15 16:12:50 2013 Tags:

Following an idea by Ansgar Burchardt, I've done some digging on version numbers in Debian:

Most common version numbers:

projectb=> select version::text, count(*) from source group by 1 order by 2 desc;
  version   | count 
------------+-------
 4:4.10.5-1 |   131
 1.0-1      |   120
 1.0.0-1    |    95
 1.1-1      |    95
 1.0.1-1    |    93
 1.2-1      |    88
 1.0-2      |    82
 0.2-1      |    80
 0.3-1      |    79
 0.5-1      |    77
 0.04-1     |    76
 1.1.1-1    |    76
 0.10-1     |    74
 1.4-1      |    72
 1.1-2      |    71
 0.1-1      |    70
 0.11-1     |    70

Version number with the most spellings: (considered equal by the dpkg definition, implemented in the "debversion" type)

projectb=> select version::text, count(*) from source where version = '1.02-1' group by 1 order by 2 desc;
  version   | count 
------------+-------
 1.2-1      |    88
 1.02-1     |    46
 1.002-1    |     4
 1.000002-1 |     1
 001.002-1  |     1
 1.00002-1  |     1

If we look at equivalent version numbers, the first table above looks entirely different:

projectb=> select version, count(*) from source group by 1 order by 2 desc limit 30;
  version   | count 
------------+-------
 0.3-1      |   162
 1.0-1      |   160
 0.05-1     |   156
 0.04-1     |   154
 0.02-1     |   151
 1.02-1     |   141
 0.006-1    |   133
 1.001-1    |   131
 4:4.10.5-1 |   131
 0.7-1      |   127

(I'm also participating in the "longest version number" contest, I've just uploaded bind9 version 1:9.8.4.dfsg.P1-6+nmu2+deb7u1~bpo60+1 to backports.)

Posted Wed Jul 31 10:04:01 2013 Tags:

This blog is powered by ikiwiki.