PDA

Bekijk de volledige versie : Установка svn на Asus WL-500g Premium



aka_mev
05-06-2007, 01:46
Установка и настройка svnserve на роутере Asus WL-500gP

Заинтересовавшись использованием SVN при разработке, решил установить Subversion на свой
роутер дабы иметь доступ к своему репозиторию из любой точки мира, имеющей интернет.

Итак, установка.....

1. Ставим сам svn

ipkg install svn
2. Создаем директорию для репозитория и сам репозиторий

mkdir /opt/share/svn
svnadmin create /opt/share/svn/repos
ВАЖНО: Создавать директории внутри репозитория следует с помощью клиента (например TortoiseSVN),
подключившись под учетной записью админа. Папки, созданные через консоль командой mkdir, не будут
читаться сервером, авторизация пользователей, доступ которых разрешен к этой папке, будет провалена.

3. Проверить, установился ли репозиторий, можно командой

ls /opt/share/svn/repos
Команда должна вернуть следующую структуру:

conf/ dav/ db/ format hooks/ locks/ README.txt
4. Конфигурируем сервер svn

vi /opt/share/svn/repos/conf/svnserve.conf

[general]
#запрет на доступ анонимусам
anon-access = none
#право записи для авторизованных
auth-access = write
#файл с паролями
password-db = passwd
#файл с настройками прав доступа
authz-db = authz
#месага появляющаяся при обращении к репозитарию
realm = MEV Repository
5. Конфигурируем файл с правами доступа

vi /opt/share/svn/repos/conf/authz

[groups]
admins = mev
groupofproject1 = mev , test , test2
#к корню имеет доступ только члены группы админов
[/]
@admins = rw
* =
#к project1 имеет доступ группа groupofproject1 + админы
[/project1]
@groupofproject1 = rw
* =
6. Конфигурируем файл с паролями

vi /opt/share/svn/repos/conf/passwd

[users]
mev = secret
test = testsecret
test2 = test2secret
7. Добавляем правила для файерволла

[admin@mev root]$ cat /usr/local/sbin/post-firewall
#!/bin/sh
iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
iptables -I INPUT -p udp --dport 3690 -j ACCEPT
8. Устанавливаем автозапуск при старте роутера.

[admin@mev root]$ cat /opt/etc/init.d/S66svn
#!/bin/sh
/opt/bin/svnserve -d -r /opt/share/svn/repos/
Строка подключения будет выглядеть так:
для группы admins: svn://192.168.1.1/
для группы groupofproject1: svn://192.168.1.1/project1
Вуаля, берем клиента для SVN, к примеру TortoiseSVN, и проверяем доступ к хранилищу.
Все будет работать!

Примечание: будьте осторожны при копировании - можете прихватить с собой тег.

23 апреля 2008 • Новости, Полезное http://chenado.net/61.html ;)

Работает-))) Спасибо большое за помощь

alex_b
06-06-2007, 11:11
Установил с http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable
svn, естественно нормально поставились нужные пакеты.

Создал репозиторий, настроил доступ как написано тут:
http://svnbook.red-bean.com/en/1.0/ch06s03.html

Запустил сервер с собственной аутенфикацией (т.е. SSH не использую)


svnserve -d -r /tmp/harddisk/svnrep


Клиент TortoiseSVN, но он виснет при обращении к репозиторию. Долго мучался, случайно проблема решилась если в Midnight Commander папке репозитория сделать chown admin root, причем именно в момент обращения к репозиторию. Потом некоторое время все работает нормально, но не долго - минуту-две, и клиент опять начинает виснуть...

Что это может быть? Вроде же работает все...

может есть у кого какие мысли? снаружи доступ к репозиторию тоже есть, все нормально, но при commit-е или при любой другой операции SVN-клиента приходится из терминала под SSH делать папке репозитория chown. Как то криво. Но ведь работает же, проблема наверняка тривиальная, я то с линуксом только благодаря роутеру познакомился...

