Zugriffsrechte auf Arduino und USB-Uart

Per Default erhält nur „root“ rw-Rechte auf USB-Adapter mit seriellen Schnittstellen, wie man sie für die Ansteuerung vom ESP8266 oder dem Arduino braucht. Eine simple udev-rule gibt alle Nutzern zugriff auf die USB-Adapter:
in: /etc/udev/rules.d eine neue Regel erstellen, z.b. 92-serial-USB.rules mit folgendem Inhalt:

#Allow all Access to USB Serial Devices
KERNEL=="ttyUSB*", GROUP="ast", MODE="0666"
#same for Arduino
KERNEL=="ttyACM*", GROUP="ast", MODE="0666"

Neu eingesteckte USB-Schnittstellen sind dann in der Gruppe „ast“ verfügbar und geben alle Nutzern rw-Rechte. Soll nur der Hauptnutzer (ast in der Gruppe ast) Zugriff erhalten genügt es, die „GROUP“ zu setzen und den MODE auf „0660“ zu lassen.

Dummy Interface

Verschiedene Einsatzgebiete, wie unter anderem Offline-Demo-Setups von Cloud- und Virtualisierungsdiensten, erfordern ein Pseodo-Netzwerkinterface, auf das sich eine Bridge binden läßt. Der Linux Kernel unterstützt dazu das „dummy“-Interface. Allerdings generiert das System bei jedem Neustart ein neues Pseudo-Interface mit einer neuen MAC-Adresse, so dass die Netwerk-Konfiguration nach dem Reboot nicht mehr passt.

Abhilfe schafft ein kleinen Skript (in /etc/rc.local), welches beim Systemstart das Dummy-Interface erzeugt und ihm eine fixe MAC-Adresse zuweist:
modprobe dummy
ip link set dev dummy0 address 00:01:02:dd:ee:ff

Alternativ läßt sich das Dummy Interface auch umbennen:
modprobe dummy
ip l set dev dummy0 name veth0
ip link set dev veth00 address 00:01:02:dd:ee:ff

und für diejenigen, welche sich immer noch strikt gegen das „ip“ tool wehren:
ifconfig dummy0 hw ether 00:01:02:dd:ee:ff

Allerdings läuft rc.local erst nach allen Start-Skripten. Es bietet sich an, das Skript als offizielles init-Skript umzuschreiben und vor „network“ zu starten.

Verschlüsselte TAR-Backups erstellen

Wer TAR-Dateien auf Cloud-Speichern wie Dropbox oder Ubuntu One hinterlegen will, sollte diese verschlüsseln. Mit OpenSSL ist das auch kein großes Hexenwerk:

tar -czvf - quelle | openssl enc -aes-256-cbc -e > ziel_enc.tar.gz

Kurz nach dem Start fordert OpenSSL den Anwender auf, zwei mal ein passendes Passwort für die Verschlüsselung einzutippen.

Um das verschlüsselte Archiv zu entpacken genügt es, die folgende Kommandozeile im Zielverzteichnis auszuführen:

openssl enc -in ziel_enc.tar.gz -aes-256-cbc -d | tar -zxvf -

Alternativ zu dem ‚z‘-Paramter (ZIP) schaltet ‚j‘ die stärkere bzip2-Kompression ein. Allerdings verlangsamt das den Packvorgang.

rhev/ovirt Defekte Disk-Images aus der DB entfernen

Wenn es beim Import von Templates oder VMs aus der Export-Domain zu Problemen kommt, kann es sein, dass Disk-Images im Status „locked“ bleiben. Das blockiert die importierte VM oder das Template, so dass diese sich nicht löschen lassen. In der Folge läßt sich die Export-Domain im Zweifelsfall nicht mehr abhängen.
Um den Fehler zu beheben, muss der Administrator die Disk-Images auf der Export-Domain manuell löschen und zudem die Einträge aus der Datenbank auf dem rhev-m/ovirt-Server händisch entfernen:

[root@rhev ~]$ su - postgress
-bash-4.1$ psql -U engine
Password for user engine:
psql (8.4.13)
Type "help" for help.
select * from vms_for_disk_view;

Listet die Disk-IDs aller vorhandenen VMs und Templates auf. Die Ansicht läßt sich für die betroffene VM/Template filtern:

engine=> select * from vms_for_disk_view where array_vm_names='{evm-v5104-r}';
array_vm_names | device_id | entity_type
----------------+--------------------------------------+-------------
{evm-v5104-r} | a4063ac5-7591-483d-a29f-c8f7a464b583 | TEMPLATE
{evm-v5104-r} | 5507e4b2-53f2-466f-8c02-7fa55eb870c0 | TEMPLATE
{evm-v5104-r} | da126728-9071-4ea8-8f49-8dfd55c9173a | TEMPLATE
{evm-v5104-r} | 246bdbe7-d3b7-4b40-917c-55d62f8d53b3 | TEMPLATE
{evm-v5104-r} | 687613cb-09e0-4876-93a8-d4f697789bbf | TEMPLATE
(5 rows)

Dann lassen sich die Disk-Zuweisungen nach einander aus der Datenbank entfernen

engine=> delete from images where image_group_id='246bdbe7-d3b7-4b40-917c-55d62f8d53b3';
DELETE 1
...

Sobald die defekten Images aus der Datenbank gelöscht wurden, läßt sich das Template, bzw. die VM entfernen.

Cacti show disk usage

Um in Cacti die Disk-Belegung eines SNMP-fähigen Clients (RHEL) anzuzeigen, muss diese Funktion auf dem SNMP-Daemon des Clients freigeschatet sein:

in /etc/snmp/snmpd.conf muss entweder:
includeAllDisks
oder jedes Device einzeln stehen:
disk /