Page 1 of 5 123 ... LastLast
Results 1 to 15 of 548

Thread: [How To] Firmware installieren und konfigurieren

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Join Date
    Feb 2005
    Location
    Germany - Frankfurt
    Posts
    1,548

    [How To] Firmware und Software installieren. Step-by-Step

    There is an english translation of this HowTo.

    00. Aktuelles

    Stand: November 2011rtn Firmware mit Kernel 2.6 anstelle von Kernel 2.4 nutzt die Bezeichnung "disca", "discb" etc.
    Du musst im ganzen Tutorial das "disc0" durch "disca" ersetzen!!!
    Ich werde das Tutorial zu einem späteren Zeitpunkt aktualisieren.


    Stand: Oktober 2011
    Die level1.gz liegt jetzt unter neuer URL.
    Dementsprechend hat sich das Skript S90transmission-daemon für Transmission geändert

    Nutze bitte, wenn für Deine Hardware unterstützt, die "Enthusiasten Firmware".
    Näheres unten.

    Dieses HowTo ist für Firmware der Version 1.9.2.7-9 und Neuer. Ältere Firmwares werden nicht mehr unterstützt.

    WICHTIG: Ich übernehme keinerlei Haftung.

    OK. Folgende Vorgeschichte.
    Ich habe mir ziemlich früh einen WL-HDD gekauft, der dann aber nur in der Ecke lag, weil die damalige Firmware eine Katastrophe war.
    2006 bin ich dann über dieses Forum gestolpert, da ich von damals noch wusste, dass Oleg eine Firmware baut. (Suche Oleg -> Finde Forum )
    Ich habe den Asus wieder in die Hand genommen und los gelegt.

    4 Tage später hatte ich so ziemlich jeden Fehler gemacht und mich entschlossen alles nochmal von vorne zu starten.
    Und wenn man schon ganz am Anfang anfängt kann man ja auch gleich ein HowTo schreiben.

    Mit Erscheinen der -9er Firmware habe ich das komplette HowTo überarbeitet, da sich einfach zu viel geändert hatte.

    0. Vorraussetzungen
    Ich habe, wie gesagt, einen Asus WL-HDD der ersten Stunde. Dieses Howto sollte aber mit jeder Hardware funktionieren, auf der Oleg's Firmware installiert werden kann.
    Falls Du noch keine Hardware hast würde ich mir einen WL500g PREMIUM mit USB Platte kaufen. Die V1 ist inzwischen schwer zu bekommen. Die etwas schwächere V2 des WL500g Premium ist noch im Handel.
    Der WL-HDD hat wenig Speicher (16MB -> viel Swap auf der Platte) und einen schwachen Prozessor. Aber er läuft :-)

    Du brauchst also:
    - Eine geeignete Hardware
    - grundlegende Linuxkenntnisse. (cd, vi, ps, df, free, top, usw.)
    - Zeit. Ich habe für diesen Umbau ca. 5 Stunden benötigt (inkl. Essen).
    - Eine Internetverbindung ist zwingend nötig, da Du einiges aus dem Internet herunterladen wirst. (auch vom Asus aus)

    1. Firmware installieren

    Die einfachste Methode ist das Firmware Restoration Tool von Asus. Für andere Hardware dementsprechenden Tool nutzen!

    ASUS WL-HDD2.5 wireless hard disk drive box utility program in English

    Es geht natürlich auch über die Webseite des Routers. Dennoch solltest Du das Restoration Tool griffbereit haben.
    Olegs Firmware herunterladen: Firmware Wizzard (nicht immer aktuell) oder bei Oleg:http://oleg.wl500g.info/
    ACHTUNG: Immer die Firmware für Deinen Router nehmen!!!

    UPDATE:
    Es gibt eine Weiterentwicklung der oleg-Firmware im folgenden auch "Enthusiasten-FW" genannt.
    Diese ist absolut kompatibel zu oleg und wird gut gepflegt.
    Wenn Eure Hardware unterstützt wird empfehle ich ausdrücklich diese Firmware!

    DIESES HowTo funktioniert nur mit Olegs Firmware Version 1.9.2.7-9 und neuer!

    Das Zip entpacken.

    Asus Tool installieren, starten, "Firmware Restoration" auswählen.
    Dann die Firmware (Hardware_Version.trx) auswählen und Upload drücken.

    Nachdem der Asus neu gebootet hat unbedingt auf das Webinterface gehen (Im Browser die IP eingeben) und alles auf Factory Default stellen. (user:admin / pw:admin)

    Nach einem erneuten Reboot hast Du den ersten Schritt fertig. Die Firmware ist drauf.

    Bemerkung an dieser Stelle:
    Bei mir ist der WL-HDD als Client im Netzwerk. Er stellt die Internetverbindung NICHT selbst her. Daher kümmere ich mich nicht um Firwewall etc.
    Für diejenigen von Euch, die ein anderes Gerät benutzen, können weitere Schritte erforderlich sein.

    Im Webinterface noch
    - den Namen einstellen (bei mir blechbuechse)
    - Die IP Einstellungen eingeben (Eigene IP, Gateway, DNS, usw.)
    - FTP, Samba, NFS ausschalten
    - Telnet aktivieren
    - Passwort ändern
    - Sonstige Änderungen machen (DHCP, Zeitzone, WLAN, usw.)
    - Falls als Router: Zugangsdaten, Firewall, Ping von WAN erlauben.

    Ohne Olegs Firmware auf der Box brauchst Du gar nicht weiter machen. Bis hier muss alles funktioniert haben!

    2. Telnet

    Nun Telnet starten. Windows: Start-Ausführen- "telnet IPDERBOX"

    user:admin / pw:admin

    Zunächst die Internetverbindung testen.
    Code:
    ping google.de
    Sollte dann ungefähr so aussehen:
    [admin@blechbuechse root]$ ping google.de
    PING google.de (66.249.93.104): 56 data bytes
    64 bytes from 66.249.93.104: icmp_seq=0 ttl=243 time=35.5 ms
    64 bytes from 66.249.93.104: icmp_seq=1 ttl=243 time=36.5 ms
    64 bytes from 66.249.93.104: icmp_seq=2 ttl=243 time=35.0 ms

    --- google.de ping statistics ---
    3 packets transmitted, 3 packets received, 0% packet loss
    round-trip min/avg/max = 35.0/35.6/36.5 ms
    [admin@blechbuechse root]$
    Kann mit Strg-c abgebrochen werden.

    Falls es nicht funktioniert: Pinge eine IP, keinen Namen!
    Funktioniert? Keine Fehlermedung? Wunderbar!
    Falls Du auch keine IP im Internet pingen kannst: IP Einstellungen (DNS) und Netzwerk (Kabel) überprüfen.

    Da Telnet aber nicht sicher ist, und Du später auch über Internet zugreifen willst, installieren wir jetzt SSH:

    3. SSH-deamon
    Anmerkung: Macht Euch das Leben nicht so schwer. Ihr könnt alle Befehle mit der Zwischenablage in telnet bzw. putty kopieren & einfügen! Somit entstehen auch keine Schrteibfehler, die leider die häufigste Ursache für Fehler sind. das Ganze funktioniert bei Windows/telnet mit rechter Maustaste oder "STRG+C"/"STRG+V" und in putty mit der linken/rechten Maustaste.


    Der SSH Daemon heisst dropbear. In der aktuellen "Enthusiasten-FW" (1.9.2.7-d-rxxxx) kann dropbear vom Webinterface aus (unter System Setup->Services) gestartet und konfiguriert (Port-Nummer, Zugriff nur für LAN oder auch für WAN) werden. Diejenigen, die solche Firmware einsetzen brauchen also nur die Keys und Startskripte zu erstellen, sonst nichts!
    Die Benutzer der älteren Versionen müssen das ganze Kapitel abarbeiten:

    Startskripte erstellen:
    Code:
    mkdir -p /usr/local/sbin/
    touch /usr/local/sbin/pre-boot 
    touch /usr/local/sbin/post-boot
    touch /usr/local/sbin/post-firewall 
    touch /usr/local/sbin/post-mount
    touch /usr/local/sbin/pre-mount
    touch /usr/local/sbin/pre-shutdown
    chmod +x /usr/local/sbin/*
    Verzeichnis erstellen: (nur für die FW älter als 1.9.2.7-d-rxxxx)
    Code:
    mkdir -p /usr/local/etc/dropbear
    Keys generieren:
    Code:
    dropbearkey -t dss -f /usr/local/etc/dropbear/dropbear_dss_host_key
    dropbearkey -t rsa -f /usr/local/etc/dropbear/dropbear_rsa_host_key
    Damit dropbear nach einem reboot startet: (nur für die FW älter als 1.9.2.7-d-rxxxx)
    Code:
    echo "#!/bin/sh" >> /usr/local/sbin/post-boot
    echo "dropbear" >> /usr/local/sbin/post-boot
    Dropbear zum Test manuell starten:
    Code:
    dropbear
    Hier die aktiven Prozesse. dropbear sollte zu sehen sein:

    [admin@blechbuechse sbin]$ ps
    PID Uid VmSize Stat Command
    1 admin 580 S /sbin/init
    2 admin SW [keventd]
    3 admin SWN [ksoftirqd_CPU0]
    4 admin SW [kswapd]
    5 admin SW [bdflush]
    6 admin SW [kupdated]
    7 admin SW [mtdblockd]
    46 admin 332 S telnetd
    51 admin 380 S httpd
    54 admin 408 S syslogd -m 0 -O /tmp/syslog.log -S -l 7
    56 admin 364 S klogd
    57 admin SW [khubd]
    72 1 364 S [portmap]
    74 admin 504 S /usr/sbin/statd
    76 admin SW [nfsd]
    77 admin SW [lockd]
    78 admin SW [rpciod]
    80 admin 484 S /usr/sbin/mountd
    83 admin 484 S watchdog
    85 admin 344 S ntp
    94 admin SW [kjournald]
    95 admin SW [kjournald]
    99 admin 580 S -sh
    128 admin 468 S dropbear
    129 admin 392 R ps
    Alles speichern und reboot:
    Code:
    flashfs save && flashfs commit && flashfs enable && reboot
    Der Teil wäre geschafft.
    Last edited by wengi; 10-11-2011 at 09:03. Reason: dropbear Informationen aktualisiert

  2. #2
    Join Date
    Feb 2005
    Location
    Germany - Frankfurt
    Posts
    1,548
    4. Festplatte Partitionieren und Formatieren
    Wichtig bei USB-Platten: Erst Platte , dann Router einschalten.

    Achtung: In diesem Kapitel gehen die vorhandenen Daten auf der Festplatte verloren. Vorher sichern!

    Ab hier wird mit putty gearbeitet.
    Telnet im Webinterface deaktivieren.
    Putty starten, IP-Adresse der Box angeben und SSH auswählen.
    Keyabfrage bestätigen

    Ich habe meine Platte (80GB) wie folgt aufgeteilt:
    Daten (part3), IPKG (part2) und swap (part1)
    alles primäre Partitionen, keine Extended
    Swap 512MB (Bei kleinen Platten kannst Du auch nur 128MB nehmen...)
    IPKG 1GB
    Daten Rest (~78GB)

    Mountpoints ansehen (Sieht eventuell so aus):
    [admin@blechbuechse root]$ df
    Filesystem 1k-blocks Used Available Use% Mounted on
    /dev/root 3008 3008 0 100% /
    /dev/discs/disc0/part1 75398848 683812 70884940 1% /tmp/mnt/disc0_1
    [admin@blechbuechse root]$
    Wenn ausser '/' nichts gemounted ist, gleich zu fdisk weitergehen.
    Falls Deine Platte schon so eingerichtet ist, wie Du willst (inkl. Swap), beim nächsten Kapitel weitermachen. ABER: Ich empfehle die Methode mit fdisk, da verschiedene Benutzer Probleme beim Mounten von Partitionen hatten, die durch Software von Drittherstellern erstellt wurden.

    Du solltest alle mounts ausser / unmounten.
    Code:
    umount /ort/des/mountpoint
    /ort/des/mountpoint muss durch die Einträge von df ersetzt werden. z.B. "umount /tmp/mnt/disc0_1".
    Sollte es bei umount Fehler geben greift noch etwas auf die Platte zu. (FTP / Samba abgeschaltet?)

    Danach sollte es so aussehen:
    [admin@blechbuechse root]$ df
    Filesystem 1k-blocks Used Available Use% Mounted on
    /dev/root 3008 3008 0 100% /
    Eventuell ist noch ein tmpfs auf /tmp gemountet, was von der verwendeten Firmware abhängt und auch nicht "unmountet" werden muss.

    Jetzt mit fdisk die Partitionen bearbeiten: (hier genauer beschrieben)
    Code:
    fdisk /dev/discs/disc0/disc
    Zu fdisk:
    m für Hilfe.
    p für Partitionen anzeigen.
    d um vorhandene Partitionen zu löschen.
    n für neue Partition anlegen.

    Achte bitte darauf, daß eventuell noch Partitionen vorhanden sind. Erst löschen, dann Neue erstellen (Daten gehen verloren!!!).

    Einteilung der Platte:
    part1 Swap 512MB Typ82
    part2 IPKG 1024MB /opt
    part3 Daten Rest /tmp/harddisk

    Swap anlegen: n -> p -> 1 -> 'return' -> +512M -> t -> 82
    IPKG anlegen: n -> p -> 2 -> 'return' -> +1024M
    Daten anlegen: n -> p -> 3 -> 'return' -> 'return'

    Mit w Einstellungen sichern und raus.
    Ein "fdisk -l" zeigt Euch die Partitionierung an:
    [admin@blechbuechse disc0_3]$ fdisk -l

    Disk /dev/ide/host0/bus0/target0/lun0/disc: 80.0 GB, 80026361856 bytes
    16 heads, 63 sectors/track, 155061 cylinders
    Units = cylinders of 1008 * 512 = 516096 bytes

    Device Boot Start End Blocks Id System
    /dev/ide/host0/bus0/target0/lun0/part1 1 993 500440+ 82 Linux swap
    /dev/ide/host0/bus0/target0/lun0/part2 994 2978 1000440 83 Linux
    /dev/ide/host0/bus0/target0/lun0/part3 2979 155061 76649832 83 Linux
    Jetzt nehmen wir den Swap in Betrieb:
    So sieht ein 'free' ohne swap aus:
    [admin@blechbuechse root]$ free
    total used free shared buffers
    Mem: 13932 11304 2628 0 1388
    Swap: 0 0 0
    Total: 13932 11304 2628
    Jetzt aktivieren:
    Code:
    mkswap /dev/discs/disc0/part1
    swapon /dev/discs/disc0/part1
    Danach sieht ein 'free' schon anders aus:
    [admin@blechbuechse root]$ free
    total used free shared buffers
    Mem: 13932 10236 3696 0 1320
    Swap: 500432 0 500432
    Total: 514364 10236 504128
    Erst jetzt hast Du genug Speicher um den Rest einer großen Platte zu formatieren.
    Code:
    mke2fs -j /dev/discs/disc0/part2 
    mke2fs -j -m 0 /dev/discs/disc0/part3
    part3 kann mehrere Minuten dauern, je nach Größe der Festplatte. Die Option '-m 0' setzt reserved blocks auf 0. NICHT für die /opt Partition machen!!!
    Noch eine Bemerkung für die Newbies: Die Partitionen sind jetzt mit dem Dateisystem ext3 formatiert. Das ist gut so. Du benötigst weder Fat noch NTFS, um auf Deine Daten zuzugreifen.

    Damit die Partitionen automatisch gemountet werden sind noch Einträge in der fstab zu machen. das wird mit dem Editor vi gemacht.
    Kurze vi Erklärung: vi ist ein Editor.
    Mit i kommst Du in den Editiermodus, mit ESC verlässt Du ihn wieder.
    Im Editiermodus kannst Du mit der rechten Maustaste den Inhalt der Zwischenablage einfügen.
    Nach verlassen des Editiermodus kannst Du mit ':wq' die Datei speichern und vi verlassen, mit ':q!' vi verlassen ohne zu speichern.
    Mehr zu vi musst Du Dir anlesen. z.B. hier.
    Sobald IPKG installiert ist kannst Du den Editor nano verwenden, der etwas einfacher in der Handhabung ist.

    Also zunächst ein
    Code:
    vi /etc/fstab
    und das hier einfügen:
    Code:
    #device                 Mountpoint      FStype  Options         Dump    Pass#
    /dev/discs/disc0/part1  none            swap    sw              0       0
    /dev/discs/disc0/part2  /opt            ext3    rw,noatime      1       1
    /dev/discs/disc0/part3  /tmp/harddisk   ext3    rw,noatime      1       1
    Jetzt werden die Partitionen automatisch gemountet und der swap aktiviert.
    WICHTIG: Die Daten-Partition wird laut fstab nach /tmp/harddisk gemountet. Dies wird aus Gründen der Kompatibilität durch die Firmware anders gehandhabt: Die Partition wird nach /tmp/mnt/disc0_3 gemountet und /tmp/harddisk ist ein symlink, der auf /tmp/mnt/disc0_3 zeigt.

    Damit die Datei bei einem Neustart nicht verloren geht:
    Code:
    echo "/etc/fstab" >> /usr/local/.files
    5. Startup-Skripte

    Die Zeitzone in der Firmware ist falsch. Daher wird sie jetzt korrigiert (Werte für Mitteleuropa):
    Achtung: Ab der Firmware Version wlxxx-1.9.2.7-d-r240 (2009-04-11) ist dieser Fehler behoben.
    Du kannst mit dieser oder neueren Firmwares bei vi /usr/local/sbin/pre-mount weitermachen.
    Code:
    vi /usr/local/sbin/pre-boot
    Inhalt sollte sein:
    Code:
    #! /bin/sh
    tz="CET-1CEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00"
    nvram set time_zone="$tz"
    echo "$tz" > /etc/TZ
    Weitere Infos unter http://wl500g.info/showpost.php?p=139268&postcount=4.


    Um die Dateisysteme sauber zu halten gibt es in den neuen Firmwares die Datei pre-mount, die vor dem Mounten ausgeführt wird:
    Code:
    vi /usr/local/sbin/pre-mount
    Inhalt sollte sein:
    Code:
    #! /bin/sh
    
    swapon -a
    
    for i in `awk '/ext3/{print($1)}' /etc/fstab` ; do
      if [ -b $i ] ; then
        grep -q $i /proc/mounts || e2fsck -p $i 2>&1 | logger -t e2fsck
      else
        logger -t fstab "$i is not attached"
      fi
    done
    Noch eine Anmerkung zur pre-mount: In diesem Script werden die Dateisysteme überprüft und, wenn notwendig, ein e2fsck angestoßen. Bei meinem WL-HDD mit 80GB Partition als part3 dauert ein e2fsck mehrere Stunden! Es kann also vorkommen, dass Du Deinen Router einschaltest und die Datenpartition erst sehr viel später verfügbar ist. Dies kannst Du umgehen, indem Du die Datei pre-mount leer lässt. Allerdings wird die festplatte dann nicht auf Fehler überprüft. Es ist Deine Entscheidung! (PS: Ich habe es aktiv.)

    Die Datei post-mount wird nach dem mounten ausgeführt:
    Code:
    vi /usr/local/sbin/post-mount
    Mit folgendem Inhalt:
    Code:
    #! /bin/sh
    
    /opt/etc/init.d/rc.unslung start
    Jetzt kommt noch die Datei, die bei einem shutdown ausgeführt wird:
    Code:
    vi /usr/local/sbin/pre-shutdown
    Mit diesem Inhalt:
    Code:
    #! /bin/sh
    
    /opt/etc/init.d/rc.unslung stop
    
    sleep 10s
    
    for i in `cat /proc/mounts | awk '/ext3/{print($1)}'` ; do
      mount -o remount,ro $i
    done
    
    swapoff -a
    
    sleep 1s
    Dieses Skript remountet die Platte im Nur-Lese-Modus. Somit ist ein Ausschalten dann kein Problem mehr.

    Speichern und Neustart:
    Code:
    flashfs save && flashfs commit && flashfs enable && reboot
    Mit 'free' und 'df -h' überprüfen, ob Festplatte und Swap da sind. Wenn alles ok ist geht es weiter:

    Software und Dienste, die mit IPKG installiert werden, erstellen Skripte in /opt/etc/init.d.
    Damit diese auch ausgeführt werden erstellst Du ein Skript. Diese Skript wird übrigens von der post-mount aufgerufen, die wir gerade bearbeitet haben.
    Code:
    mkdir -p /opt/etc/init.d
    vi /opt/etc/init.d/rc.unslung
    Bemerkung: Falls Du beim mkdir eine Fehlermeldung "mkdir: Cannot create directory `/opt/etc': Read-only file system" erhälst ist Deine Platte noch nicht nach /opt gemountet.

    Inhalt:
    Code:
    #! /bin/sh
    
    # Start/stop all init scripts in /opt/etc/init.d
    # starting them in numerical order and
    # stopping them in reverse numerical order
    #
    if [ $# -ne 1 ]; then
      printf "Usage: $0 {start|stop}\n" >&2
      exit 1
    fi
    
    daemons=`echo $(/usr/bin/dirname $0)/S??*`
    [ $1 = "stop" ] && daemons=`echo $daemons | /usr/bin/tr " " "\n" | /usr/bin/sort -r`
    
    for i in $daemons; do
    
         # Ignore dangling symlinks (if any).
         [ ! -f "$i" ] && continue
    
         # Write to syslog
         logger -t rc.unslung "$1 service $i"
    
         case "$i" in
            *.sh)
                # Source shell script for speed.
                (
                    trap - INT QUIT TSTP
                    set $1
                    . $i
                )
                ;;
            *)
                # No sh extension, so fork subprocess.
                $i $1
                ;;
        esac
    done
    Und noch ausführbar machen:
    Code:
    chmod +x /opt/etc/init.d/rc.unslung
    Dieser Teil ist auch geschafft
    Last edited by akbor; 15-11-2010 at 19:44. Reason: Typo in pre-shutdown korrigiert (war "mount -oremount,ro $i")

  3. #3
    Join Date
    Feb 2005
    Location
    Germany - Frankfurt
    Posts
    1,548
    6. IPKG

    Bei IPKG handelt es sich um ein Paketsystem, mit dem Du Software installieren kannst.
    IPKG arbeitet auf der Festplatte in /opt. Deswegen hast Du in /etc/fstab den Mount für die IPKG-Partition eingerichtet.
    In /opt/var/log landen später auch die ganzen Logdateien. Aber das nur so am Rande.

    Du willst also das Paketsystem installieren:
    Erst die Verzeichnisse erstellen.
    Code:
    mkdir -p /opt/tmp/ipkg 
    cd /opt/tmp/ipkg
    Paket herunterladen und installieren (Fehlermeldung ignorieren):
    Code:
    wget http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/ipkg-opt_0.99.163-10_mipsel.ipk
    ipkg.sh install ipkg-opt_0.99.163-10_mipsel.ipk
    wget http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/uclibc-opt_0.9.28-13_mipsel.ipk
    ipkg.sh install uclibc-opt_0.9.28-13_mipsel.ipk
    ipkg update
    Mit diesem befehl siehst Du, welche Pakete installiert sind:
    Code:
    ipkg list_installed
    Sieht jetzt so aus:
    [admin@blechbuechse ipkg]$ ipkg list_installed
    ipkg-opt - 0.99.163-10 - The Itsy Package Manager
    uclibc-opt - 0.9.28-13 - micro C library for embedded Linux systems
    Successfully terminated.
    [admin@blechbuechse ipkg]$
    In Zukunft kannst Du Deine Installation mit IPKG aktuell halten.
    Einfach regelmäßig diese Befehle ausführen:
    Code:
    ipkg update
    ipkg upgrade
    7. Midnight Commander
    Ein Dateimanager.
    MC installieren:
    Code:
    ipkg install mc
    Damit MC im Terminal läuft ist noch eine Einstellung zu machen.
    Code:
    echo "export TERMINFO=/opt/share/terminfo">>/opt/etc/profile
    echo "alias mc=\"mc -c\"">>/opt/etc/profile
    Noch die profile ausführbar machen:
    Code:
    chmod +x /opt/etc/profile
    Jetzt musst Du eigentlich den Flash speichern, aber das machen wir später sowieso.

    8. Tools (kann man auch auslassen...)

    ich finde diese Tools sehr hilfreich. 1GB auf der Platte ist auch genug. Also drauf damit:
    Code:
    ipkg install coreutils
    ipkg install findutils
    ipkg install diffutils
    ipkg install screen
    ipkg install nano
    ipkg install procps
    ipkg install less
    ipkg install unzip
    ipkg install hdparm
    ipkg install man
    ipkg install man-pages
    ipkg install lynx
    ipkg install e2fslibs
    ipkg install e2fsprogs
    9. CRON
    Cron erledigt automatisierte Aufgaben für Dich.
    Code:
    ipkg install cron
    Cron Startskript anpassen bzw überprüfen:
    Code:
    vi /opt/etc/init.d/S10cron
    Und so sollte es aussehen:
    Code:
    #!/bin/sh
    #
    # Startup script for cron
    
    PIDFILE=/opt/var/run/cron.pid
    
    case $1 in
     start)
       /opt/sbin/cron
       ;;
     stop)
       [ -f ${PIDFILE} ] && kill `cat ${PIDFILE}`  ;;
       *)
       echo "usage: $0 (start|stop)"
       exit 1
    esac
    Alles speichern und einen reboot:
    Code:
    flashfs save && flashfs commit && flashfs enable && reboot
    Nach dem Neustart sollte cron in der ps-Liste sein.
    Achtung: Falls Du procps installiert hast ist der Befehl Deiner Wahl nun:
    Code:
    ps axf
    Wenn cron nicht in der Liste auftaucht solltest Du die rc.unslung überprüfen.

    Wenn etwas von cron ausgeführt werden soll musst Du es in der crontab (/opt/etc/crontab) eintragen.
    Fertig mit cron.
    Last edited by wengi; 19-07-2010 at 00:35.

  4. #4
    Join Date
    Feb 2005
    Location
    Germany - Frankfurt
    Posts
    1,548
    10. TRANSMISSION (Der Torrent Client)

    Du hast ja schon Routine. Also los gehts:
    Code:
    ipkg install transmission
    ipkg install wget
    Arbeitsverzeichnisse erstellen:
    Code:
    mkdir -p /tmp/harddisk/transmission/download
    mkdir -p /tmp/harddisk/transmission/config/blocklists
    chmod -R 770 /tmp/harddisk/transmission/
    Konfigurationsdatei:
    Code:
    vi /tmp/harddisk/transmission/config/settings.json
    Mit dem Inhalt:
    Code:
    {
        "blocklist-enabled": true,
        "dht-enabled": true,
        "download-dir": "/tmp/harddisk/transmission/download", 
        "encryption": 2, 
        "lazy-bitfield-enabled": true, 
        "open-file-limit": 64, 
        "peer-limit-global": 250, 
        "peer-limit-per-torrent": 60, 
        "peer-port": 51413, 
        "peer-port-random-enabled": false, 
        "peer-port-random-high": 65535, 
        "peer-port-random-low": 1024, 
        "peer-socket-tos": 8, 
        "pex-enabled": true, 
        "port-forwarding-enabled": false, 
        "preallocation": 1, 
        "proxy": "", 
        "proxy-auth-enabled": false, 
        "proxy-auth-password": "", 
        "proxy-auth-username": "", 
        "proxy-enabled": false, 
        "proxy-port": 80, 
        "proxy-type": 0, 
        "rpc-authentication-required": false, 
        "rpc-enabled": true, 
        "rpc-password": "", 
        "rpc-port": 9091, 
        "rpc-username": "", 
        "rpc-whitelist": "127.0.0.1,192.168.1.*", 
        "rpc-whitelist-enabled": true,
        "speed-limit-down": 500,
        "speed-limit-down-enabled": false,
        "speed-limit-up": 20,
        "speed-limit-up-enabled": true  
    }
    Mehr Konfigurationsmöglichkeiten. Die Einträge in der settings ändern sich auch hin und wieder.

    Startup Skript erstellen:
    Code:
    vi /opt/etc/init.d/S90transmission-daemon
    Inhalt:
    Code:
    #!/bin/sh
    #
    # Startup script for transmission
    
    case $1 in
     start)
            # update blocklist
            echo "updating blocklist"
            cd /tmp/harddisk/transmission/config/blocklists
            if wget -q -N --tries=3 --timeout=10 http://www.bluetack.co.uk/config/level1.gz
              then
              if test -f level1.gz; then
                 rm level1
                 gunzip level1.gz
                 chmod go+r level1
              fi
            else
              echo "Error $?. Blocklist NOT updated."
            fi
    
            # start transmission
            echo "starting transmission"
            nice /opt/bin/transmission-daemon -g /tmp/harddisk/transmission/config
       ;;
    
     stop)
            if [ -n "`pidof transmission-daemon`" ]; then
                    echo "stopping transmission"
                    kill -9 `pidof transmission-daemon`
            fi
       ;;
     restart|force-reload)
            $0 stop
            sleep 1
            $0 start
       ;;
    
     *)
            echo "usage: $0 (start|stop|restart|force-reload)"
            exit 1
    esac
    Ausführbar machen und starten
    Code:
    chmod 755 /opt/etc/init.d/S90transmission-daemon
    /opt/etc/init.d/S90transmission-daemon start
    Mit
    Code:
    ps axf
    mal überprüfen, ob der transmissiond läuft und im Browser (IE wird nicht unterstützt!) ansurfen.

    Transmission läuft
    Zum Testen ist es eine gute Idee einen (nicht mehrere) gut verfügbaren Torrent zu laden.
    Also: Torrent herunterladen. Im Webinterface auf Open drücken und die Torrent-Datei auswählen.
    Der Download befindet sich anschließend unter /tmp/harddisk/transmission/download.

    Transmission benutzt standardmäßig Port 51413.
    Mehr Info zu transmission gibt es hier: http://www.nslu2-linux.org/wiki/Optware/Transmission

    11. Logrotate für das Syslog
    Installieren:
    Code:
    ipkg install logrotate
    Ordner für das Syslog erstellen (nicht mehr /tmp)
    Code:
    mkdir -p /opt/var/log/
    Die crontab bearbeiten
    Code:
    vi /opt/etc/crontab
    und diese Zeile eingefügen:
    0 0 * * * admin /opt/sbin/logrotate -f /opt/etc/logrotate.conf &>/dev/null
    Logrotate bearbeiten:
    Code:
    vi /opt/etc/logrotate.conf
    Den Inhalt komplett damit ersetzen:
    compress

    /opt/var/log/syslog.log {
    size 1024k
    weekly
    rotate 9
    postrotate
    killall -HUP syslogd
    endscript
    }

    include /opt/etc/logrotate.d
    Damit der Syslog startet:
    Code:
    vi /opt/etc/init.d/S05syslogd
    Muss so aussehen:
    Code:
    #!/bin/sh
    #
    # Startup script for syslog
    #
    PATH=/opt/bin:/opt/sbin:/opt/local/bin:/sbin:/bin:/usr/bin:/usr/sbin
    
    LOGFILE=syslog.log
    KERNLOGFILE=kern.log
    LOG_OLD=/tmp
    LOG_NEW=/opt/var/log
    
    prefix=""
    sbindir=${prefix}/sbin
    
    NAME=syslogd
    DAEMON=${sbindir}/${NAME}
    DESC="syslogd"
    OPTIONS="-m 0 -O $LOG_NEW/$LOGFILE -S -l 7 -s 0"
    
    case "$1" in
    start0)
    printf "Starting ${DESC}: "
    # Copy old syslog and create symlink to new
    if [ ! -L /tmp/syslog.log ]; then
    cat $LOG_OLD/$LOGFILE >> $LOG_NEW/$LOGFILE
    mv $LOG_OLD/$LOGFILE $LOG_NEW/$KERNLOGFILE
    ln -s $LOG_NEW/$LOGFILE $LOG_OLD/$LOGFILE
    fi
    ${DAEMON} ${OPTIONS}
    printf "${NAME}.\n"
    logger -t ${NAME} "started."
    ;;
    stop)
    if [ -n "`pidof syslogd`" ]; then
    printf "Stopping ${DESC}: "
    killall "${NAME}"
    printf "${NAME}.\n"
    fi
    ;;
    start|restart|force-reload)
    $0 stop
    sleep 1
    $0 start0
    ;;
    *)
    printf "Usage: $0 {start|stop|restart|force-reload}\n" >&2
    exit
    ;;
    esac
    
    exit 0
    Und muss ausführbar sein:
    Code:
    chmod +x /opt/etc/init.d/S05syslogd
    Sicherheitshalber speichern und reboot:
    Code:
    flashfs save && flashfs commit && flashfs enable && reboot
    Last edited by wengi; 30-09-2011 at 16:31.

  5. #5
    Join Date
    Feb 2005
    Location
    Germany - Frankfurt
    Posts
    1,548
    12a. original SAMBA
    Samba dient der Darstellung der angeschlossenen Festplatte im Windows Netzwerk.
    Ab der -9er Firmware wird die von Oleg integrierte Samba Version genutzt werden.
    Also Im Webinterface unter USB Application -> Samba die nötigen Einstellungen machen.

    Am einfachsten Samba File Shares auf "All partitions" und Default Access Level auf "read/write".
    Hostname und Workgroup eingeben und gut ist's.

    12b. IPKG SAMBA
    Ich empfehle jedem die Installation von Samba nach obigem Kapitel. Die jetzt folgende Version ist für diejenigen, die mehr Flexibilität benötigen.
    Das original Samba muss im Webinterface abgeschaltet sein und bleiben!

    Los gehts:
    Code:
    ipkg install xinetd
    ipkg install samba2
    Dann muss die Datei /opt/etc/init.d/S10xinetd noch an die neue rc.unslung mit start|stop angepasst werden:
    Code:
    vi /opt/etc/init.d/S10xinetd
    Der Inhalt sieht so aus:
    Code:
    #! /bin/sh
    #
    # Startup script for xinetd
    #
    prefix=/opt
    sbindir=${prefix}/sbin
    
    NAME=xinetd
    DAEMON=${sbindir}/${NAME}
    DESC="xinetd"
    PIDFILE="/var/run/xinetd.pid"
    OPTIONS="-pidfile $PIDFILE"
    CONFDIR="/opt/etc/xinetd.d"
    
    # installation check
    test -x ${DAEMON} || exit 0
    
    case "$1" in
        start)
            if [ -z "`pidof ${NAME}`" ] ; then
                printf "Starting ${DESC}: "
                ${DAEMON} ${OPTIONS}
                printf "${NAME}.\n"
            fi
        ;;
        stop)
            if [ -n "`pidof ${NAME}`" ]; then
              printf "Stopping ${DESC}: "
              kill -SIGTERM `cat $PIDFILE`
              printf "${NAME}.\n"
              for i in ${CONFDIR}/* ; do
                if [ -n "`grep "^[[:space:]]*disable[[:space:]]*=[[:space:]]*no" ${i}`" ] ; then
                  daemon="`basename $(awk -F= '/^[[:space:]]*server[[:space:]]*=[[:space:]]*.*/{print $2}' ${i})`"
                  printf "Stopping ${daemon}: "
                  kill "`pidof ${daemon}`" > /dev/null 2>&1
                  printf "${daemon}.\n"
                fi
              done
            fi
        ;;
        reload|reconfigure)
            if [ -n "`pidof ${NAME}`" ]; then
                printf "Reloading ${DESC}: "
                kill -SIGHUP `cat $PIDFILE`
                printf "${NAME}.\n"
            fi
        ;;
        restart|force-reload)
            $0 stop
            sleep 1
            $0 start
        ;;
        *)
            printf "Usage: $0 {start|stop|reload|reconfigure|restart|force-reload}\n" >&2
            exit
        ;;
    esac
    
    exit 0
    Um das klarzustellen: xinetd stoppen beendet auch alle registrierten Services. xinetd restart beendet die registrierten Services und startet lediglich xinetd selbst.

    Die conf für swat bearbeiten:
    Code:
    vi /opt/etc/xinetd.d/swat
    In dieser Datei IP Adresse / Netz anpassen und den user auf admin ändern! ("user = admin")

    Speicher, reboot:
    Code:
    flashfs save && flashfs commit && flashfs enable && reboot
    Jetzt sollte xinetd und samba (smbd und nmbd) laufen.
    Samba muss allerdings noch konfiguriert werden. Dazu gibt es eine eigenes Webinterface:
    Code:
    http://IP.ADRESSE.DES.ASUS:901
    In den "Globals" folgende Einstellungen:
    - "workgroup" anpassen
    - "netbios name" Name des Asus (bei mir blechbuechse).
    - "hosts allow" sollte Dein eigenes Netz sein, z.B. "192.168.1." (Letzte Nummer weglassen)
    - "guest account" ist 'admin'.
    Änderungen speichern mit "Commit Changes".
    Änderungen in Globals benötigen einen reboot.

    Jetzt die "Shares":
    - Neben "create share" trägst Du "torrent" ein und drückst "create share".
    - "comment": "torrent files"
    - "path": "/tmp/harddisk/torrent"
    - "read only" NO
    - "guest ok" YES
    - "browseable" YES
    - Drücke "commit changes".
    Für jede freigabe musst Du diese Schritte durchführen.

    Änderungen werden sofort gültig. Ohne Reboot.
    Jetzt solltest Du den Asus in Deiner Arbeitsgruppe sehen.
    fertig.
    Last edited by wengi; 13-12-2008 at 23:32.

  6. #6
    Join Date
    Feb 2005
    Location
    Germany - Frankfurt
    Posts
    1,548
    13. NLOAD
    Mit nload kann man sich die Netzwerkaktivität ansehen.

    Code:
    ipkg install nload
    Für ein DSL 2000 wäre dies hier eine gute Startoption:
    Code:
    nload -t 200 -s 7 -i 2048 -o 256 -u H eth1
    Erklärung:
    -t: Aktualisierungsrate in ms
    -s: smoothness [1-9], 1 means average over litte, 9 over long time
    -i: sets scale for incoming traffic, in kBit/s
    -o: sets scale for outgoing traffic, in kBit/s
    -u: sets units, see helppage -h for more details
    14. Profil anpassen
    Um das Leben auf der Kommandozeile etwas zu vereinfachen fügst Du jetzt noch ein paar aliase (<- ist das Plural richtig?) ein.
    Noch folgende Datei anpassen:
    Code:
    vi /opt/etc/profile
    Inhalt:
    # Some alias for making life easier
    # To start nload with DSL 6000 settings: 'nld'
    alias nld="nload -t 200 -s 7 -i 6656 -o 640 -u H eth1"

    # Make ls default -la with color coding
    alias ls="ls --color=auto -la"

    # Make pss a grep ps function
    alias pss="ps axf | grep"

    # df human readable (Only works with coreutils installed!)
    # alias df="df -h"
    Falls Du Midnight Commander installiert hast stehen noch zwei Zeilen mehr aus Kapitel 6 drin.

    Ausführbar machen:
    Code:
    chmod +x /opt/etc/profile
    Speichern, reboot:
    Code:
    flashfs save && flashfs commit && flashfs enable && reboot
    Die Einstellungen lassen sich in der Shell durch Eingabe von 'alias' überprüfen:
    [admin@blechbuechse root]$ alias
    ls='ls --color=auto -la'
    nld='nload -t 200 -s 7 -i 6656 -o 640 -u H eth1'
    pss='ps axf | grep'
    [admin@blechbuechse root]$
    15. SSH login automatisieren
    Bisher musst Du bei jedem login Benutzernamen und Passwort angeben. Ich vermute Du bist genau so faul wie ich. Also machen wir das jetzt über Schlüssel.
    Als erstes erstellst Du Dir auf Deinem PC einen Schlüssel. Dies geht mit PuttyGen.
    Starten, Generate drücken und so lange mit der Maus wackeln bis der Schlüssel erstellt ist.
    Im Feld "Key comment" noch den Namen des Rechners oder des Schlüsselbesitzers eingeben (dient bei mehreren Schlüsseln zur Identifikation).

    Den privaten Schlüssel als Datei speichern:
    Um den Schlüssel auf Deinem Rechner zu schützen kann er mit einem passphrase geschützt werden. Dies dient der Sicherheit des Schlüssels.
    Du musst selbst wissen, ob Du einen Passphrase verwenden willst oder nicht. Wenn Du jetzt keine Idee hast: Verwende einen beliebigen passphrase!
    Mit "Save private Key" den privaten Schlüssel in eine Datei auf Deinem Rechner kopieren. (z.B. C:\keys\meiner.ppk)

    Den öffentlichen Schlüssel auf dem Router speichern:
    Aus dem oberen, grauen Feld den Schlüssel in die Zwischenablage kopieren. Der Schlüssel sieht zum Beispiel so aus:
    ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAn+NorNZlb9xhogR2DfNq6R qRg04KKXm2t4WIxj/0NWxjOVUAg4fFl2diA+3+f7gjIPdyEJnGUhkfgckYqhfMoZswr TjtvjP00p5O/LPcvGxzpy0XOBty1NQjcYOrOMC6BFrp6Rh0cVThF+sdAYXogn6 w49GOoSvKdgcTLCDubyM= testschluessel
    DEIN SCHLUESSEL SOLLTE ANDERS AUSSEHEN. DIES IST NUR EIN BEISPIEL.

    Zunächst benötigst Du ein .ssh Verzeichnis im Home Verzeichnis des Users admin (heisst zwar root, ist aber admin...):
    Code:
    mkdir /usr/local/root/.ssh
    In diesem Verzeichnis muss nun der Schlüssel des/der Clientcomputer/s als Datei abgespeichert werden.
    Code:
    vi /usr/local/root/.ssh/authorized_keys
    Den Schlüssel aus der Zwischenablage in die Datei kopieren. Eine Zeile pro Schlüssel, keine Umbrüche!
    Du kannst für mehrere Benutzer / Computer auch mehrere Schlüssel in diese Datei einfügen. Einfach jeden Schlüssel in eine neue Zeile.

    Da sich das im Flash befindet muss der flash gesichert werden:
    Code:
    flashfs save && flashfs commit && flashfs enable && reboot
    Nach dem Neustart noch
    Putty einrichten:
    Unter "Connection - Data" bei "Auto-login username" Folgendes eintragen: admin
    Unter "Connection - SSH - Auth" bei "Private key file for authentication" Die oben gespeicherte Datei angeben (z.B. C:\keys\meiner.ppk)
    Speichern nicht vergessen (Session - Save)

    Jetzt sollte Dein Login so aussehen:
    Using username "admin".
    Authenticating with public key "testschluessel"
    [admin@blechbuechse root]$
    Optional: Login per Passwort deaktivieren
    Mit der Option "dropbear -s" wird die Anmeldung mit Passwort abgeschaltet. Somit ist nur noch eine Anmeldung mit Schluesseln möglich.
    Um dropbear mit diese Option zu starten musst Du die /usr/local/sbin/post-boot bearbeiten.
    Einfach hinter dropbear ein "-s" anfügen.

    Danach speichern des Flash und Neustart nicht vergessen.

    16. SSH Port freischalten (wenn Router direkt verbunden)
    Um auch über das Internet auf den Router zugreifen zu können muss der Port 22 in der Firewall freigeschaltet werden. Wenn Du mit dem Asus Router die Internetverbindung herstellst (Home Gateway- und nicht Access Point Modus) kannst Du das direkt am Asus erledigen. Die Firewall ist iptables.
    Bemerkung: Dies ist ein Sicherheitsrisiko! Stelle sicher für Deine Benutzer zumindest sehr sichere Passwörter zu definieren!!! Schau Dir DIES für eine sichere dropbear Konfiguration an (nur englisch).

    Einfach in die /usr/local/sbin/post-firewall Folgendes eintragen:
    Code:
    #!/bin/sh
    # this opens the ssh port to internet! Be sure to have strong passwords!
    iptables -I INPUT -m tcp -p tcp --dport 22 -j ACCEPT
    Und natürlich wie immer speichern nicht vergessen!
    Hinweis: Über den obigen iptables Befehl lassen sich natürlich auch andere Ports freischalten.
    Last edited by wengi; 04-10-2009 at 13:28.

  7. #7
    Quote Originally Posted by wengi View Post
    Jetzt wird die Uhrzeit beim Starten aus der Echtzeituhr übernommen.
    Problem: Sie muss beim Herunterfahren auch gespeichert werden. Daran arbeite ich noch.
    Ich würde gerne nochmal auf das Problem mit dem Stellen der Echtzeituhr zurückkommen (Item 10b im HowTo), das scheint ja noch nicht gelöst zu sein. Ich habe selbst mal gegoogelt und noch einige Threads zu dieser Frage gefunden. Es scheint aber tatsächlich in den ganzen Jahren noch niemand den Trick herausgefunden zu haben...

    Darum bin ich auf folgende Idee gekommen: Im Prinzip ist es ja egal, auf welche Zeit die RTC (= Hardware-Echtzeituhr) eingestellt ist, Hauptsache sie läuft. Wenn man nämlich die Differenz der RTC-Zeit zur wirklichen Zeit kennt, dann braucht man diese nur beim Hochfahren, wenn die Systemzeit gestellt wird, entsprechend berücksichtigen und es passt wieder. Damit man diese Zeitdifferenz, die ja mehr oder weniger konstant bleibt, beim Systemstart zur Verfügung hat, müsste man sie (beim Herunterfahren) einfach in einer Datei ablegen - nachdem man die RTC-Zeit zwischendurch einmal mit der wirklichen Zeit (z.B. von einem Internet-Zeitserver) verglichen hat.

    Mit einer praktischen Umsetzung dieser Idee kann ich leider nicht dienen, da so etwas mit Linux-Shell-Scripts wohl nicht ganz trivial wäre und da bin ich leider kein Experte. Aber vielleicht nimmt sich ja wengi (an dieser Stelle nochmal Danke für dieses Super-HowTo) oder ein anderer Linux-Könner der Sache an...
    Last edited by jojo_m; 02-05-2007 at 20:24.

  8. #8
    Join Date
    Nov 2005
    Location
    Germany
    Posts
    423

    Fragen zur SAMBA-Konfiguration mit SWAT-WebGui.

    Hallo,
    Quote Originally Posted by wengi View Post
    10. SAMBA2
    - Bei "hosts allow" Dein Subnetz angeben. z.B. "192.168.1." (Die letzte Zahl weglassen)
    Dann können keine PC´s aus einem benachbarten Subnetz auf die Freigaben zugreifen, sondern nur die PC´s aus dem angegebenen Subnetz?

    Quote Originally Posted by wengi View Post
    - Bei "guest account" einfach 'admin' eintragen.
    Ist das immer so zu machen?
    Quote Originally Posted by wengi View Post
    Änderungen an den Globals" benötigen einen Neustart.
    Ein Neustart der gesamten WL-HDD oder "nur" das Samba-Servers?
    Wenn nur des Samba-Servers "reicht", dann wie?

    Gruß.

    PS:
    Habe das hier gefunden zum Samba - Neustarten:
    SAMBA neu starten:
    Code:
    SAMBA neu starten:
    
    Bei den meisten Distributionen solte follgender Befehl, SAMBA beenden und neu starten.
    
    /etc/rc.d/init./smb restart <Enter>
    
    Natürlich kann man auch, wie unter zweitklassigen Systemen gewohnt, den Rechner neu starten.
    
    reboot <Enter>
    
    oder
    
    shutdown -r now <Enter>
    Funktioniert leider nicht so richtig.

    Habe das gefunden:
    Code:
    find | grep init | grep samba
    ./opt/etc/init.d/S80samba
    Geht es damit?

    Ist es bei der WL-HDD hier zu finden:
    Code:
    /opt/etc/init.d/ S80samba
    weil an Debian angeleht ist?

    Kann ich dann:
    Code:
    cd /opt/etc/init.d
    Code:
    ./S80samba status
    Stopping nmbd:
    Starting smbd:
    Starting nmbd:
    Code:
    ./S80samba stop
    Stopping smbd:
    Stopping nmbd:
    Starting smbd:
    Starting nmbd:
    Code:
    ./S80samba start
    Stopping smbd:
    Stopping nmbd:
    Starting smbd:
    Starting nmbd:
    Code:
    ./S80samba restart
    Stopping smbd:
    Stopping nmbd:
    Starting smbd:
    Starting nmbd:
    machen? Und müsste da was paassiern?


    So ein Tip!
    Problem:
    - Im Explorer unter:
    Netzwerkumgebung => Gesamtes Netzwerk => Microsoft Windows-Netzwerk => eure Workgroup => eure WL-HDD
    anklicken ging, kamm auch Login+PW Abfrage, aber die wurde immer verweigert. :-( Mist. Warum? Wird wohl Windows nicht mal wissen.
    Lösung:
    - Im Explorer unter:
    Extras => Netzlaufwerk verbinden => Ordner \\IP.Eurer.WLAN.WL-HDD\FreigabenamedesfreigegebenenOrdners
    Anderer Benutzter klicken. !!!
    Loginfenster ausfüllen mit PW + Login.
    Fertig.

    Warum das geht und das andere nicht? Hmm, wer weiß.

    So die SAMBA-Konfigurations-Datei liegt übrigens unter: /opt/etc/samba/smb.conf

    Gruß.
    Last edited by WLAN-Fan; 16-01-2008 at 17:02. Reason: Erweitert

  9. #9
    apropos mit der neuen transmission version 1.50 sind auch ein paar weitere Einstellungen dazu gekommen die eventuell für den ein oder anderen interessant sein könnten...
    {
    "blocklist-enabled": 1,
    "download-dir": "/tmp/harddisk/transmission/download",
    "download-limit": 200,
    "download-limit-enabled": 1,
    "encryption": 2,
    "lazy-bitfield-enabled": 1,
    "message-level": 2,
    "open-file-limit": 32,
    "peer-limit-global": 240,
    "peer-limit-per-torrent": 60,
    "peer-port": 51413,
    "peer-port-random-enabled": 1,
    "peer-port-random-high": 65535,
    "peer-port-random-low": 1024,
    "peer-socket-tos": 8,
    "pex-enabled": 1,
    "port-forwarding-enabled": 1,
    "preallocation": 1,
    "proxy": "",
    "proxy-auth-enabled": 0,
    "proxy-auth-password": "",
    "proxy-auth-username": "",
    "proxy-enabled": 0,
    "proxy-port": 80,
    "proxy-type": 0,
    "rpc-authentication-required": 0,
    "rpc-enabled": 1,
    "rpc-password": "trans",
    "rpc-port": 9091,
    "rpc-username": "root",
    "rpc-whitelist": "127.0.0.*,192.168.178.*",
    "rpc-whitelist-enabled": 1,
    "upload-limit": 150,
    "upload-limit-enabled": 1,
    "upload-slots-per-torrent": 14
    }

    cheers

  10. #10
    Join Date
    Jul 2007
    Location
    Germany, Bonn
    Posts
    374

    cron

    Hallo,

    so habe nun auch mal nach neuem HowTo (fstab, transmission etc.) aufgesetzt. Klappte wie gewohnt hervorragend. Danke Wengi!

    Nur mit der Cron hab ich so meine liebe Mühe, vielleicht könnt Ihr mir auf die Sprünge helfen.

    Ich denke der Dienst läuft (siehe ps). Nur leider fürhrt die Cron keine Aufgaben aus. Meine crontab sieht wie folgt aus:

    Code:
    SHELL=/bin/sh
    PATH=/sbin:/bin:/usr/sbin:/usr/bin:/opt/sbin:/opt/bin
    MAILTO=""
    HOME=/
    # ---------- ---------- Default is Empty ---------- ---------- #
    
    */5 * * * *    root    /opt/test/testcron
    Code:
    [admin@ASUS_WL500GP cron.5mins]$ ps
      PID  Uid     VmSize Stat Command
        1 admin       640 S   /sbin/init
        2 admin           SW  [keventd]
        3 admin           SWN [ksoftirqd_CPU0]
        4 admin           SW  [kswapd]
        5 admin           SW  [bdflush]
        6 admin           SW  [kupdated]
        7 admin           SW  [mtdblockd]
       59 admin       316 S   telnetd
       64 admin       380 S   httpd vlan1
       69 admin       408 S   syslogd -m 0 -O /tmp/syslog.log -S -l 7
       70 admin       364 S   klogd
       73 admin       552 S   nas /tmp/nas.lan.conf /tmp/nas.lan.pid lan
       75 nobody      496 S   [dnsmasq]
       77 admin           SW  [khubd]
       86 admin       276 S   lpd
       88 admin       260 S   p9100d -f /dev/usb/lp0 0
       91 admin       340 S   waveservermain
       93 admin       344 S   rcamdmain
       97 admin           SW  [usb-storage-0]
       98 admin           SW  [scsi_eh_0]
      108 admin       428 S   udhcpc -i vlan1 -p /var/run/udhcpc0.pid -s /tmp/udhcp
      109 admin       680 S   pppd file /tmp/ppp/options.wan0
      111 admin       312 S   infosvr br0
      112 admin       480 S   watchdog
      114 admin       344 S   ntp
      132 admin       356 S   dropbear
      145 admin           SW  [kjournald]
      146 admin           SW  [kjournald]
      157 admin       408 S   /opt/sbin/cron
      166 admin       568 S   /opt/sbin/xinetd -pidfile /var/run/xinetd.pid
      176 admin      1300 S   /opt/sbin/smbd -D
      178 admin       968 S   /opt/sbin/nmbd -D
      185 admin      2512 S   /opt/bin/transmission-daemon -g /tmp/harddisk/transmi
      186 admin      2512 S   /opt/bin/transmission-daemon -g /tmp/harddisk/transmi
      187 admin      2512 S   /opt/bin/transmission-daemon -g /tmp/harddisk/transmi
      193 admin       476 S   upnp -D -L br0 -W ppp0
      210 admin       692 S   dropbear
      211 admin       572 S   -sh
      249 admin      1672 S   /opt/sbin/smbd -D
      266 admin       396 R   ps
    Da sollte doch eigentlich die die testcron ausgeführt werden. Ebenfalls habe ich versucht die crontab wie "früher" aufzusetzen (run-parts). Funktioniert auch nicht. Wird die run-parts-Methode nicht mehr unterstüzt.

    Für jede Hilfe bin ich dankbar.
    Schönen Abend!!
    Regards / Grüße,
    Oliver

    [How-To] Sane Scanner-Server mit XSane Frontend "german"
    [How-To] Sane Scanner-Server with XSane Frontend "english"

    Router: Wl500gP v1 nach Wengi's HowTo mit FW 1.9.2.7-d-r599
    Speicher: Trekstor DataStation maxi 1 Tb
    Clients: Kathrein UFS910 FullHD Sat Receiver, PS3, PCs, Canon MP830 an Sane Scanner-Server, Kyocera-Mita FS1020D über Printserver

  11. #11
    Join Date
    Nov 2005
    Location
    Germany
    Posts
    423

    Frage zu fdisk: Punkt 4a. Festplatte Partitionieren und Formatieren

    Frage zu fdisk: Punkt 4a. Festplatte Partitionieren und Formatieren

    Hallo,
    Danke wengi für das super HowTo! :-) Respekt! so macht das Spaß!
    Quote Originally Posted by wengi View Post
    [SIZE="4"]Swap anlegen: n -> p -> 1 -> 'return' -> +512M -> t -> 82
    Kann es unterschiedliche fdisk-Versionen geben?
    Bei meinem ersten Versuch nach deinen Schritten eine 30 GB Platte zu partitionieren habe ich irgendwie ein SWAP gehabt die 0 byte groß war.


    Jetzt versuche ich das nochmal,
    kannst du eventuell das etwas genauer noch erklären oder kann / muß? anstatt von
    +512M
    den ersten Cylinder
    First cylinder (1-3648, default 1): 1
    angeben und dann den um auf die 512 MegaByte zu kommen?
    Partition number (1-4): 1
    First cylinder (1-3648, default 1): 1
    Last cylinder or +size or +sizeM or +sizeK (1-3648, default 3648):
    Könntest du dort noch ein par OUOTE einfügen wie das ganze aussehen muß wenn es fertig ist oder Zwischenschritte. Irgendwie ist das nicht ganz gelaufen wie bei dir oder ich habe es falsch interpretiert das was ich als Kontrolle mit deinem verglichen habe.

    Gruß WLAN-Fan.


    Edit:

    Oder kann es sein das:
    Quote Originally Posted by wengi View Post
    [SIZE="4"]Swap anlegen: n -> p -> 1 -> 'return' -> +512M -> t -> 82
    so
    Quote Originally Posted by WLAN-Fan
    Swap anlegen: n -> p -> 1 -> 1 -> 'return' -> +512M -> t -> 82
    heissen muß?

    Zweimal die 1?
    Einmal für die Partition 1 wählen und einmal für den ersten Cylinder?
    Oder welchen Cylinder soll man nehmen?
    Werden eventuell die ersten Cylinder für den Bootsektor reserverit und müssen frei gelassen werden?
    Oder ist das hier egal weil wir ja nicht von der IDE-Platte das System booten und so die komplette IDE-Platte als Datenspeicher nehmen können und so auch den Platz den sonnst der Bootsektor belegen würde?







    So sah das bei mir aus:
    fdisk /dev/discs/disc0/disc

    Command (m for help): p

    Disk /dev/discs/disc0/disc: 30.0 GB, 30005821440 bytes
    255 heads, 63 sectors/track, 3648 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes

    Device Boot Start End Blocks Id System

    Command (m for help): n
    Command action
    e extended
    p primary partition (1-4)
    p
    Partition number (1-4): 1
    First cylinder (1-3648, default 1): 1
    Last cylinder or +size or +sizeM or +sizeK (1-3648, default 3648): +512M

    Command (m for help):
    Irgendwas stimmt da aber noch nicht ganz oder?
    Last edited by WLAN-Fan; 07-11-2007 at 20:24.

  12. #12
    @wlan-fan:
    müsste eigentlich schon so stimmen.
    danach fdisk mit w beendet?

    und das hast du dann schon auch gemacht?
    Code:
    mkswap /dev/discs/disc0/part1
    swapon /dev/discs/disc0/part1
    Grüße, Strubbl

  13. #13
    Join Date
    Feb 2005
    Location
    Germany - Frankfurt
    Posts
    1,548
    Mal so aus dem Kopf:
    Partitionsnummer (1) -> erster Cylinder (1) -> letzter Cylinder (+512) -> usw
    Es kann also sein, dass das ein Fehler im Tut ist.

    Oder kann es sein das:
    Swap anlegen: n -> p -> 1 -> 'return' -> +512M -> t -> 82
    so
    Swap anlegen: n -> p -> 1 -> 1 -> 'return' -> +512M -> t -> 82
    heissen muß?
    Das könnte sein.

    Teste das bitte nochmal und gib mir ein Feedback.

    wengi
    Übersicht aller HowTos --- HowTo Overview (mostly german)
    WL-HDD mit diesem Setup. --- WL-HDD with this setup.
    Kein Support per PM - Frage im jeweiligen Thread! --- No support via pm - ask in the according thread!
    Eine wirklich gute Idee erkennt man daran, dass ihre Verwirklichung von vorne herein ausgeschlossen erscheint. (Albert Einstein)

  14. #14
    Quote Originally Posted by wengi View Post
    Mal so aus dem Kopf:
    Partitionsnummer (1) -> erster Cylinder (1) -> letzter Cylinder (+512) -> usw
    naja, ob man bei der Abfrage für den 1. Zylinder die eins von Hand eingibt, oder einfach den default-value (1) mit return bestätigt, dürfte egal sein.

    bin trotzdem auch gespannt auf die Auflösung

  15. #15
    Join Date
    Nov 2005
    Location
    Germany
    Posts
    423

    Ergänzung zu: 4a. Festplatte Partitionieren und Formatieren

    Weiterführende Ergänzung zu:
    4a. Festplatte Partitionieren und Formatieren


    Hallo,

    hier so wie ich es gemacht habe:
    - Ich mußte bei der ersten Partition einmal eine
    1 angeben für die erste Partion und dann Enter / Return drücken und dann eine
    Quote Originally Posted by WLAN-Fan
    Partition number (1-4): 1
    1 angeben für den ersten Cylinder.
    Quote Originally Posted by WLAN-Fan
    First cylinder (1-3648, default 1): 1
    Eventuell das bitte im HowTo unter Pukt 4 noch ändern / ergänzen oder einfach eine Link auf diesen Post setzten, wie z.B.
    genauer hier: oder so.

    Erstellen der ersten (1.ten) Partition:
    Quote Originally Posted by WLAN-Fan
    Command (m for help): m
    Command action
    a toggle a bootable flag
    b edit bsd disklabel
    c toggle the dos compatibility flag
    d delete a partition
    l list known partition types
    m print this menu
    n add a new partition
    o create a new empty DOS partition table
    p print the partition table
    q quit without saving changes
    s create a new empty Sun disklabel
    t change a partition's system id
    u change display/entry units
    v verify the partition table
    w write table to disk and exit

    Command (m for help): p

    Disk /dev/discs/disc0/disc: 30.0 GB, 30005821440 bytes
    255 heads, 63 sectors/track, 3648 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes

    Device Boot Start End Blocks Id System

    Command (m for help): n
    Command action
    e extended
    p primary partition (1-4)
    p
    Partition number (1-4): 1
    First cylinder (1-3648, default 1): 1
    Last cylinder or +size or +sizeM or +sizeK (1-3648, default 3648): +512M

    Command (m for help): t
    Selected partition 1
    Hex code (type L to list codes): 82
    Changed system type of partition 1 to 82 (Linux swap)
    Überprüfen dieses Schrittes:
    Quote Originally Posted by WLAN-Fan
    Command (m for help): p

    Disk /dev/discs/disc0/disc: 30.0 GB, 30005821440 bytes
    255 heads, 63 sectors/track, 3648 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes

    Device Boot Start End Blocks Id System
    /dev/discs/disc0/part1 1 63 506016 82 Linux swap
    Erstellen der zweiten (2.ten) Partition:
    Quote Originally Posted by WLAN-Fan
    Command (m for help): n
    Command action
    e extended
    p primary partition (1-4)
    p
    Partition number (1-4): 2
    First cylinder (64-3648, default 64): 64
    Last cylinder or +size or +sizeM or +sizeK (64-3648, default 3648): +1024M
    Überprüfen dieses Schrittes:
    Quote Originally Posted by WLAN-Fan
    Command (m for help): p

    Disk /dev/discs/disc0/disc: 30.0 GB, 30005821440 bytes
    255 heads, 63 sectors/track, 3648 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes

    Device Boot Start End Blocks Id System
    /dev/discs/disc0/part1 1 63 506016 82 Linux swap
    /dev/discs/disc0/part2 64 188 1004062+ 83 Linux
    Erstellen der dritten (3.ten) Partition:
    Quote Originally Posted by WLAN-Fan
    Command (m for help): n
    Command action
    e extended
    p primary partition (1-4)
    p
    Partition number (1-4): 3
    First cylinder (189-3648, default 189): 189
    Last cylinder or +size or +sizeM or +sizeK (189-3648, default 3648):
    Using default value 3648
    Überprüfen dieses Schrittes:
    Quote Originally Posted by WLAN-Fan
    Command (m for help): p

    Disk /dev/discs/disc0/disc: 30.0 GB, 30005821440 bytes
    255 heads, 63 sectors/track, 3648 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes

    Device Boot Start End Blocks Id System
    /dev/discs/disc0/part1 1 63 506016 82 Linux swap
    /dev/discs/disc0/part2 64 188 1004062+ 83 Linux
    /dev/discs/disc0/part3 189 3648 27792450 83 Linux
    So und jetzt das speichern nicht vergessen!


    Überprüfen dieses Schrittes:
    Quote Originally Posted by WLAN-Fan
    Command (m for help): w
    The partition table has been altered!

    Calling ioctl() to re-read partition table.

    WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
    The kernel still uses the old table.
    The new table will be used at the next reboot.
    Syncing disks.
    Überprüfen ob alles geklappt hat:
    Quote Originally Posted by WLAN-Fan
    [admin@Willi /]$ fdisk -l

    Disk /dev/ide/host0/bus0/target0/lun0/disc: 30.0 GB, 30005821440 bytes
    255 heads, 63 sectors/track, 3648 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes

    Device Boot Start End Blocks Id System
    /dev/ide/host0/bus0/target0/lun0/part1 1 63 506016 82 Linux swap
    /dev/ide/host0/bus0/target0/lun0/part2 64 188 1004062+ 83 Linux
    /dev/ide/host0/bus0/target0/lun0/part3 189 3648 27792450 83 Linux
    So ich hoffe das stimmt auch alles so wie ich das hier geschrieben habe, ansonnsten bitte korregieren! :-)
    Desweiteren hoffe ich anderen "Einsteigern" wie mir so etwas helfen gekonnt zu haben.

    So jetzt habe ich nur noch ein Problem für mich festgestellt.
    Bei meinen erstern Versuchen habe ich versehentlich eine ca. 168 MB große Partion als Swap angelgt und auch mit
    mkswap /dev/discs/disc0/part1
    swapon /dev/discs/disc0/part1
    weitergearbeitet.

    Nun habe ich eine 500 MB SWAP-Partition:
    Quote Originally Posted by WLAN-Fan
    [admin@Willi /]$ fdisk -l

    Disk /dev/ide/host0/bus0/target0/lun0/disc: 30.0 GB, 30005821440 bytes
    255 heads, 63 sectors/track, 3648 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes

    Device Boot Start End Blocks Id System
    /dev/ide/host0/bus0/target0/lun0/part1 1 63 506016 82 Linux swap
    /dev/ide/host0/bus0/target0/lun0/part2 64 188 1004062+ 83 Linux
    /dev/ide/host0/bus0/target0/lun0/part3 189 3648 27792450 83 Linux
    und dann mit den Befehlen
    mkswap /dev/discs/disc0/part1
    swapon /dev/discs/disc0/part1
    weitergemacht.

    Bekomme aber mit
    Quote Originally Posted by WLAN-Fan
    [admin@Willi /]$ free
    total used free shared buffers
    Mem: 13908 12272 1636 0 1452
    Swap: 168672 0 168672
    Total: 182580 12272 170308
    nur die 168672 angezeigt.

    Wie kann ich das ändern?
    Hat sich dann nach einem Neustart auch geklärt gehabt!
    Was zu beachten ist:
    Wenn nach einem neustart du sofrt free eingibst kann es sein das der SWAP noch fehlt, etwas warten und nochmal testen und dann sollt er auch da sein.

    Gruß WLAN-Fan.

    PS:
    Nochmal danke an die Firmware von Oleg und an Wengi für das HowTo!
    Ach! Und dann die Frauen (wenn vorhanden) der beiden für die Gedult, ... , ihr wisst sicherlich was ich meine, oder!? ;-) .

    Bye! :-)

Page 1 of 5 123 ... LastLast

Similar Threads

  1. [HOW TO] Timeouts beim Laden von bestimmten Seiten beheben - MTU Problem
    By modnet25 in forum German Discussion - Deutsch (DE)
    Replies: 3
    Last Post: 03-09-2006, 11:55
  2. passende firmware
    By marcl in forum German Discussion - Deutsch (DE)
    Replies: 12
    Last Post: 08-05-2006, 22:25
  3. Replies: 3
    Last Post: 13-01-2006, 20:09
  4. Custom Firmware v1.1.2.7
    By JOCKYW2001 in forum WL-HDD Firmware Releases
    Replies: 59
    Last Post: 11-12-2004, 13:26
  5. Flashing Oleg's Firmware in WL HDD
    By hugo in forum WL-HDD Custom Development
    Replies: 29
    Last Post: 21-10-2004, 15:55

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •