2010-04-30

Apache wieder OK

Während meinem heutigen dist-upgrade-Prozedere wurde Apache aktualisiert. Die Abhängigkeit von libdb1 ist tatsächlich schon kalter Kaffee:

apache (1.3.26-1.1) unstable; urgency=low

  * NMU
  * The "Shouldn't you be in Whoville stealing Christmas?" release.
  * Applied patch from Ryan Murray to use db2's db185-compat functions
    instead of glibc's (nonexistant) db1 library.
    - Edited patch to include the same hack for mod_urlcount and mod_eaccess
      from apache-contrib
    - Closes: #143085 #156159 #156390 #156373 #155981

 -- Adam Conrad <adconrad@0c3.net>  Mon, 12 Aug 2002 21:08:40 -0600

Mein /usr/local/sbin/upgrade-Script sieht übrigens so aus:

#!/bin/sh

# constants
MAILTO=root
LOG=/var/log/aptitude

# mark the start of this upgrade in the log file
TAG="$(hostname | cut -f1 -d.) upgrade of $(date -Im)"
echo -e "\n${TAG}\n" >>$LOG

# grab the new package list
aptitude update

# do the dist-upgrade
aptitude dist-upgrade && aptitude autoclean

# update the local mirror in the background
if [ "$?" -eq 0 -a -d /mirrors -a "$1" != -q ]; then
    apt-move local >/var/log/apt-move 2>&1 &
fi

# mail the new part of the log file
sed -ne "/^$TAG/,$p" $LOG | mail -s "$TAG" $MAILTO

Update: Jetzt ist es nur noch die libdav.so, die libdb1 immer noch benötigt!

15:06 [/software/debian] libc6_apache_ok Google Trackback

Neue Liste meiner NTP-Server

time.inf.ethz.ch ntp.metas.ch ntp.univ-lyon1.fr zg1.ntp.carnet.hr

Ändern mit dpkg-reconfigure ntp-simple.

Seinerzeit habe ich die Server anhand tiefer Ping-Zeiten ausgesucht. swisstime.ethz.ch ist zum Stratum 1-Server avanciert und sollte nicht mehr direkt von Endusern benützt werden.

15:06 [/software/debian] ntp_servers Google Trackback

Fortsetzung der Kernel-Geschichte

Auch nach mehreren Versuchen mit dem cramfs-Patch habe ich es nicht geschafft, mit einer cramfs-initrd zu booten. Da die Konfiguration des Laptops aber eher statisch ist, habe ich die zum Booten notwendigen Treiber direkt in den Kernel kompiliert (unterdessen übrigens 2.4.20-pre5). Die Module werden jetzt nur noch für die PCMCIA-Unterstützung verwendet, was auch funktioniert.

15:06 [/software/debian] debian_no_initrd Google Trackback

libc6 gehackt: Apache läuft wieder

Nachdem ich auf die Schnelle nicht herausgefunden habe, wie ich ein Debian-Paket downgraden kann, habe ich die fehlende libdb1 von einer testing-Installation kopiert und die Symlinks generiert. Danach startete auch Apache wieder… Die libc6-Maintainer sind der Auffassung, dass es die Sache der jeweiligen Pakete ist, nicht mehr von libdb1 abhängig zu sein. Das kann bei Apache natürlich noch länger dauern (oder sollte das Ganze ein Versuch sein, einen zu einem Wechsel zu Apache2 zu drängen? ;-)

15:06 [/software/debian] libc6_hack Google Trackback

libc6 breakage

Heute morgen hatte ich einen Fehler von Webalizer in meinem Server-Log: Die libdb.so.2 war verschwunden! Gestern hatte sich die libc6 auf 2.2.5-13 aktualisiert, und in deren Changelog hatte ich folgendes gelesen: - Remove db1 compat library. The only user I know of this is coda. Coda can include it’s own version of the library now. I’ve emailed the coda maintainer. Da musste es doch einen Zusammenhang geben; offensichtlich ist Coda nicht das einzige Paket, das noch auf diese Bibliothek angewiesen ist. Auf Debians Paketsuchseite gibt es zwar noch ein Ergebnis für die betroffene Datei, ein Vergleich mit der Dateiliste der libc6 aus Sarge zeigt jedoch, dass die Datei in Sid jetzt fehlt. Anyway, ich habe einen Bugreport für libc6 geschrieben.

15:06 [/software/debian] libc6_break Google Trackback

Linux mit cramfs als initrd

Jetzt habe ich endlich herausgefunden, weshalb mein Laptop (ein Toshiba Tecra 500CDT) nicht mit einem selbst kompilierten Kernel 2.4.20-pre4 und einer cramfs-initrd (Ram-Disk im compressed ROM file system Format) bootet. Normalerweise kann das ein Standard-Kernel gar nicht; das Debian-Team hat einen eigenen Patch entwickelt, den sie jedem Kernel hinzufügen.

Falls jemand das gleiche Problem hat; hier ist der Patch:

--- kernel-source-2.4.19-2.4.19.orig/init/do_mounts.c
+++ kernel-source-2.4.19-2.4.19/init/do_mounts.c
@@ -15,6 +15,7 @@
 #include <linux/minix_fs.h>
 #include <linux/ext2_fs.h>
 #include <linux/romfs_fs.h>
+#include <linux/cramfs_fs.h>
 
 #define BUILD_CRAMDISK
 
@@ -440,6 +441,7 @@
  * 	minix
  * 	ext2
  *	romfs
+ *	cramfs
  * 	gzip
  */
 static int __init 
@@ -449,6 +451,7 @@
 	struct minix_super_block *minixsb;
 	struct ext2_super_block *ext2sb;
 	struct romfs_super_block *romfsb;
