Schlagwort-Archive: Linux

Connecting to security.debian.org dauert ewig?

sudo apt-get update

dauert ewig in der Ausführung und es hängt bei

Connecting to security.debian.org

Gut möglich, dass Debian versucht, sich mit IPv6 zu verbinden und ihr Netzwerk nur IPv4 bietet.

Versuchen Sie, Debian das penetrante IPv6 auszutreiben.

sudo nano /etc/default/grub

Suchen Sie die Zeile

GRUB_CMDLINE_LINUX_DEFAULT=”quiet”

und ersetzen Sie sie durch

GRUB_CMDLINE_LINUX_DEFAULT=”quiet ipv6.disable=1″

sudo update-grub
sudo reboot

Sie werden sehen, dass es jetzt bei

sudo apt-get update

nicht mehr hängt.

Und es geht doch: Linux, Skript ausführen beim Herunterfahren

Geradezu abenteuerlich sind die Aussagen einiger selbsternannter Experten beim Thema “Skripte ausführen beim Herunterfahren”. Von “Linux fährt man nicht herunter” bis zu “ist überhaupt nicht möglich” habe ich alles schon lesen dürfen.

Dabei ist es ganz einfach. Ich benutze diese Methode auf meiner virtuellen Entwicklungsmaschine, um Dateien und Datenbanken nach einem Arbeitstag auf dem Host zu sichern.

Hier also meine schnelle: “Klicken-und-vergessen”-Methode für

  • Oracle VM VirtualBox Manager
  • Host: Windows 7 64 Bit
  • Gast: Ubuntu Linux 14.04.1 – 64 Bit (Hostname: minlux)
  • Netzwerk: AVM FRITZ!Box 7390, Host über WLAN verbunden

Die auszuführenden Dateien befinden sich in /etc/init.d/.

Wir legen ein Skript an, das nichts anderes macht, als eine leere Datei namens goodbye.txt ins Home-Verzeichnis des Users zu schreiben. Das Skript, das das erledigen soll, erhält den Namen custom-shutdown.sh.

echo -e '#!/bin/sh\ntouch /home/'$USER'/goodbye.txt' | sudo tee /etc/init.d/custom-shutdown.sh

Wir machen die Datei ausführbar:

sudo chmod +x /etc/init.d/custom-shutdown.sh

Prüfen, ob alles geklappt hat:

ls -l /etc/init.d/custom-shutdown.sh
cat /etc/init.d/custom-shutdown.sh

Nun legen wir in /etc/rc0.d/ einen Link zum Skript. Beachte: das Präfix K04 vor dem Dateinamen, ohne das geht es nicht.

sudo ln -s /etc/init.d/custom-shutdown.sh /etc/rc0.d/K04custom-shutdown.sh

Fertig. Nun starten wir die Maschine neu

sudo reboot

Test, ob goodbye.txt auch wirklich angelegt wurde:

ls -l ~

Man beachte, dass die Datei für den Nutzer root angelegt worden ist, falls man noch irgendetwas damit plant.

Skript beim Hochfahren ausführen

Wer möchte, kann Skripte auch ausführen lassen beim Hochfahren des Rechners. Dann muss der Link aber nicht in rc0.d sondern in rc6.d platziert werden.

echo -e '#!/bin/sh\ntouch /home/'$USER'/hello.txt' | sudo tee /etc/init.d/custom-start.sh
sudo chmod +x /etc/init.d/custom-start.sh
sudo ln -s /etc/init.d/custom-start.sh /etc/rc6.d/K04custom-start.sh

WICHTIG: Server neu starten

Wenn man Datenbanksicherungen beim Herunterfahren anlegen möchte, so muss man natürlich beachten, dass die Datenbank schon längst selbst heruntergefahren ist. Also muss man diese kurz wieder starten:

#!/bin/sh
date >> /media/sf_share/shutdown.log # das ist mein geteiltes Verzeichnis mit dem Host
sudo /etc/init.d/mysql start # hier wird MySQL wieder gestartet
exec /etc/webmin/mysql/backup.pl --all >> /media/sf_share/shutdown.log # mit Hilfe eines Webmin-Skriptes wird das Backup angestoßen
sudo /etc/init.d/mysql stop # und hier müssen wir MySQL natürlich wieder sauber beenden

Mein Dank geht an http://ubuntu.flowconsult.at/linux/ubuntu-14-10-shutdown-script-with-rc0-d-rc6-rcd/ und https://unix.stackexchange.com/questions/34963/running-script-before-shutdown-seemingly-not-working. Mehr Informationen zum Runlevel: https://en.wikipedia.org/wiki/Runlevel#Ubuntu

Oracle VM VirtualBox Manager – Zugriff auf gemeinsame Ordner und Dateien über Gasterweiterungen

Ein Thema, zu dem ich auch keine simple Lösung finden konnte: wie tauschen Host und Gast Dateien aus? Normalerweise funktioniert das über die sogenannten Gasterweiterungen. Aber diese zu installieren, ist so umständlich und schlecht erklärt, dass es schon an Körperverletzung grenzt.

