Sonntag, 28. Dezember 2014

Kontrollstruktur in Python: FOR

Eine weitere Kontrollstruktur ist die FOR-Schleife.
Sie führt wiederkehrende Operationen durch bis eine bestimmte
Bedingung erfüllt wird.
Einfaches Beispiel:

    #!/usr/bin/env python
    # -*- conding: utf-8 -*-
   
    for i in range(1, 10):
     print i
    else:
     print "Gezaehlt bis: ", i



Diese Schleife zählt von 1 bis 9 hoch,
und gibt den Wert auf der Konsole aus.
Ist die Schleife durchgelaufen wird die else  Anweisung
ausgeführt, in diesem Fall geschrieben wie hoch die
Schleife gezählt hat.
die Ausgabe sieht dann so aus:

andre@ubuntu1404:/daten/python$ ./test3.py
1
2
3
4
5
6
7
8
9
Gezaehlt bis:  9
andre@ubuntu1404:/daten/python$



 Es ist zu beachten das die letzte Zahl nicht mit eingeschlossen ist,
also wir haben 10 angegeben, hochgezählt wird bis 9 !

Blick zurück auf 2014

Das Jahr 2014 neigt sich dem Ende,
und ich möchte einen kurzen Blick zurück wagen.
Einiges hat sich getan.
Nach Jahren der Debian Nutzung bin ich (wieder) auf Ubuntu umgestiegen.
Ohne es bereut zu haben.
Dazu habe ich mich entschieden die Programmiersprache Python zu lernen.
Die Server bei meinem Arbeitgeber habe ich auch auf Ubuntu Server umgestellt.
Ein kleiner Server im Wohnzimmer dient mir seit diesem Jahr auch als Jabber und eMail Server. Nun auch unter Ubuntu.
Viele nette Leute habe ich durch Blogs und Diaspora kennengelernt.

Auf diesem Wege möchte ich auch den ganzen netten Leuten danken,
die mir imme wieder geholfen haben die Probleme zu lösen, egal ob in Blogs, in Wikis, per Diaspora oder dem Ubuntuusers Forum.

Danke 2014

Freitag, 19. Dezember 2014

Kontrollstruktur in Python: WHILE

Die While Schleife wird solange durchlaufen,
bis der Wert auf False gesetzt wird.
Beispiel:

    #!/usr/bin/env python
    # -*- conding: utf-8 -*-
    print "Bitte gebe deinen Namen ein";
    richtig = True;
    testname = "Andre";
    while richtig:
     meinname = raw_input();
     if meinname==testname:
      print "Hallo Andre"
      richtig = False;
    else:
      print "Dich kenn ich nicht, dein Name nochmal:"  
    print "Ende";

Als erstes wird die Variable "richtig" auf den Wert wahr gesetzt.
Danach wird die Variable "testname" mit dem String "Andre" bestückt.
Die While Schleife startet und läuft so lange wie der Vergleich
meinname mit testname wahr ist.
Anschliessend kommt eine if-Abfrage. Ist der
eingegebene Name = "Andre" wird die Variable "richtig" auf falsch
gesetzt, womit die Schleife abbricht.

Sonntag, 14. Dezember 2014

Kontrollstrukturen in Python: IF

Eine einfache Kontrollstruktur in Python ist die IF-Abfrage.
Hier wird ein Wert verglichen, und wenn das Erebnis
wahr ist, wird ein Anweisungsblock ausgeführt.
Andernfalls wird ein alternativer Anweisunsblock definiert.

    if zahl ==1:
      print "Zahl ist 1"
    else:
      print "Zahl ist nicht 1"

Hier wird geschaut ob die Zahl 1 ist, dann wird der Block ausgeführt,
andernfalls der zweite Block.

Man kann mit IF noch weitere Werte vergleichen lassen:

    if zahl ==1:
      print"zahl ist 1"
    elif zahl ==2:
      print"Zahl ist 2"
    elif zahl == 3:
      print"Zahl ist 3"
    else:
      print"Zahl ist eine andere als 1,2 oder3"

