VirtualBox ab Debian Stretch

Ab Debian Stretch finden wir die VirtualBox von Oracle nicht mehr in der Paketverwaltung (apt). Die Software muss über einen anderen Weg installiert werden. Falls Du nicht am Paketmanager vorbei installieren willst, schaue hier nach.

wähle: All distributions (built on EL5 and therefore do not require recent system libraries)

1. Wähle unter Downloads deine Architektur aus und lade das *.run File herunter.

2. führe als root die Datei aus:

sh ./VirtualBox-VERSION-Linux_amd64.run

Das war’s bereits. In der Regel werden sämtliche benötigten libaries mit installiert. Die Dateien landen alle unter /opt wie es sich für ein anständiges Linux auch gehört.

blacklist in Debian

Um bestimmte Module beim Booten zu unterdrücken, wenden wir die Blacklist an. Per lsmod und grep filtern wir unseren Modulnamen heraus:

# lsmod | grep i2c
i2c_piix4              24576  0

das Modul i2c_piix4 wird also geladen, bzw. ist bereits geladen worden. Falls du beim nächsten Booten dieses Modul unterdrücken möchtest, gehe folgendermassen vor:
(tippe das nur ein, wenn Du weisst, was Du tust!)

1. Erstelle eine Blacklist mit:

# nano /etc/modprobe.d/blacklist.conf

in der Regel erstellt nano hier eine neue, leere Datei.

2. trage die Module ein, welche nicht geladen werden: (jedes Modul auf eine neue Zeile)

blacklist i2c_piix4

3. baue/aktualisiere initrd per:

# update-initramfs -u

das war’s bereits. Bei nächsten Start wird das Modul nicht mehr geladen!

i2c_piix4 führt vor allem in einer virtuellen Umgebung wie VirtualBox zu Problemen. Auf diese Weise können wir also das „Corpus Delicti“ einfach aus der Boot-Routine ausschliessen!

Um Informationen über ein bestimmtes Modul zu erhalten, benötigen wir modinfo:

# /sbin/modinfo i2c_piix4
filename:       /lib/modules/3.16.0-4-amd64/kernel/drivers/i2c/busses/i2c-piix4.ko
license:        GPL
description:    PIIX4 SMBus driver
author:         Frodo Looijaard (...)
alias:          pci:v00001166d00000408sv*sd*bc*sc*i*
alias:          pci:v00001166d00000205sv*sd*bc*sc*i*
alias:          pci:v00001166d00000203sv*sd*bc*sc*i*
alias:          pci:v00001166d00000201sv*sd*bc*sc*i*
alias:          pci:v00001166d00000200sv*sd*bc*sc*i*
alias:          pci:v00001022d0000790Bsv*sd*bc*sc*i*
alias:          pci:v00001022d0000780Bsv*sd*bc*sc*i*
alias:          pci:v00001002d00004385sv*sd*bc*sc*i*
alias:          pci:v00001002d00004372sv*sd*bc*sc*i*
alias:          pci:v00001002d00004363sv*sd*bc*sc*i*
alias:          pci:v00001002d00004353sv*sd*bc*sc*i*
alias:          pci:v00001055d00009463sv*sd*bc*sc*i*
alias:          pci:v00008086d0000719Bsv*sd*bc*sc*i*
alias:          pci:v00008086d00007113sv*sd*bc*sc*i*
depends:        i2c-core
intree:         Y
vermagic:       3.16.0-4-amd64 SMP mod_unload modversions 
parm:           force:Forcibly enable the PIIX4. DANGEROUS! (int)
parm:           force_addr:Forcibly enable the PIIX4 at the given address. EXTREMELY DANGEROUS! (int)

weitere Infos findest Du unter:
https://www.kernel.org/doc/Documentation/i2c/busses/i2c-piix4

einfaches Shellscript

Shellscripte (hier ein Bash-Script) sind einfache Textdateien, welche im Terminal (also z.B. der Bash) ausgeführt werden können. Auf diese Weise können oft gebrauchte Befehle automatisch ausgeführt werden. In diesem Beispiel erstellen wir ein Script, welches Rechenaufgaben stellt. Das Script läuft erst dann weiter, wenn die richtige Eingabe getätigt wurde. Obwohl folgendes Beispiel eher für den absoluten Einsteiger gedacht ist, zeigt es auf einfachste Weise, was Sinn und Gedanke hinter der Shell-Programmierung ist…

Schritt 1
öffne das Terminal und erstelle mit

nano -w rechnen.sh

eine leere Datei. Füge nun folgenden Quellcode ein:

#!/bin/bash
clear
echo "meine erste Frage: Was ergibt 17 + 31"
echo ""
while true
  do
    read -p "Antwort: " answer
    case "$answer" in 48)
         echo das war richtig
          break
          ;;
      *) echo leider falsch... nochmals!
          ;;
    esac
done
echo ""
echo ""
echo "zweite Frage: Was ergibt 71 - 49"
echo ""
while true
  do
    read -p "Antwort: " answer
    case "$answer" in 22)
         echo das war ebenfalls richtig
          break
          ;;
      *) echo leider falsch... nochmals!
          ;;
    esac
done
echo ""
echo ""
echo "letzte Frage: Was ergibt 14 * 4"
echo ""
while true
  do
    read -p "Antwort: " answer
    case "$answer" in 56)
         echo das war richtig. Vielen Dank für die Teilnahme.
          break
          ;;
      *) echo leider falsch... nochmals!
          ;;
    esac
done


Schritt 2
nach dem Abspeichern muss die Datei noch ausführbar gemacht werden. Dazu genügt ein:

# chmod +x rechnen.sh


Schritt 3
mit

./rechnen.sh

kann das Script nun gestartet werden.

meine erste Frage: Was ergibt 17 + 31

Antwort: 48
das war richtig


zweite Frage: Was ergibt 71 - 49

Antwort: 22
das war ebenfalls richtig


letzte Frage: Was ergibt 14 * 4

Antwort: 56
das war richtig. Vielen Dank für die Teilnahme.
yuna@supertux:~$ 

Weitere Informationen findest Du z.B. unter
https://www.linux-services.org/shell/