Tuesday, November 29, 2005

Schon wieder nen Befehl vergessen?

Da sich der Mensch nunmal nicht alles so einfach merken kann, muss er sich zu helfen wissen.

Wenn Sie sich auch nicht jeden Befehl merken wollen, oder auch mal nachschauen wollen, was man so für Befehle vor nem halben Jahr eingetippt hat, kann die Bash-History ein Anfang sein.

Die Bash-History ist normal auf maximal 1000 Zeilen beschränkt, das kann man aber ganz leicht ändern:
echo "export HISTSIZE=30000" >> ~/.bashrc.local

Ab diesem Zeitpunkt ist für jede neu gestartete bash die History bis zu 30000 Kommandos lang.

Falls Sie noch nicht wissen wie man auf die History zugreifen kann:

1. Sie können mit den Cursor-Tasten (auf/ab) in der history Befehl für Befehl blättern
2. Sie können auch anfangen den gesuchten Befehl zu schreiben und dann mit den <bild> nur die Befehle durchblättern, die so anfangen.
3. <strg>+<r> ein Muster eingeben, bis der passende Befehl erscheint.</r></strg></bild>

squid hängt nach dem Start von ppp

Vorwort

Wenn man squid als localen Proxy verwenden will kann es vorkommen, dass dieser nur nach einem 'rcsquid reload' Webseiten abholt, da er die neue ppp Verbindung nicht mitbekommt.

Abhilfe kann man schaffen, indem man ein Script, nachdem die ppp-Verbindung aufgebaut ist, startet und damit den Squid reloaded.

---file-content---/etc/ppp/ip-up.d/squid---
#!/bin/sh
/usr/sbin/rcsquid reload
logger squid reloaded $(date)
---end-file-content---

Hav a nice day!

Saturday, November 19, 2005

Linux Swap - Programme im swap obwohl noch genug Arbeitsspeicher frei ist?

Vorwort

Dies hilft nicht immer, speziell bei komplexeren Anwendungen, wie Datenbanken (DB2) gibt es Prozesse, die sich in den "swap" auslagern obwohl man an vielen Schrauben gedreht hat. Für die normalen Heimanwender, speziell wenn man einen etwas betagteren Rechne hat ist diese Einstellmöglichkeit doch hilfreich. Zumindest geht es mir oft so, wenn ich programmiere bzw. im Buch stöbere, dass Programme in den Swap ausgelagert werden, obwohl ich sie (aus meiner Sicht) doch noch benutze.

Swap(files)
Wieviele Swapbereiche eingerichtet sind und von welchen Typ sie sind kann man mit Hilfe
folgenden Befehlsermittelt:
---snip---
linux:~ # swapon -s
Filename Type Size Used Priority
/dev/hda11 partition 522072 0 -1
---snap---

Sie können z.B auch einen Swapbereich in eine Datei (hier ca. 200MB) erstellen:

Die Datei können sie wie folgt anlegen:
dd if=/dev/zero of=/swapfile bs=4096 count=50000

Mit "mkswap /swapfile" krichten Sie die Datei als Swapbereich ein.

Zuguterletzt können Sie mit "swapon /swapfile" das Swapfile aktivieren.
(mit -p können Sie hier die priority, also in welchen swapbereich zuerst geswapt wird angeben)

Damit das ganze auch nach einem Neustart wieder da ist müssen Sie das in "/etc/fstab"
eintragen:

---snip---
/dev/hda11 swap swap priority=60,defaults 0 0
---snap---


Wie Sie nun das Swapverhalten zwischen mehreren Swapbereichen einstellen wissen Sie nun. Wie Sie das generelle Swapverhalten einstellen sehen Sie hier:

in "/proc/sys/vm/swappiness" können Sie den Prozentualen Wert hinterlegen wie stark geswapt werden soll. Der Default ist hier meist "60".
Private setze ich diesen Wert lieber auf "10" - quasi nur swappen, wenn der speicher recht knapp wird.

Den Wert können Sie wie folgt ändern:
echo -n "10" >/proc/sys/vm/swappiness

IPAQ 38XX mit einem Linuxrechner über usb verbinden

Hi,

da ich das mal früher schön geschrieben habe, hier nur der link zu den Infos:

http://www.linuxcove.com/cave/connect-ipaq-linux.php