Crulex
04-10-2007, 20:57
Проблема так и не решена? :(

Мне хочется поставить на роутер кроме SVN еще JIRA.
У последнего Системные требования (http://www.atlassian.com/software/jira/docs/v3.4.3/requirements.html) покруче - может кто подскажет подходящий роутер до ~$400 чтобы хотя бы 128 MB RAM и 500 Mhz CPU было? Если не найду придется вместо роутера сервер с линуксом собирать.

RayT
13-11-2007, 05:32
Подниму вопрос.

Аналогичная проблема и у меня :(
svn вроде работает, но постоянно подвисает Tortoise клиент и svn с командной строки.
На пару минут лечится с помощью команды chown admin
На постоянно лечится если в svn включить anon-access= write, но этого как раз и не хочется.

Может кто нибудь подскажет решение этой проблемы?

movaxbx777
24-02-2008, 15:28
Установил SVN сервер коммандой:

ipkg install svn

сервер поставился, но запускаться не хочет, выдает ошибку:

svn: can't load library 'libiconv.so.2'

как и откуда я могу поставить эту библиотеку? Я так понимаю обычный rpm не подойдет?

Спасибо!

al37919
24-02-2008, 15:48
эта проблема не связана с svn. По крайней мере могу подтвердить, что svnserve у меня крутится, а этой библиотеки на диске вообще нет.

Возможно проблема в том, что часть пакетов установлена из одного репозитория, часть из другого.

Как самый простой вариант можно попробовать
ipkg update
ipkg upgrade

movaxbx777
24-02-2008, 16:02
эта проблема не связана с svn. По крайней мере могу подтвердить, что svnserve у меня крутится, а этой библиотеки на диске вообще нет.

Возможно проблема в том, что часть пакетов установлена из одного репозитория, часть из другого.

Как самый простой вариант можно попробовать
ipkg update
ipkg upgrade

Не помогло, к тому же перестал работать mc :(

[admin@Asus root]$ svnadmin
svnadmin: can't load library 'libiconv.so.2'
[admin@Asus root]$ mc
mc: can't load library 'libext2fs.so.2'

al37919
24-02-2008, 20:39
насчет mc --- проблема тоже "системная", но известная:
http://wl500g.info/showpost.php?p=83173&postcount=4

angel_il
24-02-2008, 21:15
могу предложить поставить iconv

al37919
24-02-2008, 21:27
А что такое iconv (применительно к нашим возможностям)?

ipkg list iconv
gconv-modules - 2.2.5-7 - Provides gconv modules missing from the firmware. These are used by glibc's iconv() implementation.
И больше ничего...

Кстати, а може локаль какая экзотичная прописана? Или никакая. Попробуй:

export LANG="ru_RU.UTF-8"

movaxbx777
24-02-2008, 21:35
могу предложить поставить iconv

Простите за глупый вопрос: а как?

admin@Asus root]$ ipkg install iconv
Nothing to be done
An error ocurred, return value: 4.
Collected errors:
Cannot find package iconv.
Check the spelling or perhaps run 'ipkg update'

movaxbx777
24-02-2008, 21:38
А что такое iconv (применительно к нашим возможностям)?

ipkg list iconv
gconv-modules - 2.2.5-7 - Provides gconv modules missing from the firmware. These are used by glibc's iconv() implementation.
И больше ничего...

Кстати, а може локаль какая экзотичная прописана? Или никакая. Попробуй:

export LANG="ru_RU.UTF-8"

Ничего экзотического, последняя прошивка + самба, еще фтп. Все по инструкции.

al37919
24-02-2008, 22:06
ставилась с нуля или до нее стояла прошивка версии 7*?

uclibc-opt и ipkg-opt установлены?

angel_il
25-02-2008, 07:38
а я iconv собирал, для mc с поддержкой utf. не факт что поможет, но попробовать стоит. лежит тут.
http://holmes.selfip.net/home/downloads/libiconv_1.11-2_mipsel.ipk
но забирать через часик, у меня после переустановки не побнят веб сервер.

movaxbx777
25-02-2008, 08:40
ставилась с нуля или до нее стояла прошивка версии 7*?

uclibc-opt и ipkg-opt установлены?

Ставилось с нуля. Купил -> поставил последнюю прошивку от Олега -> настроил по инструкции.
ipkg-opt установлена.

angel_il, к сожалению, до сих пор не качается.

angel_il
26-02-2008, 18:49
вобщем ленюсь я вебсервер поднимать, забирай тут, файл надо склеить

copy /b libiconv_1.11-2_mipsel.001.zip + libiconv_1.11-2_mipsel.002.zip libiconv_1.11-2_mipsel.zip
потом расспаковать, расспакованный ipk положить на роутер.

angel_il
26-02-2008, 21:24
вот только вопрос с какой стати этот svn собран с библиотекой выкинутой из репозитария.

al37919
26-02-2008, 21:44
В том то и дело --- где он нашел svn с этим iconv --- неизвестно:

root@wl500g,~> ipkg upgrade
Nothing to be done
Successfully terminated.
root@wl500g,~> ldd /opt/bin/svnadmin
libsvn_repos-1.so.0 => /opt/lib/libsvn_repos-1.so.0 (0x2ab03000)
libsvn_fs-1.so.0 => /opt/lib/libsvn_fs-1.so.0 (0x2aaaa000)
libsvn_fs_fs-1.so.0 => /opt/lib/libsvn_fs_fs-1.so.0 (0x2ab34000)
libsvn_delta-1.so.0 => /opt/lib/libsvn_delta-1.so.0 (0x2aad7000)
libsvn_subr-1.so.0 => /opt/lib/libsvn_subr-1.so.0 (0x2ab62000)
libaprutil.so.0 => /opt/lib/libaprutil.so.0 (0x2aba7000)
libldap-2.3.so.0 => /opt/lib/libldap-2.3.so.0 (0x2abd2000)
liblber-2.3.so.0 => /opt/lib/liblber-2.3.so.0 (0x2ac21000)
libgdbm.so.3 => /opt/lib/libgdbm.so.3 (0x2ac3e000)
libexpat.so.1 => /opt/lib/libexpat.so.1 (0x2ac53000)
libapr.so.0 => /opt/lib/libapr.so.0 (0x2ac89000)
libm.so.0 => /opt/lib/libm.so.0 (0x2acc2000)
libcrypt.so.0 => /opt/lib/libcrypt.so.0 (0x2ace1000)
libdl.so.0 => /opt/lib/libdl.so.0 (0x2ad05000)
libintl.so.0 => /opt/lib/libintl.so.0 (0x2ad18000)
libz.so => /opt/lib/libz.so (0x2ad29000)
libgcc_s.so.1 => /opt/lib/libgcc_s.so.1 (0x2ad4b000)
libc.so.0 => /opt/lib/libc.so.0 (0x2ad6a000)
libpthread.so.0 => /opt/lib/libpthread.so.0 (0x2ae1f000)
libsasl2.so.2 => /opt/lib/libsasl2.so.2 (0x2ae42000)
libssl.so.0.9.7 => /opt/lib/libssl.so.0.9.7 (0x2ae6b000)
libcrypto.so.0.9.7 => /opt/lib/libcrypto.so.0.9.7 (0x2aeb2000)
libresolv.so.0 => /opt/lib/libresolv.so.0 (0x2b000000)
ld-uClibc.so.0 => /opt/lib/ld-uClibc.so.0 (0x2aac0000)
Може как раз какая древняя версия...?

movaxbx777
28-02-2008, 07:56
вобщем ленюсь я вебсервер поднимать, забирай тут, файл надо склеить

copy /b libiconv_1.11-2_mipsel.001.zip + libiconv_1.11-2_mipsel.002.zip libiconv_1.11-2_mipsel.zip
потом расспаковать, расспакованный ipk положить на роутер.

Спасибо большое, реально помогло.


В том то и дело --- где он нашел svn с этим iconv --- неизвестно:
Може как раз какая древняя версия...?
Package svn (1.4.6-1)
ставил так:
ipkg install svn

gen
28-02-2008, 14:31
вобщем ленюсь я вебсервер поднимать, забирай тут, файл надо склеить

copy /b libiconv_1.11-2_mipsel.001.zip + libiconv_1.11-2_mipsel.002.zip libiconv_1.11-2_mipsel.zip
потом расспаковать, расспакованный ipk положить на роутер.
А что за команда такая copy? что-то никак не могу слить скажите пожалуйста, как склеить эти архивы. У меня в дебиане нет такой команды.

Или может кто-нибудь выложите слитый. Спасибо Спасибо, склеил.

al37919
28-02-2008, 18:29
copy --- это в досе
в дебиане imho достаточно

cat libiconv_1.11-2_mipsel.002.zip >> libiconv_1.11-2_mipsel.001.zip

aka_mev
22-04-2008, 16:18
День добрый. решил поставить себе svnserve.
Сделал как написано тут http://wl500g.info/showthread.php?t=12371&highlight=svn
только вместо сования в xinet.d засунул старт в S66svn

#!/bin/sh
svnserve -d -r /opt/share/svn/repos/
И сделал его исполняемым
Беда в следующем - не хочет подниматься. После ребута в ps его не видать. Даже не пускаеться из-под post-boot'a
В ручную запуск проходит. Пашет. Но при попытке залогиниться с TortoiseSVN после ввода логина и пароля пишет что авторизация провалена. файлы passwd и authz сконфигурены по аналогии с источником

[admin@mev root]$ cat /opt/share/svn/repos/conf/authz

[groups]
# harry_and_sally = harry,sally
admins = admin
reposgroup = admin



[admin@mev root]$ cat /opt/share/svn/repos/conf/passwd
[users]
admin = secrets

Кто-нибудь уже сталкивался с подобным?

al37919
22-04-2008, 16:43
укажите полный путь к svnserve

кроме того, не забываем в authz указать кого куда пускать, например:


[/]
@admins = rw
* =

aka_mev
22-04-2008, 17:07
Установка и настройка svnserve на роутере Asus WL-500gP

Заинтересовавшись использованием SVN при разработке, решил установить Subversion на свой
роутер дабы иметь доступ к своему репозиторию из любой точки мира, имеющей интернет.

Итак, установка.....

1. Ставим сам svn

ipkg install svn
2. Создаем директорию для репозитория и сам репозиторий

mkdir /opt/share/svn
svnadmin create /opt/share/svn/repos
ВАЖНО: Создавать директории внутри репозитория следует с помощью клиента (например TortoiseSVN),
подключившись под учетной записью админа. Папки, созданные через консоль командой mkdir, не будут
читаться сервером, авторизация пользователей, доступ которых разрешен к этой папке, будет провалена.

3. Проверить, установился ли репозиторий, можно командой

ls /opt/share/svn/repos
Команда должна вернуть следующую структуру:

conf/ dav/ db/ format hooks/ locks/ README.txt
4. Конфигурируем сервер svn

vi /opt/share/svn/repos/conf/svnserve.conf

[general]
#запрет на доступ анонимусам
anon-access = none
#право записи для авторизованных
auth-access = write
#файл с паролями
password-db = passwd
#файл с настройками прав доступа
authz-db = authz
#месага появляющаяся при обращении к репозитарию
realm = MEV Repository
5. Конфигурируем файл с правами доступа

vi /opt/share/svn/repos/conf/authz

[groups]
admins = mev
groupofproject1 = mev , test , test2
#к корню имеет доступ только члены группы админов
[/]
@admins = rw
* =
#к project1 имеет доступ группа groupofproject1 + админы
[/project1]
@groupofproject1 = rw
* =
6. Конфигурируем файл с паролями

vi /opt/share/svn/repos/conf/passwd

[users]
mev = secret
test = testsecret
test2 = test2secret
7. Добавляем правила для файерволла

[admin@mev root]$ cat /usr/local/sbin/post-firewall
#!/bin/sh
iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
iptables -I INPUT -p udp --dport 3690 -j ACCEPT
8. Устанавливаем автозапуск при старте роутера.

[admin@mev root]$ cat /opt/etc/init.d/S66svn
#!/bin/sh
/opt/bin/svnserve -d -r /opt/share/svn/repos/
Строка подключения будет выглядеть так:
для группы admins: svn://192.168.1.1/
для группы groupofproject1: svn://192.168.1.1/project1
Вуаля, берем клиента для SVN, к примеру TortoiseSVN, и проверяем доступ к хранилищу.
Все будет работать!

Примечание: будьте осторожны при копировании - можете прихватить с собой тег.

23 апреля 2008 • Новости, Полезное http://chenado.net/61.html ;)

Работает-))) Спасибо большое за помощь