Hier werden 3 Vergleiche durchgeführt, und erst dann der alternative Anweisungsblock.

Als Programm könnte das dann so aussehen:

    #!/usr/bin/env python
    # -*- conding: utf-8 -*-
    print "Bitte gebe deinen Namen ein";
    meinname = raw_input();
    print "Hallo", meinname;
    print "Welches Jahr haben wir grade?";
    aktuellesjahr = int(input());
    print "Und wann bist du geboren?";
    geburtsjahr = int(input());
    alter = aktuellesjahr-geburtsjahr;
    print "Dann bist du jetzt ",alter," Jahre alt";
    if  alter == 38:
      print"Genau so alt wie ich";
    elif alter > 50:
      print"Boa bist du alt";
    else:
      print"Naja geht ja noch";

Dienstag, 9. Dezember 2014

Radicale Kalender auf Ubuntu Server

Da ich einen eigenen Kalenderdienst nutzen möchte,
den ich auch auf dem eigenen Server betreibe habe ich
mich für Radicale entschieden. Davical benötigt ein Apache2 was
für meinen kleinen Ubuntu-Server (hier noch Version 11.10)
zu umfangreich währe.

Die Installation ist mit der Komandozeile schnell erledigt:

apt-get install radicale

Nun habe ich folgende Werte in der Config Datei

/etc/radicale/config

angepasst:

port = 5232
type = htpasswd
personal = true
filename = /etc/radicale/users
encryption = sha1
folder = /var/lib/radicale/collections


Kurz zur Erklärung:

port=5232 setzt den TCP Port auf den entsprechenden Wert, kann auch geändert werden je nach Bedarf. Wichtig: Auch im Router musste ich eine Portweiterleitung dafür einrichten.

type = htpasswd beschreibt in welchem Format die Kennwortdatei vorliegt.

personal=true bedeutet das private Kalender nur mit Kennwort erreichbar sind.

filename = /etc/radicale/users hier wird die Kennwortdatei gesucht.

encryption = sha1 Beschreibt die Verschlüsselungsvariante für die Kennwortdatei

folder = /var/lib/radicale/collections hier ist der Pfad zu den Kalendern hinterlegt. Ich habe mir für diesen Entschieden weil er kompatibel mit älteren Radicale Versionen ist.


Einbindung in anderen Programmen (hier Lightning):

Man  wählt als Kalenderformat caldav aus, und übergibt dann
folgenden Pfad zu dem Kalender:

http://serverip:5232/benutzername/kalendername.ics

Anschliessend gibt es im Verzeichnis
/var/lib/radicale/collections

ein Verzeichnis mit dem Namen "benutzername" und dem Kalender "kalendername.ics".

 Gestartet wird der Kalender mit:

radicale -f  

oder

radicale -d

Ersteres startet den Kalender im Vordergrund, der zweite Befehl als Dämon Prozess.



Anleitung ist für Ubuntu Server 11.10



Freitag, 5. Dezember 2014

Erste Schritte in Pyhton

Seit langem auf dem Wuschzettel,
jetzt gehe ich es mal so langam an.
Die Programmiersprache Python.

So mit als erstes kommmt natürlich ein "Hallo Welt", das sieht bei
mir in Python nun so aus:

    #!/usr/bin/env python
    # -*- conding: utf-8 -*-
    print("Hallo Welt")


Ganz einfach und Schnörkellos.

Bearbeitet habe ich es mit dem Texteditor joe,
aufruf z.b.:
joe helloworld.py

und ausführbar gemacht mit:
chmod +x helloworld.py

Wenn wir  nun eine Variable einlesen wollen,
z.b. ein Namen nutzen wir dafür raw_input.
In diesem Beispiel wird der Variable "meinname"
mittels raw_input ein Wert zugewiesen,
und dieses dann mit dem Wort "Hallo" zusammen in
der print Anweisung ausgegeben.


    #!/usr/bin/env python
    # -*- conding: utf-8 -*-
    print "Bitte gebe deinen Namen ein";
    meinname = raw_input();
    print "Hallo", meinname;


