Subversion auf Fritzbox

Der Befehl funktioniert, jedoch startet svnserve trotzdem nicht automatisch, wenn es gebraucht wird. Über SSH funktioniert einfach nichts...
 
Da mich das ganze etwas gewundert hat, habe ich das ganze auch mal versucht bei mir und muss leider zugeben, dass ich auch einen Fehler bekomme.
Wenn ich mich versuche zu verbinden, dann bekomme ich nach der PW'Abfrage einen Fehler von TortoisePlink
Code:
Unable to write to standart output (stderr)
Danach ist im RepostitoryBrowser der Fehler
Code:
Error * Connection closed unexpectedly
.


Vielleicht kann jemand das nochmal nachvoll ziehen.
Folgendes habe ich gemacht.
Ich habe unter /mnt/stick/svn/repos/testrepo ein Repo angelegt.
Starte ich den SVN-Server mit
Code:
svnserve -d -r /mnt/stick/svn/repos/
kann ich durch
Code:
svn://XXXXX/testrepo
auf das Repo zugreifen.
Dann habe ich svnserve in ein Verzeichnis des PATH verlinkt, also:
Code:
 ln -s /mnt/stick/svn/bin/svnserve /mod/usr/bin/svnserve
svnserve ist jetzt überall ausführbar:
Code:
/var/mod/root # svnserve --version
svnserve, version 1.5.5 (r34862)
   compiled Jan  5 2009, 22:49:17

Copyright (C) 2000-2008 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).

The following repository back-end (FS) modules are available:

* fs_fs : Module for working with a plain file (FSFS) repository.

/var/mod/root #
Versuche ich aber mit
Code:
svn+ssh://root@XXXXX/mnt/stick/svn/repos/testrepo
auf das Repo zuzugreifen erhalte ich obrigen Fehler.
 
Hallo zusammen,

tja, das ist seltsam... Hab es gerade nochmal bei mir probiert, und da funktioniert das problemlos. Ich werde zwar mehrfach nach dem Passwort gefragt (da vermutlich im Hintergrund für jedes Kommando die svnserve gestartet wird), aber letztlich funktioniert das.

Allerdings sei angemerkt, dass ich bei mir die Links etwas "komplizierter" drin habe, was aber auch kein Problem sein sollte. Freetz ist so gebaut, dass folgende Links existieren:
Code:
/usr/bin/svnserve -> /var/tmp/bin/svnserve

In der rc.custom lasse ich dann den Link /var/tmp/bin/svnserve auf die "echten" Binaries setzen. Ist zwar doppelt, aber funktioniert ;-)

Oder kann es ggf. sein, dass TortoiseSVN noch mehr wie die svnserve benötigt? Bei mir sind alle Binaries im Pfad (so z.B. svn).

EDIT:
@kingcaN: Was hast du für ne Box? Leg dir mal ne Signatur an. Ist das eine 7270? Vielleicht geht bei der ja was schief, denn Matze hat auch eine 7270 und ich hab die 7170...
 
ich hab mich auch mal daran versucht, was selbst zu kompilieren und bin der anleitung von oidia gefolgt.
leider bricht make im subversion-ordner ab...
Code:
/home/ubuntu/freetz-trunk/toolchain/build/gcc-4.2.1-uClibc-0.9.29/mipsel-linux-uclibc/bin-ccache/../lib/gcc/mipsel-linux-uclibc/4.2.1/../../../../mipsel-linux-uclibc/bin/ld: cannot find -lz
collect2: ld returned 1 exit status
make: *** [subversion/svn/svn] Fehler 1
mein Makefile sagt
NEON_LIBS =
SVN_APR_LIBS = /home/ubuntu/subversion/out/lib/libapr-1.la -lm -lcrypt -ldl
SVN_APRUTIL_LIBS = /home/ubuntu/subversion/out/lib/libaprutil-1.la -lexpat
SVN_DB_LIBS =
SVN_SERF_LIBS =
SVN_SASL_LIBS =
SVN_ZLIB_LIBS = -lz
stimmt da die letzte zeile oder sollte da der pfad zu einer libz-1.la oder so was stehen? ich hab da nämlich nur .so-dateien
Code:
ubuntu@ubuntu-virtual:~/subversion/out/lib$ ls
apr.exp        libapr-1.so.0.2.12      libexpat.a         libz.so.1
aprutil.exp    libaprutil-1.a          libexpat.la        libz.so.1.2.3
libapr-1.a     libaprutil-1.la         libexpat.so        pkgconfig
libapr-1.la    libaprutil-1.so         libexpat.so.0
libapr-1.so    libaprutil-1.so.0       libexpat.so.0.1.0
libapr-1.so.0  libaprutil-1.so.0.2.12  libz.so

zur info: ich compiliere mit ubuntu in der VM (virtualbox)
 
Ich habe auch die Fritz!Box 7170. Es sind auch alle Binarys im Ordner.
Es muss an etwas anderem liegen...
 