+	struct cramfs_super *cramfsb;
 	int nblocks = -1;
 	unsigned char *buf;
 
@@ -459,6 +462,7 @@
 	minixsb = (struct minix_super_block *) buf;
 	ext2sb = (struct ext2_super_block *) buf;
 	romfsb = (struct romfs_super_block *) buf;
+	cramfsb = (struct cramfs_super *) buf;
 	memset(buf, 0xe5, size);
 
 	/*
@@ -488,6 +492,14 @@
 		goto done;
 	}
 
+	if (cramfsb->magic == CRAMFS_MAGIC) {
+		printk(KERN_NOTICE
+		       "RAMDISK: cramfs filesystem found at block %d\n",
+		       start_block);
+		nblocks = (cramfsb->size + BLOCK_SIZE - 1) >> BLOCK_SIZE_BITS;
+		goto done;
+	}
+
 	/*
 	 * Read block 1 to test for minix and ext2 superblock
 	 */

Das Ganze brauche ich, um die neuesten Wireless Tools mit dem Access-Point-Driver für meine Prism2-WLAN-Karte zu verwenden…

15:06 [/software/debian] debian_initrd_cramfs Google Trackback

2007-08-26

Using the Midnight commander mc(1) in a screen(1) session

Just a quick note for those people whose function keys don’t work when they use the GNU Midnight commander inside a screen session: issuing export TERM=xterm before starting @mc@ helps!

Maybe this problem is related to my SSH client PuTTY, but setting TERM fixes it.

22:36 [/software/debian] mc_f_keys_in_screen Google Trackback
Tags:

2006-01-06

Installing the new apt GPG key

apt since version 0.6 supports verifying the Releases.gz file with a GPG key. The key used for checking expires after one year, so a new one needs to be installed each year. The easiest way to accomplish this is:

wget http://ftp-master.debian.org/ziyi_key_2006.asc -O - | apt-key add -

[via Debian Administration]

09:58 [/software/debian] debian_apt_key Google Trackback
Tags:

2004-02-14

Setting up a 6to4 IPv6 tunnel with Debian

This entry in the changelog explains how to set up a 6to4 IPv6 tunnel. The article assumes that your computer has a static IPv4 address, which isn’t true in my case. That’s why I wrote the following script to generate the configuration dynamically:

#!/bin/sh -e

# Set up a 6to4 tunnel

# set -x
set -e

# Set the following to 'n' if you don't need routing
ROUTER=y

# Interface names
INTIF=eth0
EXTIF=eth1
TUNIF=sit1

# Network mask (Yay for 1.844E20 hosts on one IPv4 address!)
MASK=64

# Address mangling
IPv4="$(ifconfig $EXTIF | grep 'inet addr' | cut -d : -f2 | cut -d ' ' -f1)
PREFIX="$(printf '2002:%x%02x:%x%02x' $(echo $IPv4 | tr . ' '))"

EXTIPv6="$PREFIX::2"
INTIPv6="$PREFIX:1::1"

TUNNEL=192.88.99.1

echo "Local external IPv4 address: $IPv4, tunnel at $TUNNEL"
echo "IPv6 prefix: $PREFIX::, IPv6 address: $EXTIPv6/$MASK"

# Enable IPv6
lsmod | grep -q ^ipv6 || modprobe ipv6

# Delete the old tunnel
ifconfig | grep -q "$TUNIF" && ip tunnel del $TUNIF

# Create and activate a sit tunnel to our default endpoint
ip tunnel add $TUNIF mode sit remote $TUNNEL local $IPv4 ttl 64
ip link set $TUNIF up

# Give it an address
ip addr add $EXTIPv6/$MASK dev $TUNIF

# Declare the tunnel to be our IPv6 route to the outside
ip -6 route add 2000::/3 dev $TUNIF

# The rest is for routers only
if [ "$ROUTER" = y ]; then

    # Add an IPv6 address for the internal interface
    ip -6 addr add $INTIPv6/$MASK dev $INTIF

    # Create /etc/radvd.conf
    # Get $0's full pathname
    arg0=$(which ${0##*/})
    echo "# Auto-generated by $arg0 on $(date -Im)
#
# Do not edit, modify $arg0 instead

interface $INTIF
{
	AdvSendAdvert on;

	# Advertise at least every 45 seconds
	MaxRtrAdvInterval 45;

	prefix $INTIPv6/$MASK
	{
		# Very short lifetimes for dynamic addresses
		AdvValidLifetime 300;
		AdvPreferredLifetime 120;
	};
};" >/etc/radvd.conf

    # (Re)start radvd
    /etc/init.d/radvd restart || /etc/init.d/radvd start

    # Configure the kernel's IPv6 behaviour
    echo 0 > /proc/sys/net/ipv6/conf/all/autoconf
    echo 0 > /proc/sys/net/ipv6/conf/all/accept_ra
    echo 0 > /proc/sys/net/ipv6/conf/all/accept_redirects
    echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
    echo 0 > /proc/sys/net/ipv6/conf/all/router_solicitations

else

    # Stop radvd
    /etc/init.d/radvd stop || true

    # Stop forwarding IPv6 packets
    echo 0 > /proc/sys/net/ipv6/conf/all/forwarding

fi

# show our addresses and routes
ip -6 addr show
ip -6 route show

15:40 [/software/debian] _6to4 Google Trackback

2002-12-05

Karte der Schweizer Debian-User

Heute auf Symlink: Eine Karte mit den eingetragenen Debian-Usern.

12:14 [/software/debian] debian_users_ch Google Trackback