Eine Zahlenvariable wird mit int(input()) eingelesen.
Als Beispiel dieses kleine Programm.
Es fragt nach dem Namen, liesst dann das aktuelle Datum
und das Geburtsdatum mittels int(input()) ein und weisst
es als Integer Wert der Variable zu. Anschliessend wird das
aktuelle Datum vom Geburtsdatum subtrahiert und das
Ergebnis ausgegeben.

    #!/usr/bin/env python
    # -*- conding: utf-8 -*-
    print "Bitte gebe deinen Namen ein";
    meinname = raw_input();
    print "Hallo", meinname;
    print "Welches Jahr haben wir grade?";
    aktuellesjahr = int(input());
    print "Und wann bist du geboren?";
    geburtsjahr = int(input());
    alter = aktuellesjahr-geburtsjahr;
    print "Dann bist du jetzt ",alter," Jahre alt";


Diese grundlegenden Programme (bisher ohne Kontrollstrukturen)
habe ich aus gewohnheit immer mit einem ; abgschlossen.
bei den input Befehlen hätte man gleich auch noch einen Text mit ausgeben
können, das habe ich für eine bessere Übersichtlichkeit erstmal weggelassen.


Aktuelle php.ini herausfinden

Um unter Ubuntu 14.04 mal schnell die aktuell benutze
php.ini Datei heraus zu finden kann man folgenden Befehle benutzen:

    sudo php -i | grep 'Configuration File'

Dann bekommt man als Ergebnis:

    Configuration File (php.ini) Path => /etc/php5/cli
    Loaded Configuration File => /etc/php5/cli/php.ini


Womit der Speicherort der Datei ersichtlich ist.

Um den Webserver nach Änderungen neu zu starten benutzt man:

    sudo service apache2 restart






Montag, 24. November 2014

Apache Zugriff auf das lokale Netz begrenzen


Schnelle Lösung um den Zugriff auf dem Webserver aus dem Internet
zu verbieten, lokale IP-Adressen haben weiterhin Zugriff auf
die Webseiten. Folgende Zeilen habe ich in die .htaccess Datei
des Apache Webservers abgelegt:

 order deny,allow
allow from 10.10.10.10
allow from 10.10.10.11
deny from all
Satisfy Any
AuthName "Please login"
AuthType Basic
AuthUserFile /var/passwordfile
Require user username


Diese Lösung bietet Zugriff für die IP Adressen ..10 und ..11, andere IP Adressen benötigen das Kennwort. Grade in kleinen Umgebungen mit festen IP Adressen
sicher eine brauchbare Lösung.

Sonntag, 23. November 2014

Partimage mit Sicherungen grösser 2GB


Beim Backup und Restore mit Partimage kann es
Probleme mit grossen Partitionen geben.
Bei der Datensicherung habe ich mich für die Kompression
entschieden um Platz zu sparen. Aber bei
der Wiederherstellung kam eine Fehlermeldung.

Nach Rücksprache mit den Entwicklern fand ich folgende Lösung:
Bei der Datensicherung darf man keine Kompression auswählen, da das
Programm damit bei über 2GB Probleme hat.
Wenn man eine komprimierte Sicherung hat, sollte man die Datei vorher
per Hand mit gzip oder bzip2 dekomprimieren und die daraus entstandene
Datei mittels Partimage zurücklesen.

USB-Stick ersetzt die DVD/CD


Langsam aber sicher ersetzt der USB Stick die DVD Laufwerke. Ich habe mich lange dagegen gewehrt, aber nun setzte ich auch selbst mit Ubuntu fast nur noch auf den USB-Stick.
Es ist ja auch sehr einfach. Per dd kopiert man die Iso Datei auf den Stick.
Fertig. Halbwegs aktuelle Computer können davon sofort starten.
Auch das Rettungssystem (Sysrescue CD) kann man schon problemlos auf
USB Stick kopieren.
Beispiel für das Kopieren:

