Bill Wohler's Debian Notes to Self (and You)



2008-07-07

Dual-head Nvidia configuration permalink

With the help of HOWTO Dual Monitors, I was able to simply add the three Option lines to my xorg.conf as shown below, restart my X server, and be on my way.

Section "Device"
        Identifier      "nVidia Corporation NV44 [Quadro NVS 285]"
        Driver          "nvidia"
        Option          "TwinView"
        Option          "MetaModes" "1920x1200,1680x1050; 1920x1200,1280x1024; \
                        1600x1200,1600x1200; 1280x1024,1280x1024; 1152x864,1152x864; \
                        1024x768,1024x768; 800x600,800x600; 640x480,640x480"
        Option          "TwinViewOrientation" "RightOf"
EndSection
    

The MetaModes line is actually all on a single line.



2008-06-28

Fixing scanning with HP printers permalink

Although I could print, I could not longer scan, and the HP Device Manager from the system tray couldn't communicate with my printer either. I was seeing the following error message in syslog:

python: hp-toolbox(UI)[6561]: error: Unable to communicate with device
(code=12): hp:/usb/OfficeJet_G85?serial=SGG16E0ZRVVL
python: hp-toolbox(UI)[6561]: warning: Device not found
    

As of version 2.8.2 of hplip, all communications to the hp: device is now confined to members of the scanner group. Therefore, the fix was to run sudo adduser wohler scanner, log out, and log back in.



2008-06-28

Fixing escapes in man output permalink

After installing a new system, man started emitting these ugly <80><90> escapes all over the place. I finally found the cause. I had LC_ALL set to en_US.utf8 but LESSCHARSET was still set to latin1. The fix was to change LESSCHARSET to utf-8.



2008-06-21

Configuring postfix to use SMTP AUTH permalink

I finally got around to configuring SMTP AUTH (SASL) in postfix.

On the Server

  1. Create /etc/postfix/sasl/smtpd.conf and add the following to it:
    pwcheck_method: saslauthd
    mech_list: plain login
            
  2. Add the following to /etc/postfix/main.cf:
    # TLS parameters.
    smtpd_tls_security_level = may
    smtpd_tls_auth_only = yes
    smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
    smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
    smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
    
    # SMTP AUTH parameters.
    smtpd_sasl_auth_enable = yes
    smtp_sasl_security_options = noanonymous
            
  3. Modify /etc/default/saslauthd as follows:
    START=yes
    OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"
            
  4. Run the following commands:
    # aptitude install sasl2-bin libsasl2-modules
    # dpkg-statoverride --add root sasl 710 /var/spool/postfix/var/run/saslauthd
    # adduser postfix sasl
            
  5. Restart saslauth and postfix.

On the Client

  1. Create /etc/postfix/sasl/sasl_passwd and add one or both of the following lines as appropriate to it. Make sure the mode of this file and the directory that contains it are 600 and 700 respectively
    [mail.your-domain.com]:smtp your-login:your-password
    [mail.your-domain.com]:submission your-login:your-password
            
  2. Add the following to /etc/postfix/main.cf:
    # SASL
    smtp_sasl_auth_enable = yes
    smtp_sasl_password_maps = hash:/etc/postfix/sasl/sasl_passwd
    smtp_sasl_security_options = noanonymous
    
    # TLS
    smtp_tls_security_level = encrypt
    smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
            
  3. Run postmap /etc/postfix/sasl/sasl_passwd and restart postfix.

See the following references for the whys and wherefores:
James Turnbull, Hardening Linux, 2005, p. 395-400.
Luca Gibelli <nervous at nervous.it>, http://www.nervous.it/txt/Postfix-SMTP-AUTH-4-DUMMIES.html.
Fabian Fagerholm <fabbe at debian.org>, /usr/share/doc/sasl2-bin/README.Debian.
http://www.postfix.org/SASL_README.html.



2008-06-07

Iceweasel gets no respect permalink

I was trying to use a feature at Bank of America's Homebanking (SafePass) and it didn't work for me. First I had to install Flash 9. But I also discovered that the site was also not recognizing my Iceweasel browser. I was able to fix this and enable SafePass by navigating to the URL about:config, filtering on "agent", and changing the general.useragent.extra.firefox setting from Iceweasel/2.0.0.14 to Firefox/2.0.



2008-06-07

Atheros ath5k wireless driver permalink

The ath5k driver for the Atheros wireless chipset is built into kernel 2.6.24. Remove madwifi-tools, or switch blacklist in /etc/modprobe.d/madwifi. modprobe -r ath* wlan*. modprobe ath5k. http://linuxwireless.org/en/users/Drivers/ath5k. http://madwifi.org/wiki/About/ath5k