http://sourceforge.net/mailarchive/forum.php?forum_id=1226
&max_rows=25&style=nested&viewmonth=200207

have a lot of fun.

Linux - Vodafone Zwangskomprimierung abschalten

Vorwort

Warum denken Provider sie müssten die User bevormunden und Tatsachen verschweigen? Von wegen, dass man die Komprimierung nur über das Dashboard abstellen kann. Naja, die Techniker wollten meine Info wie das unter Linux geht nicht...

unter windows geht das ebenfalls nur mit einem Proxy - ein Proxy ist ein Dienst, der alle internetanfragen entgegennimmt und ins internet weiterleitet - dabei kann er Inhalte cachen oder verbieten etc. - genauso funzt die Komprimierung über einen Proxy.

Was macht der Proxy? Nachdem Bilder, wenn m
an sie ein zweite Mal mit + im Browser lädt ohne Komprimierung dargestellt werden - muss der Proxy
dieses verhalten nachahmen.

Und was genau? Der Browser senden dann Requestheader mit, die dem angefragten Serverdienst mitteilen, dass er keine gepufferten/gecached Daten haben will - sondern nur frisch vom eigentlichen Server. Folgende Zeilen in der Section header_access und in der Section header_replace in der squid.conf eingetragen ermöglichen dies:

---/etc/squid/squid.conf---
header_access Pragma deny all
header_access Cache-Control deny all

header_replace Pragma no-cache
header_replace Cache-Control no-cache
---end---

Thursday, November 10, 2005

Linux: Internet Einwahl via bluetooth/UMTS Handy

Vorwort
Manch einer wird sich jetzt fragen, warum man in der Zeit von DSL-Breitbandanbindungen Internet via UMTS zulegen will - meine Intention war einen relativ schnellen und flexibeln Internetzugang zu haben.

Erste Überlegungen
Das braucht man dazu:
  • Handy
  • Bluetooth Dongle
  • UMTS SIM-Karte
benutzte Tools
  • hcitool
  • sdptool
  • rfcomm
  • kbluetoothd
  • YaST2
  • screen
Einrichten Schritt 1

Zuerst ist es wichtig einen Bluetooth-Dongle anzustecken. Hier gäbe es die Möglichkeit (soweit vorhanden) über den SD-Steckkartenplatz besser aber über USB - warum einige SD-Kartenleser sind nicht so gut unterstützt. Wird der USB-Dongle erkannt und richtig konfiguriert kann man auch gleich unter KDE im kbluetoothd eine Meldung sehen. Ein einfacher Klick genügt um ein Fenster mit den aktuell erreichbaren Bluetooth-Geräten zu öffnen.

Einrichten Schritt 2


Ist Ihr Handy nicht in der Liste über prüfen Sie, ob es "sichtbar" ist und bluetooth eingeschaltet ist - Wenn ein Freund mit seinem bluetoothfähigen Handy ihnen Bilder etc. schicken kann sollte es auch in kbluetoothd zu sehen sein - falls nicht einfach das Fenster schließen und wieder erneut öffnen.

Einrichten Schritt 3

Um das Handy als Modem nutzen zu können müssen wir nun folgende Konfigurationsdateien anlegen/ändern:
  • /etc/bluetooth/pin
  • /etc/bluetooth/rfcomm.conf
in die pin-Datei schreiben sie einfach die PIN, die beim Verbinden mit dem Handy benötigt wird:
root@host> echo "1221" >/etc/bluetooth/pin

In /etc/bluetooth/rfcomm.conf müssen wir schon etwas mehr eintragen:
---snip---
#
# RFCOMM configuration file.
#
# $Id: rfcomm.conf,v 1.1 2002/10/07 05:58:18 maxk Exp $
#

rfcomm0 {
# Automatically bind the device at startup
bind yes;

# Bluetooth address of the device
device 00:0F:DE:8C:F7:09;

# RFCOMM channel for the connection
channel 1;

# Description of the connection
comment "Sony Ericcson v800";
}
---snap---

bind yes - bedeutet, dass beim Start vom Bluetooth-Deamon das Device gleich angelegt wird.
device - die Geräte-id können Sie mit Hilfe von "hcitool" herausbekommen, bzw. über kbluetoothd.

