Oneiric ohne Netz

Nach den letzten Updates von Oneiric Beta hängte sich der Netzwerk-Manager komplett auf. Eine Lösung ist hier beschrieben:

https://bugs.launchpad.net/ubuntu/+source/ca-certificates-java/+bug/855171

Im dümmsten Fall (so wie bei mir), muss man sich das Paket libnss3 auf einem anderen Rechner hier

http://packages.ubuntu.com/de/oneiric/libnss3

herunter laden, auf USB Stick schieben und dann mit

sudo dpkg -i /pfad/zum/stick/libnss3_3.12.9+ckbi-1.82-0ubuntu6_i386.deb

auf Oneiric einspülen. Nach einem Reboot funktioniert das Netz dann wieder.

Openindiana

Die Verwaltungstools von Solaris sind Legion und deswegen wollte ich mal einen Blick auf das System werfen.

Für Linuxnutzer (und hier vor allem für Ubuntu User) ist schon der Installer eine kleine Hürde, da man zuerst mit gparted partitionieren darf, bevor sich der grafische OI Installer auf der Live-CD so nutzen lässt, wie man dies von Linux-Distris gewohnt ist. Dazu kommt, dass die mit gparted anzulegenden Partitionen nicht formatiert werden sollten – als Dateisystem steht in gparted nämlich nur NTFS zur Auswahl. Das passt nun wirklich nicht. Weiter irritiert, dass mit Hilfe des Installers keine /home Parition direkt in den Installationsprozess schon eingebunden werden kann. OI bügelt sich selbst auf eine Partition und fertig. Das OI Handbuch ist hier auch keine Hilfe – es fehlen die relevanten Einträge im Wiki.

Ist das System dann mal installiert und gebootet kann man sich mit sudo behelfen. Root existiert zwar als Account, man kann sich mit diesem jedoch nicht grafisch anmelden. Das ist wiederum vertraut. Leider lässt sich der grafische Paketmanager nicht out of the box starten: Zuerst muss man mit sudo su – Root werden und dann mit passwd root ein neues Passwort setzen. Alternativ kann man auch mit pkg arbeiten, das ausreichend mit apt-get verwandt ist.

Da sich nicht einmal eine Textverarbeitung im OI Repo befindet, müssen ein paar weitere hinzugefügt werden. Diese Seite hilft weiter:

http://wiki.openindiana.org/oi/Spec+Files+Extra+Repository

Mehr als AbiWord und Scribus sind hier aber auch nicht zu finden. Als Textmaschine taugt OI demnach nicht. GNUmeric scheint es auch nicht zu geben, so dass selbst ein Lubuntu noch mehr Komfort für den Schreiballtag bietet.

Mein Ausflug war damit zu Ende – nach Evolution und anderen Lieblingen hab ich nicht mehr gesucht. OI ist kein System für den Desktop, sondern für den Server. Mein Blick wandert weiter … ich zieh mir gerade ein BSD.

F15 raus, Oneiric Beta rein

Mein Dell Vostro 1510 wollte einfach nicht unter Fedora 15 rsync-en: Trotz neuem Kernel (2.6.40 in F15 Sprache, eigentlich wohl ein Linux 3 Kernel) riss rsync regelmäßig das gesamte System in den Abgrund: Meine Daten auf meinem Dell waren so nicht aktuell zu halten.

Also probierte ich die Synchronisation so eben unter Ubuntu Oneiric Beta 1 und siehe da: hier funktioniert es ohne Abstürze.

Oneiric macht auch an anderen Stellen schon jetzt keine schlechte Figur: Die Installation des WLan Treibers für die in diesem Gerät verbaute Broadcom Corporation BCM4312 802.11b/g LP-PHY (rev 01) lief glatt, wurde sogar im Rahmen der Systeminstallation angeboten. Der proprietäre NVidia Treiber läuft auch.

Dafür fliegen mir jetzt dauernd irgendwelche Gnome Komponenten um die Ohren und ich komm vor lauter Bugreports einreichen nicht mehr zum Arbeiten 😉

Doom