2008-05-26

Aptitude equivalent of dpkg --get-selections permalink

I wanted a list of packages on my current system so just in case I needed to recreate my entire system, I could just say

aptitude install $(cat packages)
      
Of course I don't want automatically installed packages in packages. Thanks to Scott Wegner on the Ubuuntu forums, here's how I created the packages file:
aptitude search '!(!~i|~M)' -F %p > packages
      



2008-05-17

Kernel 2.6.25 upgrade permalink

I installed 2.6.25 from sid since it didn't pull in anything else.



2008-05-17

Kernel 2.6.24 upgrade permalink

A while ago I installed 2.4.24. While it fixed the problem where gpsbabel could not talk to the usb: device, I found that my wireless (Atheros) connection would drop after a while. The network with 2.6.22 was fine. A second 2.4.24 update fixed the network problem, but a third 2.4.24 update broke it again.



2008-04-26

Recovering from an interrupted aptitude permalink

Against my better judgment, I remotely interrupted an aptitude session so that I could continue with the installation at my current location. This put the package that was being installed into the half-installed state. After this, aptitude responded with:

Writing extended state information... Error!
E: I wasn't able to locate a file for the sun-java6-bin package.
   This might mean you need to manually fix this package. (due to missing arch)
E: Couldn't lock list directory..are you root?
    

After a bit of investigation, I discovered how to fix the dpkg database:

sudo dpkg --force-remove-reinstreq --remove sun-java6-bin
    


2008-04-05

Resizing filesystems with LVM permalink

When I last installed lenny, I opted for the encrypted LVM filesystems. I recently ran out of room in /usr so I now had the opportunity to use LVM! I was apprehensive that the LUKS (Linux Unified Key Setup) encryption might get in the way, but since I wasn't dealing with the root filesystem, it wasn't an issue since I was able to work with the running system.

I learned that changes must be done in 4 MB increments, the size of the physical extent. In my ignorance and inexperience, I was nervous that the size given to resize2fs might round up and the same size given to lvreduce would round down which would mean that the end of the filesystem would get guillotined. I picked even gigabyte values mostly because resize2fs doesn't accept fractional values, but a gigabyte is divisable by the 4 MB extent size and the 512 byte disk sector size as well as any other unit the system might throw at me. If you choose megabytes as your unit, ensure the value is divisible by four. At any rate, I threw in an extra fsck at the end of each operation for paranoia and all seemed to go well.

I first had to decide how much space to transfer. I'm running out of space on my laptop, so I didn't want to steal much from /home. I ran lvs, df, and df -h to get some numbers. I decided that 500 MB would be enough, so I first needed to reduce /home from 44.5 GB to 44 GB.

# lsof
# kill [any processes still running out of /home]
# umount /home
# fsck -f /dev/mapper/olgas-home
# resize2fs -p /dev/mapper/olgas-home 44G
# lvreduce [--test] -L 44G olgas/home
# fsck -f /dev/mapper/olgas-home
# mount /home
    

Note the --test lvreduce argument above. I used that first to see what lvreduce would do. It's more useful when you aren't using gigabytes as a unit. You'll see what I mean when you run lvextend in the next example.

I then ran vgs (and vgdisplay) to see the Free Size which should now be around 500 MB. It was 788 MB in this case and that's the number I used to grow /usr in the lvextend command below.

# shutdown now "Resizing filesystems"
# lsof /usr
# kill [any /usr processes still hanging around]
# umount /usr
# fsck -f /dev/mapper/olgas-usr
# lvextend [--test] -L +788M olgas/usr
# resize2fs -p /dev/mapper/olgas-usr
# fsck -f /dev/mapper/olgas-usr
# mount /usr
    

I then opted for a quick reboot so that if that caused trouble, it would be now rather than when I least expected it. When the system returned, df showed that I once again had breathing room in /usr. While it took a while this time around for me to think I knew what I was doing, the next time, it'll go quickly. Unless it's the root filesystem, in which case I'll have to learn how to turn on LUKS when running with a Live CD.

References:

AJ Lewis, LVM HOWTO, http://www.tldp.org/HOWTO/LVM-HOWTO/ .
Bodhi Zazen, How to Resize a LUKS Encrypted File System, http://ubuntuforums.org/showthread.php?t=726724 .
Martti Kuparinen, Hard Drive Encryption in My Ubuntu Installation, http://users.piuha.net/martti/comp/ubuntu/en/cryptolvm.html .



2008-04-05

/dev/random versus /dev/urandom permalink