barada85
08-06-2008, 15:59
Accessing non-public repositories via svnserve is really slow sometimes.

This often happens when APR is compiled to use /dev/random and the server is unable to gather enough entropy. If Subversion is the only application using APR on the server, you can safely recompile APR with the --with-devrandom=/dev/urandom option passed to configure. This should not be done on systems that use APR for other processes, however, as it could make other services insecure.

Accessing non-public repositories via svnserve is really slow sometimes.

This often happens when APR is compiled to use /dev/random and the server is unable to gather enough entropy. If Subversion is the only application using APR on the server, you can safely recompile APR with the --with-devrandom=/dev/urandom option passed to configure. This should not be done on systems that use APR for other processes, however, as it could make other services insecure.

виснет зараза
кто нибудь udev пересобрал?

a1ien.n3t
13-10-2008, 19:10
Народ подскажите можно ли поднять SVN сервер на роутре?
если да то подскажите как.

al37919
13-10-2008, 22:53
можно. Ищите на svnserve

a1ien.n3t
13-10-2008, 23:13
Спасибо, уже все нашел. Разобрался, но не полностью.
Поднял сервер создал репозиторий.
Но мне нужен только авторизованный доступ. пишу в конфиге.


[general]
#запрет на доступ анонимусам
anon-access = none
#право записи для авторизованных
auth-access = write
#файл с паролями
password-db = passwd
#файл с настройками прав доступа
authz-db = authz
#месага появляющаяся при обращении к репозитраию
realm = alien Repository
Но не пускает меня свн.
Он вобще не запрашивает логин просто сразу пишет не авторизован.