Nachdem viele Seiten (1, 2) in den letzten Tagen davon berichtet hatten, dass die Bundesprüfstelle Doom inzwischen nicht mehr auf dem Index hat, war ich erinnert: An ein Spiel, dass ich vor mehr als 10 Jahren auch mal gespielt hatte: Durch dunkle, Labyrinthe hetzen, immer auf der Hut vor feuerballwerfenden Monstern, die man mit einer Schrotflinte bearbeitete. Noch sind Ferien – also musste ich doch gleich mal in meinen alten Windowsschachteln graben … und siehe da: Meine Installationsmedien und sogar die Sammlung an WAD Files waren noch da.

Als Engine empfehle ich vavoom – die scheint mir am ausgereiftesten und lässt sich einfach konfigurieren. Zu beziehen ist diese z.B. über Playdeb:

http://www.playdeb.net/software/Vavoom

Nach dem Download der Shareware-WADs können die Einstellungen für jedes Spiel gesondert gesetzt werden – für Doom 1 z.B. in:

~/.vavoom/basev/doom1

Für ein Fenster mit 1280 x 1024 Pixeln und 32 Bit Farbtiefe sieht das so aus:

screen_bpp              „32“
screen_height           „1024“
screen_size             „10“
screen_width            „1280“
screen_windowed         „1“

Hat man z.B. die WAD Dateien des Originalspiels Doom II, dann kann man sich diese in einen Ordner seiner Wahl legen und vavoom mit einem entsprechenden Schalter aufrufen:

vavoom -iwaddir /pfad/zum/ordner/mit/wad/file -doom2

Netzwerkkartenwechsel

Bei der Virtualisierung bestehender Maschinen erhalten diese in ihrer dann virtuellen Umgebung einen anderen Netzwerkkarten Typ und damit auch eine neue Schnittstellen-Bezeichnung. Dies sorgt dann für Probleme, wenn z.B. eth0 auf eine fixe IP Adresse gelegt war, sich nun die virtuelle Maschine mit der „neuen“ Karte aber so fühlt, als hätte diese nur eth1. Diese Schnittstelle ist dann nämlich nicht konfiguriert und die VM kommt nicht ins Netz.

Abhilfe schafft die Bearbeitung der Datei

/etc/udev/rules.d/70-persistent-net.rules

In diese trägt Ubuntu ein, welcher Karte es welche Schnittstellen-Bezeichnung zugewiesen hat und hier kann man dann die nicht benötigten Zuweisungen (an die nicht mehr vorhandenen Karten) löschen und die bestehenden anpassen (also eth1 durch eth0 ersetzen).

Reboot und tut.

Auch praktisch ist dieses Vorgehen auf einem IPCop, der zwei identische NICs verbaut hat. Da darf man im Setup nämlich raten, welche NIC nun welches Netz erhalten hat. Kein Drama, wenn es den IPCop in real gibt. Da steckt man schlicht die Kabel um. Wenn man jedoch einen UnCop aufgesetzt hat und ein Interface an einer Bridge hängt, dann ist das schon fummeliger, weil die Re-konfiguration im Virtualisierer erfolgen muss.

Einfacher geht es durch Anpassung dieser Datei auf dem IPCop selbst:

/var/ipcop/ethernet/settings

Nach einem Reboot klappt es dann wieder mit der Verbindung.

 

Apfeltaschen

Das folgende Rezept reicht für rund 24 Apfeltaschen – ausreichend für ein Mittagessen. Geht schnell und schmeckt lecker.

Zutaten für den Teig:

  • 250g Butter
  • 3 gehäufte Esslöffel Puderzucker
  • 1 Ei
  • 1 Päckchen Vanillezucker
  • 500g Mehl 405
  • 1 Päckchen Backpulver
  • 3 gehäufte Esslöffel Joghurt (oder auch Quark)

Zutaten für die Füllung:

  • 3-4 Äpfel
  • 1 Tl Zimt
  • Rosinen wenn gewünscht
  • evtl. etwas Amaretto
  • Zitronensaft (damit die Äpfel nicht braun werden)

Die Butter schmelzen und mit dem Puderzucker, dem Vanillezucker und dem Ei schaumig rühren. Mehl, Backpulver und Joghurt hinzugeben und kneten bis ein glatter Teig entsteht. Diesen im Kühlschrank kurz zwischenlagern.