I just learned the difference between /dev/random and /dev/urandom. Use the former when you need strong randomness for keys; use the latter when you need speed and don't expect the bits to be broken (like when scattering random bits on a cleaned disk partition or when preparing the partition for encryption).



2008-04-05

gnome-keyring versus ssh-agent permalink

This morning, ssh worked without having to run ssh-add, which is strange because I expire my passphrase. I then ran ssh-add and got a SSH_AGENT_FAILURE message. Apparently, gnome-keyring usurped ssh-agent as reported in BTS #473864.

Until I learn more about gnome-keyring, I've disabled the ssh component as Josh Triplett suggested by unsetting the gconf key /apps/gnome-keyring/daemon-components/ssh.



2008-03-01

Syncing the Treo over USB permalink

I was spurred on by Tommy Trussell to enable syncing over USB so that I could take advantage of the sync button on the cradle and because it's much, much faster than using net: over Bluetooth.

When I plugged in the Treo and hit the button on the cradle, there wasn't a single message in the syslog and lsusb didn't list the device either. I found that if you unload ehci_hcd, then the system recognizes the Treo. However, after a reboot, I found that my system recognized the Treo (under uhci_hcd) even though the ehci_hcd module was still loaded, so all is well.

I also found that pilot-xfer -l -p usb: didn't connect initially. It seems that the first time you HotSync, you need to run the pilot-xfer command before starting HotSync on the Treo. After that first time, the order doesn't matter.

I've updated Using the Palm Treo 650 with Debian GNU/Linux accordingly.



2008-02-07

Talking to a Garmin GPS permalink

In order to get the usb: filename to work with gpsbabel, follow the directions in Hotplug vs. Garmin USB on Linux, namely, add the following to /etc/modprobe.d/local:

blacklist garmin_gps
    

And add the following to /etc/udev/rules.d/51-garmin.rules:

SYSFS{idVendor}=="091e", SYSFS{idProduct}=="0003", MODE="0666"
    

However, while this worked for kernel 2.6.18, later kernel versions broke it! It is still not working as of 2.6.22.

Newsflash! I inserted the garmin_gps module and tried using /dev/ttyUSB0 instead of usb: and I was able to back up the Garmin! It appears that this driver has been repaired--somewhat--along the way. I still had some errors uploading routes, although with persistence, they eventually all arrived. I wasn't brave (or stupid) enough to try uploading large tracks or waypoint files though. So, I'll probably still try the usb: file again once 2.6.24 is installed.



2008-02-07

Fixed blank DHCP host name permalink

My router's DHCP table was showing a blank where my laptop's hostname should be. I fixed this by uncommenting the send host-name line in /etc/dhcp3/.



2007-11-25

Donated to the Software Freedom Law Center permalink

I just made a donation to the Software Freedom Law Center. Consider making a donation yourself.



2007-11-25

Bluetooth woes permalink

I was getting errors like dund[31782]: Failed to connect to the local SDP server. Connection refused(111) in my syslog and HotSyncs that were failing with Faulty modem. I worked around this problem by running the following commands:

$ sudo killall dund
$ sudo /usr/bin/dund --listen --persist --auth call treo
    

I've reported the bug as BTS #452869.



2007-11-24

Building AIDE from source permalink

The AIDE that comes with etch is very hard to keep quiet. Marc Huber suggested that the lenny version might be a bit quieter, so I ran the following to get the latest and greatest on my etch system:

apt-get source aide
aptitude install dpatch libmhash-dev flex libgcrypt-dev
(cd aide-0.13.1 && fakeroot dpkg-buildpackage -b -uc)
sudo dpkg -i aide_0.13.1-8_i386.deb aide-common_0.13.1-8_all.deb
    

These commands are listed here mostly so that I can clean up if aide 0.13.1-8 hits backports.



2007-11-12

Rhythmbox and sound-juicer don't see CD permalink

I could mount data CDs, play DVDs with totem, and play audio CDs with gnome-cd. However, I was not getting the usual CD icon in rhythmbox when an audio CD was inserted, and sound-juicer produced a No CD-ROM drives found--Sound Juicer could not find any CD-ROM drives to read message and exited.

Both rhythmbox and sound-juicer played CDs just fine a week before my disk crashed and I reinstalled lenny from scratch.

I found that rebooting cleared this problem.



2007-11-12

Truncated PDFs from Gnucash permalink

My disk crashed on Friday so I bought a new one and installed lenny from scratch. One problem I encountered is that the top of the PDF printed from Gnucash was truncated. It seems that this was observed by others in the gmane.linux.debian.user thread entitled Text on printed pages truncated with Message-ID 45A2C319.8020400@heard.name.

Interestingly, after I configured my printer in CUPS, this problem went away. This was confirmed by one of the installation gurus:

