KategorieUncategorized

Lebensdauer von Flashdrives unter Debian/Raspbian/Openmediavault verbessern

Nachdem ich mittlerweile etliche Flashdrives, SSDS & SD-Karten in meinen PIs & Server verschlissen habe, dachte ich mir nun, dass es wohl Sinn macht, mich dem Thema mal etwas genauer anzunehmen.

Nach einigen Recherchen im Internet, gibt es grundsätzlich 2 verschiedene Ansätze. Zum einen den, das Haupt OS generell schreibgeschützt aufzusetzen, oder den, verschiedene Verzeichnisse nur in eine Ramdisk zu legen. Ich habe mich für den 2ten Weg entschieden. Und mein OpenMediaVault dementsprechenden gemoddet.

Ich setzte dabei das Paket fs2ram ein. Dieses ist ähnlich der fstab aufgebaut. Im Gegensatz zu einem normal tmpfs mount, können hier Struktur & Daten gesichert werden. Das Paket ist nicht im Standard Repository, und muss manuell geladen und installiert werden.

Für /tmp sollte der Eintrag in /etc/fstab wie folgt schon vorhanden sein, wenn nicht einfach einfügen zudem auch noch das “defaults,noatime” bei dem Root-Device einrichten:

/dev/mmcblk0p2  /               ext4    defaults,noatime  0       1
tmpfs          /tmp           tmpfs      defaults,noatime            0     0

Installation von fs2Ram auf allen Platformen (ARM, X32 & X64)

wget --no-check-certificate "https://miami.tschoerner.eu/deb/all/fs2ram_0.3.12_all.deb" -O fs2ram_0.3.12_all.deb
sudo dpkg -i fs2ram_0.3.12_all.deb

Dies ist meine fs2ram.conf von OpenMediaVault:

#
# In case you want to make /var/lock or /tmp available as ram
# filesystems, it is preferable to set the variables RAMTMP, RAMLOCK
# from /etc/default/tmpfs.
#
#<file system>  <mount point>   <script>                <script option> <type>  <options>
#tmpfs            /var/log        keep_file_content       -               tmpfs
#tmpfs            /var/cache      keep_file_content       -               tmpfs
#tmpfs            /var/tmp        keep_file_content       -               tmpfs
tmpfs            /var/log        keep_file_content       -               tmpfs
tmpfs            /var/cache      keep_file_content       -               tmpfs
tmpfs            /var/tmp        keep_file_content       -               tmpfs
tmpfs           /var/lib/openmediavault/rrd     keep_file_content       -               tmpfs
tmpfs           /var/spool                      keep_file_content       -               tmpfs
tmpfs           /var/lib/rrdcached/             keep_file_content       -               tmpfs
tmpfs           /var/lib/monit                  keep_file_content       -               tmpfs
tmpfs           /var/lib/php5                   keep_folder_structure   -               tmpfs

Nach den Änderungen sollte man das System einmal durchstarten.

Falls Ihr eine Disk im System als Root-Disk habt, könnt Ihr noch mit “hdparm” herumspielen.

#aktuelle Disk status
root@London:~# hdparm -C /dev/sdc

/dev/sdc:
 drive state is:  active/idle

#Disk schlafen schicken
root@London:~# hdparm -y /dev/sdc

/dev/sdc:
 issuing standby command

#status prüfen
root@London:~# hdparm -C /dev/sdc

/dev/sdc:
 drive state is:  standby

#Disk nach 5 Minuten automatisch herunterfahren
root@London:~# hdparm -S 60 /dev/sdc

Fighting the SPAM

Heute habe ich eine Benachrichtigung von einem meiner Server bekommen, dass mein “Warn” Threshold in der mailq erreicht wurde. Da ich so gut wie kein Mail Verkehr über meine Server leite, war ich etwas verwundert.

Ein Blick in die Mailq zeigt mir 500 “outstanding Mails”, der Absender war immer www-data. Was bedeutet das? Ein Skript auf meinem Server ist unsicher, oder ein Skript wurde eingeschleust um Mails zu senden.

Zunächst habe ich einmal die Queue komplett geleert:

 postsuper -d ALL

Anschließen habe ich etwas gewartet, bis wieder neue Mails in der Queue waren. Eine dieser Mails habe ich dann mit folgendem Befehl angeschaut:

 postcat -q BD63E29200F2

Hier konnte ich den Absender der Email identifizieren, und somit das Web des versendenden Benutzers überprüfen.

ffmpeg selber bauen unter Debian Wheezy

Um eine neue Version … die Neueste … von ffmpeg zu bauen, geht Ihr wie folgt vor.

apt-get update
apt-get build-dep ffmpeg
mkdir /root/ffmpeg
cd /root/ffmpeg
git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg/
./configure --enable-avresample && make && make install

Kaffee trinken und warten 😉

Ich arbeite im Moment noch einer ffmpeg Version, welche das Hardware Beschleunigte trans codieren mittel Intels Quick Sync Technology erlaubt…

OpenVPN und OpenMediaVault

Wenn Ihr OpenMediaVault im Einsatz habt und auch OpenVPN nutzt, werdet Ihr schnell auf das Problem stoßen, dass Euer Netzwerk nicht erreichbar ist. Abhilfe schaft das aktivieren der Paketweiterleitung und das Maskieren der Pakete:

/etc/sysctl.conf:
net.ipv4.ip_forward = 1

sysctl -p /etc/sysctl.conf

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

 

Thinkpad Fingerprint unter Ubuntu einrichten

Als fauler Mensch brauche ich unbedingt einen Fingerprintreader als Authentifizierungssystem 🙂

Bei meinem T60 & T61 war das eine Sache von 5 Minuten.