Die Äpfel schälen, entkernen und grob reiben. Mit etwas Zitronensaft, Zimt sowie wenn gewünscht mit Amaretto und Rosinen vermischt in einem Topf köcheln. Kein Mus herstellen – die Äpfel sollten noch biss-fest sein.

Vom Teig kastaniengroße Fetzen abreißen, diese auf einem gemehlten Untergrund platt drücken und etwa einen Esslöffel der Füllung auf eine Hälfte legen. Die Taschen dann zuklappen und auf ein Blech mit Backpapier legen.

Bei 180 Grad im vorgeheizten Ofen bei Ober- und Unterhitze 20 Minuten backen. Sie sollten braune Ränder bekommen, damit die obere Teigschicht keksig wird.

Die Apfeltaschen vom Blech nehmen und auf einem Rost etwas auskühlen lassen, mit Puderzucker bestäuben und essen, so lange die Füllung noch warm ist.

VirtualBox Start Stop Script

Um auf einem Wirtsrechner mehrere Instanzen von unter Virtualbox laufenden VMs mit dem Wirt selbst zu starten und zu stoppen, brauchten wir entsprechende start-stop-Skripte. Fündig wurden wir im Forum von Virtualbox:

http://forums.virtualbox.org/viewtopic.php?f=7&t=34790

Eine Alternative sahen wir uns ebenfalls noch an, entschieden dann aber für das Skript von Nicolas Tessore. Trotzdem – wenigstens noch der Link: http://www.glump.net/howto/virtualbox_as_a_service

Das Skript von N.Tessore passten wir ein klein wenig bei Require-Start an und dokumentieren dies nun hier. Es läuft reibungslos auf einem Ubuntu Server 10.04 LTS 64 bit und Virtualbox 4.1 – für andere VBox- und Ubuntu-Versionen sollte es anpassbar sein:

#! /bin/sh
### BEGIN INIT INFO
# Provides: vbox-headless
# Required-Start: $syslog $vboxdrv $network
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start VMs in headless mode.
# Description: This script runs VMs for the default VirtualBox
# user in headless mode. Make sure all VMs are using different
#  RDP ports.
### END INIT INFO

# Author: Nicolas Tessore <n.tessore@gmail.com>

####
# VirtualBox settings
####

# The user which owns the VMs
VBOX_USER=username

# The list of VMs to run. Leave empty to run all registered VMs.
VBOX_LIST=““

# VirtualBox executables
VBOX_MANAGE=/usr/bin/vboxmanage
VBOX_HEADLESS=/usr/bin/vboxheadless

####
# End VirtualBox settings
####

# Do NOT „set -e“

# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC=“VirtualBox daemon“
NAME=vbox-headless
DAEMON=$VBOX_HEADLESS
DAEMON_ARGS=““
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

# Exit if the package is not installed
[ -x „$DAEMON“ ] || exit 0

# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME

# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

vm_init_list()
{
# get registered VMs
LIST_VMS=`sudo -H -u $VBOX_USER $VBOX_MANAGE –nologo list vms | cut -d ‚ ‚ -f 1 | tr -d ‚“‚`

# check for list of VMs
if [ -z „$VBOX_LIST“ ]
then
# all registered VMs for user
VBOX_LIST=$LIST_VMS
else
# check that VMs exist
for VM in $VBOX_LIST
do
case $LIST_VMS in
„$VM“)
continue
;;
*)
log_failure_msg „ERROR: VM ‚$VM‘ is not registered!“
exit 1
;;
esac
done
fi
}

# get uuid for vm
vm_get_uuid()
{
vm=$1
hwuuid=`sudo -H -u $VBOX_USER $VBOX_MANAGE –nologo showvminfo –machinereadable „$vm“ | grep ‚hardwareuuid=’`
echo $hwuuid | cut -d ‚=‘ -f 2 | tr -d ‚“‚
}

# control running vm
vm_ctrl()
{
sudo -H -u $VBOX_USER $VBOX_MANAGE –nologo controlvm $1 $2 > /dev/null 2>&1
}