Jim Paris <jim@jtan.com> wrote:

> Interestingly, the top of Gnucash reports printed to PDF were truncated
> until I installed a printer in CUPS, and then the problem disappeared.
> Is a CUPS installation default suboptimal?

Maybe it was a paper size issue, and installing a printer changed your
default papersize?  You can change the current setting with
"dpkg-reconfigure libpaper1".  I noticed in your system information:

> Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=ANSI_X3.4-1968) (ignored: LC_ALL set to C)

If LC_ALL was set to C during installation, I think libpaper1 would
have defaulted to A4 (because "locale width" and "locale height"
return A4 size in that case)
    


2007-10-20

Apt's Dynamic MMap ran out of room error permalink

On one of my etch systems, I got this error message after a recent upgrade. (I did not get it on my etch server, nor my lenny laptop.) I fixed this by adding the following to /etc/apt/apt.conf:

Cache-Limit "20000000";
      



2007-10-08

Kernel 2.6.22 upgrade permalink

I installed Linux kernel version 2.6.22 and found that the ibm_acpi module was renamed to thinkpad_acpi. Unfortunately, this broke the Fn-F4 hotkey combination used to suspend my laptop. I'm assuming that Debian Bug report #434845: acpi-support: ibm_acpi module renamed thinkpad_acpi in kernel 2.6.22 is related, but the suggested fix didn't work for me. The GNOME Shut Down menu item does work however.

Gpsbabel still doesn't work--I'm keeping a version of 2.6.18 around for it. This might be related to the CONFIG_USB_SUSPEND problems that have been reported. But then, it could be CONFIG_USB_SUSPEND which fixed suspending under ACPI on my ThinkPad.



2007-09-23

When ISPs block port 25 permalink

If your ISP (such as Earthlink) blocks port 25, and someone else in your household controls the authentication credentials and understandably does not want to share them with you, how do you send mail?

I got my hosting company to poke a hole in port 587 (submission) and then updated postfix on my laptop and on the server as follows:

master.cf (on server my.relayhost.com)
submission inet n - - - - smtpd
    
main.cf (client)
relayhost = [my.relayhost.com]:587
    

Note that I use pop-before-smtp for authentication.



2007-09-09

Hibernate permalink

Thanks to a post on gmane.linux.debian.user.laptop from Stefan Monnier, I installed the hibernate package, and created a file called /etc/hibernate/scriptlets.d/local which contains the following code which turns off the Ultrabay LED. If you want to use it, replace my initials (BW) with your own since the hibernate namespace is global.

# -*- sh -*-
# vim:ft=sh:ts=8:sw=4:noet

# Ideas from /usr/share/hibernate/scriptlets.d/hardware_tweaks.

# ibm_acpi proc directory
BW_IBM_ACPI_PROC=/proc/acpi/ibm

BwIbmAcpiStartSuspend() {
    # Turn off Ultrabay LED.
    IbmAcpiLed 4 off
    return 0 # this shouldn't stop suspending
}

BwIbmAcpiEndResume() {
    # Turn on Ultrabay LED.
    IbmAcpiLed 4 on
    return 0
}

BwIbmAcpiOptions() {
    if [ -d "$BW_IBM_ACPI_PROC" -a -z "$BW_IBM_ACPI_HOOKED" ]; then
        AddSuspendHook 12 BwIbmAcpiStartSuspend
        AddResumeHook 12 BwIbmAcpiEndResume
        BW_IBM_ACPI_HOOKED=1
    fi

    return 0
}

BwIbmAcpiOptions
    


2007-09-04

Power permalink

I had found that with lenny and 2.6.21 kernel, ACPI suspend was finally working. Yay! Further, I felt that the built-in power management stuff might be working as well and I could remove the acpid package dispense with the /etc/acpi scripts since I was seeing some gnome-power-management warnings in the syslog.

When I pressed Fn-F4 however, I got the message:

      gnome-power-manager: (wohler) A security policy in place
      prevents this sender from sending this message to this
      recipient, see message bus configuration file (rejected message
      had interface "org.freedesktop.Hal.Device.
      SystemPowerManagement" member "Suspend" error name "(unset)"
      destination ":1.22") code='9' quark='dbus-glib-error-quark'
    

After a little digging, I discovered that I had to add myself to the powerdev group. Then I got this message:

      gnome-power-manager: (wohler) Doing nothing because the suspend
      button has been pressed
    

This was fixed by going into the gconf-editor and changing the value for /apps/gnome-power-manager/action_button_suspend to suspend.


Best Viewed With YOUR Browser Valid HTML 4.01! Valid CSS! Powered by Debian GNU/Linux GetJava Download Button