---snip---
linux:~ # hcitool scan
Scanning ...
00:0E:07:83:BE:29 v800
---snap---
channel 1 - hier kommt es nun auf das Handy an. Normalerweise sollte ein "sdptool browse" eine Liste ausspucken, der man es entnehmen kann:

---snip---
linux:~ # sdptool browse
Inquiring ...
Browsing 00:0E:07:83:BE:29 ...
Service Name: Dial-up Networking
Service RecHandle: 0x10000
Service Class ID List:
"Dialup Networking" (0x1103)
"Generic Networking" (0x1201)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 1
Profile Descriptor List:
"Dialup Networking" (0x1103)
Version: 0x0100
...
---snap---

Jetzt können wir schonmal den Daemon start:
root@host> rcbluetooth start

Danach sollte folgende Datei angelegt worden sein:
---schnip---
linux:~ # ls -la /dev/rfcomm*
crw-rw---- 1 root root 216, 0 Nov 11 19:31 /dev/rfcomm0
---schnapp---

Nun wie es bei bluetooth üblich ist müssen die Geräte, bevor sie miteinannder kommunizieren können ein "Pairing" machen.

um das zu initialisieren, einfach mal einen screen auf dieses device ansetzen:
screen /dev/rfcomm0
Wenn si den screen gestartet haben sollte erstmal keine Meldung kommen. falls Sie eine Meldung, wie "no controlling PTY" bekommen liegt es wahrscheinlich daran, dass das Device nicht richtig initialisiert worden ist. (den Screnn können Sie mit folgender Tastenkombination wieder schließen: <strg>+<a>+<k>)


(Falls das nicht geht, mal mit "cat /dev/rfcomm0" probieren.)

Bei der PIN-Eingabe müssen Sie schnell sein, da nach wenigen Sekunden sich die Fenster wieder schließen. Wenn die PIN-Eingabe erfolgreich war und keine Fehlermeldung zu sehen war können Sie schonmal probieren das Bluetooth-Handy als Modem zu nutzen. Geben Sie dazu einfach in den offenen screen (falls nicht einfach dn obigen Befehl absetzen) AT + ein. (den Screnn können Sie mit folgender Tastenkombination wieder schließen: <strg>+<a>+<k>)

Ist dies geschafft, können Sie in YaST2 das Modem vorkonfigurieren (manuelle anpassung nötig).

Einrichten Schritt 4

Im yast können sie nun wie gewohnt das Modem einrichten - geben sie aber als Device bzw. "Modemgerät" "/dev/rfcomm0" an und drücken Sie dann auf details.

Baudrate auf 921600

init1 = ATZ
init2 = AT &FE1 +CMEE=1
init3 = AT +CGDCONT=1,"IP","web.vodafone.de"
und benutzergesteuert [x] auswählen.

Die Konfigurationsdatei die Yast erstellt sollte dann wie folgt aussehen:
---/etc/sysconfig/network/ifcfg----
BOOTPROTO='none'
DIALCOMMAND='ATDT'
DIALPREFIX=''
DIALPREFIXREGEX=''
INIT1='ATZ'
INIT2='AT &FE1 +CMEE=1'
INIT3='AT +CGDCONT=1,"IP","web.vodafone.de"'
INIT8='ATM0'
INIT9='ATX3'
MODEM_DEVICE='/dev/rfcomm0'
NAME='umts via bluethooth'
PPPD_OPTIONS=''
PROVIDER='provider0'
SPEED='921600'
STARTMODE='manual'
UNIQUE=''
USERCONTROL='yes'
---end---

Danach müssen sie einen "eigenen Provider" einstellen:
als Nummer kan bei Sony Ericcson v800 "*99***1#" angeben. Für andere
modelle bitte im internet nach Infos suchen.
Die Provider Datei sollte wie folgt aussehen:
---/etc/sysconfig/network/providers/provider0---
ASKPASSWORD='no'
AUTODNS='yes'
DEMAND='no'
DSLSUPPORTED='no'
IDLETIME='1800'
ISDNSUPPORTED='no'
MODEMSUPPORTED='yes'
MODIFYDNS='yes'
PASSWORD='freedom'
PHONE='*99***1#'
PROVIDER='vodafone umts/gprs'
STUPIDMODE='no'
USERNAME='freedom'
---end---

Das sollte es gewese sein ;) jetzt können Sie über kinternet sich einwählen.