#
# Function that starts the daemon/service
#
do_start()
{
vm_init_list

# Return
#   0 if daemon has been started
#   1 if daemon was already running
#   2 if daemon could not be started
RETVAL=0

# Start all VMs
for VM in $VBOX_LIST
do
VM_UUID=`vm_get_uuid $VM`
VM_PIDFILE=“$PIDFILE.$VM_UUID“
VM_DAEMON=“$DAEMON“
VM_DAEMON_ARGS=“$DAEMON_ARGS –startvm $VM_UUID“

log_action_begin_msg „Starting VM ‚$VM'“

# test for running VM
USER=$VBOX_USER LOGNAME=$VBOX_USER start-stop-daemon \
–start \
–quiet \
–pidfile $VM_PIDFILE \
–startas $VM_DAEMON \
–test \
> /dev/null

# VM already running
if [ „$?“ != 0 ]
then
# report VM is running
log_warning_msg „VM ‚$VM‘ already running“
[ „$RETVAL“ = 0 ] && RETVAL=1
continue
fi

# start VM
USER=$VBOX_USER LOGNAME=$VBOX_USER start-stop-daemon \
–start \
–quiet \
–pidfile $VM_PIDFILE \
–make-pidfile \
–background \
–chuid $VBOX_USER \
–startas $VM_DAEMON \
— $VM_DAEMON_ARGS

log_action_end_msg „$?“

# check if start failed
if [ „$?“ != 0 ]
then
# report error
log_failure_msg „Error starting VM ‚$VM'“
RETVAL=2
fi
done

if [ „$RETVAL“ -lt 2 ]
then
log_daemon_msg „VirtualBox daemon started successfully“
else
log_daemon_msg „VirtualBox daemon started with errors“
fi

return „$RETVAL“
}

#
# Function that stops the daemon/service
#
do_stop()
{
vm_init_list

# Return
#   0 if daemon has been stopped
#   1 if daemon was already stopped
#   2 if daemon could not be stopped
#   other if a failure occurred
RETVAL=0

for VM in $VBOX_LIST
do
VM_UUID=`vm_get_uuid $VM`
VM_PIDFILE=“$PIDFILE.$VM_UUID“

log_action_begin_msg „Stopping VM ‚$VM'“

# try savestate halt
vm_ctrl $VM savestate

# stop daemon
USER=$VBOX_USER LOGNAME=$VBOX_USER start-stop-daemon \
–stop \
–quiet \
–retry=TERM/30/KILL/5 \
–pidfile $VM_PIDFILE

case „$?“ in
0)
log_action_end_msg 0
;;
1)
log_warning_msg „VM ‚$VM‘ already stopped“
[ „$RETVAL“ = 0 ] && RETVAL=1
;;
2)
log_action_end_msg 1
log_failure_msg „ERROR: Could not stop VM ‚$VM'“
RETVAL=2
continue
;;
esac

rm -f $VM_PIDFILE
done

if [ „$RETVAL“ -lt 2 ]
then
log_daemon_msg „VirtualBox daemon stopped successfully“
else
log_daemon_msg „VirtualBox daemon stopped with errors“
fi

return „$RETVAL“
}

#
# Function that sends a SIGHUP to the daemon/service
#
do_reload() {
#
# If the daemon can reload its configuration without
# restarting (for example, when it is sent a SIGHUP),
# then implement that here.
#
start-stop-daemon –stop –signal 1 –quiet –pidfile $PIDFILE –name $NAME
return 0
}

case „$1“ in
start)
log_daemon_msg „Starting $DESC“ „$NAME“
do_start
case „$?“ in
0|1) log_end_msg 0 ;;
2) log_end_msg 1 ;;
esac
;;
stop)
log_daemon_msg „Stopping $DESC“ „$NAME“
do_stop
case „$?“ in
0|1) log_end_msg 0 ;;
2) log_end_msg 1 ;;
esac
;;
status)
status_of_proc „$DAEMON“ „$NAME“ && exit 0 || exit $?
;;
#reload|force-reload)
#
# If do_reload() is not implemented then leave this commented out
# and leave ‚force-reload‘ as an alias for ‚restart‘.
#
#log_daemon_msg „Reloading $DESC“ „$NAME“
#do_reload
#log_end_msg $?
#;;
restart|force-reload)
#
# If the „reload“ option is implemented then remove the
# ‚force-reload‘ alias
#
log_daemon_msg „Restarting $DESC“ „$NAME“
do_stop
case „$?“ in
0|1)
do_start
case „$?“ in
0) log_end_msg 0 ;;
1) log_end_msg 1 ;; # Old process is still running
*) log_end_msg 1 ;; # Failed to start
esac
;;
*)
# Failed to stop
log_end_msg 1
;;
esac
;;
*)
#echo „Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}“ >&2
echo „Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}“ >&2
exit 3
;;
esac

