Zum Inhalt

denniswilmsmann.de Posts

Aktuelle Go Version in der Ubuntu Bash (WSL) installieren

Update: Es geht auch deutlich einfacher via apt mit automatischen Updates: https://github.com/golang/go/wiki/Ubuntu

Eigentlich ganz einfach: Runterladen, entpacken und in /usr/local verschieben.

# download current version (1.13.3)
mkdir golang-update
cd golang-update
wget https://dl.google.com/go/go1.13.3.linux-amd64.tar.gz
tar xvzf go1.13.3.linux-amd64.tar.gz

# remove old version
sudo rm -rf /usr/local/go

# move new version in place
sudo mv go /usr/local

# set GOPATH and add folders to PATH
export GOPATH=$HOME/go
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin

# run go version
go version

# result: go version go1.13.3 linux/amd64

Maven Dependencies und Plugins updaten

Mit dem Plugin versions-maven-plugin lassen sich einfach Update für Maven Dependencies und Plugins finden.

In der pom.xml wird das Plugin so eingebunden:

<plugin>
	<groupId>org.codehaus.mojo</groupId>
	<artifactId>versions-maven-plugin</artifactId>
	<version>2.7</version>
	<configuration>
		<generateBackupPoms>false</generateBackupPoms>
	</configuration>
</plugin>

Updates können dann mit mvn versions:display-plugin-updates bzw. mvn versions:display-dependency-updates identifiziert werden.

PDF Dateien verkleinern mit Ghostscript

Es gibt haufenweise kommerzielle Produkte, die PDF Dateien verkleinern. Es geht aber auch kostenlos sehr einfach. Nur auf eine schicke GUI muss man verzichten. Unter Linux (in meinem Fall Ubuntu 18.04 LTS unter Windows 10) geht das sehr, sehr einfach.

  1. Installation von Ghostscript und wget:
    sudo apt-get install ghostscript wget
  2. Download von Shrinkpdf:
    wget http://www.alfredklomp.com/programming/shrinkpdf/shrinkpdf.sh
  3. Und jetzt lassen sich bequem PDF Dateien verkleinern:
    ./shrinkpdf.sh my_large_file.pdf my_small_file.pdf 200
    

    Hinweis: An der Qualität (hier 200) lässt sich drehen, um die gewünschte Größe oder Qualität zu erreichen.

  4. Wenn jetzt noch mehrere PDFs zusammengefügt werden sollen, hilft wieder Ghostscript:
    gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=single.pdf -dBATCH first.pdf second.pdf

ffmpeg unter Raspbian 8 Jessie installieren

Ob wirklich Raspbian 8 (Jessie) benutzt wird, kann so überprüft werden:

cat /etc/os-release

Die folgenden Befehle fügen das Jessie Backports Repository hinzu und installieren anschließend ffmpeg:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7638D0442B90D010
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8B48AD6246925553
echo 'deb http://httpredir.debian.org/debian jessie-backports main contrib non-free' | sudo tee -a /etc/apt/sources.list.d/jessie-backports.list
sudo apt-get update
sudo apt-get install ffmpeg

Fertig. 🙂

SD Karte vom Raspberry Pi auf kleinere SD Karte klonen

Folgende Situation: Die 16GB SD Karte in meinem Raspberry Pi zickt in letzter Zeit regelmäßig wegen defekten Sektoren rum. Diverse Programme starten z.B. nicht mehr und mussten erneut installiert werden. Ärgerlich. Da ich zusätzlich noch einen 32GB USB Stick angeschlossen haben und auch ein NAS im Netzwerk zur Verfügung steht, dachte ich mir, ersetze ich die alte 16GB SD Karte einfach durch eine neue. Leider ist die neue SD Karte ein paar wenige MB kleiner als die alte, daher war eine einfache Prozedur à la Image erstellen (entweder mit Win32 Disk Imager unter Windows oder dd unter Linux) und zurückspielen keine Möglichkeit, selbst wenn die 16GB Speicherplatz auf der SD Karte alles andere als ausgenutzt wurden.

Folgende Prozedur hat nun scheinbar Erfolg gebracht. Alle Schritte habe ich auf einem Notebook mit SD Kartenleser durchgeführt.

Schritt 1: Partitionen verkleinern

  1. Die root Partition auf der alten SD Karte verkleinern, in meinem Fall großzügig um 1GB.
  2. Auch die erweiterte Partition um 1GB verkleinern. Dieser Schritt ist wichtig!

Schritt 2: Image mit dd erstellen

  1. sudo dd if=/dev/mmcblk1 of=~/raspi.img
    Hierbei wird die komplette SD Karte als Image gespeichert, d.h die Datei ist anschließend ca. 16GB groß.

Schritt 3: Image verkleinert auf die neue SD Karte schreiben

  1. Mit sudo fdisk -l ~/raspi.img die Größe der Partitionen anzeigen lassen:
    dennis@MSI-GE60:~$ sudo fdisk -l ~/raspi.img
    Medium raspi.img: 14,5 GiB, 15523119104 Bytes, 30318592 Sektoren
    Einheiten: sectors von 1 * 512 = 512 Bytes
    Sektorengröße (logisch/physisch): 512 Bytes / 512 Bytes
    I/O Größe (minimal/optimal): 512 Bytes / 512 Bytes
    Typ der Medienbezeichnung: dos
    Medienkennung: 0x000b2b81
    
    Gerät Boot Start Ende Sektoren Größe Id Typ
    raspi.img1 8192 2289062 2280871 1,1G e W95 FAT16 (LBA)
    raspi.img2 2289063 28221439 25932377 12,4G 5 Erweiterte
    raspi.img5 2293760 2359293 65534 32M 83 Linux
    raspi.img6 2359296 2488319 129024 63M c W95 FAT32 (LBA)
    raspi.img7 2490368 28221439 25731072 12,3G 83 Linux
  2. Hier sind raspi.img2 und raspi.img7 relevant: Die erweiterte und die root Partition:
    Beide haben als Ende 28221439. Ohne die Verkleinerungen aus dem ersten Schritt waren es in meinem Fall 30318591.
  3. Und so landet das erstelle Image auf der neuen SD Karte:
    sudo dd if=~/raspi.img of=/dev/mmcblk1 bs=1024 count=28221439
  4. Der Vorgang dauert sehr lange und es kommt am Ende eine Fehlermeldung, die neue SD Karte sei zu klein. Das ist korrekt und kann ignoriert werden, da dieser Bereich außerhalb der Partitionen liegt und damit keine Daten betroffen sind.
  5. (optional) Die Partionen können mit gparted wieder auf maximale Größe erweitert werden.
  6. Von der neuen SD Karte kann der Raspberry Pi nun booten.

Ach ja, der ganze Spaß hat 5 oder 6 Anläufe an mehreren Abenden benötigt. Adhoc hat das leider nicht funktioniert.