sudo add-apt-repository ppa:fingerprint/fingerprint-gui
sudo apt-get update
sudo apt-get install libbsapi policykit-1-fingerprint-gui fingerprint-gui

Danach einfach “Fingerprint-GUI” aufrufen und fertig ist man.

Weitere Infos zum Thema ThinkPad & Ubuntu findet Ihr hier.

Es ist passiert …

Heute ist es passiert, nach fast 7 Jahren iPhone nutzung und iOS 2. – iOS 8 habe ich meiner Frau einen Droiden gekauft. Ok, ich hab da noch so ein schrottiges 7″ Tablett mit Android 4.2, aber das ist ja nicht repräsentativ.

Zu meinem Bestand gehört jetzt ein Sony Xperia Z2 … mit Android 4.4. Demnächst werdet Ihr hier wohl auch einige Guides zur Nutzung von Android finden 😉

Spotify auf Ubuntu

Ja es geht, Spotify ohne wine auf Ubuntu.

1. Füge diese Zeile zu Deiner Liste der Repositorys hinzu,

nano /etc/apt/sources.list
deb http://repository.spotify.com stable non-free

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 94558F59

sudo apt-get update

sudo apt-get install spotify-client

Das wars, jetzt sollte es so aussehen …

Bildschirmfoto vom 2014-10-24 12:00:14

Welchen Proxy benutze ich?

Oft habe ich mit die Frage gestellt, wie man herausfindet, welchen Proxy man aktuell benutzt. Warum ich es nicht weiß fragt Ihr Euch?

Stellt man sich vor, dass man in einem Unternehmensnetzwerk eingeloggt ist, gerne aber eine Applikation nutzen möchte, bei der ein Proxy manuell konfiguriert werden muss. Unter Windows kann man einfach dieses Befehl ausführen un man sieht alle aufgebauten Verbindungen.

netstat -an | find "EST"

Jetzt hält man einfach ausschau nach den typischen Verdächtigen, also Verbindungen auf Port 80, 3128, 8118, 8080. Hat man die IP identifiziert, kann man diese einfach in jedem weiteren Tool eintagen.

OpenVZ und Debian Wheezy

Heute möchte ich Euch keine kurze Einleitung geben, wie Ihr Euch zu Hausen einen eigenen OpenVZ Server einrichtet.

Falls Ihr Euch noch nicht mit OpenVZ auseinander gesetzt habe, habe ich Euch mal den Wikipedia Artikel verlinkt.

Als erstes muss man das Repository in der sources.list eintragen. Hierzu einfach folgenden Befehl als root ausführen.

cat << EOF > /etc/apt/sources.list.d/openvz-rhel6.list
deb http://download.openvz.org/debian wheezy main
# deb http://download.openvz.org/debian wheezy-test main
EOF

Um auch Pakete aus dem Repository installien können müssen wir noch den GPG-Key installieren.

wget http://ftp.openvz.org/debian/archive.key
apt-key add archive.key

Als nächstes machen wir ein Update der Paketlisten:

apt-get update

Nachdem jetzt alle Vorbedingen erfüllt sind gehts an die eigentliche Installation. Zunächst müssen wir bestimmen ober wir ein 32bit oder 64bit System als Host haben. Abhängig davon müssen wir den OpenVZ Kernel für 32 oder 64 bit installieren. Mit dem folgenden Befehl könnt Ihr den notwendigen Kernel bestimmen.

apt-cache search linux-image-openvz

Der Befehlt lieferte auf meinem System das 64bit Paket zurück.

apt-get install linux-image-openvz-amd64 vzctl vzquota vzdump

Alle abhängigen Pakete müssen natürlich mitinstalliert werden 😉

Um muss das Dateisystem noch eingebunden werden:

ln -s /var/lib/vz /vz

Jetzt nehmen wir noch einige systemspezifische Änderungen vor und fügen folgenden Code in die /etc/sysctl.conf ein

net.ipv4.conf.all.rp_filter=1
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.conf.default.forwarding=1
net.ipv4.conf.default.proxy_arp = 0
net.ipv4.ip_forward=1
kernel.sysrq = 1
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.eth0.proxy_arp=1

Jetzt geschwindt noch die Einstellungen anwenden:

sysctl -p

Um standardmäßig den notwendigen OpenVZ Kernel  zu booten, muss der Grub Bootloader noch angepasst werden:

nano /etc/default/grub

In der Konfigurationsdatei dann einfach den Defaultwert auf 2 setzen. Warum? das Ihr noch 2 Einträge davor habt und Grub bei 0 anfängt zu zählen.

...
GRUB_DEFAULT=2
...

Grub kann nun geupdated werden und der original Kernel deinstalliert.

update-grub
apt-get remove linux-image-amd64 linux-image-3.2.0-4-amd64
update-grub

Nach dem Neustart könnt Ihr nun Prüfen ob der richtige Kernel gebootet wurde.

uname -r

Wenn alles OK war, geht es mit dem OpenVZ Web Panel (OWP) weiter:

Es gibt eine automatische Installationsroutine für das OWP, welche durch den folgenden Befehl runtergeladen und direkt ausgeführt wird.

wget -O - http://ovz-web-panel.googlecode.com/svn/installer/ai.sh | sh

Wenn Ihr jetzt einen Fehler bezüglich ruby Version 1.9 bekommt führ bitte folgende Befehle aus:

apt-get install ruby1.8 ruby-switch
ruby-switch --set ruby1.8

Jetzt wiederholt bitte der Schritt zur Installation des OWP.

Euer OpenVZ Server ist nun fertig installiert 😉 Öffnet das Web Panel und ändert butte den Login.

http://<serverip>:3000/