dd if=/daten/ubuntu.iso of=/dev/sdb

Hier gehen wir davon aus, das sich die Iso Datei unter /daten befindet,
und der USB Stick auf /dev/sdb
Wenn man sich nicht sicher ist, dann sollte man nach dem Einstecken des Sticks
einfach mit "mount" nachsehen, welche Adresse der Stick hat.

 /*Links*/
http://www.sysresccd.org/Download
http://cdimage.ubuntu.com/

Mittwoch, 19. November 2014

Projekt und Arbeitszeit Verwaltung Bedaplan

Projekthomepage:

www.nitschke-marl.de/bedaplan.html

Quellcode bei Github:

https://github.com/SenftGmbH/bedaplan2








Bedaplan ist eine Projektverwaltung um Arbeitszeit und Projektzeit von Mitarbeiitern zu erfassen, und den Mitarbeitern die Projektinformationen Mobil zur Verfügung zu stellen.
Die Projektzeit kann nach Mitarbeiter oder Projektnummer ausgewertet werden.

Freitag, 14. November 2014

Firmenserver läuft seit 100 Tagen







Der von mir betreute Firmenserver läuft nun auf Basis von Ubuntu 14.04 über 100 Tage. Er stellt folgende Dienste bereit:
- Mailserver (Postfix/Dovecot/fetchmail)
- Datenbankserver (Mysql)
- Kalenderserver (davical)
- Dateiserver (samba)
- Intranetserver (apache)

Mittwoch, 12. November 2014

Tastatur und Maus nach Aufklappen ohne Funktion


Lange habe ich den Fehler gesucht. Bei meinem
Toshiba C50D-A-133 war sporadisch Maus und Tastatur
nach dem Aufklappen ohne Funktion.
Nun übergebe ich dem Kernel folgende Parameter:

acpi_backlight=vendor atkbd.reset=1 i8042.nomux=1 i8042.reset=1

damit scheint es zu klappen.

Donnerstag, 6. November 2014

eMail Zustellproblem bei einigen Domains


Auf dem Postfix mailserver habe ich das Problem, das Mails nicht
zu allen Domains zugestellt werden.
Als Beispiel wurde an web.de nicht zugestellt, an gmx.de verlief
es ohne Probleme.
Als Fehler stellte sich ein Exchange Mailserver in der Zustellkette heraus.
Er hat Probleme die korrekte Mime Version zu erkennen.

Folgender Eintrag in der main.cf löst das Problem:

smtp_discard_ehlo_keywords = 8bitmime 
smtpd_discard_ehlo_keywords = 8bitmime

Sicherungsskript mit Archivfunktion


Hier ein kleines Backupscript.
Es erstellt im Zielverzeichnis jeweils ein Unterverzeichnis mit dem Tagesdatum
und kopiert alle Daten hier hinein.
Nach dem festgelegten Wert x (x=4 für 4 Tage) werden Backups die älter sind gelöscht.
So kann man immer noch auf ein älteres Archive zurückgreifen.
Das Script sieht so aus:

     #!/bin/sh
     SAVE=echo
    DATE=”`date +%Y%m%d`”
    SOURCE=”/quellverzeichnis”
    DEST=”/zielverzeichnis”
    DESTDATE=”${DEST}/${DATE}”
    eval ${SAVE} mkdir -p ${DESTDATE}
    eval ${SAVE} cp -af ${SOURCE} ${DESTDATE}
    X=6
    eval ${SAVE} cd ${DEST} && ${SAVE} rm -rf $(`which ls` | sort | head -n -${X})


Das Script von der Shell aufrufen, wenn alles läuft das “echo” entfernen so das nur noch SAVE= dort steht.

Mittwoch, 5. November 2014

Google Friend Connect funktiniert jetzt


GFC Funktioniert jetzt. Ihr könnt meinem Blog nun folgen!
Ich hoffe viele Leute finden nützliche Tipps rund um Ubuntu auf
meinem Blog.

Dienstag, 28. Oktober 2014

Reset USB Bus beim Deckel öffnen


Da ich sporadisch bei meinem Notebook Toshiba C50D-A133 immer wieder Probleme mit
der Maus und Tastatur hatte, war meine Idee, den USB Bus beim aufklappen des Notebooks zu resetten.
Ich habe dazu folgende Lösung gefunden:
Ich habe die Datei:
/etc/acpi/events/lm_lid

mit folgenden Inhalt erstellt:

event=button/lid.*
action=/etc/acpi/lid.sh


und folgende Datei:
/etc/acpi/lid.sh

Mit:

#!/bin/sh
grep -q open /proc/acpi/button/lid/*/state
if [ $? = 0 ]; then
/etc/init.d/udev restart
fi

Donnerstag, 23. Oktober 2014

Ubuntu 14.10 fast fertig


Auf dem Server
cdimage.ubuntu.com

wurde die Beta Version entfernt.
Die Images für den Server kann man schon herunterladen,
hoffe der Rest folgt bald.

Mittwoch, 22. Oktober 2014

Automatisches drucken einer eMail und Anhang nach Empfang


Mit dieser Anleitung kann man eMails nach Empfang automatisch ausdrucken lassen, angehängte PDF Dateien werden auch mit ausgedruckt.

Als erstes habe ich Ubuntu 12.04 mit Thunderbird installiert. Als Plugins für Thunderbird benötigt man:
attachmentextractor
filtaquilla
Damit kann man bei ankommenden eMails die Anhänge automatisch in ein Verzeichnis speichern,
und die eMails automatisch ausdrucken lassen, sowie auf gelesen setzten.
Ein Script auf dem Rechner sorgt dann dafür das regelmässig alle PDF Dateien aus dem Verzeichnis gedruckt werden.

#!/bin/sh
echo "Warte auf Druckauftrag..."
while true
do
sleep 10
 for druck in `ls /home/andre/printme/*[PpDdFf]`;
  do echo die datei ist $druck;
  lpr $druck;
  rm $druck; 
 done
done


 
 
 
 
 

 

Donnerstag, 16. Oktober 2014

eMail verschicken nach einloggen per ssh


Sehr sicher, wenn man mittels des kurzen Scriptes direkt nach dem einloggen
per SSH die IP Adresse sich an eine private eMail Adresse schicken lässt.
Selbst wenn jemand den Zugang aufbrechen würde, die eMail ist so schnell verschickt das man diese nicht stoppen kann.

echo 'Login on' `hostname` `date` `who` | mail -s "Login on `hostname` `who | awk '{print $5}'`" my@email.org

Ich habe es in die .bashrc Datei angehängt.

Benutzung von ejabberd


Datensicherung bei Jabber macht man wie folgt:
ejabberdctl backup Datei

oder
ejabberdctl dump Datei

Wobei backup ein normales Backup anlegt während dump mehr ein komplettes Abspeichern  der Datenbank ist. Backup sollte normalerweise reichen.

Zum Wiederherstellen nimmt man analog dazu restore, bzw load (wenn man dump genutzt hat):
ejabberdctl restore Datei 

Mit folgenden Befehl kann man sich anzeigen lasse, wie viele Benutzer aktuell angemeldet sind:
ejabberdctl connected-users-number

Und wenn man die Benutzernamen erfahren möchte nimmt man:
ejabberdctl connected-users

Und für eine Übersich aller angemeldeten Benutzer (in neueren Versionen):
ejabberdctl registered-users Servername

Einrichten von ejabberd unter Ubuntu


Ein kleines HowTo wie man einen Jabber (XMPP) Server unter Debian 6 einrichtet
Als erstes habe ich mittels aptitude das ejabberd Paket installiert:
aptitude install ejabberd

Anschliessend habe ich die Datei

/etc/ejabberd/ejabberd.conf


Mit einem Texteditor bearbeitet.
Hier habe ich folgende Änderungen eingefügt:

{hosts, [”domain”]}.
{acl, admin, {user, “adminuser”, “domain”}}.


Bei domain habe ich die IP-Adresse des Servers eingetragen, unter der
er auch von aussen erreichbar ist (er steht hinter einem Router).
Die lokale  IP Adresse hat hier nicht funktioniert.
Der Benutzername adminuser ist frei wählbar.
Anschliessend ein Neustart mit:

/etc/init.d/ejabberd restart


Nun habe ich die Benutzer angelegt nach diesem Schema:

ejabberdctl register nutzername domain kennwort

Hier trägt man den gewünschen Nutzername, die Domain (oder wie bei mir IP Adresse) und das Kennwort für den Benutzer ein.
Wichtig: Den Admin Nutzer muss man so auch anlegen !!

Anschliessend startet man den Jabber-Server nochmal neu und alles funktioniert.

Im Router musste ich für die korrekte Funktion eine Portweiterleitung auf 5222 sowie 5223 einrichten.

eMail nach Header-Analyse weiterleiten


Um eMails vor dem Empfang aber auch vor dem Empfang umzuleiten kann man
den Header nach Schlüsselwörtern durchsuchen und danach dann eine Regel
abarbeiten lassen. Die Schlüsselwörter können auch eMail Adressen oder Teile davon  sein, so das diese Methode auch zum Abfangen oder als Urlaubsvertretung brauchbar ist.

Die main.cf habe ich um folgende Zeile erganzt:

header_checks = regexp:/etc/postfix/header_checks

In der Datei header_checks kann ich nun nach Ausdrücken suchen lassen,
und dafür eine Weiterleitungsregel hinterlegen.:

/^(To|From|Cc|Reply-To):.*DASISTDASSUCHWORT*/ REDIRECT andre@nitschke-marl.de