@johnnyEee: Das ist seltsam... Welche Version von Subversion versuchst du zu bauen? Sollte es die Beta von 1.6 sein: Da hatte ich mich kürzlich auch mal versucht; ging nicht. Bin aber noch nicht wieder dazu gekommen, den Fehler zu suchen.
Wenn es 1.5.x ist, sollte es eigentlich klappen (wobei ich 1.5.6 noch nicht probiert hab). Liefen die anderen "make" der libraries durch? Bei mir sieht das Makefile übrigens genauso aus... Und von der libz hab ich auch nur .so files.

@kingcaN: Und die Links sind auch da? Dann habe ich im Moment auch keine Idee :-(
 
ich wollte die 1.5.6 basteln. die anderen makes liefen problemlos. ich mach es nochmal von ganz vorne - vielleicht hab ich mich ja irgendwo vertan - und melde mich wieder.

UPDATE: hmm wieder das selbe. hab es jetzt mit der 1.5.5 getestet.
mein vorgehen: subversion-1.5.5.tar.gz und deps geladen, ausgepackt, config-scripts angepasst, 777 gemacht und in die ordner verteilt, nacheinander die configs, make und make install ausgeführt. sollte doch passen...
 
Zuletzt bearbeitet:
Code:
Error * Connection closed unexpectedly

Ich habe gerade den selben Fehler gehabt.
Habe auch die gleich Version wie du.

Ich konnte auf mein Repo immer gut zugreifen. Habe heute dann größere Dateien hochgeladen (jeweils ca. 30 MB). Dabei gab es ein Fehler und anschließend konnte ich dann das Repo nicht mehr öffnen (immer der selbe Fehler s.o.).

Auch ein Reboot brachte keinen Erfolg. Ich habe dann mal ein neues Repo angelegt und damit funktioniert es dann wieder. Durch irgendwas scheint das Repo karput gegangen zu sein. Kann man das Repo irgendwie wieder reparieren?

Kann es vielleicht daran liegen, dass ich zur Zeit noch keine Swap-Datei nutze?

Ich teste jetzt das hochspielen der größeren Dateien in dem neuen Repo, mal sehen was passiert.

EDIT:

(Die Verbindung läuft über einen SSH-Tunnel[mit PuTTY] und somit normal über "svn://". Ich habe außerdem kein Freetz installiert)

Es scheint an den größeren Dateien zu liegen.

TortoiseSVN zeigt mir folgende Fehlermeldung an:
Code:
Fehler Commit failed (details follow):
Fehler Can't write to connection: Eine vorhandene Verbindung wurde vom Remotehost geschlossen

PuTTY zeigt mir folgende Fehlermeldung an:
Code:
Network error: Software caused connection abort

Es hat sich dadurch anscheinend auch dropbear aufgehangen, zumindestens komme ich zur Zeit nicht via SSH auf meine Fritz Box.
 
Zuletzt bearbeitet:
Gibt es eine sichere alternative zu SSH? Es scheint ja keine bekannte Lösung für mein Problem zu geben.
 
Lösung wäre wohl einfach nur svn zu nutzten und für die Verschlüsselung einen SSH-Tunnel, wenns notwendig ist.
 
@johnnyEee: Eigentlich ist dein Vorgehen richtig. Ich habe es nun mal selber mit 1.5.6 probiert. Klappt problemlos. Eventuell hängt es mit Ubuntu zusammen? Ich nutze StinkyLinux in einer VM... Unten die Binaries für 1.5.6.

Habe gerade nochmal versucht, svn 1.6.0RC3 zu bauen - das klappt sogar auch unter StinkyLinux. Die zuvor erwähnten Probleme hatte ich unter SuSE. Also kann die verwendete Distribution tatsächlich der Grund für deinen Fehler sein.

@rogerssocke: Ich hab mal ca. 75 MB übertragen - läuft. Hast du viel auf deiner Box laufen? Vielleicht läuft ja das RAM voll. Swap nutze ich auch nicht, aber bei mir läuft auch nicht viel. Vielleicht ist das wirklich mal einen Versuch wert, Swap zu aktivieren.
 

Anhänge

  • svn-1.5.6.tgz
    2.8 MB · Aufrufe: 127
Ich habe außer dropbear und svn nichts gestartet.

Kann man das Repo nach so einem Fehler eigentlich noch mal reparieren?

Was passiert eigentlich wenn beim Hochladen ein normaler Verbindungsabbruch statt findet, gibt das auch Probleme? Oder muss man die letzte Datei dann nur erneut hochladen?
 
@johnnyEee: Eigentlich ist dein Vorgehen richtig. Ich habe es nun mal selber mit 1.5.6 probiert. Klappt problemlos. Eventuell hängt es mit Ubuntu zusammen? Ich nutze StinkyLinux in einer VM... Unten die Binaries für 1.5.6.
danke fürs recherchieren. in dem fall werd ich meine ersten compilierungsversuche für die freetzbox wohl erstmal zurückstellen. bin grade mit meiner abschlussarbeit beschäftigt (dafür war auch das svn gewesen) und hab das basteln an der box nur als ablenkung gebraucht;)
 