:

In diesem Pastebin liegt es auch noch rum, sollte Copy and Paste aus WordPress mal wieder zickig sein:

http://pastebin.com/4i8W0FB2

Mit Hilfe von

update-rc.d  vbox-headless start 99 2 3 4 5 . stop 99 0 1 6 .

konnte das Skript dann zwar in die richtigen Ordner

/etc/rc2.d/S99vbox-headless
/etc/rc3.d/S99vbox-headless
/etc/rc4.d/S99vbox-headless
/etc/rc5.d/S99vbox-headless

eingefügt werden, aber – komisch, komisch – nicht an der 99. Stelle, sondern immer nur an der 20. Diese Anpassung musste also von Hand vorgenommen werden.

Das wirklich coole an N.Tessores Skript ist, dass es die VMs nicht herunterfährt, sondern bei einem Serverreboot schlicht pausieren lässt. So sind die VMs nach dem Start des Wirtsrechners sofort wieder da.

OpenVPN P12 Konvertierung

Um mit dem LFB Verbindung über FTP oder SSH aufnehmen zu können, benötige ich einen OpenVPN Tunnel. Mein Admin schickt mir hierzu regelmäßig eine P12 Datei (im Folgenden: domain-cert.p12) zu, die ich erst einmal zerlegen muss, damit mein Verbindungsskript reibungslos funktioniert. Da dies nur alle Monate passiert, vergesse ich in der Zwischenzeit leider immer wieder, wie ich vorgehen muss – deshalb mal für mich selbst als Gedächtnisstütze dieses Memo.

Es klappt mit den folgenden drei Schritten:

openssl pkcs12 -in domain-cert.p12 -out domain-ca.pem

openssl pkcs12 -in domain-cert.p12 -out domain-cert.pem -clcerts -nokeys

openssl pkcs12 -in domain-cert.p12 -out domain-key.pem -nocerts

Ohne Vergabe eines Passworts will die Konvertierung bei mir nicht funktionieren, was aber auch OK ist.

Ein Startskript auf dem Desktop

#!/bin/bash
cd /home/dirk/openvpn ; sudo openvpn domain.ovpn

lädt mir dann die OpenVPN Verbindung, die in der Datei domain.ovpn definiert ist:

client
proto udp
remote domain.topleveldomain
ns-cert-type server
dev tun
ca Interne-Domain-CA-cacert.pem
cert domain-cert.pem
key domain-key.pem

# Windows needs the TAP-Win32 adapter name
# from the Network Connections panel
# if you have more than one.  On XP SP2,
# you may need to disable the firewall
# for the TAP adapter.
;dev-node MyTap

# Most clients don’t need to bind to
# a specific local port number.
nobind

# Try to preserve some state across restarts.
persist-key
persist-tun

# If a tls-auth key is used on the server
# then every client must also have the key.
tls-auth tls-auth-domain.key 1

# Select a cryptographic cipher.
# If the cipher option is used on the server
# then you must also specify it here.
;cipher x

# Enable compression on the VPN link.
# Don’t enable this unless it is also
# enabled in the server config file.
comp-lzo

# Set log file verbosity.
verb 3

# Silence repeating messages
;mute 20

Abgesehen von den hier genannten Skripten und Prozessen liegen im Ordner ~/openvpn noch die Interne-Domain-CA-cacert.pem und der tls-auth-domain.key zur Domain, die im Skript oben referenziert sind.

KVM Bridging

Ein Server mit 6 Netzwerkschnittstellen und jede davon soll unter KVM einen eigenen Gast und eine eigene IP bekommen – das war die Aufgabe und am Bridging wäre es fast gescheitert, hätte ich nicht diesen Blogpost hier gefunden:

http://blog.agdunn.net/?p=416

Was bis zur Lektüre des obigen Posts nicht recht hatte klappen wollen war das richtige Erstellen der Netzwerkbrücken für die KVM Gäste. Dabei – wenn mal es mal weiß – ist es simpel: Zuerst muss ein evtl. vorhandener Netzwerkmanager runter

