Packen und entpacken in der Konsole
Die einfachere Lösung zum entpacken und packen von Dateien ist für Linuxanfänger wahrscheinlich das Programm Ark. Jedoch ist manchmal, vor allem wenn es schnell gehn, soll die Kommandozeile die bessere Lösung. Im nachfolgenden Tutorial wird die Verwendung der Programme tar, gzip und bzip2 näher erklärt.
Extrahieren – Schnellübersicht
Hier zunächst einmal ein Überblick wie man Dateien mit unterschiedlichen Endungen direkt extrahiert. Im Verlauf der Anleitung wird dies jedoch noch ausführlicher behandelt.
beispiel.tar entpackt man so:
tar xvf beispiel.tar
beispiel.tar.gz entpackt man so:
tar xvfz beispiel.tar.gz
beispiel.tar.bz2
entpackt man so:
tar xvfj beispiel.tar.bz2
Verzeichnis/ Dateien erstellen
Um ein Archiv zu erstellen müssen wir erstmal ein Beispielverzeichniss anlegen
mkdir mappe
in dieses Verzeichnis wechseln
cd mappe
und 3 Dateien erstellen.
touch datei1 datei2 datei3
Archivierung und Extrahierung mit tar
Beim archivieren müßt ihr darauf achten, dass ihr euch nicht im Verzeichnis befindet das ihr archivieren wollt, da es sonst zu Fehlermeldungen kommt. Also gegebenenfalls mit cd in der Verzeichnisstruktur um eine Stufe nach oben wechseln.
archivieren:
tar cvf mappe.tar mappe
extrahieren:
tar xvf mappe.tar
nur ausgewählte Dateien archivieren:
tar cvwf mappe.tar mappe
nur ausgewählte Dateien extrahieren:
tar xvwf mappe.tar
Mit tar sind zwar nun die Verzeichnisse und Dateien archiviert, nur haben wir damit noch keinen Speicherplatz gespart.
Für diesen Zweck gibt es zusätzlich zu tar die Kompressionsverfahren gzip und bzip2. Das gebräuchlichere von beiden Kompressionsverfahren ist gzip. Aber auch bzip2 wird auch immer öfter zur Komprimierung verwendet, da sich damit höhere Kompressionsstufen erreichen lassen.
Kompression und Extrahierung mit gzip
komprimieren:
gzip -9 mappe.tar
extrahieren:
gzip -d mappe.tar.gz
Kompression und Extrahierung mit bzip2
komprimieren:
bzip2 -9 mappe.tar
extrahieren:
bzip2 -d mappe.tar.bz2
Konfigurationsdateien
August 5, 2008 by Christian
Kategorie Helferlein
Bei vielen Distributionen ist es notwendig Konfigurationsdateien manuell zu bearbeiten. Die nachfolgende Liste soll einen kurzen Überblick der wichtigsten dieser Dateien im System geben.
| Datei | Beschreibung |
| /boot/grub/menu.lst | Grub-Menü Konfiguration |
| /etc/aliases | Aliases für Sendmail/Postfix |
| /etc/apache2/httpd.conf | Hauptkonfigurationsdatei des Apache Webserver |
| /etc/crontab | Cronjobs (Zeitaufträge) |
| /etc/cron.allow | Erlauben einer crontab für verschiedene User. |
| /etc/cron.deny | Verbieten einer crontab für verschiedene User. |
| /etc/cups/printers.conf | Druckerkonfigurationsdatei (CUPS) |
| /etc/dhcpd.conf | Konfigurationsdatei des DHCP-Servers |
| /etc/exports | Exportierte Dateisysteme |
| /etc/fstab.conf /etc/mtab.conf |
Welche Partition an welcher Stelle eingebunden wird. |
| /etc/groups | Benutzergruppen |
| /etc/hosts | Auflösung von lokalen IP-Adressen und Hostnamen. |
| /etc/hosts.allow | Rechner denen Zugang gewährt wird. |
| /etc/hosts.deny | Rechner denen Zugang nicht erlaubt wird. |
| /etc/inittab | Runlevel-Konfiguration |
| /etc/issue /etc/motd |
Meldungen beim einloggen von einem Terminal bzw remote. |
| /etc/ld.so.conf | Pfade in denen dynamische Bibliotheken liegen. |
| /etc/lilo.conf | Konfiguration des LILO-Bootmanagers |
| /etc/modules | legt fest welche Module beim Systemstart geladen werden |
| /etc/mtab | aktuell gemountete Laufwerke |
| /etc/profile | “globales” bash-startscript |
| /etc/pam.conf /etc/pam.d/ |
PAM-Configs |
| /etc/passwd | Daten zur Benutzerverwaltung |
| /etc/pppoed.conf | Konfiguration von DSL |
| /etc/printcab | Druckerkonfiguration |
| /etc/resolv.conf | IP-Adressen der Nameserver |
| /etc/smb.conf | Samba-Konfigurationsdatei |
| /etc/shadow | bei shadow liegen hier die Passwörter |
| /etc/shells | verfügbare Loginshells |
| /etc/syslog.conf | Konfiguration für den “klassischen” syslogd |
| /etc/X11/XF86Config-4 | Konfiguration für X (grafische Benutzeroberfläche) |
| /etc/X11/xorg.conf | Konfiguration für xorg |
Linux Partitionieren
Es gibt bei der Installation eines Linuxsystems nur wenige Themen die noch mehr diskutiert werden, wie die Frage “wie partitioniere ich meine Festplatte richtig”.
Letztendlich ist aber wie so vieles bei Linux, die Frage des eigenen Geschmacks. Man sollte zwar einige grundlegende Dinge berücksichtigen, damit man für sich selber zu einem sinnvollen Ergebnis kommt, aber das ist auch schon alles an Beschränkung. Daher soll die nachfolgende Beschreibung eher ein Denkanstoß sein wie man es machen könnte, aber nicht machen muss.
Die Aufteilung einer Festplatte hängt natürlich auch sehr stark davon ab, wie groß sie ist. Daher sind die Größenangaben hier nicht bindend. Wenn jemand eine etwas kleinere Festplatte hat, muss er halt mit dem Platz sparsamer umgehen.
swap
Die Swap-Partition sollte möglichst doppelt so groß sein wie der Hauptspeicher, das ist so der Richtwert. Wenn man eine kleine Platte hat kann man die Partition auch kleiner machen. Linux nutzt diesen Platz zum auslagern von Daten wenn der RAM (Arbeitsspeicher) nicht mehr ausreicht. Daher sollte er an den Anfang der Platte gelegt werden, da dort die Zugriffszeiten am schnellsten sind. Aber Achtung, der Swapbereich ist kein Ersatz für den Hauptspeicher, da die Festplatte um ein vielfaches langsamer ist.
/boot 50MB ext2
Es ist heute nicht mehr unbedingt notwendig eine eigene Bootpartition zu erstellen. Aber es hat immer noch den Vorteil, dass man dort ein robustes Filesystem wie ext2 verwenden kann. Ext2 ist zwar nicht so performant wie die neueren Journaling Filesysteme wie ext3; ReiserFS; xsf usw. und hat auch keine Journaling-Funktion, aber das ist für die Bootpartition auch nicht notwendig. Es muss halt an dieser Stelle am besten unverwüstlich sein.
/ 10GB ReiserFS oder ext3
In der Rootpartiiton wird das eigentliche Linuxsystem gespeichert. Das ist die Partition die bei einem Update oder Neuinstallation auf jeden Fall neu geschrieben wird. Die Größe ist auch hier wiederum abhängig vom Platz den man insgesamt zur Verfügung hat.
/usr/local 15GB ReiserFS oder ext3
Hier werden häufig die Programme gespeichert die vom User installiert werden. Wenn man dieses Verzeichnis auf eine extra Partition packt, hat man den Vorteil, dass bei einer Neuinstallation die dort liegenden Programme nicht verliert. Das ist sehr angenehm, da man im laufe der Zeit doch recht viele Programme installiert und nicht jedesmal tagelang alles wieder nachinstallieren will.
/home 15 GB ReiserFS oder ext3
Die Größe von Home richtet sich ganz nach der Anzahl der User die auf dem PC arbeiten. Da hier alle “persönlichen” Daten der User abgespeichert werden.
Dies ist nur ein Vorschlag wie man sich die Platte für eine Linuxinstallation einteilen kann. Wie gesagt, es variiert je nach Speicherplatz oder Einsatzzweck des PCs.
Verfasser des Artikels: Schmiddi
Kernel kompilieren
Früher oder später trifft es jeden mal, und viele fürchten sich (grundlos) davor selbst einen Kernel zu übersetzen.
Aber eigentlich ist es gar nicht so schwer, man braucht nur ein paar Dinge:
- einen Compiler, für die meisten wird das der gcc sein
- die Kernelquellen (dazu kommen wir gleich)
- etwas Wissen über seine Hardware (wie man da dran kommt, wird weiter unten beschrieben)
- einen freien Nachmittag ;)
1. Den Quellcode des Kernels besorgen
Erst einmal sollte man sich entscheiden, ob man einen von seiner Distribution angepassten, oder einen sog. Vanilla (also einen “offiziellen”, unmodifizierten) Kernel will.
Normalerweise will man letzteres und da dieses Tutorial möglichst distributionsunabhängig sein soll, werde ich auch davon ausgehen. (allerdings unterscheidet sich das Vorgehen im anderen Fall kaum von diesem)
Die nächste Entscheidung liegt darin, dass man zwischen den zwei (momentan aktiv entwickelten) “Hauptkernelversionen” 2.4 und 2.6 wählen muss. Für den Heimgebrauch sollte man auf einen 2.6er Kernel setzen, da dieser aktuelle Hardware besser unterstützt.
Von den Kernelentwicklern selbst wird allerdings von einer Verwendung eines 2.6er Kernels auf Produktivsystemen abgeraten. Allerdings halte ich diese Bedenken größtenteils für überflüssig.
Auf die Besonderheiten beim Übersetzen eines Kernels aus der 2.4er Sparte werde ich dann hinweisen.
Nun brauchen wir aber erst einmal die Kernelsourcen. Auf www.kernel.org finden sich die Aktuellen (momentan wäre das 2.6.11.11).
Der Link zum Tarball ist unter dem “F” (für “full source”) versteckt. Nachdem man diesen heruntergeladen hat (so etwa 30 Mb), kann man ihn entpacken:
tar -xvjf dateiname
Normalerweise gehört das in
/usr/src/linux/
aber es geht auch problemlos irgendwo im Homeverzeichnis.
Falls man irgendwelche Kernelpatches anwenden möchte (das ist oft der Grund für das ganze Unternehmen), möge man das nach dem “Readme” oder dem “Install”-File des Patches entsprechend tun. Sollte dieses nicht vorhanden sein, so darf man den entsprechenden Maintainer zur Strafe in Sendmail-Sourcen von anno 98 tunken.
2. Informationen über die Hardware herausfinden
Wer die Id seines Prozessors auswendig rückwärts aufsagen kann, darf diesen Abschnitt überspringen.
Um einen Kernel dazu zu bewegen auf einem System ordnungsgemäß zu laufen, muss man bei der Konfiguration angeben, was er können soll. Man könnte natürlich einfach alle Optionen aktivieren, aber dadurch wird der Kernel groß und fett, das will man, wenn man einen Kernel nur für sich baut, normalerweise nicht.
Um herauszufinden, was genau im Rechner drin steckt, kann man beispielsweise auf folgende Informationsquellen zurückgreifen (es gibt sicher noch andere, wer noch was hilfreiches kennt, melde sich bitte im Forum):
- lspci (um alles zu finden, was so am PCI-Bus hängt, das dürfte heutzutage der Großteil der Steckkarten sein)
- /proc/cpuinfo (alles, was man über seinen Prozessor gar nicht wissen wollte)
- Dinge wie Schraubenzieher etc. um Notfalls im Rechner nachschauen zu können
3. Den Kernel konfigurieren
Das wird eigentlich als der schwierigste Schritt angesehen, aber mit Hilfe der “Help”-Funktion und den oben gesammelten Informationen sollte es nicht so schwer fallen.
Es gibt mehrere Möglichkeiten den Kernel zu konfigurieren (damit meine ich mehrere Oberflächen).
- oldconfig, unschön, fragt jede einzelne Option hintereinander ab, braucht aber keine besonderen Libraries
- menuconfig, eigentlich die beste Lösung, man bekommt ein schönes Menü auf curses-Basis (diese Library wird dann aber auch benötigt)
- xconfig(qt) und gconfig(gtk), man bekommt ein grafisches Menü, dafür braucht man aber den entsprechenden Rattenschwanz an Abhängigkeiten
Wenn man sich also entschieden hat begibt man sich mit
make [hier bitte die entsprechende config-variante ohne die Klammern einsetzen]
in das Konfigurationsmenü.
Es gibt (fast) immer 3 Möglichkeiten mit einer Option umzugehen:
- gar nicht reinbauen
- fest reinbauen
- als nachladbares Modul bauen
Es würde den Rahmen dieses Tutorials sprengen die rund 2000 Einzeloptionen Schritt für Schritt durchzugehen, daher nur ein paar wichtige Hinweise:
- “Generic PCI IDE Chipset Support” vergisst sich leicht, aber ohne das fest im Kernel wird Linux auf den meisten Desktopsystemen das Booten mit einer Kernel Panic abbrechen.
- Das Dateisystem, das man nutzt sollte auch fest im Kernel eingebaut sein.
- Wenn man sich nicht sicher ist: Entweder die Standardeinstellung belassen oder in der entsprechenden Beschreibung zu dem Eintrag nachsehen.
4. Den Kernel kompilieren
Dieser Vorgang an sich ist eigentlich harmlos.
Bei einem 2.6er Kernel reicht ein schlichtes:
make all
Bei einem Kernel aus der 2.4er Schiene ist es etwas mehr:
make depend modules bzImage
Nun sollte man sich je nach Geschwindigkeit des Rechners wahlweise mit einem Buch über Shellscripting zurückziehen oder eine Runde Windowsbashing in den Heise-Foren betreiben.
Wenn alles gut geht hat man nun einen frisch gebackenen Linuxkernel auf seiner Platte.
5. Den Kernel installieren
Erstmal vorweg:
make install
ist *böse*, das will man nicht nutzen, weil es einem zu viel rumpfuscht.
Der erste Schritt besteht darin, das Kernelimage an einen geeigneten Ort zu verlegen, dazu sollte man root sein.
Normalerweise liegt es in
arch/i386/boot/bzImage
unter dem Verzeichnis in das man die Kernelsorucen entpackt hat. Ablegen sollte man es mit einem sinnvollen Namen (sowas wie bzImage-kernelversion) in /boot. Dann sollte man noch die Kernelmodule installieren (wenn man überhaupt welche gebaut hat) indem man folgendes (wieder im Verzeichniss mit den Kernelquellen!) ausführt:
make modules_install
Schließlich muß man noch seinen Bootloader entsprechend konfigurieren. Zu Grub findet sich hier ein kleiner Artikel, zu Lilo (noch) nicht. Allerdings finden sich in den unendlichen Weiten des Internets genug Informationen dazu…
Es ist zu beachten, dass man den alten Kernel weiterhin zugänglich lässt, um im Notfall trotzdem noch in sein System kommen zu können.
6. Ausprobieren
Wenn man nochmal alles überprüft hat, kann man endlich den neuen Kernel ausprobieren. Wenn alles bootet und nacher auch funktioniert:
Gratulation, du hast die Feuertaufe mit Bravur bestanden :)
Anderenfalls ist es auch nicht schlimm. Wenn man sich an obigen Hinweis gehalten hat, kann man nachdem man das LED-Blink-Konzert einer Kernelpanic genossen hat in das alte System rebooten und es nochmal versuchen.
Wem haarsträubende Fehler auffallen möge bitte im entsprechenden Forum einen Hinweis hinterlassen.
Verfasser des Artikels: florolf
Befehlsübersicht
August 5, 2008 by Christian
Kategorie Helferlein
Die nachfolgende Liste soll nur einen groben Überblick über die Befehle und deren Optionen in der Konsole geben. Es sind meist nur die wichtigsten Optionen angegeben, da es sonst den Rahmen einer solchen Liste sprengen und dies zu Lasten der Übersichtlichkeit und Verständlichkeit gehen würde.
| Befehl | Beschreibung | Optionen |
| alias | Definiert ein Alias (einen anderen Namen) für einen Befehl.
alias [neu]=”[original]“ |
— |
| arch | zeigt die Prozessorfamilie an (i386, i486, i586, i686, …) |
— |
| cat | Inhalt einer Datei ausgeben
cat [Optionen] [Datei] |
-n nummeriert Ausgabe |
| cd | Verzeichniswechsel
cd [Optionen] [Verzeichnis] |
/ wechselt ins Hauptverzeichnis ~ wechselt ins Homeverzeichnis .. wechselt im Verzeichnisbaum eine Stufe nach oben |
| chgrp | ändert Gruppe
chgrp [Optionen] [Gruppenname] |
— |
| chmod | Ändert die Zugriffsrechte einer Datei.
chmod [Optionen] [Datei] Bsp: Wir (-) entziehen Anderen (o) chmod o-x beispiel.sxw |
a Alle u Benutzer g Gruppe o Andere + gibt Rechte r Lesen |
| chown | ändert Besitzer
chown [Optionen] [User.Gruppe] [Datei] |
-R auch in Unterverzeichnissen |
| clear | Konsole säubern | — |
| cp | kopiert eine Datei
cp [Optionen] [Quelldatei] [Zieldatei] |
-i wartet auf Bestätigung -r kopiert mit Unterverzeichnissen |
| date | aktuelle Systemuhrzeit
date [Optionen] |
— |
| df | Speicherstatistik aller Laufwerke
df [Optionen] |
-H Anzahl der belegten Blöcke in GB, MB oder KB -t Laufwerkstyp |
| diff | Differenz zweier Dateien ausgeben
diff [Optionen] [Datei1] [Datei2] |
-q gibt nur an ob Unterschied besteht |
| du | Speicherplatzverbrauch aller Dateien im aktuellen Verzeichnis
du [Optionen] [Pfad] |
-a Größe der einzelnen Dateien -h Ausgabe in menschenlesbarer Form -s zeigt Gesamtgröße an |
| find | Dateien finden, ausgehend vom angegebenen Verzeichnis
find [Verzeichnis] -name [Dateiname] Bsp: |
|grep suchwort anstelle von -name [Dateiname] |
| free | Summe gesamter/genutzter Arbeitspeichers
free [Optionen] |
-b Anzeige in Bytes -k Anzeige in Kilobytes -m Anzeige in Megabytes |
| grep | Suchwort in Datei finden
grep [Optionen] [Suchwort] [Datei] |
-i ignoriert Groß-/ Kleinschreibung -l gibt nur Dateinamen aus -n zeigt zusätzlich Zeilennummern an |
| gzip | komprimiert Datei
gzip [Optionen] [Datei] |
-d dekomprimiert gzip Dateien |
| halt | Rechner herunterfahren
halt [Optionen] |
— |
| head/tail |
Kopf bzw Fuß einer langen Textdatei lesen
head [Optionen][Textdatei] tail [Optionen][Textdatei] |
-11 die elf ersten bzw. letzten Zeilen der Datei lesen (jede Zahl einsetzbar) |
| kill | Prozess anhand Prozess-ID töten
kill [Optionen] [Prozess-ID] |
-9 sendet statt eines TERM- ein KILL-Signal |
| killall | Prozess anhand Prozess-Namen töten
kill [Optionen] [Prozessname] |
— |
| less | durch den Inhalt der Datei navigieren
less [Optionen] [Dateiname] |
— |
| ln | Verknüpfung erstellen
ln [Optionen] [Quelldatei] [Zieldatei] |
-s legt symbolischen Link an (d.h. es handelt sich um bloße Pfadangaben zur Ursprungsdatei) |
| locate | durchsucht die locatedb nach Dateien (bei Erstverwendung updatedb als root eingeben) locate [Optionen] [Datei] |
— |
| lpr | schickt einen Druckauftrag los
lpr [Optionen] [Datei] |
— |
| lprm | löscht einen Druckauftrag
lprm [Optionen] [Jobnummer] |
— |
| lpq | Überblick der wartendenden Druckaufträge
lpq [Optionen] |
— |
| ls | listet Inhalt des Verzeichnisses auf
ls [Optionen] [Verzeichnis] |
-l detailliert -a versteckte Dateien > /tmp/irgendwas gibt Ausgabe in Datei aus und überschreibt den Inhalt >> /tmp/irgendwas gibt Ausgabe in Datei aus und hängt den Inhalt an |
| man | Manpage (Hilfedatei) von Programmen anschauen
man [Optionen] [Programm] |
|lpr Ausdruck der Manpage -k Stichwort wenn man sich des Namens der Manpage nicht sicher ist |
| mkdir | Verzeichnis erstellen
mkdir [Optionen] [Verzeichnisname] |
— |
| mount | Geräte einbinden
mount [Optionen] [Gerät] [Mountpunkt] |
-r nur lesbar mounten -t dateisystem Dateisystem angeben |
| mv | verschiebt eine Datei
mv [Optionen] [Quelldatei] [Zieldatei] |
-b erstellt zuerst Sicherheitskopie -i wartet auf Bestätigung |
| nslookup | Anfragen an DNS-Server | — |
| passwd | Passwort ändern
passwd [Optionen] [Benutzername] |
— |
| ping | Datenpakete senden
ping [Optionen] [Rechnername|IP-Adresse] |
-c Anzahl Gesamtzahl der Pakete festlegen -f sendet so viele Pakete wie möglich -i Anzahl legt Intervall zw. 2 Paketen in Sekunden fest |
| ps | selbst gestartete Prozesse
ps [Optionen] [Prozess-ID] |
aux zeigt Prozesse besitzerunabhängig |
| pwd | zeigt das Verzeichnis an, in dem man sich befindet
pwd [Optionen] |
— |
| reboot | Rechner neustarten
reboot [Optionen] |
— |
| rm | löscht Datei und Verzeichnisse
rm [Optionen] [Datei] Vorsicht! |
-f ohne Nachfrage -r löscht auch Unterverzeichnisse -i wartet auf Bestätigung |
| rmdir | leeres Verzeichnis löschen
rmdir [Optionen] [Verzeichnisname] |
— |
| su | Benutzer wechseln
su [Optionen] |
- dadurch landet man im Home-Verzeichnis von root, ohne - bleibt man im aktuellen Verzeichnis |
| tar | komprimiert Dateien
tar [Optionen] [Archivname] [Datei] |
-f schreibt Ausgabe in Datei -c legt neues tar Archiv an -r zu existierendem Archiv hinzufügen -t gibt Inhalt des Archivs aus -u fügt Dateien hinzu -x packt Dateien aus einem Archiv aus -z entpacke Archiv mit gzip -j entpacke Archiv mit bzip2 -v gibt Namen der bearbeiteten Daten aus |
| telnet | arbeiten an Fremdrechnern
telnet [Optionen] [Rechnername|IP-Adresse] Vorsicht! |
— |
| top | gegenwärtig laufende Prozesse
top [Optionen] |
— |
| touch | erzeugt eine leere Datei
touch [Optionen] [NeueDatei] |
— |
| tree | zeigt Verzeichnisse und Dateien in Baumstruktur an
tree [Optionen] [Verzeichnis] |
-d zeigt nur Verzeichnisse ohne Dateien an |
| umount | Geräte entfernen
umount [Optionen] [Mountpunkt] |
— |
| uname | Informationen über Betriebssystem und Hardware
uname [Optionen] |
-m zeigt Prozessorfamilie an -r aktuelle Kernel-Version -a zeigt alle Informationen |
| whereis | herausfinden wo sich ein Programm befindet
whereis [Programm] |
— |
Dialin-Server über ISDN
Dieses howto ist aus meiner Erfahrung mit dem Einrichten eines dialin-servers erstellt. Für Fehler oder Sicherheitslücken kann ich keine Haftung übernehmen. Jeder sollte in sysconfig-Dateien nur Änderungen machen, wenn er weiß was er macht. Grundsätzlich ist es sinnvoll die zu ändernden Originaldateien zu kopieren und an einem anderen Ort zu sichern. Das hilft, auch nach vielen Versuchen, seine Fehler zu berichtigen. Die Einrichtung erfolgt zum größten Teil über Yast, am Ende sind die betroffenen Dateien dargestellt. Es gibt weitere gute howtos, mit deren Hilfe ich meine Verbindung eingerichtet habe. Diese beziehen sich auf Suse 8.*. Es lohnt sich, die mal anzusehen, weil ich hier nicht alles so detailliert beschreibe. Details wie Passwörter, Rufnummern usw. sind allgemein gehalten und müssen geändert werden.
Als Ausgangssituation gehe ich von folgendem aus:
- Suse 9.0
- Netzwerkkarte und internes Netzwerk mit statischen IP-Adressen vorhanden.
- Internet-Einwahl funktioniert schon, ISDN-Karte und 1 Provider sind schon eingerichtet.
- Ein web-server (für das interne Netzwerk) läuft und ist im LAN über http://192.168.0.1 zu erreichen.
- Ziel: Es soll der interne web-server von außen über eine Telefonleitung erreicht werden.
Hier als Beispiel verwendete IP-Adressen, Schnittstellen und Provider:
eth0 192.168.0.1 #das ist die Netzwerkkarte
ippp0 #das ist der Internetzugang, dynamische IP
ippp1 192.168.0.1 #das ist die neue Schnittstelle für den dial-in
provider0 #das ist der schon vorhandene Provider für den Internetzugang
provider1 #das ist der neue Provider für dialin
Konfiguration mit Yast:
Neue Schnittstelle und Provider anlegen.
Im Yast unter Netzwerkgeräte/ISDN stehen die bereits konfigurierten Geräte. Auf Ändern… klicken, da wir zu der ISDN-Karte nur eine Schnittstelle hinzufügen wollen.
Im unteren Feld (Provider) auf Hinzufügen klicken. Dann kommt die ISDN-Service-Auswahl.
Auf Neue SyncPPP-Schnittstelle hinzufügen klicken.
Im nächsten Fenster werden die Verbindungseinstellungen abgefragt.
Eigene Telefonnummer: 12345 #diese Telefonnummer ist die Einwahl für den dialin-server. Ohne Länderkennung und Vorwahl eingeben, die sollten bereits bei der ISDN-Karte konfiguriert sein.
Startmodus: OnBoot
ChargeHUP: nein
Kanalbündelung: nein
Firewall Neustart…: nein
Firewall QuickMode: nein
Dann auf Details klicken.
Telefonnummernliste entfernter Rechner: #Hier kann die Nummer des Anschlusses angegeben werden, der später den dialin-server anruft. Die genaue Syntax der Rufnummer weiß ich nicht, am besten ausprobieren (ob mit oder ohne Vorwahl usw.) Das hab ich noch nicht probiert, erst mal leer lassen.
Nur Nummern aus Liste erlaubt: nein #das ergibt die Variable SECURE=off, siehe unten. Es bedeutet, dass sich alle Rufnummern einwählen dürfen. Wenn bei der Telefonnummerliste ein Eintrag gemacht wird, kann hier ein Häkchen gesetzt werden. Rückruf-Funktionen: Rückruf auswählen
zusätzliche ipppd-Optionen: proxyarp auth +pap -chap #Hier gibt man zusätzliche Optionen zu ppp an. Eingabe der Optionen, mit Leerzeichen getrennt, siehe auch die manpage zu pppd. Die findet man im Konquerror wenn man in die Adresszeile man:pppd eingibt.
proxyarp: erlaubt den Zugriff auf das interne Netzwerk
auth: gibt an, dass der client sich authentifizieren muß
+pap: gibt an, dass der Benutzer und das Passwort in etc/ppp/pap-secrets steht.
-chap: gibt an dass die etc/ppp/chap-secrets nicht benutzt wird
Nach den Eingaben OK klicken, dann weiter klicken.
Einstellungen für die IP-Adresse: Dynamische IP-Adresse: nein #im Gegensatz zum Internetprovider legen wir die Adressen hier selber fest
Lokale IP-Adresse Ihres Rechners: 192.168.0.1 #die IP des dialin-servers. In dem Fall die Adresse, die auch bei der Netzwerkkarte verwendet wird.
Entfernte IP-Adresse: 192.168.0.10 #die Adresse, die der client zugeteilt bekommt.
Standardroute: nein #das ist in der Regel schon der Internetzugang
Nach den Eingaben auf weiter klicken.
Jetzt ist der neue Provider dran.
In dem Fenster Internet Service Provider wählen die Option Eigene Provider auswählen und Neu klicken.
Parameter für Internetverbindung festlegen:
Name für die Einwahl: provider1 #wird automatisch festgelegt, kann auch provider0 sein
Name des Providers: dialin #irgendeinen sinnvollen Namen angeben
Telefonnummer: 0 #0 eingeben, der Provider soll nicht rauswählen
Paket-Encapsulation: SynconousPPP
Benutzername: Benutzer123 #hier den Benutzernamen eingeben. Dieser wird dann z.B. bei der DFÜ-Verbindung angegeben. Groß- und Kleinschreibung werden beachtet!
Passwort: passwort1 #hier ein sicheres Passwort eingeben
Passwortabfrage: nein #brauchen wir nicht
Nach den Eingaben auf weiter klicken.
Verbindungsparameter:
Dial-On-Demand: nein #der Provider soll nicht wählen, schon gar nicht automatisch
Während Verbindung DNS ändern: nein #wir haben ja IP-Adressen festgelegt
Verbindung abbrechen nach (Sekunden): 300 #Standardwert, einfach übernehmen
Nach den Eingaben auf weiter klicken.
Jetzt ist alles angelegt. Fenster im Yast mit Beenden schließen, damit die neue Schnittstelle eingerichtet wird. Normalerweise sollten die Dateien jetzt wie unten dargestellt aussehen und die Einwahl funktionieren. Nach meiner Erfahrung ist es sinnvoll, in der Konsole noch mal als root rcnetwork restart einzugeben. Damit werden alle Netzwerkschnittstellen neu gestartet. Wenn man danach
ifconfig -a
eingibt, sollte die neue Schnittstelle ippp1 angezeigt werden. Für Probleme mit der firewall geht es unten weiter.
Von Yast erstellte Datei für die Schnittstelle ippp1:
etc/sysconfig/isdn/cfg-net1
CALLBACK=”off”
CBDELAY=”2″
CHARGEHUP=”off”
DEFAULTROUTE=”no”
DYNAMICIP=”no”
FIREWALL=”no”
IPADDR=”192.168.0.1″ #IP-adresse des dialin-servers
IPPPD_OPTIONS=”proxyarp auth +pap -chap”
MSN=”12345″ #hier ist die Telefonnummer angegeben, auf die der dialin-server hören soll
MULTILINK=”no”
PROTOCOL=”syncppp”
PROVIDER=”provider1″ #der provider für diese Verbindung
PTPADDR=”192.168.0.10″ #IP-adresse, die der client zugewiesen bekommt
REMOTE_IN=”" #Rufnummern, die sich einwählen dürfen
SECURE=”off” #off = alle Rufnummern können sich einwählen, on = nur die angegebenen Rufnummern können sich einwählen
STARTMODE=”onboot”
Von Yast erstellte Datei für den Provider:
etc/sysconfig/network/providers/provider1
ASKPASSWORD=’no’
DEMAND=’no’
DSLSUPPORTED=’no’
ENCAP=’syncppp’
IDLETIME=’300′
ISDNSUPPORTED=’yes’
MODEMSUPPORTED=’no’
MODIFYDNS=’no’
PASSWORD=’passwort1′ #das Passwort sollte natürlich sicherer sein…
PHONE=’0′ #der Provider wählt so nicht raus (braucht er auch nicht)
PROVIDER=’dialin’ #Name des Providers
USERNAME=’Benutzer123′ #Benutzername, unter dem man sich anmeldet
Von Yast erstellte Datei für die dial-in Verbindung, ergibt sich aus cfg-net1 und provider1: etc/sysconfig/network/ifcfg-ippp1
STARTMODE=”onboot”
IPADDR=”192.168.0.1″
PTPADDR=”192.168.0.10″
DEFAULTROUTE=”no”
FIREWALL=”no”
MSN=”12345″
DIALMODE=”manual”
DIALPREFIX=”"
DIALMAX=”"
REMOTE_OUT=”"
REMOTE_IN=”"
PROVIDER=”provider1″
SECURE=”off”
CHARGEHUP=”off”
CALLBACK=”off”
CBDELAY=”2″
CBHUP=”"
IHUP=”"
VERBOSE_LEVEL=”"
SLAVES=”"
MULTILINK=”no”
SLAVEMSN=”"
SLAVE_IN=”"
SLAVE_OUT=”"
LAYER2=”hdlc”
LAYER3=”trans”
ENCAP=”syncppp”
IP_RESEND=”"
IP_RESEND_PARAMETER=”"
SMPPPD_IGNORE=”"
DYNAMICIP=”no”
IPPPD_OPTIONS=”proxyarp auth +pap -chap”
ASKPASSWORD=”no”
MTU=”"
MRU=”"
RUN_POLL_TCPIP=”"
Datei für Benutzer und Passwort der Provider:
etc/ppp/pap-secrets
#SuSEconfig.isdn entry #Automatischer Eintrag, hier stehen alle Benutzer und Passwörter
“Benutzer123″ * “passwort1″ #der Provider, die Datei sollte nur root-Rechte habenHier stehen auch die Benutzer und Passwörter von gelöschten Providern. Diese können eigendlich gelöscht werden. Gut überlegen, was man macht! Datei als root mit kwrite o.ä. öffnen und bearbeiten.
Probleme mit der firewall (SuSEfirewall2)
Nach der Einrichtung der Verbindung konnte ich mich über eine DFÜ-Verbindung zwar einwählen, aber dann war Schluß. Die firewall blockte alles ab. Ich habe die Einträge der firewall wie unten geändert. Allerdings sollte jeder wissen, was er macht, denn welche Auswirkungen dies auf die Sicherheit des Netzwerks hat, kann ich nicht genau sagen. Für Sicherheitsprobleme kann ich keine Haftung übernehmen. Aus Neugier hatte ich nach der Einrichtung einen online Portscan gemacht. Der Internetzugang erfolgte über ippp0. Dieser Scan ergab keine Sicherheitslücken. Tipp: Für Portscans einfach mal googeln.
Datei für die firewall:
etc/sysconfig/SuSEfirewall2
unter Punkt 3:
FW_DEV_INT=”eth0 ippp1″ #definiert die internen Schnittstellen. Hier wurde nur die Schnittstelle ippp1 zu der schon vorhandenen eth0 ergänzt. Die firewall verhindert sonst die eingehende Verbindung. Dazu muß aber auch nachfolgendes definiert sein:unter Punkt 7:
FW_PROTECT_FROM_INTERNAL=”no” #firewall schütz nicht vor internem Netzwerk, in diesem Fall #sind eth0 und ippp1 vollkommen offen!
Diese Änderungen habe ich direkt in der Datei gemacht. Es kann sein, dass Yast dies wieder überschreibt, wenn man die Firewall später noch mal mit Yast überarbeitet. Nach den Änderungen die firewall stoppen und neu starten, damit die neuen Einstellungen wirksam werden. Es gibt bestimmt auch andere Möglichkeiten, die Dienste nicht pauschal freizugeben, dazu aber bitte selber die manpages lesen.
Um Dateien zu ändern habe ich den Konquerror im Systemverwaltungsmodus als root geöffnet. Die Dateien sind alle Textdateien, die man über Rechtsklick: Öffnen mit…. kwrite bearbeiten kann. Man solle äußerst vorsichtig sein, als root Systemdateien zu ändern! Erst mal als Benutzer anschauen, da kann man nichts kaputt machen.
Jetzt noch eine normale DFÜ-Verbindung am client einrichten (zB. im windows):
Telefonnummer wie oben definiert
Protokoll: TCP
Servertyp: PPP: internet, …
Einstellungen TCP: automatische Vergabe der IP-adressen, Standardgateway des Remote-Netzwerks benutzen
Dann erreicht man seinen internen web-server, wenn man im Browser die Adresse http://192.168.0.1 eingibt.
Have a lot of fun!
Hilfreiche Befehle in der Konsole (alle als root):
su #anmelden als root
ifconfig -a #zeigt die konfigurierten und gestarteten Netzwerkschnittstellen
rcnetwork restart #Dadurch werden alle Schnittstellen neu gestartet.
SuSEfirewall2 stop #stoppt die firewall
SuSEfirewall2 start #startet die firewall
SuSEfirewall2 test #startet die firewall im Testmodus (Infos in var/log/messages)
Weitere howtos, die es sich lohnt zu lesen:
http://www.linuxnetmag.com/de/issue8/m8dialin1.html”
http://www.linuxnetmag.com/de/issue5/m5disisdn1.html”
Mit den o.g. howtos hab ich es geschafft, die dialin-Verbindung einzurichten. Danke an die Autoren.
Verfasser des Artikels: Guido Textor
WLAN unter Knoppix
Eigentlich wird eine WLAN-Karte mit Atheros-Chipsatz unter Knoppix 3.6 tadelos erkannt. Jedoch lässt sich diese nicht so einfach unter Knoppix einbinden.
Durch einen Fehler in dem Script:
/usr/sbin/netcardconfig werden Atheros-Karten nicht korrekt erkannt. Also öffnen wir dieses Script mit dem Editor unseres Vertrauens.
In dem Script suchen wir folgende Zeile:
NETDEVICES=”$(cat /proc/net/dev | awk -F: ‘/eth.:|tr.:|wlan.:/{print $1}’)”
Beim Betrachten dieser Zeile fällt auf, das die Devices eth*, tr* und wlan* erkannt werden, jedoch aber nicht ath*
Also ändern wir die Zeile wie folgt:
NETDEVICES=”$(cat /proc/net/dev | awk -F: ‘/eth.:|tr.:|wlan.:|ath.:/{print $1}’)”
Somit werden auch Atheros-Devices (ath*) abgefragt.
Jetzt muss nur noch /etc/network/interfaces angepasst werden.
Beispiel:
auto ath0
iface ath0 static
address 192.168.x.x #ip-adresse der netzwerkkarte
netmask 255.255.255.0
network 192.168.x.0 #eigenes netzwerk
broadcast 192.168.x.255
gateway 192.168.x.x #ip-adresse des wlan-routers
wireless_key [wep-key des wlan-routers]
wireless_ap [mac-adresse des wlan-routers]
wireless_channel [channel des wlan-routers]
wireless_essid [ssid des wlan-routers]
wireless_rate xxMB #wlan übertragungsrate
Nach folgender Eingabe in der Konsole
ifup ath0
sollte nun die Karte eingebunden werden.
(getestet unter Knoppix 3.6 Linux-Kernel 2.6.7, Netgear WG511T auf HP Pavilion zv5000)
Verfasser des Artikels: Antikeloides
WLAN – manuelle Einrichtung unter SUSE
(am Beispiel Netgear USB Adapter MA111 und Router Gigaset SE105)
Wenn der USB Adapter zur Einrichtung eines drahtlosen Netzwerkes nicht automatisch erkannt wird steht man als Anfänger vor einem großen Problem. Diese Anleitung soll bei der manuellen Einrichtung helfen.
Erforderliche Pakete installieren
(am einfachsten unter YaST/Software/Software installieren)
- kernel-source (Der Kernel-Source)
- gcc (Der GNU C-Compiler)
- make (DER GNU make Befehl)
Fehlermeldungen vorbeugen
Konqueror öffnen und in das Verzeichnis usr/src/linux wechseln. In diesem Verzeichnis entweder gleich oder falls in einem späteren Schritt in der Konsole Fehlermeldungen auftauchen einen Ordner .tmp_versions erstellen und die Datei .config löschen.
Kernel compilieren
Konsole öffnen (als root) und in das Verzeichnis usr/src/linux wechseln.
make cloneconfig && make prepare
Treiber downloaden, entpacken und compilieren
Den Treiber von linux-wlan.org downloaden und nach /usr/src entpacken (bei mir läuft der linux-wlan-ng-0.2.1-pre16 ohne Probleme).
In der Konsole in das soeben entpackte Verzeichnis /usr/src/linux-wlan-ng-0.2.1-pre16 wechseln. Anschließend
make config
eingeben und nur die Frage “Build Prism2.5 USB (_usb) driver?” mit ja beantworten.
make all
eingeben und anschließend
make install
WLAN konfigurieren
Mit einem Editor die Datei etc/wlan/wlan.conf öffnen und bei SSID_wlan0 die eigene SSID eingeben
(z.B: “Connection_Point”).
SSID_wlan0=”ConnectionPoint”
Als nächstes muß die Datei /etc/wlan/wlancfg-DEFAULT in die eigene SSID umbenannt werden z.B.: /etc/wlan/wlancfg-ConnectionPoint.
Anschließend in der Konsole
chkconfig –add wlan
eingeben und anschließend
chkconfig wlan on
Nun öffnet bitte die Datei etc/modules.conf mit einem Editor und tragt dort egal wo folgendes ein.
alias wlan0 prism2_usb
Im nächsten Schritt muß man eine Datei Namens ifcfg-wlan0 mit einem Editor erstellen und nach etc/sysconfig/network speichern. Hier eine Beispieldatei, die aber noch angepaßt werden muß:
DEVICE=’wlan0′
ONBOOT=’yes’
BOOTPROTO=’static’
IPADDR=’192.168.2.3′ #ändern in eigene IP Adresse des Rechners
GATEWAYDEV=’wlan0′
GATEWAY=’192.168.2.1′ #ändern in eigene Router IP Adresse
TYPE=’Ethernet’
USERCTL=’yes’
NETMASK=’255.255.255.0′
NETWORK=’192.168.x.0′ #x muß vorletzte Zahl der IP Adresse sein
BROADCAST=’192.168.x.255′ #x muß vorletzte Zahl der IP Adresse sein
PEERDNS=’no’
Abschließend YaST öffnen => Netzwerkgeräte/ Netzwerkkarte/ Bereits Konfigurierte Geräte/ Ändern/ Bearbeiten
und folgende Angaben machen:
IP-Adresse (z.B: 192.168.2.3)
Subnetzmaske (z.B. 255.255.255.0)
Rechnername (z.B. linux)
Domainname (z.B. site)
Nameserver 1 (z.B. 192.168.2.1)
Domain-Suche 1 (z.B. site)
Standardgateway (z.B. 192.168.2.1)
SSID (z.B. ConnectionPoint)
Wenn ihr alles richtig gemacht habt solltet ihr euch nun mit einem Browser ins Internet einwählen können.
Drucken über ein (Windows) Netzwerk
Wenn ein Netzwerk vorhanden ist möchte man dieses ja auch über einen gemeinsamen Drucker nutzen. Die folgende Anleitung beschreibt die Vorgehensweise bei der Konfiguration eines Druckers, der an einen Windows-PC angeschlossen ist.
Zuerst muss sichergestellt sein, dass die Netzwerkverbindung in beide Richtungen besteht:
Linux -> Win
Win -> Linux
IP-Adresse ermitteln
unter Windows (Start/ Ausführen/ cmd):
ipconfig
unter Linux (System/ Terminals/ Terminal Systemverwaltungsmodus):
ifconfig
Ping
Anschließend kann man mit dem “ping”-Befehl prüfen, ob die Verbindung besteht.
ping 192.168.1.33
Bei Windows werden nur einige Pakete geprüft, der Befehl “ping” im Linux-Terminal muss mit Strg+C beendet werden.
Samba
Der Drucker am Windows-PC muss freigegeben sein, was man an einer “Hand” erkennen kann. Ob Samba die Feigaben erreicht kann man prüfen mit:
smbclient -I [IP-Adresse] -L [Name] -N
Befehlsoptionen:
| -I | –ip-address | = Verbinden mit dieser IP |
| -L | –list | = Eine Liste der Freigaben am PC |
| -N | –no-pass | = Kein Passwort |
Beispiel:
smbclient -I 192.168.1.33 -L AMD2800 -N
KDE-Kontrollzentrum
Nun muß man ins Kontrollzentrum wechseln (K-Menu/ Kontrollzentrum/ Angeschlossene Geräte/ Drucker)
und einen neuen Drucker hinzufügen (Hinzufügen/ Drucker). Weiter im nächsten Schritt und SMB Druckresource (Windows) auswählen. In der nächsten Auswahl “Anonymos” wählen und man kommt anschließend zu den SMB-Drucker-Einstellungen.
Hier macht ihr nun beispielsweise folgende Angaben:
| Arbeitsgruppe | (Workgroup) |
| Server | (zB. 192.168.1.33) |
| Name | (zB. HP850C) |
Als nächstes einen “passenden” Drucker in der Liste suchen und übernehmen. Anschließend kann auch schon getestet werden. Den “Rest” kann man so übernehmen und zum nächsten Schritt übergehen. Bei “Allgemeine Informationen” gebt ihr nun einen Namen für den Drucker ein (wird später im Druckmenü angezeigt). Zum Abschluß noch alles abschließen und mit “Fertig” bestätigen.
Überprüfung
Unter Drucker sollten dann beispielsweise folgende Eigenschaften stehen:
Typ SMB – Drucker (WIN)
URI smb://Workgrpup/192.168.x.xx/HP850C
Drucksystem Cups
Verbunden mit localhost:631
Habt ihr alle Angaben korrekt gemacht solltet ihr nun einen funktionierenden Netzwerkdrucker haben.
Verfasser des Artikels: Sparky
LAMP unter SUSE
Installation
Zuerst öffnet man Yast unter Startmenü/System/YaST/Software/Software installieren und installiert folgende Pakete mit ihren Abhängikeiten:
Vorgehensweise: folgende Begriffe unter Suche eingeben -> entsprechenden Haken setzen -> Abängigkeiten prüfen -> übernehmen
- apache2 (Webserver)
- mysql (Datenbanksystem)
- mysqlcc (Datenbankkontrollzentrum)
- perl oder php4 (Skriptsprachen)
Aktivierung
Sind alle Pakete installiert erfolgt die Aktivierung in YaST unter System/Runlevel-Editor. Dort wechselt man in den Expertenmodus und sucht die Einträge apache2 und mysql.
Nun muß man bei beiden Einträgen Kreuze für die Runlevel 2 3 und 5 setzen und danach jeweils den Button “jetzt starten…” betätigen. Das ganze schließt man mit Beenden ab und die Dienste laden sich nun bei jedem Start automatisch.
MySQL-Konfiguration
Für MySQL muß zunächst ein root Passwort festgelegt werden. Dazu öffnet man das Terminal als root und gibt folgendes ein:
usr/bin/mysqladmin -u root -h localhost password 77x77x77 (Beispielpasswort)
Nun das Kontrollzentrum mysqlcc öffnen (Startmenü/Büroprogramme/Datenbank). Falls das Dialogfenster zur Einrichtung eines neuen MySQL Servers nicht automatisch erscheint kann man dies unter dem Menüpunkt File/New manuell ausführen.
Beispieldaten:
Name:Test
HostName:localhost
UserName:root
Password:77xx77xx77
Wichtig ist noch unter Options Socket File /var/lib/mysql/mysql.sock einzutragen!
Ist man nun erfolgreich zum MySQL Server verbunden kann man im Verzeichnisbaum bei Databases eine neue Datenbank mit den gewünschten Tabellen anlegen.
Abschließend im Menü unter Options/General/ die Registerkarte Sql Editor auswählen und den Pfad /usr/share/mysqlcc/syntax.txt bei Syntax File eintragen.
Apache-Konfiguration
Die Konfiguration des Apache kann erstmals standardmäßig übernommen werden und evtl. zu einem späteren Zeitpunkt individuell, den eigenen Bedürfnissen angepaßt werden (z.B. ServerSideIncludes). Dies erfordert jedoch fortgeschrittenere Kenntnisse und eine gewisse Einarbeitung in die Materie.
Übersicht der wichtigsten Apache Dateien:
| Funktion | Verzeichnis |
| Protokolldatei erfolgreicher Zugriffe | /var/log/apache2/access_log |
| Protokolldatei fehlerhafter Zugriffe | /var/log/apache2/error_log |
| Hauptkonfigurationsdatei | /etc/apache2/httpd.conf |
| weitere Konfigurationsdateien | /etc/apache2 |
Test
Im Ordner /srv/www/htdocs können nun HTML Dateien abgelegt werden und im Ordner /srv/www/cgi-bin die Skripte.
Um die Funktion des Apache zu testen gibt man in einem beliebigen Browser http://localhost/ und dahinter den Namen der entsprechenden HTML Datei an. Standardmäßig wird die Datei index.html aufgerufen (sofern vorhanden) falls hinter localhost keine Dateiangabe folgt.

