Archiv des Autors: admin

Textdateien und Ordner mit grep durchsuchen

In diesem Artikel möchte ich dir zeigen wie man Dateien durchsuchen kann. Diese Technik ist bei großen Logfiles sehr hilfreichen, aber auch wenn man viele Dateien durchsuchen möchte. Wenn du nur eine recht kleine Textdatei durchsuchen möchtest, dann kannst du auch einfach einen grafischen Texteditor nutzen z.B. „gedit“.

Nun legen wir los mit grep!

Weiterlesen

DVD mit Menüs erstellen und brennen

In diesem Artikel möchte ich dir erklären, wie man eine DVD mit Menüs erstellt, daraus eine ISO „baut“ und anschließend brennt.

Als erstes brauchst du das Programm „DeVeDe“, wir installieren es mit:

apt-get install devede

Nachdem das Programm installiert ist starten wir es, dazu gehen wir auf „Anwendung -> Unterhaltungsmedien -> DeVeDe“ (Der Pfad kann abweichen), alternativ kannst du auch einfach „ALT + F2“ drücken und dann „devede“ in das auf gehende Fenster eintippen.

Egal welchen Weg du gegangen bist es sollte bei dir jetzt so ein Fenster erscheinen (Stand 20.12.08, in neueren Versionen kann es anders aussehen):

Weiterlesen

Festplatte ins ext3-Format formatieren

Um eine Festplatte ins ext.3-Format zu formatieren bedarf es nicht vieler Handgriffe!

Es werden für alle Aktionen Root-Rechte benötigt!

Wir müssen nur wissen welche Festplatte wir formatieren wollen, das kriegen wir mit fdisk -l herraus (Rootrechte sind Voraussetzung):

root@ubuntu:/home/ubuntu# fdisk -l

Platte /dev/sda: 250.0 GByte, 250059350016 Byte
255 Köpfe, 63 Sektoren/Spuren, 30401 Zylinder
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes
Disk identifier: 0x0001b842

Gerät boot. Anfang Ende Blöcke Id System
/dev/sda1 1 24352 195607408+ 83 Linux
/dev/sda2 29472 30401 7470225 5 Erweiterte
/dev/sda3 * 24353 29471 41118367+ 83 Linux
/dev/sda5 29472 29696 1807249+ 82 Linux Swap / Solaris

Partitionstabelleneinträge sind nicht in Platten-Reihenfolge

Platte /dev/sdb: 1000.2 GByte, 1000204886016 Byte
255 Köpfe, 63 Sektoren/Spuren, 121601 Zylinder
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes
Disk identifier: 0x00000000

Festplatte /dev/sdb enthält keine gültige Partitionstabelle

Platte /dev/sdc: 500.1 GByte, 500107862016 Byte
255 Köpfe, 63 Sektoren/Spuren, 60801 Zylinder
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes
Disk identifier: 0xe8050000

Festplatte /dev/sdc enthält keine gültige Partitionstabelle

Ich möchte hier die 1000 Gigabyte Festplatte formatieren. Sie ist im System als sdb registriert.

Weiterlesen

Warning: Cannot modify header information – headers already sent by

Dies ist eine oft vorkommender Fehler bei PHP-Anfängern. Er kommt häufig vor wenn man Cookies setzen möchte, oder Header Information mit header(); manipulieren möchte.

Fehlermeldung:
Warning: Cannot modify header information - headers already sent by

Erklärung der Fehlermeldung:
Wenn ein Server eine Anfrage via HTTP gestellt bekommt, und der Server sieht es ist eine PHP-Datei die der User verlangt, dann fordert er PHP auf eine „HTML“-Seite zu generieren die er an den Benutzer wieder über HTTP zurücksenden kann. Der Header, also die Antwort des Webservers, kann von PHP vorher manipuliert werden, z.B. um eine Umleitung zu erzeugen header(„location:http://www.meinubuntu.de“);, oder um eben einen Cookie zu setzen, ABER wenn auch nur ein Zeichen vorher von PHP ausgegeben wurde funktioniert das schon nicht mehr, weil der Header dann schon an den Benutzer zurück gesendet wird, und PHP ihn dann logischerweise nicht mehr manipulieren kann.

Lösung:
Du musst sicherstellen das vor einer Headermanipulation header();, oder setcookie(); keine Textausgaben stattfinden, weder Zeilenumbrüche noch Sonstige Ausgaben.

Weiterlesen

Alias anlegen – Arbeiten auf der Konsole beschleunigen

Eine einfach Methode um das Arbeiten auf der Konsole zu verschnellern ist das Anlegen von sogenannten „Alias“. Alias bedeutet: Ersatzname, Pseudonym, Nickname (Quelle: Wiktionary). Wir wollen also einen Ersatznamen erstellen, ein einfaches eher sinnloses Beispiel:
alias test='df'

Dieser Befehl bewirkt, dass wenn man nun „test“ in die Konsole eingibt Linux den Befehl „df“ aufruft. Er ist sinnlos weil df kürzer ist als test.
Update:
In den Kommentaren wurde angemerkt, dass test neben dem erhöten Tippaufwand, auch noch belegt ist, also doppelt sinnfrei. Das zeigt aber sehr schön, dass man auf passen sollte, sonst wundert man sich irgendwann wieso bei der Eingabe eines Befehls ein anderer ausgeführt wird 😉

Nun ein sinnvolles Beispiel:
alias ll='ls -la'

Wie ihr an dem Beispiel sehen könnt kann alias auch Optionen mit übernehmen. An diesem Beispiel sieht man jetzt auch wie sinnvoll es ist Alias zu setzen. Jeder erfahrene Sysadmin weiß wie oft man „ls -la“ eingeben muss das ist nervig, weil das „-“ den Schreibfluss stört. Durch den Alias kann man auf den „Buchstaben-Tasten“ bleiben und es geht schneller!

Schneller suchen mit locate

In diesem Artikel über find habe ich bereits eine Art zu suchen vorgestellt, allerdings dauert das Verfahren über find sehr lange.

Die Lösung für dieses Problem:
locate

„locate“ verwendet eine Datenbank in der es alle auf dem System befindlichen Daten speichert, so muss es nur diese Datenbank durch rattern und sich nicht immer durch die gesamte Verzeichnisstruktur hangeln, wie find.

Vorteile sind wie gesagt der Speed!

Ein großer Nachteil ist jedoch das Problem, dass Sie die Datenbank aktuell halten müssen, wenn Sie dies nicht tun ist das Abbild ihrer Daten auf dem System veraltet und Sie finden keine in naher Vergangenheit gespeicherten Daten. Es empfiehlt sich also die Datenbank mal zu aktualisieren, das funktioniert mit updatedb:

updatedb &
Achtung Sie müssen root sein!

Das & bewirkt, dass der Prozess im Hintergrund abläuft. Das ist sinnvoll, weil so ein update schon ein bisschen dauern kann.
Weiterlesen

Wie messe ich den Traffic auf meinem PC?

Um den Traffic auf deinem System zu messen benutzen wir das Tool „vnstat“, da es nicht standard mäßig installiert ist installieren wir es schnell:
sudo apt-get install vnstat

Nun müssen wir nur noch eine Datenbank für unsere Netzwerkkarte anlegen:
vnstat -u -i eth0

Wenn du keine 2 Karten drin hast ist es immer eth0.
Gib einfach mal ifconfig ein, da siehst du dann ob du 2 drin hast, wenn ja musst du überprüfen welche die ist die mit dem Internet verbunden ist. Mein Vorschlag wäre dann erstelle 2 Datenbanken:
vnstat -u -i eth0
vnstat -u -i eth1
und gucke dann wo die Daten strömen! Als default guckt vnstat immer bei eth0:
vnstat -d
Dieser Befehl zeigt dir detaillierte Statistiken über jeden Tag an, wenn du das gleiche mit eth1 haben willst schreibe folgendes:
vnstat -d -i eth1

Um alles Optionen kenne zu lernen empfehle ich dir:
vnstat --help
oder
man vnstat

Hier mal ein kleines Beispiel wie so eine Statistik aussieht (habe es erst seit einer Stunde laufen):

root@ubuntu:/home/ubuntu# vnstat -d

eth0 / daily

day rx | tx | total
————————+————-+—————————————-
08.10. 917.21 MB | 28.70 MB | 945.91 MB %%%%%%%%%%%%%%%%%%%%%%%%:
————————+————-+—————————————-
estimated 0.98 GB | 30 MB | 1.01 GB

Wie finde ich Dateien wieder? Die Lösung ist find!

Jeder kennt das wenn man sein OS das erste mal aufsetzt, nimmt man sich immer fest vor alles sauber zu halten, aber dieser Vorsatz ist spätestens nach 3 Wochen dahin. Hier sehe ich auch einen Nachteil von Linux man muss es einfach nie neu aufsetzen, man läuft also Gefahr alte Dateien, die man schon vergessen geglaubt hat wieder zu finden, sei es per Zufall oder weil man es will. 😉

Wir wollen uns, an dieser Stelle, mit dem gewollten Weg beschäftigen. 😉

Dazu benutzen wir den Power-Befehl find dieser Befehl hat wirklich Macht, er kann sehr viel! Ich kann deswegen hier auch nicht alles erklären sondern werde mich auf das wichtigste beschränken.

Die Syntax von find:
find [Pfad...] [Suchkriterium]

Als erstes wird der Pfad angegeben z.B. „/“ oder „/home“, danach werden verschieden Suchkriterien eingeben hier die wichtigsten in der Übersicht:

-name [Dateiname] Hiermit kann man den Namen der Datei angeben
-size [+,-][Größe]k Beschränkt auf bestimmte Größe einer Datei (+ größer als,- kleiner als)
-user [username] Suche auf Dateien von Benutzer beschränken
-group [gruppenname] Suche auf Dateien von Gruppen beschränken
-type [f,d,l] Suche auf Dateityp beschränken. (f = Datei, d = Verzeichnis, l = link)
-maxdepth [zahl] Bestimmt wie tief er vom Suchverzeichnis aus gehen soll
-atime [+/-][x-tage] Sucht nach Dateien nach dem letzten Zugriff (-weniger als X-Tagen,+ länger X-Tagen)
-mtime [+/-][tage] Sucht nach Dateien nach der letzten Modifikation (- weniger als X-Tagen,+ länger X-Tagen)

Weiterlesen

Wie mounte ich ein ISO-Image unter Linux?

Unter Windows muss man irgendwelchen hässlichen externen Tools installieren. Wir „Linuxer“ haben ja die Shell 😉 !

Eine .iso-datei mounten wir einfach so:
mount -o loop "/home/ubuntu/file.iso" /media/dvd

Es muss allerdings der Ordner existieren:
mkdir /media/dvd

Das war es eigentlich schon!

Das gleiche Prinzip funktioniert auch mit „img, bin“ etc. Images

Es gibt auch unter Linux grafische Programme:
AcetonISO2
oder
apt-get install gmount-iso

Einige weiterführende Links:
CD-Images
Iso’s unter Linux

Wie installiere ich ein Apache 2 Webserver mit PHP, Mysql und phpmyadmin?

In diesem Artikel möchte ich dir erklären wie man einen Apache 2 Server mit PHP aufsetzt. Ich werde am Ende noch ein „Shellskript“ hinzufügen, so dass du automatisiert einen Webserver aufsetzen können.

Als erstes loggen wir uns als root ein und bringen unsere Paketquellen und das System auf den neusten Stand:
su
apt-get update
apt-get upgrade

Nun erstellen wir uns ein Verzeichnis im „Home“-Ordner, dass ist bei dem Benutzer „root“ „/root“, das geht so:
mkdir /root/software

Nach dem das abgeschlossen ist wechseln wir in das Verzeichnis mit:
cd /root/software

Jetzt installieren wir uns erstmal den Apache2 mit mysql:
apt-get install -y apache2 apache2-dev apache2-utils mysql-server-5.0 libmysqlclient-dev libxml2-dev apache2-mpm-prefork

Kurze Erklärung zu den installierten Paketen:

apache2 Dies ist der Apache/Webserver an sich. Offizielle Erläuterung
apache2-dev Erläuterung hier klicken!
apache2-utils Enthält einige, für jeden Webserver nützliche, Zusatzprogramme. Für eine genaue Liste: Klick
mysql-server-5.0 Dies ist der Mysql-Server an sich. Offizielle Erläuterung
libmysqlclient-dev Erläuterung hier klicken!
libxml2-dev Erläuterung hier klicken!
apache2-mpm-prefork Erläuterung hier klicken!

Nun müssen wir uns noch einige „Libs“ und „Compiler“ installieren, da sonst das kompilieren von PHP nicht funktioniert:
apt-get install make libc6-dev gcc g++

Jetzt richten wir eben noch den Mysql-Server ein:
dpkg-reconfigure mysql-server-5.0

Weiterlesen