@rogerssocke: Aus Wikipedia:
Commits are true atomic operations. Interrupted commit operations do not cause repository inconsistency or corruption.
Somit sollte eine unvollständige Übertragung keine Probleme machen - Nur wenn der gesamte Commit erfolgreich war, werden die Änderungen übernommen. Sonst wird alles verworfen.

Schau mal nach, ob dir die folgenden Kommandos helfen können (ich hab sie noch nie verwendet bzw. verwenden müssen ;-))
Code:
svnadmin verify
svnadmin recover
 
Danke für den Tipp, doch leider funktioniert das nicht so ganz. Bei einem Testrepo konnte er mir das wiederherstellen. Aber mein großes Repo, konnte er auf diese weise nicht wiederherstellen. Dort erhalte ich immer folgende Fehlermeldung:
Code:
# /var/media/ftp/USB-FlashDisk-01/Programme/svn/svnadmin recover /var/media/ftp/USB-FlashDisk-01/Programme/svn/MeinRepository
Repository lock acquired.
Please wait; recovering the repository may take some time...
svnadmin: Can't check path 'MeinRepository/db/revs/0/4': Value too large for defined data type

Wo bekomme ich für Swap eigentlich Binaries her? Habe beim suchen nichts gefunden. Das was ich gefunden habe war leider schon offline. (Ohne Freetz für 7270 2.6 Kernel)
 
Hmmm, tja. Wenn ich mich da jetzt besser auskennen würde. Vielleicht hat das binary von svnadmin ja noch nen bug auf der FB :-( Vielleicht versuchst du mal, das Repo auf ein anderes System zu kopieren und dort zu reparieren. Da es im Modus FSFS läuft, sollte das übertragen durch einfaches kopieren möglich sein.

Bzgl. des Swap muß ich passen. Eigentlich würde ich behaupten, dass du kein Binary brauchst, das sollte eigentlich im Kernel stecken (oder korrigiert mich, wenn ich da falsch liege). Kann ich dir leider keinen Tip geben.
 
Bzgl. des Swap muß ich passen. Eigentlich würde ich behaupten, dass du kein Binary brauchst, das sollte eigentlich im Kernel stecken (oder korrigiert mich, wenn ich da falsch liege). Kann ich dir leider keinen Tip geben.

Früher war dies wohl wirklich mal der Fall. Mittlerweile sind die Befehle für SWAP entfernt worden.
 
Die Befehle für swap, also swapon und swapoff. Sind nicht Teil des Kernels, sondern der Busybox.
Code:
# ll /sbin/swap*
lrwxrwxrwx    1 root     root           14 Mar  7 21:19 /sbin/swapoff -> ../bin/busybox
lrwxrwxrwx    1 root     root           14 Mar  7 21:19 /sbin/swapon -> ../bin/busybox
Sollten diese bei dir nicht verlinkt sein kannst du es mal mit
Code:
# busybox swapon /path/to/file
veruschen.
Geht das auch nicht, dann wurde die Busybox ohne die Appletts erstellt und du musst dir eine andere besorgen.

Matze
 
Code:
# /bin/busybox --help
BusyBox v1.8.2 (2008-11-18 18:16:26 CET) multi-call binary
Copyright (C) 1998-2006 Erik Andersen, Rob Landley, and others.
Licensed under GPLv2. See source distribution for full notice.

Usage: busybox [function] [arguments]...
   or: [function] [arguments]...

        BusyBox is a multi-call binary that combines many common Unix
        utilities into a single executable.  Most people will create a
        link to busybox for each function they wish to use and BusyBox
        will act like whatever it was invoked as!

Currently defined functions:
        [, [[, ash, basename, cat, chmod, clear, cp, date, dd,
        dmesg, echo, egrep, env, ether-wake, false, fgrep, find,
        free, grep, halt, head, hostname, ifconfig, ifdown, ifup,
        inetd, init, insmod, kill, killall, ln, login, ls, lsmod,
        md5sum, mkdir, mknod, modprobe, more, mount, mv, nc, netstat,
        nohup, pidof, ping, poweroff, ps, pwd, realpath, reboot,
        rm, rmdir, rmmod, route, sed, setconsole, sh, sleep, stty,
        tail, tar, tee, telnetd, test, tftp, time, touch, tr,
        traceroute, true, tty, umount, uname, uniq, uptime, vconfig,
        vi, wget

wo kann ich die andere Busybox denn her bekommen?

Da das ganze ein bisschen Offtopic wird, soll ich einen Thread aufmachen oder kann mir einer sagen wo ich die Busybox herbekomme und nutze?
 
Freetz bietet eine sonst mal im Forum rumschauen.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.