Um seinen Rechner vor fremden Zugriff zu schützen, ist es sinnvoll, eine automatische Sperre nach einer definierten Zeit zu setzen.
Doch es gibt Situationen, in denen kann diese Sperre hinderlich sein: Hält man eine
Präsentation und der Bildschirm sperrt sich, hilft nur noch entsperren und weitermachen.
Autor: Philipp Weißmann
SD Karte beschreiben mit „flash“
Um einen Raspberry Pi in Betrieb zu nehmen, ist es notwendig eine SD Karte mit einem Betriebssystem zu beschreiben.
Dabei ist es in der Regel nicht mit einem einfachen Datei kopieren getan.
Unter Windows bietet sich Win32 Disk Imager an,
unter macOS das Tool ApplePi Baker und unter Linux nutzt man einfach dd
.
Nun wünscht man sich bei häufiger Nutzung ein einfaches Kommandozeilentool, dass diese Aufgabe komfortabel übernimmt.
Genau das erledigt das Tool flash.
Das in bash geschrieben Werkzeug ist schnell installiert:
curl -O https://raw.githubusercontent.com/hypriot/flash/master/$(uname -s)/flash
chmod +x flash
sudo mv flash /usr/local/bin/flash
Wie in der Installationsanleitung auf Github zu sehen, sind noch optionale Abhängigkeiten auf einige Tools zu installieren (u.a. curl
, pv
, unzip
).
Nach erfolgreicher Installation durch den Paketmanager des Vertrauens, können Raspberry Images geschrieben werden:
flash jessie-light.zip
Dabei übernimmt flash
das entpacken (bzw. Download) der Datei und fordert den Benutzer anschließend auf, die SD Karte einzulegen. Nach Identifizieren des Speichermediums braucht man lediglich selbiges zu bestätigen und der Schreibeprozess beginnt.
Zum Abschluss des Ganzen werden auch alle Dateisystem ausgehängt und die Speicherkarte kann in den Raspberry Pi wandern.
Für mich ist flash
das Werkzeug zum Schreiben von SD Karten geworden.
Minimalistisch, komfortabel und einfach zu handhaben erleichtert mit das kleine Helferlein den Alltag.
Homebrew Cask mit Ansible
Paketmanager auf modernen Betriebssystemen sind ein wahrer Segen: Programme
können einfach installiert, auf den aktuellsten Stand gebracht und restlos
deinstalliert werden.
Auch können mit einfachen Mitteln definierte Installationen bzw.
Systemkonfigurationen erstellt werden.
Systemdateien editieren mit sudoedit
Praktisch jeder Entwickler und jeder Administrator hat seine eigene Editor-Konfiguration.
Ob Farbschema, Plugins, eigene Kürzel oder Optionen - kaum ein Werkzeug wird
so intensiv den eigenen Vorstellungen, Wünschen und Vorlieben angepasst wie ein
Editor.
Muss jedoch eine Datei editiert werden, die nicht dem Benutzer "gehört" (z.B.
Konfigurationsdateien eines Webservers), funktioniert der "eigene" Editor nicht
mehr.
Kommandozeile mit FZF
Wer viel auf der Kommandozeile/Shell arbeitet, lernt im Lauf der Zeit einige nützliche Tools und Tastaturkürzel kennen.
So stöbert man in bash
bzw. zsh
mit Ctrl+R
in der Eingabe-History, sucht mit find
Dateien in einem gegeben Pfad - und so weiter und so fort.
Ein nützliches Helferlein, welches die beiden Aktionen (und mehr) beschleunigt
ist fzf
:
Editor für Hugo
Hugo ist eine schöne Software um Software um statische Webseiten und Blogs zu
erstellen.
Die in Go geschriebene Software ermöglicht das einfache
Nutzen von Templates für neue Beiträge. Ein neuer Beitrag wird auch leichter
Hand angelegt, z.B. hugo new post/hugo_editor.md
.
Die Datei enthält danach alle Einträge des Templates - teilweise auch schon
ausgefüllt.
Eine interessante Konfigurationseinstellung in der config.toml
(bzw.
config.yaml
, config.json
) ist der Eintrag newContentEditor
:
Gesetzt auf den Editor öffnet sich dieser dem Anlegen der Datei die Schreiberei
kann beginnen.
newContentEditor = "vim"
Wget wiederaufnehmen
Beim Download großer Dateien (z.B. Iso-Images, Podcasts) ist es oft hilfreich einen bereits begonnenen Download weiterführen zu können.
Mit dem Download-Werkzeug wget
ist dies einfach mit der Kommandozeilenoption -r
möglich.
Damit man jedoch nicht immer daran denken muss, lässt sie dies auch als Standardverhalten einstellen.
Hierzu tragen wir die die Datei ~/.wgetrc
folgendes ein:
continue = on
Ab sofort nimmt wget
Downloads automatisch wieder auf.
Vollbackup mit rsync
Das Tool Nummer eins um Daten von A nach B zu spiegeln ist rsync
.
Es kann über Rechnergrenzen hinweg eingesetzt werden (z.B. via ssh
), beherrscht inkrementelles Kopieren und vieles mehr.
Sharpkeys
Um Tasten wie Shift-Lock ("Feststelltaste") sinnvoller zu nutzen kann auch unter Windows die Belegung dieser Taste geändert werden.
Da Windows leider (noch) kein Werkzeug hierzu mitbringt, kann man sich einfach mit dem Freeware-Werkzeug "SharpKeys" behelfen.
Einfach installieren, Taste auswählen, neue Belegung auswählen und nach an- und abmelden ist die Taste neu belegt.
Tipp: Die Feststelltaste einfach mit Strg (Ctrl) belegen.
Linux Pakete mit fpm bauen
Software installieren
Unter den meisten Linux Distributionen wird Software zumeist via Paketmanager
installiert.
Gerade in der Software-Entwicklung kommt es aber immer wieder dazu, dass
man selbstkompilierte oder selbstentwickelte Software installieren muss.
Der übliche "Installationsmechanismus" via
./configure && make && make install
führt jedoch dazu, dass die Software unversioniert installiert wird und eine
Deinstallation nur in mühseliger Handarbeit möglich ist.
Auch die Installation auf mehreren Rechner erfordert immer wieder den selben
Aufwand und eine Updatemöglichkeit gibt es ebenfalls nicht.
Pakete
Die optimale Lösung für unser Problem ist natürlich die Erstellung eines
eigenen Pakets:
Das Paket wird ein einziges Mal gebaut, kann jederzeit deinstalliert werden
und die Version des Pakets ist ebenfalls protokolliert, so dass später Updates
möglich sind.
Das Problem daran ist, dass das Entwickeln von Paketen recht Aufwändig ist.
Eine Abhilfe schafft hierbei das
Werkzeug fpm.
Installation
Zunächst stellen wir sicher, dass auf unserem Rechner das Paket ruby-dev
installiert ist:
Bei auf Debian basierenden Systemen (z.B. Ubuntu):
sudo apt-get install install ruby-dev
Bei auf RedHat basierenden Systemen (z.B. CentOS):
sudo yum install fpm
Nun können wir mit dem Ruby Paketinstaller gem
das Programm installieren:
gem install fpm
Nun sollte das Programm fpm
auf der Kommandozeile zur Verfügung stehen.
Paket bauen
Wir haben nun unsere Software wie zuvor und bauen diese - jedoch mit einem
Präfix, z.B.:
mkdir /tmp/place_to_install
./configure && make && make install DESTDIR=/tmp/place_to_install
Wenn wir nun an den Ort /tmp/place_to_install
schauen, sehen wir dort die
installierten Daten. Diese sollen nun in unser Paket kommen.
Diese bauen wir mit:
fpm -s dir -t rpm -n myprogram -v 0.1.2 -C /tmp/place_to_install bin lib
Hierbei stehen die Parameter für:
-s dir
: Das Paket wird aus einem Verzeichnis gebaut (andere Möglichkeiten u.a. Python Module, rpm Dateien usw.)-t rpm
: Es soll ein rpm-Paket gebaut werden. Auch deb-Pakete sind möglich-n myprogram
: Der Name des Pakets-v 0.1.2
: Die Version des Pakets-C /tmp/place_to_install
: Das Verzeichnis, in dem sich die Dateien befindenbin lib
: Die Dateien/Verzeichnisse in dem Verzeichnis, welche auch wirklich im Zielsystem installiert werden sollen
Nach kurzer Wartezeit purzelt aus dem Werkzeugs ein installierbares Paket heraus.
Fazit
Mit fpm lassen sich bequem, schnell und einfach Pakete bauen.
Natürlich berücksichtigt das hier erstellte Paket keinerlei Abhängigkeiten und
es werden auch nicht alle Möglichkeiten und Funktionen des Paketmanagements genutzt, aber
in der Praxis erleichtert dies die Installation von Software - gerade in Teams
ungemein.
Jetzt nur noch ein Repository-Server aufgesetzt - und schon hat man im Team
eine komfortablen Weg Software bereit zu stellen.