Hier also meine schnelle: “Klicken-und-vergessen”-Methode für

  • Oracle VM VirtualBox Manager
  • Host: Windows 7 64 Bit
  • Gast: Ubuntu Linux 14.04.1 – 64 Bit (Hostname: minlux) – funktioniert aber auch mit Debian 7, 8 und 9 und wohl mit den meisten anderen Linuxen
  • Netzwerk: AVM FRITZ!Box 7390, Host über WLAN verbunden
sudo apt-get install dkms -y

Ohne dem geht es nicht. Warum? Keine Ahnung. Oracle versucht es hier zu erklären.

Jetzt heißt es, die richtige ISO-Datei zu finden, auf der sich die Erweiterungen befinden, die installiert werden müssen, damit Debian/Linux “weiß”, dass es nur eine virtuelle Maschine ist und nach draußen, mit dem Host kommunizieren muss. Orientieren Sie sich an der Versionsnummer von Oracle Virtual Box Manager. Im Zweifelsfall wird es die höchste Nummer sein. Bei mir bspw. 5.1.26. Die Datei im Ordner heißt passenderweise: VBoxGuestAdditions_5.1.26.iso.

Diese Datei an einen sicheren Ort (kein Temp-Order oder ähnliches) herunterladen und über den VirtualBox Manager einlegen:  Geräte->CD/DVD-Laufwerke->Datei für virtuelles CD/DVD-Medium auswählen…

Die ISO-Datei auswählen

Die ISO-Datei auswählen

Im Manager den gemeinsamen Order (hier: C:\Users\juergen\share) angeben. Dazu noch die Optionen: “automatisch einbinden” und “permanent erzeugen” aktivieren. Fragen Sie mich nicht, worin der Unterschied zwischen beiden besteht.

Gemeinsamen Ordner auswählen

Gemeinsamen Ordner auswählen

sudo mount /dev/cdrom /media/cdrom

Es genügt nicht, die ISO-Datei wie oben einfach nur auszuwählen; man muss sie auch mit mount einbinden. Keine Angst wegen der Read-Only-Nachricht, denn schließlich ist die ISO-Datei ja als CD-Abbild schreibgeschützt.

cd /media/cdrom/
sudo sh ./VBoxLinuxAdditions.run

Jetzt werden die Gasterweiterungen installiert. Schon diese zweite Befehlszeile lässt sich nirgends bei Oracle finden. Wie soll da jemand von selbst darauf kommen? Die Fehlermeldungen können ignoriert werden, da sie sich meist nur auf nicht installierte Desktop-Erweiterungen beziehen.

mount -l | grep vboxsf

Ein kleiner Test. Jetzt sollte in etwa folgendes ausgegeben werden:

share on /media/sf_share type vboxsf (rw,nodev,relatime)

Wenn nicht, dann fahren Sie bitte die virtuelle Maschine komplett herunter (nicht bloß ausschalten) und starten zur Sicherheit auch noch einmal den Oracle Virtual Box Manager komplett neu und starten noch einmal mit sudo mount … wie weiter oben beschrieben.

dir /media/

Kann man schon das Verzeichnis sehen? Es sollte automatisch das Prefix “sf_” erhalten haben; hier also “sf_share”.

sudo usermod -aG vboxsf $(whoami)

Jetzt fügen wir den aktuellen Nutzer noch der passenden Gruppe zu, sonst gibt es als kastrierter Nutzer, der man ist, wieder Probleme.

Wenn man noch zusätzliche über PHP bzw. Apache in das geteilte Verzeichnis schreiben möchte, muss der richtige Nutzer auch noch in die Gruppe gepackt werden.

sudo usermod -aG vboxsf www-data

Und wie immer: reboot nicht vergessen, denn Oracle “weiß” nicht, was auf dem Gästesystem abläuft.

sudo reboot

Erst durch Neustart jetzt werden die Änderungen wirksam.

cd /media/sf_share
touch testfile.txt

Wir wechseln in das Verzeichnis und legen ein erstes Testfile ein, das auf beiden Maschinen zu sehen sein sollte.

Der gemeinsame Ordner auf dem Gastsystem.

Der gemeinsame Ordner auf dem Gastsystem.

Noch ein letzter Test: Jetzt sollte auch in der Windows-Maschine die Datei zu sehen sein.

Der gemeinsame Ordner auf dem Hostsystem

Der gemeinsame Ordner auf dem Hostsystem

Das war’s, q.e.d, hat doch gar nicht weh getan.

Oracle VM VirtualBox Manager: Zugriff von Host auf Gast über Hostname statt IP

Wer eine virtuelle Maschine aufsetzt, möchte sich

a) die IP des Gastsystems nicht merken und

b) nicht ständig in irgendwelchen /etc/hosts Einträge pflegen müssen.