al37919
17-10-2008, 21:05
во-первых, можно в коммандной строке указывать непосредственно параметр --username

во-вторых, клиент кеширует имена и пароли, т.е. запрашивает их только однажды. Чтобы избежать чтения копии из кеша надо пользовать параметр --no-auth-cache

DemonGloom
18-10-2008, 08:25
А в третьих, при использовании authz-db следующий строки лучше убрать :

#запрет на доступ анонимусам
anon-access = none
#право записи для авторизованных
auth-access = write

Вместо них правильнее использовать похожие правила из authz-db

a1ien.n3t
18-10-2008, 11:32
al37919
а как в виндовом tortoisesvn отключить кеширование?

Не удается заставить спрашивать логин и пароль.

al37919
18-10-2008, 11:48
х.з. При первом запросе имени юзера он предлагает галку запомнить пароль. Куда он его кладет --- не знаю... Наверное надо изучать доки к клиенту. Можно попробовать использовать svn клиента непосредственно с роутера. Может сообщения будут более информативными. У родного svn клиента такая особенность, что он юзера и пароль запоминает без предупреждения.

DemonGloom
03-11-2008, 15:51
На самом деле, правильнее было бы сначала поднять сервер на компьютере, а лишь затем пытаться сделать это на роутере...

И прочитайте это : http://tortoisesvn.net/docs/nightly/TortoiseSVN_ru/tsvn-serversetup-svnserve.html

И это : http://chenado.net/2008/04/23/ustanovka-i-nastrojka-svnserve-na-routere-asus-wl-500gp/

a1ien.n3t
03-11-2008, 17:29
Уже разобрался. оказываться нельзя русские комменты
#Тут что-то по русски
так нельзя ))
вместо

[general]
#запрет на доступ анонимусам
anon-access = none
#право записи для авторизованных
auth-access = write
#файл с паролями
password-db = passwd
#файл с настройками прав доступа
authz-db = authz
#месага появляющаяся при обращении к репозитраию
realm = alien Repository
сделал

[general]

anon-access = none

auth-access = write

password-db = passwd

authz-db = authz

realm = alien Repository
и все ок

Rucha
07-11-2008, 16:32
Поставил SVN - работает.
Только он почему-то не стартует s66svn из init.d. chmod +x давал. Никаких ошибок в логе нет.

al37919
07-11-2008, 16:57
как минимум должно быть S66svn
а вообще, по уму его надо запускать из xinetd

Rucha
07-11-2008, 17:56
Точно! Заработало. Спасибо!

flashmist
21-01-2009, 01:52
Кто-нибудь!!!!! аууууу

Подскажите плиз!!
Сделал
ipkg.sh update
ipkg.sh install svn
mkdir /opt/share/svn

все отлично!

но,

svnadmin create /opt/share/svn/repos