Diese Zeile sucht in dem Empfänger oder Absender-Feld das Suchwort und leitet bei Bedarf  an die hinterlegte Adresse weiter.

Slideshow auf der Shell


Bilder Slideshow auf der Shell

Auf einem Server wollte ich nebenbei noch eine Slideshow mit Bildern laufen lassen. Da der Server keine grafische Oberfläche hat musste ich hier über ein Framebuffer-Tool gehen.
Als Programm habe ich “fbi” installiert:

aptitude install fbi 

Das Programm ist in den offiziellen Debian Quellen enthalten. Anschliessend musste ich, damit der Server überhaut ein Framebuffer unter /device anzeigt ( /dev/fb0 ) folgenden Parameter an den Kernel übergeben:

vga=791


Das ergbit 16 Bit Farbtiefe bei 1024×768 Pixel.

fbi -d /dev/fb0 -t 7 -u /daten/bilder/*.JPG


Lasse ich alle Bilder aus dem Verzeichnis /daten/Bilder jeweils 7 Sekunden auf dem Device /dev/fb0 anzeigen.

Mit -d währe ich das Device aus, -t erwartet die Zeit in Sekunden und -u die Bilder.
Damit das Script immer durchläuft habe ich es in zwei Shell-Scripte zerlegt:

#!/bin/sh
while true
do
fbi -d /dev/fb0 -t 7 -u /daten/bilder/*.jpg
done


#!/bin/sh
while true
do
sleep 30
killall fbi
done


Das erste Script sorgt dafür, das immer wieder das Tool fbi gestartet wird. Durch das zweite Script wird alle 5 Minuten das Tool beendet und dann erneut gestaret, so das geänderte Bilder neu eingelesen werden.

Freitag, 10. Oktober 2014

Ubuntu und der Festplatten-Fehler


Das aktuelle Ubuntu 14.04 hat immer noch den Notebook Festplattenfehler.

Mit folgendem Befehl kann man das herausfinden (smartmontools müssen installiert sein):

smartctl -A /dev/sdX | grep -E "(Load_Cycle_Count|ID)" 

Der Wert "Load Cycle Count" erhöht sich sehr schnell alle paar Sekunden.
Die Festplatte parkt im kuzen Abständen die Köpfe und weckt sie sofort wieder auf. Der Trick der auf Debian funktionierte klappt unter Ubuntu nicht mehr.
Hier habe ich ein kleines Script, das ich laufen lasse:

#!/bin/bash
while :
do
sleep 10
/usr/sbin/smartctl -g apm /dev/sda > /dev/null
done 

Ich habe diese Zeile in die rc.local hinzugefügt:

/bin/myfix &

Das Skript ruft alle 10 Sekunden den Befehl smartctl auf, und das verhindert
die Parkfunktion.

Bildschirmabschalten auf dem Terminal verhindern


Um das Abschalten des Bildschirmes bei einem Server ohne grafische Oberfläche zu verhindern,  kann man einfach:

setterm -blank 0

aufrufen.

Dieses in die rc.local dann passiert es nach dem nächsten Neustart auch nicht mehr.

Bash Lücke beheben


Eine schnelle Fehlerbehebung für die Bash Sicherheitslücke unter Ubuntu:

apt-get update
apt-get install --upgrade-only bash

Damit wird die aktuelle Bash unter Ubuntu 14.04 installiert.

Freitag, 29. August 2014

Dateisystem mit partclone sichern


Zum Sichern von ext4 Dateisystemen nehme ich partclone. Das kann im Gegensatz zu partimage auch mit dem neuen ext4 Dateisystem umgehen und erzeugt auch kleine Dateien, verschwendet also nicht so viel Platz wie dd.

Eine Sicherung erzeugt man wie folgt:

partclone -c -s /dev/sda1 -o /backup/file.pcl

Und zurücklesen:

partclone -r -s /backup/file.pcl -o /dev/sda1

Die Parameter:

-c Create, also Datensicherung erstellen
-r Restore, also zurücklesen
-s Source, die Quelle wo die Daten herkommen
-o Output das Ziel wo die Daten hingeschrieben werden

Erstellungsdatum eines Dateisystems


Um herauszufinden, wann ein Dateisystem erstellt wurde, und ggf. die Linux Version installiert, kann man dumpe2fs nehmen.
Mit dem Parameter -h verrät es sehr viel über das Dateisystem.

dump2fs -h /dev/sda1

Funktioniert allerdings nur auf Dateisystemen der ext Familie.

Auflösung bei Onboard SIS Grafik


Da bei meinem Monitor der DDC Port defekt ist
(DDC heisst Display Data Channel, der überträgt Informationen über den Monitor), musste ich die Auflösung per Hand einstellen.
Die xorg.conf dafür sieht wie folgt aus: (Ubuntu 10.04)

Section “Device”
Identifier “Silicon Integrated Systems (SiS) 65x/M650/740 PCI/AGP VGA Display Adapter”
Driver “sis”
BusID “PCI:1:0:0”
EndSection


Section “Monitor”
Identifier “Plug and play”
Option “DPMS”
HorizSync 30-69
VertRefresh 50-120
EndSection

Section “Screen”
Identifier “Default Screen”
Device “Silicon Integrated Systems (SiS) 65x/M650/740 PCI/AGP VGA Display Adapter”
Monitor “Plug and play”
DefaultDepth 24
SubSection “Display”
Depth 24
Modes “1280×1024” “1024×768” “800×600” “720×400” “640×480”
EndSubSection
EndSection

Section “ServerLayout”
Identifier “Default Layout”
Screen “Default Screen”
EndSection


Section “DRI”
Mode 0666
EndSection

Mittwoch, 13. August 2014

Neuer Blog mit Schwerpunkt auf Ubuntu


Die meisten Rechner habe ich jetzt erfolgreich umgestellt.
Im privaten Bereich habe ich jetzt sowohl Ubuntu 14.04, als auch 10.04 im Einsatz,  im beruflichen Umfeld 14.04 und 12.04 auf dem Desktop und 14.04 auf dem Server.