Daher schien es mir kein großes Unterfangen, das zu erledigen, wie falsch lag ich doch. Einen ganzen Tag habe ich damit vergeudet die Posts von Linux-Trollen zu lesen, die immer nur das gleiche aussagten: “Ach, irgendwie weiß ich auch nicht, wie das geht, aber ich schicke dich auf eine lange sudo-apt-get-install-Reise mit ein wenig Du-musst-dich-erstmal-einarbeiten-Kauderwelsch und Linux-ist-nur-für-Profis-Gebetsmühlenwiederkäuerei.

Also, hier ein 1-Minuten-Tutorial für:

  • Oracle VM VirtualBox Manager
  • Host: Windows 7 64 Bit
  • Gast: Ubuntu Linux 64 Bit (Hostname: minlux)
  • Netzwerk: AVM FRITZ!Box 7390, Host über WLAN verbunden

Ausgangssituation

Versucht man per

ping minlux

über die Windows-Konsole zuzugreifen, klappt es nicht.

Kennt man, sonst wären Sie nicht auf dieser Seite. Kein Zugriff auf die Gastmaschine über den Namen. Scheiße, oder?

Kennt man, sonst wären Sie nicht auf dieser Seite. Kein Zugriff auf die Gastmaschine über den Namen. Scheiße, oder?

 

Lösung

Wir öffnen Oracle VM VirtualBox Manager und passen die Netzwerkeinstellungen an. Man muss als Anschlusspunkt “Netzwerkbrücke” auswählen und das Gerät mit dem der Host (also die Windows-Maschine) ins Internet geht . Zu den anderen Einstellung und deren Bedeutung kann ich nichts sagen.

Einfach die richtigen Haken setzen. Kein "NAT" sondern "Netzwerkbrücke" - das ist der Kniff

Einfach die richtigen Haken setzen. Kein “NAT” sondern “Netzwerkbrücke” – das ist der Kniff

Ergebnis

ping ok

ping ok

Einstellungen für PuTTY

Einstellungen für PuTTY

SSH ok

SSH ok

Browser ok

Browser ok

Na, war doch gar nicht so schwer. Und wieder einmal geht ein Stück exklusives Herrschaftswissen von den Linux-Jüngern verloren. Man muss nicht das Kernel neu kompilieren, nicht mit vi und grep irgendwelche Zeilen filtern und auskommentieren und auch nicht bei Vollmond nackt im Garten auf einem Bein stehen.

Ein Haken im schmutzigen Windows setzen, fertig!

Windows erkennt Viren-Scanner nicht mehr

Viele werden das kleine, nervige Symbol in der “System Tray” unten rechts von Windows kennen, das uns davor warnen soll, dass wir (auf einmal) keinen Virenscanner (mehr) installiert haben.

Dann spuckt das Windows-Sicherheitscenter folgende Meldung aus:

Der Computer ist eventuell gefährdet. Ein Virenscanner ist nicht installiert.” So oder ähnlich.

Fast immer ist es ein Fehlalarm und häufig zu lesen ist dann der Ratschlag, den Virenscanner nochmal neu zu installieren. In der Regel verbleibt diese Meldung aber selbst nach einem Neustart. Dann kommen die Versager-Tipps: “Du hast einen Virus, poste mal HiJacks Log file ” oder deine “Registry ist im Eimer” oder das allseits beliebte “mit Linux wäre das nicht passiert

Also, was tut der genervte Windows-Nutzer? Er deaktiviert die Meldung oder geht seinem Lieblingsport nach: Windows-Neu-Installieren. Man hat ja sonst nicht zu tun.

Dabei ist diesem Problem sehr einfach zu begegnen.

Prüfen Sie in der Ereignisanzeige, ob folgende Fehlermeldung vorliegt: “Das Windows-Sicherheitscenter konnte keine Ereignisabfragen mit der WMI herstellen, um Antivirus- und Firewallprogramme von Drittanbietern zu überwachen.

Wenn das der Fall ist, gehen Sie folgendermaßen vor:

  1. Stoppen (nicht deaktivieren) Sie in der Dienste-Übersicht (Start->Einstellungen->Systemsteuerung->Verwaltung->Dienste) den Dienst “Windows-Verwaltungsinstrumentation” – Wer denkt sich nur immer solche Begriffe aus?
  2. Leeren (nicht löschen” Sie das Verzeichnis “c:\WINDOWS\system32\wbem\Repository\” komplett. Übrigens lässt sich dieses Verzeichnis erst leeren, wenn der Dienst in Punkt 1. gestoppt ist.
  3. Starten Sie den Dienst unter Punkt 1. wieder an
  4. Starten Sie Windows neu

Theoretisch (und meist auch praktisch) sollte Windows nach einem Neustart den unter Punkt 2. geleerten Order wieder neu befüllen und dabei auch den Virenscanner neu erkennen und wieder lieb haben.

Wenn nicht, melden Sie sich hier im Forum und wir gucken mal, wie ich helfen kann.

Das Windows-Sicherheitscenter konnte keine Ereignisabfragen mit der WMI herstellen, um Antivirus- und Firewallprogramme von Drittanbietern zu überwachen.