говорит что svnadmin not found
Я понимаю что мелочь какая-то, но с линукс не работал(((
Подскажите!
Заранее благодарен!

ghost_ufa
05-02-2009, 06:53
делаю все по инструкции отсюда - http://www.nslu2-linux.org/wiki/FAQ/Optware-uClibcBuild
раздел "Native compilation on router itself", но на команду

# svn co http://svn.nslu2-linux.org/svnroot/optware/trunk optware
через некоторое время получаю

svn: Can't read directory 'optware': Operation now in progress

С линухом малость знакОм, но только вот в том линухе не приходилось для сборки из сорцов
пользоваться специально заточеным бубном...

Угу, svn портированый кривой, хотя вроде бы stable. Большой линух скачал без запинки...

Кто-нибудь еще этим svn (1.5.5-1) пытался пользоваться?

Ээээ... дык там вроде бы для винды бинарники, а вовсе не нативные для роутера.

DemonGloom
05-02-2009, 12:38
У меня вроде проблем с svn нет..
А для компиляции на роутере надо просто выполнить
ipkg install optware-devel
После этого быдут доступны все необходимые программы.

ghost_ufa
05-02-2009, 13:11
Дык программы-то и щас доступны, мелкие сорцы я уже успешно собирал. SVN это чтоб дерево исходников закачать - хочу переконфигурить некоторые модули.

Щас пытался скачаное и заТАРеное дерево раскрыть в роутере - в итоге он завис :( И вроде бы своп был включен...

>У меня вроде проблем с svn нет

А версия какая? И откуда ставился?

al37919
05-02-2009, 13:21
svn на роутере действительно не работает. Зато svnserve работает. Компиляция optware тулчейна на роутере займет я думаю примерно сутки. Лучше кросс компиляйте --- тем более он [optware] для этого и предназначен.

ghost_ufa
05-02-2009, 15:54
Ага, а в доку коммент добавить, типО "оставь надежду.."?

Все дерево компилять я и не собираюсь, однако ж нативная сборка приятнее тем что нет необходимости собирать пакеты - а можно разместить прогу сразу на родное место. Ну тут наверное кто к чему привык, я и красну шапочку наполовину из сорцов обычно того :)

...тем более что в хозяйстве есть фряхи на первом пне и с 12мб памяти - а это таки ГОРАЗДО смешнее чем сей роутер :D

al37919
05-02-2009, 16:23
Ага, а в доку коммент добавить, типО "оставь надежду.."?
а может он когда то работал или еще заработает...

тем что нет необходимости собирать пакеты - а можно разместить прогу сразу на родное место.
это заблуждение, связанное с непониманием того, что такое optware. Ничего на место вставать не будет. Чтобы прогнать новый пакет через optware вам придется создать .mk файл. И делаться будет то, что вы в нем пропишете.

Еще раз. Чтобы компилять на роутере ставьте пакет optware-devel После этого --- как привыкли --- качаете исходик && ./configure && make && make install --- и если скомпилится, то сразу попадет на место.

ghost_ufa
05-02-2009, 16:39
Прежде чем понять - надо руками потрогать, а вот с этим-то и проблема имеется. Еще раз - optware-devel уже стоит и даже успешно заюзан, но если я хочу не собирать (например) mysql с нуля, а сначала поглядеть как он собирается в составе пакетов - то мне нужны сорцы из SVN. Что к настоящему моменту уже успешно решено :)

Всем спасибо - вопрос снят.

xenus
05-03-2009, 20:31
Может ктонить объяснить как там выполнить пункт "8. Устанавливаем автозапуск при старте роутера."?
Что то ничего немогу понять с "[admin@mev root]$ cat /opt/etc/init.d/S66svn "
фуф... наконецто разобрался... изначальный амнуальчик слишком уж краткий... там нету некоторых особенностей...

OtStoyNick
04-04-2009, 18:59
Не выходит! делал по инструкции
http://chenado.net/2008/04/23/ustanovka-i-nastrojka-svnserve-na-routere-asus-wl-500gp/

Просто, как есть скопировал настройки. В итоге под mev вхожу (нормально работает, полный доступ),
а под test и test2 пишет "Authorization failed"

Пробовал заходить и svn://192.168.1.1/svn и svn://192.168.1.1/svn/project1
В чем проблема?

Снес и сделал снова - вышло!

aka_mev
06-04-2009, 10:18
Не получается никак.
делал по инструкции http://chenado.net/2008/04/23/ustanovka-i-nastrojka-svnserve-na-routere-asus-wl-500gp/

Снес и сделал снова - вышло!
В мануале была небольшая неточность. Сейчас подправил.

therox
07-06-2009, 08:37
Добрый день.

У меня при попытке скачать либо обновить дерево из svn выдается следующее ругательство:

svn: Can't read directory '.': Operation now in progress

создает папки .svn с подпапками, далее вылетает и ничего не делает.

Это можно как-то победить?

Omega
07-06-2009, 15:22
Поиск по тэгу svn поможет ;)

http://wl500g.info/showthread.php?t=12371
http://wl500g.info/showthread.php?t=21036

al37919
07-06-2009, 16:31
Поиск по тэгу svn поможет ;)

от себя могу подтвердить, что svn на роутере работает именно так. Т.е. не работает с такими симптомами. Зато работает svnserve.

Omega, если действительно встречал решение --- дай, пожалуйста, ссылку.

therox
07-06-2009, 17:08
от себя могу подтвердить, что svn на роутере работает именно так. Т.е. не работает с такими симптомами. Зато работает svnserve.

Omega, если действительно встречал решение --- дай, пожалуйста, ссылку.

А svnserve как можно использовать для этих целей, если, конечно, можно. Я просто не специалист в svn.

al37919
07-06-2009, 17:17
svn --- клиент, svnserve --- сервер. Так что никак.

therox
07-06-2009, 17:25
svn --- клиент, svnserve --- сервер. Так что никак.

Ну я так и подумал изначально. Просто там параметры типа tunnel меня смутили.

А может есть аналог svn?

lly
07-06-2009, 17:33
Это можно как-то победить?
Зависит от желания и умений. Во-первых, нужно посмотреть strace'ом - вдруг клиент хочет записать в /var/_куда_то_там или в home/.svn , а этого каталога просто нет... Ну а если это не поможет - только смотреть в код.

AndreyUA
16-09-2009, 08:07
Прежде чем понять - надо руками потрогать, а вот с этим-то и проблема имеется. Еще раз - optware-devel уже стоит и даже успешно заюзан, но если я хочу не собирать (например) mysql с нуля, а сначала поглядеть как он собирается в составе пакетов - то мне нужны сорцы из SVN. Что к настоящему моменту уже успешно решено :)

