Reducing SAMBA Server / smbd load when transferring large files

We have a 4 core Intel i3 machine running ubuntu set up in our office, responsible for two jobs:

  • recording 5 security cameras to disk (ffmpeg)
  • being a general purpose fileserver.

The machine has a single, 3TB SATA disk and no RAID. The data on the machine doesn’t matter, and doesn’t need to be 100% available.

When we transferred a disk image (500GB) to it via SAMBA, it would run out of memory and start swapping, slowing down the already busy disk to a point where the machine would be completely unresponsive and need to be reset.

We fixed this by disabling oplocks in /etc/smb.conf:

oplocks = no

No further tuning reqired.

Installing Brother DCP Scanner Drivers in Ubuntu

Start a Terminal using CTRL+ALT+T. Install some depencencies and frontend scanner tools using

sudo apt-get install xsane sane-utils simple-scan lib32stdc++6

Now download the drivers. In case brother loses them, I mirrored them here. Alternatively use the wget commands down below.

wget -O brscan4-0.4.4-4.i386.deb
wget -O brscan-skey-0.2.4-1.i386.deb
wget -O brother-udev-rule-type1-1.0.2-0.all.deb

Now install the drivers you just downloaded:

sudo dpkg -i –force-architecture brscan.deb brother-udev-rule.deb

And restart your udev service:

sudo systemctl restart udev.service

All i had to do was unplug and plug in my DCP, and i could immediately scan using simple-scan in Gnome.

Spacewalk Client for Ubuntu 18.04 / bionic

You have to roll your own:

for shizzle in \
bionic/apt-spacewalk \
bionic/python-ethtool \
bionic/rhn-client-tools \
bionic/rhnlib \
bionic/rhnsd \
; do
cd $shizzle && debuild -uc -us ; \
cd ../../

I uploaded some binary packages (.deb) which work for me ™:

(This was originally uploaded for )

EDIT: If you are missing dependencies, use packages from artful

DisplayLink-Driver / i-teck Docking Station Driver for Debian and Ubuntu

Long story short:

local mirror here (dated 2018/03/13)

See it in Action:

root@nb-fpanzer:~# ./

————————— displaylink-debian —————————-

DisplayLink driver installer for Debian based Linux distributions:

* Debian GNU/Linux
* Ubuntu
* Elementary OS
* Linux Mint
* Kali Linux
* Deepin



Select a key: [i/u/r/q]: I


Checking dependencies