apt-get remove network-manager

und die erste Schnittstelle am Rechner muss händisch konfiguriert werden, damit dieser weiterhin eine Internetverbindung hat – im folgenden: Wirt. Für jede Schnittstelle (und damit also für jede IP und jeden KVM Gast) legt man sich sodann eine Netzwerkbrücke an. Der KVM Gast wiederum nutzt diese Brücke um damit ins Netz zu kommen. TUN/TAP Interfaces etc. sind nicht nötig. Will man dafür sorgen, dass zwei KVM Gäste miteinander im gleichen Netz hängen, dann verbindet man diese mit der gleichen Brücke.

Hier – genau wie für die folgenden Schritte – empfiehlt es sich, auf ein /etc/init.d/networking restart zu verzichten und lieber den ganzen Server nach Anpassungen der Netzwerkonfiguration neu zu booten. Manchmal treten sonst Merkwürdigkeiten auf.

Ich zeig das mal für zwei der NICs am Server: Für einen virtualisierten IPCop (also einen UnCop) mit zwei Netzwerkkarten (rot und grün) reichen die folgenden zusätzlichen Einträge auf dem Wirt in

/etc/network/interfaces

Dabei gehe ich davon aus, dass der Server (Wirt) über eth0 mit dem Internet verbunden ist (die IP Adressen im folgenden Beispiel sind für die eigenen Bedürfnisse anzupassen):

# The loopback network interface
auto lo
iface lo inet loopback

# Network interface links directly to Provider
auto eth0
iface eth0 inet static
address 141.11.38.149
netmask 255.255.255.248
network 141.11.38.144
broadcast 141.11.38.151
gateway 141.11.38.145
# dns-* controlled by resolvconf
dns-nameservers 129.11.2.4
dns-search my.domain

und der IPCop unter KVM die Schnittstelle eth1 (des Wirts) für Rot und eth2 (des Wirts) für Grün erhalten soll:

# KVM controlled Interfaces
# The IPCOP network interface, used by br1
# RED
auto eth1
iface eth1 inet manual
# The bridge network interface, used by kvm
auto br1
iface br1 inet manual
bridge_ports eth1
bridge_stp yes
bridge_fd 0
bridge_maxwait 0
# IPCOP network interface, used by br2
# GREEN
auto eth2
iface eth2 inet manual
# The bridge network interface, used by kvm
auto br2
iface br2 inet manual
bridge_ports eth2
bridge_stp yes
bridge_fd 0
bridge_maxwait 0

br2 ist dann die Schnittstelle, an die sich auch weitere virtualisierte Rechner anschließen lassen, um selbst über den UnCop ins Internet zu kommen. Ein Kabel in eth2 (br2) kann zu einem Switch führen und weitere, nicht virtualisierte Clients anbinden. Genau die richtige Mischung, wenn auf der grünen Karte des IPCop ein DHCP Server läuft.

LibreOffice PPA

Theoretisch versorgt einen das LibreOffice PPA mit den aktuellen Versionen der Bürosuite. Inzwischen finde ich das aber sehr theoretisch: Ich hatte bis gerade eben lokal eine 3.3.2 laufen – und aktuell wäre 3.4.2

Also hab ich zuerst das vorhandene LO deinstalliert (inklusive dem Eintrag in der sources.list):

sudo apt-get remove libreoffice
sudo apt-get remove libreoffice-*
sudo apt-get autoremove

und mir dann die DEB Pakete von den LibreOffice Seiten herunter geladen und lokal entpackt. Alle drei Ordner (LO selbst auf Englisch, die deutschen Sprachdateien und die deutsche Hilfe dazu) legte ich in einen gemeinsamen Ordner lo342 auf meinem Desktop und installierte von dort mit

sudo dpkg -iR /home/dirk/Desktop/lo342/

In Zukunft werde ich das gelegentlich von Hand machen statt wochenlang zu warten. Geht schnell, tut nicht weh und versorgt mich mit aktuellen Versionen. LO las brav meine vorhandenen Einstellungen aus dem Ordner ~/.libreoffice, so dass mir umständliches Gefummel erspart blieb.