Всем спасибо - вопрос снят.
А как решено? Такая же проблема.

lazycat
25-09-2009, 00:20
Пытаюсь поставить svn сервер на wl-500gP.
Делал все по этой инструкции (http://chenado.net/2008/04/23/ustanovka-i-nastrojka-svnserve-na-routere-asus-wl-500gp/), предварительно сделав ipkg update.

Потом

ipkg install svn
Svn пакет стал. svn - 1.6.5-1 - a compelling replacement for CVS

Создал репозитарий:

svnadmin create /mnt/sambafiles/svnrep
В появившейся директории настроил доступ, пользователей:

svnrep/conf/authz:


[aliases]
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average

[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
admins = root

[/]
@admins = rw
* =

# [/foo/bar]
# harry = rw
# &joe = r
# * =

# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r


svnrep/conf/passwd:


[users]
root = root


svnrep/conf/svnserve.conf:


[general]
### These options control access to the repository for unauthenticated
### and authenticated users. Valid values are "write", "read",
### and "none". The sample settings below are the defaults.
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = My First Repository


запускаю:

/opt/bin/svnserve -d -r /mnt/sambafiles/svnrep/ --log-file=/opt/var/log/svn.log

Затем разными клиентами пытаюсь открыть репозиторий:

subclipse (JavaHL(JNI) 1.6.5)
TortoisSVN 1.6.5


svn://192.168.1.1/
В ответ в обоих клиентах получаю сообщение
Network connection closed unexpectedly

пробую subclipse(SVNKit 1.3.0 Pure Java)
пишет svn: Malformed network data

До svnserve мои попытки до него достучаться доходят, потому что в лог он что-то пишет:

268 2009-09-24T21:48:13.739348Z 192.168.1.31 root svnrep open 2 cap=(edit-pipeline svndiff1 absent-entries depth mergeinfo log-revprops) / SVN/1.6.5%20(r38866) -
268 2009-09-24T21:48:13.747002Z 192.168.1.31 root svnrep get-latest-rev
268 2009-09-24T21:48:13.750149Z 192.168.1.31 root svnrep reparent /
268 2009-09-24T21:48:13.752577Z 192.168.1.31 root svnrep stat /@0
273 2009-09-24T21:49:28.676543Z 192.168.1.31 root svnrep open 2 cap=(edit-pipeline svndiff1 absent-entries depth mergeinfo log-revprops) /.project SVN/1.6.5%20(r38866) -
273 2009-09-24T21:49:28.736725Z 192.168.1.31 root svnrep get-latest-rev
273 2009-09-24T21:49:28.739345Z 192.168.1.31 root svnrep reparent /.project
273 2009-09-24T21:49:28.741783Z 192.168.1.31 root svnrep check-path /.project@0
273 2009-09-24T21:49:28.748514Z 192.168.1.31 root svnrep get-file /.project r0 props
276 2009-09-24T21:49:36.243588Z 192.168.1.31 root svnrep open 2 cap=(edit-pipeline svndiff1 absent-entries depth mergeinfo log-revprops) / SVN/1.6.5%20(r38866) -
276 2009-09-24T21:49:36.251250Z 192.168.1.31 root svnrep get-latest-rev
276 2009-09-24T21:49:36.256708Z 192.168.1.31 root svnrep reparent /
276 2009-09-24T21:49:36.259988Z 192.168.1.31 root svnrep check-path /@0
276 2009-09-24T21:49:36.264567Z 192.168.1.31 root svnrep get-dir / r0 props
279 2009-09-24T21:49:38.372107Z 192.168.1.31 root svnrep open 2 cap=(edit-pipeline svndiff1 absent-entries depth mergeinfo log-revprops) / SVN/1.6.5%20(r38866) -
279 2009-09-24T21:49:38.385703Z 192.168.1.31 root svnrep get-latest-rev
279 2009-09-24T21:49:38.388930Z 192.168.1.31 root svnrep reparent /
279 2009-09-24T21:49:38.392225Z 192.168.1.31 root svnrep get-latest-rev
279 2009-09-24T21:49:38.395847Z 192.168.1.31 root svnrep log (/) r0:0 limit=26 discover-changed-paths revprops=(svn:author svn:date svn:log)
282 2009-09-24T21:49:55.289215Z 192.168.1.31 root svnrep open 2 cap=(edit-pipeline svndiff1 absent-entries depth mergeinfo log-revprops) / SVN/1.6.5%20(r38866) -
282 2009-09-24T21:49:55.296832Z 192.168.1.31 root svnrep get-latest-rev
282 2009-09-24T21:49:55.299886Z 192.168.1.31 root svnrep reparent /
282 2009-09-24T21:49:55.303890Z 192.168.1.31 root svnrep stat /@0
285 2009-09-24T21:50:07.973229Z 192.168.1.31 root svnrep open 2 cap=(edit-pipeline svndiff1 absent-entries depth mergeinfo log-revprops) / SVN/1.6.5%20(r38866) -
285 2009-09-24T21:50:07.980792Z 192.168.1.31 root svnrep get-latest-rev
285 2009-09-24T21:50:07.984217Z 192.168.1.31 root svnrep reparent /
285 2009-09-24T21:50:07.988920Z 192.168.1.31 root svnrep stat /@0
289 2009-09-24T21:52:22.962070Z 192.168.1.31 root svnrep open 2 cap=(edit-pipeline svndiff1 absent-entries depth mergeinfo log-revprops) / - -
289 2009-09-24T21:52:22.970613Z 192.168.1.31 root svnrep get-latest-rev
289 2009-09-24T21:52:22.974494Z 192.168.1.31 root svnrep stat /@0
292 2009-09-24T21:57:02.345341Z 192.168.1.31 root svnrep open 2 cap=(edit-pipeline svndiff1 absent-entries depth mergeinfo log-revprops) / SVN/1.6.5%20(r38866) -
292 2009-09-24T21:57:02.352986Z 192.168.1.31 root svnrep get-latest-rev
292 2009-09-24T21:57:02.356060Z 192.168.1.31 root svnrep reparent /
292 2009-09-24T21:57:02.358708Z 192.168.1.31 root svnrep stat /@0
295 2009-09-24T21:57:04.405883Z 192.168.1.31 root svnrep open 2 cap=(edit-pipeline svndiff1 absent-entries depth mergeinfo log-revprops) / SVN/1.6.5%20(r38866) -
295 2009-09-24T21:57:04.413301Z 192.168.1.31 root svnrep get-latest-rev
295 2009-09-24T21:57:04.416475Z 192.168.1.31 root svnrep reparent /
295 2009-09-24T21:57:04.419000Z 192.168.1.31 root svnrep stat /@0


Что я делаю не так?

Весь день сегодня убил на это.. :(

Гугл выдает кучу сообщений по запросу
Network connection closed unexpectedly
но все они как-то не по моей теме и касаются более старых версий svn (1.5, 1.4)
Также было упоминание про наличие "mesg y" в .bashrc. Но в баше я не силен, да и он на моем рутере не стоит. А нужен ли?

Заранее спасибо :)

lazycat
25-09-2009, 00:51
еще заметил, что
netstat -n|grep 3690
ничего не находит

Проблема разрешилась обновлением зависимых пакетов svn-а

intruders
01-10-2009, 18:22
Подозреваю, что дело в отсутствии или некорректной версии какого-то пакета, т.к. у меня тоже такое было, но потом вдруг заработало.

Вот мой список установленных пакетов:
apr - 1.3.8-1 - Apache Portable Runtime library
apr-util - 1.3.9-1 - Apache Portable Runtime utilities library
autoconf - 2.63-1 - Creating scripts to configure source code packages using templates
automake - 1.10-2 - Creates GNU standards-compliant Makefiles from template files
bash - 3.2.49-1 - A bourne style shell
bison - 2.4.1-1 - a general-purpose parser generator that converts an annotated context-free grammar into an LALR(1) or GLR parser for that gramm
buildroot - 4.1.1-13 - uClibc compilation toolchain
bzip2 - 1.0.5-1 - Very high-quality data compression program
coreutils - 7.5-1 - Bunch of heavyweight *nix core utilities
cyrus-sasl-libs - 2.1.22-2 - Provides client or server side authentication (see RFC 2222).
diffutils - 2.8.1-6 - contains gnu diff, cmp, sdiff and diff3 to display differences between and among text files
e2fslibs - 1.41.9-1 - Ext2 Filesystem Libraries
expat - 2.0.1-1 - XML Parser library
file - 5.03-1 - Ubiquitous file identification utility.
findutils - 4.2.32-1 - File finding utilities
flex - 2.5.35-1 - Generates programs that perform pattern-matching on text.
gawk - 3.1.7-1 - Gnu AWK interpreter
gdbm - 1.8.3-2 - GNU dbm is a set of database routines that use extensible hashing. It works similar to the standard UNIX dbm routines.
glib - 2.20.4-1 - The GLib library of C routines.
grep - 2.5.3-1 - Global regular expression parser
groff - 1.19.2-2 - front-end for the groff document formatting system
gzip - 1.2.4a-3 - GNU Zip data compression program
ipkg-opt - 0.99.163-10 - The Itsy Package Manager
libcurl - 7.19.6-1 - Curl is a command line tool for transferring files with URL syntax, supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FI
libcurl-dev - 7.19.6-1 - Development files for libcurl
libdb - 4.2.52-3 - Berkeley DB Libraries
libidn - 1.14-1 - GNU Libidn is an implementation of the Stringprep, Punycode and IDNA specifications defined by the IETF Internationalized Domai
libsigc++ - 2.2.3-1 - libsigc++ implements a typesafe callback system for standard C++.
libtool - 1.5.26-1 - Library tools.
libtorrent - 0.12.5-2 - libtorrent is a BitTorrent library with a focus on high performance and good code.
libuclibc++ - 0.2.2-8 - C++ standard library designed for use in embedded systems
libxml2 - 2.7.5-1 - Libxml2 is the XML C parser and toolkit developed for the Gnome project.
m4 - 1.4.13-1 - gnu macro processor and compiler front end
make - 3.81-2 - examines files and runs commands necessary for compilation
mc - 4.6.2-1 - Midnight Commander File Manager
ncurses - 5.7-1 - NCurses libraries
ncursesw - 5.7-1 - NCurses libraries with wide char support.
neon - 0.28.4-1 - an HTTP and WebDAV client library, with a C interface
openldap-libs - 2.3.43-1 - Open Lightweight Directory Access Protocol
openssl - 0.9.7m-5 - Openssl provides the ssl implementation in libraries libcrypto and libssl, and is needed by many other applications and librari
openssl-dev - 0.9.7m-5 - openssl native development files
patch - 2.5.9-3 - applies a diff to produce a patched file
pcre - 7.9-1 - Perl-compatible regular expression library
perl - 5.8.8-20 - Practical Extraction and Report Language.
pkgconfig - 0.15.0-1 - Package configuration tool
python25 - 2.5.4-2 - Python is an interpreted, interactive, object-oriented programming language.
readline - 6.0-1 - The GNU Readline library provides a set of functions for use by applications that allow users to edit command lines as they are
rsync - 3.0.6-1 - fast remote file copy program (like rcp)
sed - 4.2.1-1 - Stream editor.
slang - 2.1.4-1 - S-Lang is a multi-platform library designed to allow a developer to create robust multi-platform software.
sqlite - 3.6.18-1 - SQLite is a small C library that implements a self-contained, embeddable, zero-configuration SQL database engine.
svn - 1.6.5-1 - a compelling replacement for CVS
tar - 1.22-2 - heavyweight version of the Tape ARchiver
uclibc-opt - 0.9.28-13 - micro C library for embedded Linux systems
wget - 1.12-2 - A network utility to retrieve files from the Web
zlib - 1.2.3-3 - zlib is a library implementing the 'deflate' compression system.
Successfully terminated.

littre
04-10-2009, 22:58
Чтобы компилять на роутере ставьте пакет optware-devel После этого --- как привыкли --- качаете исходик && ./configure && make && make install --- и если скомпилится, то сразу попадет на место.

захотел поставить из исходников прожку. нашел для этого сей рецепт
заинсталлил optware-devel
правда с нереальными плясками с бубнами - все ему чето мешал wget хочет неприменно wget-ssl, но последний, в свою очередь не все может качать из зависимостей(((
в общем, шел по цепочке, то ставя wget-ssl, то простой wget

ладно, пишу make - мне вот что говорит

# make
gcc -s -static -Wall -O3 pointer.c -o pointer
make: gcc: Command not found
make: *** [pointer] Error 127

стал ставить buildroot, про который тут же говорилось - не может его ipkg опять же качать с wget-ssl, котоый в свою очередь нужен devel-y
скачал руками , заинсталлил в явном виде


wget http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/buildroot_4.1.1-13_mipsel.ipk
ipkg install buildroot_4.1.1-13_mipsel.ipk

компилячу свою прожку - make все собрала
./configure в нем не потребовалось

дальше уперся в make install

[admin@ddd nbench-byte-2.2.3]$ make install

make: *** No rule to make target `install'. Stop.

как я понял, сборщик не вдуплил в нашу файловую систему с /opt и не понял, куда ему инсталлить бинарник

да, бинарник собрался и лежит там, где все действо происходило...
и даже запустилсо

вопрос
что за rule to make target??
чтобы все по честному было?

надо всего то прописать, чтобы install положил наш продукт куда нить типа /opt/bin или /opt/local/bin...

al37919
05-10-2009, 10:07
make: *** No rule to make target `install'. Stop.
означает, что в мейкфайле не определно правило install, значит make install смысле не имеет. А что прога такая сложная и многобиблиотечная, что бинарник вручную скопировать в нужное место не удается?

littre
05-10-2009, 17:25
да не, не сложно....
я просто думал это я что то не догоняю...
а раз install не предусмотрен, значит я все сделал, что хотел

интерес был чисто академический
надо бы попробовать ченть посложнее собрать

pantagruel
19-10-2011, 03:18
Возможно вопрос тривиальный, но с ходу наткнулся на сложности и решил, может кто знает наверняка, а то методом проб и ошибок очень далеко ездить придется:)

Ситуация в следующем: Имеем rt-n16, который стоит в лесу за городом и управляет видеонаблюдением . Связь посредством 3g модема на выделеном ip ( это самое тонкое место во всей этой системе. Раутер шлет ежедневные отчеты о состоягии счета...и прочие логи. Бывает пропадет из поля видимости на пару дней - потом появится снова. Так и живем:) С надеждой смотрю на новые прошивки и обновления.
Почитал changelog - вижу что есть какие-то обновления на тему 3g/cdma fixes & updates в r3300.

Теперь собственно проблема. Пару раз пытался обновить прошивку через веб-интерфейс через 3g канал. Заканчивалось всегда печально - подвисанием на 2% и отсутвием ответа от раутера. Приходилось ехать за тридевять земель, чтобы перезагружать. Вот я и подумал, что если залить прошивку на раутер через ftp, а потом уже с командной строки перепрошить. Так хотя бы можно быть уверенным, что файл на месте - вебформа с аплоадом 3-х мегабайтного файла явно не справляется.

Посмотрел - форма сабмитится на update.cgi - наверно в нем и кроется ответ как это делать, но здесь меня настигла вторая проблема - при попытке экспортировать из репозитория http://wl500g.googlecode.com/svn/trunk/ ругается на
Error: Can't move
Error: 'C:\TEMP\rt-n16\wl500g\usb_modeswitch\data\usb_modeswitch.d\te mpfile.tmp' to
Error: 'C:\TEMP\rt-n16\wl500g\usb_modeswitch\data\usb_modeswitch.d\14 10:5010': The
Error: filename, directory name, or volume label syntax is incorrect.

видимо, двоеточие в имени файла в windows не приветвуется.


Прошу прощение за многословие. Если вкратце, то у меня два вопроса:

1) как организовать процесс перепрошивки раутера, минуя веб форму и считая, что файл с новой версией прошивки уже находится на раутере

2) кто нибудь сталкивался с проблемой экспорта из svn в windows? (клиент TortoiseSvn если это важно)

iru
19-03-2012, 21:01
кто нибудь поднимал svn на 500gpv2?