unzip is installed
linux-headers-4.15.0-10-generic is installed
dkms is installed
lsb-release is installed
dpkg-query: Paket »linux-source« ist nicht installiert und es ist keine Information verfügbar
Verwenden Sie dpkg –info (= dpkg-deb –info) zum Untersuchen von Archiven
und dpkg –contents (= dpkg-deb –contents) zum Auflisten ihres Inhalts.
linux-source not found! Install? [Y/n] Y
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen…. Fertig
Die folgenden zusätzlichen Pakete werden installiert:
Vorgeschlagene Pakete:
libncurses-dev | ncurses-dev kernel-package libqt3-dev
Die folgenden NEUEN Pakete werden installiert:
linux-source linux-source-4.15.0
0 aktualisiert, 2 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen 129 MB an Archiven heruntergeladen werden.
Nach dieser Operation werden 144 MB Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren? [J/n] J
Holen:1 bionic/main amd64 linux-source-4.15.0 all 4.15.0-10.11 [129 MB]
Holen:2 bionic/main amd64 linux-source all [2.272 B]
Es wurden 129 MB in 30 s geholt (4.278 kB/s).
Vormals nicht ausgewähltes Paket linux-source-4.15.0 wird gewählt.
(Lese Datenbank … 288228 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von …/linux-source-4.15.0_4.15.0-10.11_all.deb …
Entpacken von linux-source-4.15.0 (4.15.0-10.11) …
Vormals nicht ausgewähltes Paket linux-source wird gewählt.
Vorbereitung zum Entpacken von …/linux-source_4. …
Entpacken von linux-source ( …
linux-source-4.15.0 (4.15.0-10.11) wird eingerichtet …
linux-source ( wird eingerichtet …

Platform requirements satisfied, proceeding …


Please read the Software License Agreement
available at
and accept here: [Y]es or [N]o: Y

Downloading DisplayLink Ubuntu driver:

–2018-03-13 15:55:17–
Auflösen des Hostnamens (…,,, …
Verbindungsaufbau zu (||:80 … verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 303 See Other
Platz: [folgend]
–2018-03-13 15:55:17–
Auflösen des Hostnamens (…
Verbindungsaufbau zu (||:80 … verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 200 OK
Länge: 14112877 (13M) [application/octet-stream]
Wird in »« gespeichert. 100%[===================================================================================================================================>] 13,46M 3,70MB/s in 3,7s

2018-03-13 15:55:21 (3,62 MB/s) – »« gespeichert [14112877/14112877]


Preparing for install

inflating: 4.2/
inflating: 4.2/LICENSE
creating: 4.2/__MACOSX/
inflating: 4.2/__MACOSX/._LICENSE
Creating directory displaylink-driver-4.2.29
Verifying archive integrity… 100% All good.
Uncompressing DisplayLink Linux Driver 4.2.29 100%

## NO suitable EVDI source found ##


Installing driver version: 4.2

DisplayLink Linux Software 4.2.29 install script called: install
Distribution discovered: Ubuntu Bionic Beaver (development branch)
Configuring EVDI DKMS module
Registering EVDI kernel module with DKMS
Building EVDI kernel module with DKMS
Installing EVDI kernel module to kernel tree
EVDI kernel module built successfully
Installing x64-ubuntu-1604/DisplayLinkManager
Installing libraries
Installing firmware packages
Installing licence file
Adding udev rule for DisplayLink DL-3xxx/5xxx devices

Please read the FAQ


Performing post install steps

Created symlink /etc/systemd/system/ → /lib/systemd/system/dlm.service.


Performing clean-up
Removing redundant: “” file
Removing redundant: “4.2” directory


Install complete, please reboot to apply the changes


MariaDB 10.1.28 with WSREP will not start – here’s how you can fix it

If you are running MariaDB 10.1 branch on any major distro (Ububtu, CentOS/RHEL…) with WSREP=ON (indicating replication such as galera), then your MariaDB systemd unit will most likely fail to start.

Steps to reproduce:

  • Install mariadb-10.1.27 or earlier for any distro
  • enable WSREP (have a cluster running)
  • upgrade one node to 10.1.28
  • mysql will simply quit any time you start the systemd unit, with no fishy warning or error messages whatsowver, just a silent insta-death.

If you now try to run mysqld (do a “which mysqld”) in foreground, it will actually keep on running.

Note: use “killall mysqld” on a different shell to gracefully quit mysqld when running in foreground, because mysqld will ignore you hammering Ctrl+C, duh.

So my guess was: “This has to do with the unit file, or with mysqld_safe”. Turns out i was right, after a bit of googling i found this patch for mysqld_safe, which is just broken in that release.

diff mysqld_safe.bug mysqld_safe.fixed
< local wr_logfile=$(mktemp wsrep_recovery.XXXXXX)

> local wr_logfile=$(mktemp -t wsrep_recovery.XXXXXX)
< eval_log_error “$mysqld_cmd –wsrep_recover $wr_options 2> $wr_logfile”

> eval_log_error “$mysqld_cmd –wsrep_recover $wr_options > $wr_logfile”

Source: click here

I wonder how this can happen, do they run their rpm package tests only without replication enabled!?

Of course I hit this in production, where else!? You don’t run replication in testing, because nobody is willing to pay the extra server(s) 😀

Fehler beim Plesk-Transfer von SuSE nach Ubuntu/Debian und andere

Der Fehler

Fehler: launchpad error (Error code = 2):
== STDERR ====================
Failed to execute scout.
The return code is 9
The output on STDERR is
Unable to determine block size in df output. First line looks like ‘Dateisystem 512‐Blöcke Benutzt Verfügbar Kapazit. Eingehängt auf
‘ at – line 560.


lässt sich relativ simpel beheben. Ursächlich ist die Tatsache, dass auf dem Quellsystem – SuSE Linux – deutsch als Standardsprache hinterlegt ist. Diese muss auf englisch umgestellt werden.

Zunächst wird in yast unter System -> Sprache die systemweite Standardsprache auf Englisch (US) umgestellt.

Danach noch mit einem Texteditor die Datei /etc/profile.local abändern:

export LANG=”en_US.utf8″
export LANGUAGE=”en_US.utf8″
export LC_ALL=”en_US.utf8″

Nun sollte dem Transfer von Inhalten auf das neue Plesk-System nichts mehr im Wege stehen.