Quantcast
Channel: AsusForum.NET -- WL500g
Viewing all 1548 articles
Browse latest View live

Samba 3.6 EntWare - установка и настройка

$
0
0
Добавлены samba36 (помню, что кто-то спрашивал) and msmtp.
Тестируем, особенно самбу.
Небольшая инструкция для samba36
Устанавливаем
Код:

opkg install samba36-server
В /opt/etc/samba видим smb.conf.template вот такого содержания:
Код:

[global]
        netbios name = |NAME|
        display charset = |CHARSET|
        interfaces = |INTERFACES|
        server string = |DESCRIPTION|
        unix charset = |CHARSET|
        workgroup = |WORKGROUP|
        browseable = yes
        deadtime = 30
        domain master = yes
        encrypt passwords = true
        enable core files = no
        guest account = nobody
        guest ok = yes
        invalid users = root
        local master = yes
        load printers = no
        map to guest = Bad User
        max protocol = SMB2
        min receivefile size = 16384
        null passwords = yes
        obey pam restrictions = yes
        os level = 20
        passdb backend = smbpasswd
        preferred master = yes
        printable = no
        security = user
        smb encrypt = disabled
        smb passwd file = /etc/samba/smbpasswd
        socket options = TCP_NODELAY IPTOS_LOWDELAY
        syslog = 2
        use sendfile = yes
        writeable = yes

Создаем там же из него smb.conf
Код:

$ cat /opt/etc/samba/smb.conf.template > /opt/etc/samba/smb.conf
И этот конфиг настраиваем под себя.
Например изменяем
smb passwd file = /etc/samba/smbpasswd на smb passwd file = /opt/etc/samba/smbpasswd
По совету MercuryV можно добавить также
Код:

create mask = 0644
directory mask = 0766

чтобы все файлы, копируемые в шару из Windows, НЕ получали атрибут исполняемых по умолчанию.
Если нужно организовать парольный доступ, то нужно его добавить в /opt/etc/samba/smbpasswd так
Код:

$ smbpasswd -a primer
На запрос установки пароля - вводим пароль.
Правда перед этим нужно убедиться, что такой пользователь есть в системе
Код:

$ cat /etc/passwd
Если его нет, то соответственно добавить.
Вот мой последний рабочий конфиг
Код:

[global]
        netbios name = RT-N16
        workgroup = MYHOME
        server string = ASUS Router
        force user = admin
        interfaces = 192.168.1.1/24
        bind interfaces only = yes
        browseable = yes
        deadtime = 30
        encrypt passwords = true
        enable core files = no
        guest account = nobody
        invalid users = root
        load printers = no
        local master = yes
        map to guest = Bad User
        min receivefile size = 0
        null passwords = yes
        obey pam restrictions = no
        os level = 20
        passdb backend = smbpasswd
        #passdb backend = tdbsam
        preferred master = auto
        aio read size = 8192
        aio write size = 8192
        max protocol = SMB2
        write cache size = 16384
        read raw = yes
        write raw = yes
        printable = no
        reset on zero vc = yes
        remote announce = 192.168.1.255
        security = user
        smb encrypt = disabled
        smb passwd file = /opt/etc/samba/smbpasswd
        socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65535 SO_SNDBUF=65535 SO_KEEPALIVE
        syslog = 3
        writeable = yes
        unix charset = UTF-8
        use sendfile = yes

[data]
        path = /tmp/mnt/HDD
        browseable = yes
        guest ok = no
        writeable = yes

Теперь запуск
У меня запуск организован через cat /opt/etc/init.d/rc.unslung
Т.е. в /opt/etc/init.d находится файл S08samba такого содержания
Код:

#!/bin/sh

start() {
        echo "starting nmbd:"
        /opt/sbin/nmbd -D
        echo "Starting smbd:"
        /opt/sbin/smbd -D
        }

stop() {
        if [ -n "`pidof smbd`" ] ; then
            echo "Stopping smbd:"
            killall smbd
        fi

        if [ -n "`pidof nmbd`" ] ; then
            echo "Stopping nmbd:"
            killall nmbd
        fi
        }

case "$1" in
        start)
                start
                ;;
        stop)
                stop
                ;;
        restart)
                stop
                sleep 4
                start
                ;;
        *)
                echo "Usage: $0 (start|stop|restart)"
                exit 1
                ;;
esac

exit 0

Этот скрипт должен быть исполняемым!
Пожалуй все:)

Partition table lost

Foto's

$
0
0
Ik heb een Eee Pad Slider SL101 en wil foto's van mijn toestel
op de tablet overzetten......maar dit lukt mij niet.
Van alles geprobeert zelfs In Galery komt niets.

Kan iemand mij helpen? Moet ik mischien eerst nog een
app o.i.d. downloaden?

Groeten,
Feel free

Ïîäêëþ÷åíèå ðåïîçèòàðèÿ Entware íà îðèãèíàëüíîé ïðîøèâêå Asus RT-N66U

$
0
0
Èòàê, ïîäåëþñü îïûòîì, âäðóã êîìó ïðèãîäèòñÿ ;-).
Èñõîäíûå äàííûå:
Ïî óìîë÷àíèþ ïðè âûáîðå óñòàíîâêè Download Master èç ðàçäåëà USB-ïðèëîæåíèé, îäíà èç ïàïîê ôëåøêè(SD êàðòî÷êè) ëèíêóåòñÿ êàê /opt (òî÷íåå - êàê /tmp/opt, à óæå îòòóäà - /opt)
Code:

lrwxrwxrwx    1 admin    root            7 Mar 21 19:48 /opt -> tmp/opt/
...
lrwxrwxrwx    1 admin    root            22 Apr  1 03:53 /tmp/opt -> /tmp/mnt/sda1/asusware/

Ïî óìîë÷àíèþ - ýòî ïàïêà asusware, òàê åå ñîçäàåò èíñòàëëÿòîð.
Êàêîå-òî âðåìÿ ÿ ïîæèë ñ òåì, ÷òî ïðåäëàãàåò asus, íî îñòàëñÿ íå óäîâëåòâîðåí, ìîðàëüíî :-). Ïî ïîäñêàçêàì áîëåå îïûòíûõ òîâàðèùåé (äåëî áûëî íà ixbt) îáíàðóæèë ðåïîçèòîðèé ïàêåòîâ Entware, è ïðàâèëà ïåðåõîäà íà íåãî.

Çàèíòåðåñîâàëñÿ, è ïåðåøåë.
Ïðîöåññ ïåðåõîäà:
Ìîæíî ïîéòè êàê äåëàë ÿ, äîñòóïèòüñÿ ê ÷óäîâèùó äëÿ óòåõ ñëàäîñòíûõ ÷åðåç äîñòàâêó àëåíêîãî öâåòî÷êà, ëèáî íàïðÿìóþ (òðåáóåò äîïîëíèòåëüíîé ïðîâåðêè).
Èòàê, ïðèñòóïàåì (ôëåøêà ñòîèò, ëó÷øå - ôîðìàòèðîâàííàÿ â ext) :
1. Çàõîäèì â âåá-ìîðäó, èäåì â ðàçäåë USB-ïðèëîæåíèÿ, è íàæèìàåì - óñòàíîâèòü Download Master.
2. Ïîñëå ÷åãî íà ôëåøêå ñîçäàåòñÿ ïàïêà asusware/, êîòîðàÿ ïóòåì õèòðûõ ìàíèïóëÿöèé ñ ññûëêàìè ñòàíîâèòñÿ ïàïêîé /opt (ñì. âûøå).

Ó÷òèòå ôëåøêà íà sda1 - ýòî ó ìåíÿ, ó âàñ ìîæåò áûòü ñ äðóãèì èìåíåì, ïóòåì ìîíòèðîâàíèÿ, òîãäà ïëÿøåì îò âàøåãî. Äà è ôàéëîâàÿ ñèñòåìà èãðàåò ðîëü ...
Êðîìå òîãî òóäà çàêà÷èâàåòñÿ îáâÿçêà ipkg è ñòàâèòñÿ ïàêåò downloadmaster, òàê æå ñòàíîâÿòñÿ äîñòóïíûìè äâà ðåïîçèòàðèÿ :
Code:

src/gz optware.oleg http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable
src/gz optware.asus http://dlcdnet.asus.com/pub/ASUS/wireless/ASUSWRT

Âîçìîæíî âàì áóäåò ýòîãî äîñòàòî÷íî, òîãäà äàëüøå ìîæíî íå ÷èòàòü.
3. Êðîìå òîãî, â êîðíå ïàïêè asusware ñîçäàåòñÿ ñêðèïò
Code:

-rwxrwxrwx    1 admin    root          3688 Apr  1 03:08 .asusrouter*
Êîòîðûé îòâå÷àåò çà àâòîñòàðò ïàêåòîâ èç ðåïîçèòàðèÿ, êîòîðûå èìåþò ñòàðòîâûå ñêðèïòû â ïàïêå /opt/etc/init.d, ïîñëå ïîäìîíòèðîâàíèÿ ôëåøêè.
À òàê æå â nvram áóäóò çàïèñàíû ñëåäóþùèå çíà÷åíèÿ :
Code:

apps_dev=sda1
apps_install_folder=asusware
apps_mounted_path=/tmp/mnt/sda1

4. Èäåì â âåáìîðäó, è îòêëþ÷àåì Download Master.
5. Íà âñÿêèé ñëó÷àé ïðîâåðÿåì ÷åðåç òåëíåò ñ ïîìîùüþ ps, íå çàïóùåí ëè îí, è åñëè ÷òî - îñòàíàâëèâàåì ñ ïîìîùüþ
Code:

# /opt/etc/init.d/S50downloadmaster stop
.
6. Î÷èùàåì ïàïêó asusware, ëèáî, ÿ áû ðåêîìåíäîâàë, ïðîñòî ïåðåèìåíîâûâàåì â asusware.orig, à âìåñòî íåå ñîçäàåì íîâóþ ïàïêó asusware.
Ëèáî (âîò ýòîò âàðèàíò òðåáóåò ïðîâåðêè, è íå óâåðåí, íå ïîâðåäÿò ëè åãî ïîñëåäóþùèå îáíîâëåíèÿ ïðîøèâêè) ñîçäàåì ïàïêó, ê ïðèìåðó, entware, è çàïèñûâàåì åå â nvram :
Code:

# nvram set apps_install_folder=entware
, íó è ïîäïðàâëÿåì ëèíê
Code:

# rm -f /tmp/opt; ln -s /tmp/mnt/sda1/entware /tmp/opt
, â ïðèíöèïå ññûëêà èñïðàâèòñÿ ïðè ïåðåçàãðóçêå, íî çà÷åì îòòÿãèâàòü óäîâîëüñòâèå ;-)
1.-6. Àëüòåðíàòèâà (íå ãàðàíòèðîâàíî, íî äîëæíî ðàáîòàòü):
Ñòàâèì ôëåøêó (ìîíòèðóåì).
Çàõîäèì â åå êîðåíü, ñîçäàåì íóæíóþ ïàïêó (entware),
âûïîëíÿåì:
Code:

# nvram set apps_dev=sda1
# nvram set apps_install_folder=entware
# nvram set apps_mounted_path=/tmp/mnt/sda1
# ln -f /tmp/mnt/sda1/entware /tmp/opt
# ln -f /tmp/opt /opt

7. Â ïðèíöèïå - âñå ãîòîâî ê èíñòàëëÿöèè entware, âûïîëíÿåì, êàê è ðåêîìåíäîâàíî:
Code:

# cd /tmp
# wget http://wl500g-repo.googlecode.com/svn/ipkg/entware_install.sh
# chmod +x ./entware_install.sh
# ./entware_install.sh

, îäíàêî, ïî îïûòó èíñòàëëÿöèè ñêàæó, ÷òî ëó÷øå ïðåäâàðèòåëüíî çàéòè â /tmp/mnt/sda1/asusware(entware), è òàì âûïîëíèòü êîìàíäû ñîçäàíèÿ íåñêîëüêèõ ïàïîê:
Code:

cd /tmp/mnt/sda1/asusware
mkdir ./tmp
mkdir ./var/lock

8. Â ïðèíöèïå ìîæåòå óæå óñòàíîâèòü mc, è âñå óæå õîðîøî ;-).
Íî åñëè âàì íàäî ÷òîáû íåêèå ïàêåòû ñòàðòîâàëè âìåñòå ñî ñòàðòîì ðîóòåðà, òî íåîáõîäèìî åùå ÷óòü ÷óòü ïîòðóäèòüñÿ.
9. Ïðè íàëè÷èè ðàíåå ïðèâåäåííûõ çàïèñåé â nvram, ïîñëà ìîíòèðîâàíèÿ ôëåøêè àñóñîâñêèé ñîôò çàïóñêàåò ñêðèïò .asusrouter, íàõîäÿùèéñÿ â êîðíå ïàïêè, óêàçàííîé â ïàðàìåòðå apps_install_folder (ò.å., ïî óìîë÷àíèþ - â asusware), êîòîðàÿ ìîíòèðóåòñÿ êàê /opt.
È âîò òóò óæ ðåøàòü âàì, êàê óäîáíåå ïîñòóïèòü - íàïèñàòü ñâîé, ëèáî âîñïîëüçîâàòüñÿ îðèãèíàëüíûì.
10. ß èñïîëüçîâàë îðèãèíàëüíûé, íî ñ íåáîëüøèìè ïðàâêàìè :
Code:

#!/bin/sh
# ASUS app autorun script
# $1: device name, $2: mounted path.

nvram set apps_state_autorun=0 # INITIALIZING
nvram set apps_state_error=0
APPS_INSTALL_FOLDER=`nvram get apps_install_folder`
SWAP_ENABLE=`nvram get apps_swap_enable`
SWAP_THRESHOLD=`nvram get apps_swap_threshold`
SWAP_FILE=`nvram get apps_swap_file`
SWAP_SIZE=`nvram get apps_swap_size`
APPS_PATH=/opt
PATH=$APPS_PATH/usr/bin:$APPS_PATH/bin:$APPS_PATH/usr/sbin:$APPS_PATH/sbin:/usr/bin:/bin:/usr/sbin:/sbin
unset LD_LIBRARY_PATH
unset LD_PRELOAD

if [ -n "$1" ] && [ -n "$2" ];then
        APPS_DEV=$1
        APPS_MOUNTED_PATH=$2
        nvram set apps_dev=
        nvram set apps_mounted_path=
fi

original_apps_mounted_path=`nvram get apps_mounted_path`
if [ -n "$APPS_DEV" ] && [ -n "$APPS_MOUNTED_PATH" ] && [ -z "$original_apps_mounted_path" ]; then
        nvram set apps_dev=$APPS_DEV
        nvram set apps_mounted_path=$APPS_MOUNTED_PATH
else
        nvram set apps_state_error=1
        exit 1
fi

APPS_INSTALL_PATH=$APPS_MOUNTED_PATH/$APPS_INSTALL_FOLDER

nvram set apps_state_autorun=1 # CHECKING_POOL

APPS_MOUNTED_TYPE=`mount |grep "/dev/$APPS_DEV on " |awk '{print $5}'`

if [ "$APPS_MOUNTED_TYPE" == "vfat" ]; then
        link_ready=`app_check_pool.sh $APPS_DEV`
        if [ "$link_ready" == "Non-linked" ]; then
                echo "Building the link of $APPS_MOUNTED_PATH."
                app_base_link.sh
                if [ "$?" != "0" ]; then
                        # apps_state_error was already set by app_base_link.sh.
                        exit 1
                fi
        elif [ "$link_ready" == "linked" ]; then
                echo "Had already built the link of $APPS_MOUNTED_PATH."
        elif [ "$link_ready" == "Non-mounted" ]; then
                echo "Had not mounted yet!"
                nvram set apps_state_error=2
                exit 1
        else
                echo "Invalid input of the mounted path!"
                nvram set apps_state_error=1
                exit 1
        fi
else
        echo "Building the link of $APPS_MOUNTED_PATH."
        app_base_link.sh
        if [ "$?" != "0" ]; then
                # apps_state_error was already set by app_base_link.sh.
                exit 1
        fi
fi


nvram set apps_state_autorun=2 # CREATING_SWAP
if [ "$SWAP_ENABLE" != "1" ]; then
        echo "Disable to swap!"
else
        mem_size=`free |sed '1,3d' |awk '{print $4}'`
        if [ "$SWAP_THRESHOLD" == "" ] || [ $mem_size -lt $SWAP_THRESHOLD ]; then
                pool_size=`df /dev/$APPS_DEV |sed '1d' |awk '{print $4}'`
                if [ $pool_size -gt $SWAP_SIZE ]; then
                        if [ -e "$APPS_INSTALL_PATH/$SWAP_FILE" ]; then
                                swapoff $APPS_INSTALL_PATH/$SWAP_FILE
                                rm -rf $APPS_INSTALL_PATH/$SWAP_FILE
                        fi

                        swap_count=`expr $SWAP_SIZE / 1000 - 1`
                        echo "dd if=/dev/zero of=$APPS_INSTALL_PATH/$SWAP_FILE bs=1M count=$swap_count"
                        dd if=/dev/zero of=$APPS_INSTALL_PATH/$SWAP_FILE bs=1M count=$swap_count
                        echo "mkswap $APPS_INSTALL_PATH/$SWAP_FILE"
                        mkswap $APPS_INSTALL_PATH/$SWAP_FILE
                        echo "swapon $APPS_INSTALL_PATH/$SWAP_FILE"
                        swapon $APPS_INSTALL_PATH/$SWAP_FILE
                else
                        echo "No enough partition size!"
                        nvram set apps_state_error=3
                        exit 1
                fi
        fi
fi

nvram set apps_state_autorun=3 # EXECUTING
# run all APPs by order.

nvram set apps_state_autorun=4 # FINISHED

sleep 5
app_init_run.sh allpkg start

èçìåíåíèÿ êîñíóëèñü íåñêîëüêèõ ïîñëåäíèõ ñòðîê, ðàíåå áûëî
Code:

nvram set apps_state_autorun=3 # EXECUTING
link_internet=`nvram get link_internet`
if [ "$link_internet" == "1" ]; then
        app_update.sh &
fi

# run all APPs by order.
app_init_run.sh allpkg start


nvram set apps_state_autorun=4 # FINISHED

Ïåðåíîñ app_init_run.sh allpkg start è äîáàâëåíèå çàäåðæêè, âûçâàíî ïðè÷èíàìè îïèñàííûìè äàëåå.
11. Òåïåðü ó íàñ äîëæíû çàïóñêàòüñÿ ñòàðòîâûå ñêðèïòû èç /opt/etc/init.d/, îäíàêî íå âñå òàê ïðîñòî, ò.ê. èõ çàïóñê ïðîèñõîäèò ÷åðåç app_init_run.sh (íàõîäèòñÿ â /usr/sbin), è äëÿ òîãî, ÷òîáû èì âîñïîëüçîâàòüñÿ íåîáõîäèìî åùå íåñêîëüêî òåëîäâèæåíèé, ò.ê. ïðè ïîïûòêå ñòàðòà ÷åðåç íåãî ïàêåòà (âñåõ ïàêåòîâ), îí :
à) âû÷ëåíÿåò èìÿ ïàêåòà èç èìåíè ñòàðòîâîãî ôàéëà, ò.å. èç SXXname, ïîëó÷àåò name.
á) èùåò ôàéë name.control â ïàïêå /opt/lib/ipkg/info.
ñ) èùåò â ýòîì ôàéëå ñòðîêó âèäà Enabled: yes.
Òîëüêî ïðè íàëè÷èè âñåõ óñëîâèé - ôàéë âûïîëíÿåòñÿ.
Èòàê, äåëàåì :
Code:

# cd /opt/lib; ln -s opkg ipkg
.
Òåïåðü îñòàëîñü òîëüêî ëèáî ïðèâîäèòü â ñîîòâåòñòâèå èìÿ ïàêåòà ê èìåíè ñòàðòîâîãî ñêðèïòà, ñ ïîìîùüþ ñèìâîëè÷åñêîé ññûëêè äëÿ ôàéëà name.control, ëèáî àíàëîãè÷íî èìåíîâàòü ñòàðòîâûå ñêðèïòû.
Ðàíåå ÿ æàëîâàëñÿ íà îòñóòñòâèå âîçìîæíîñòè çàëîãèíèòüñÿ ïî ssh, äåìîí ðóãàëñÿ íà òî, ÷òî àêêàóíò èñòåê.
Òåïåðü, ÿ ïîñòàâèë ïàêåò shadow, è â ñòàòîâîì ñêðèïòå äîáàâèë ñòðîêó
Code:

/opt/sbin/usermod -e 2030-01-01 admin
, è ñ÷àñòüå åñòü, îäíàêî, ïîõîæå ïàðàëëåëüíî ñ çàïóñêîì ñòàðòîâûõ ñêðèïòîâ, ðîóòåð îáíîâëÿë /etc/passwd è /etc/shadow íà áàçå äàííûõ nvram, ïîòîìó ïðèøëîñü äîáàâèòü çàäåðæêó.
Ïîìèìî íàëè÷èÿ ê ïðèìåðó àãåíòà zabbix, íó èëè ê ïðèìåðó xupnpd - òðàíñëÿòîðà iptv íà dlna ñîâìåñòèìûå äåâàéñû.

Подключение репозитария Entware на оригинальной прошивке Asus RT-N66U

$
0
0
Итак, поделюсь опытом, вдруг кому пригодится ;-).
Исходные данные:
По умолчанию при выборе установки Download Master из раздела USB-приложений, одна из папок флешки(SD карточки) линкуется как /opt (точнее - как /tmp/opt, а уже оттуда - /opt)
Код:

lrwxrwxrwx    1 admin    root            7 Mar 21 19:48 /opt -> tmp/opt/
...
lrwxrwxrwx    1 admin    root            22 Apr  1 03:53 /tmp/opt -> /tmp/mnt/sda1/asusware/

По умолчанию - это папка asusware, так ее создает инсталлятор.
Какое-то время я пожил с тем, что предлагает asus, но остался не удовлетворен, морально :-). По подсказкам более опытных товарищей (дело было на ixbt) обнаружил репозиторий пакетов Entware, и правила перехода на него.

Заинтересовался, и перешел.
Процесс перехода:
Можно пойти как делал я, доступиться к чудовищу для утех сладостных через доставку аленкого цветочка, либо напрямую (требует дополнительной проверки).
Итак, приступаем (флешка стоит, лучше - форматированная в ext) :
1. Заходим в веб-морду, идем в раздел USB-приложения, и нажимаем - установить Download Master.
2. После чего на флешке создается папка asusware/, которая путем хитрых манипуляций с ссылками становится папкой /opt (см. выше).

Учтите флешка на sda1 - это у меня, у вас может быть с другим именем, путем монтирования, тогда пляшем от вашего. Да и файловая система играет роль ...
Кроме того туда закачивается обвязка ipkg и ставится пакет downloadmaster, так же становятся доступными два репозитария :
Код:

src/gz optware.oleg http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable
src/gz optware.asus http://dlcdnet.asus.com/pub/ASUS/wireless/ASUSWRT

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

-rwxrwxrwx    1 admin    root          3688 Apr  1 03:08 .asusrouter*
Который отвечает за автостарт пакетов из репозитария, которые имеют стартовые скрипты в папке /opt/etc/init.d, после подмонтирования флешки.
А так же в nvram будут записаны следующие значения :
Код:

apps_dev=sda1
apps_install_folder=asusware
apps_mounted_path=/tmp/mnt/sda1

4. Идем в вебморду, и отключаем Download Master.
5. На всякий случай проверяем через телнет с помощью ps, не запущен ли он, и если что - останавливаем с помощью
Код:

# /opt/etc/init.d/S50downloadmaster stop
.
6. Очищаем папку asusware, либо, я бы рекомендовал, просто переименовываем в asusware.orig, а вместо нее создаем новую папку asusware.
Либо (вот этот вариант требует проверки, и не уверен, не повредят ли его последующие обновления прошивки) создаем папку, к примеру, entware, и записываем ее в nvram :
Код:

# nvram set apps_install_folder=entware
, ну и подправляем линк
Код:

# rm -f /tmp/opt; ln -s /tmp/mnt/sda1/entware /tmp/opt
, в принципе ссылка исправится при перезагрузке, но зачем оттягивать удовольствие ;-)
1.-6. Альтернатива (не гарантировано, но должно работать):
Ставим флешку (монтируем).
Заходим в ее корень, создаем нужную папку (entware),
выполняем:
Код:

# nvram set apps_dev=sda1
# nvram set apps_install_folder=entware
# nvram set apps_mounted_path=/tmp/mnt/sda1
# ln -f /tmp/mnt/sda1/entware /tmp/opt
# ln -f /tmp/opt /opt

7. В принципе - все готово к инсталляции entware, выполняем, как и рекомендовано:
Код:

# cd /tmp
# wget http://wl500g-repo.googlecode.com/svn/ipkg/entware_install.sh
# chmod +x ./entware_install.sh
# ./entware_install.sh

, однако, по опыту инсталляции скажу, что лучше предварительно зайти в /tmp/mnt/sda1/asusware(entware), и там выполнить команды создания нескольких папок:
Код:

cd /tmp/mnt/sda1/asusware
mkdir ./tmp
mkdir ./var/lock

8. В принципе можете уже установить mc, и все уже хорошо ;-).
Но если вам надо чтобы некие пакеты стартовали вместе со стартом роутера, то необходимо еще чуть чуть потрудиться.
9. При наличии ранее приведенных записей в nvram, посла монтирования флешки асусовский софт запускает скрипт .asusrouter, находящийся в корне папки, указанной в параметре apps_install_folder (т.е., по умолчанию - в asusware), которая монтируется как /opt.
И вот тут уж решать вам, как удобнее поступить - написать свой, либо воспользоваться оригинальным.
10. Я использовал оригинальный, но с небольшими правками :
Код:

#!/bin/sh
# ASUS app autorun script
# $1: device name, $2: mounted path.

nvram set apps_state_autorun=0 # INITIALIZING
nvram set apps_state_error=0
APPS_INSTALL_FOLDER=`nvram get apps_install_folder`
SWAP_ENABLE=`nvram get apps_swap_enable`
SWAP_THRESHOLD=`nvram get apps_swap_threshold`
SWAP_FILE=`nvram get apps_swap_file`
SWAP_SIZE=`nvram get apps_swap_size`
APPS_PATH=/opt
PATH=$APPS_PATH/usr/bin:$APPS_PATH/bin:$APPS_PATH/usr/sbin:$APPS_PATH/sbin:/usr/bin:/bin:/usr/sbin:/sbin
unset LD_LIBRARY_PATH
unset LD_PRELOAD

if [ -n "$1" ] && [ -n "$2" ];then
        APPS_DEV=$1
        APPS_MOUNTED_PATH=$2
        nvram set apps_dev=
        nvram set apps_mounted_path=
fi

original_apps_mounted_path=`nvram get apps_mounted_path`
if [ -n "$APPS_DEV" ] && [ -n "$APPS_MOUNTED_PATH" ] && [ -z "$original_apps_mounted_path" ]; then
        nvram set apps_dev=$APPS_DEV
        nvram set apps_mounted_path=$APPS_MOUNTED_PATH
else
        nvram set apps_state_error=1
        exit 1
fi

APPS_INSTALL_PATH=$APPS_MOUNTED_PATH/$APPS_INSTALL_FOLDER

nvram set apps_state_autorun=1 # CHECKING_POOL

APPS_MOUNTED_TYPE=`mount |grep "/dev/$APPS_DEV on " |awk '{print $5}'`

if [ "$APPS_MOUNTED_TYPE" == "vfat" ]; then
        link_ready=`app_check_pool.sh $APPS_DEV`
        if [ "$link_ready" == "Non-linked" ]; then
                echo "Building the link of $APPS_MOUNTED_PATH."
                app_base_link.sh
                if [ "$?" != "0" ]; then
                        # apps_state_error was already set by app_base_link.sh.
                        exit 1
                fi
        elif [ "$link_ready" == "linked" ]; then
                echo "Had already built the link of $APPS_MOUNTED_PATH."
        elif [ "$link_ready" == "Non-mounted" ]; then
                echo "Had not mounted yet!"
                nvram set apps_state_error=2
                exit 1
        else
                echo "Invalid input of the mounted path!"
                nvram set apps_state_error=1
                exit 1
        fi
else
        echo "Building the link of $APPS_MOUNTED_PATH."
        app_base_link.sh
        if [ "$?" != "0" ]; then
                # apps_state_error was already set by app_base_link.sh.
                exit 1
        fi
fi


nvram set apps_state_autorun=2 # CREATING_SWAP
if [ "$SWAP_ENABLE" != "1" ]; then
        echo "Disable to swap!"
else
        mem_size=`free |sed '1,3d' |awk '{print $4}'`
        if [ "$SWAP_THRESHOLD" == "" ] || [ $mem_size -lt $SWAP_THRESHOLD ]; then
                pool_size=`df /dev/$APPS_DEV |sed '1d' |awk '{print $4}'`
                if [ $pool_size -gt $SWAP_SIZE ]; then
                        if [ -e "$APPS_INSTALL_PATH/$SWAP_FILE" ]; then
                                swapoff $APPS_INSTALL_PATH/$SWAP_FILE
                                rm -rf $APPS_INSTALL_PATH/$SWAP_FILE
                        fi

                        swap_count=`expr $SWAP_SIZE / 1000 - 1`
                        echo "dd if=/dev/zero of=$APPS_INSTALL_PATH/$SWAP_FILE bs=1M count=$swap_count"
                        dd if=/dev/zero of=$APPS_INSTALL_PATH/$SWAP_FILE bs=1M count=$swap_count
                        echo "mkswap $APPS_INSTALL_PATH/$SWAP_FILE"
                        mkswap $APPS_INSTALL_PATH/$SWAP_FILE
                        echo "swapon $APPS_INSTALL_PATH/$SWAP_FILE"
                        swapon $APPS_INSTALL_PATH/$SWAP_FILE
                else
                        echo "No enough partition size!"
                        nvram set apps_state_error=3
                        exit 1
                fi
        fi
fi

nvram set apps_state_autorun=3 # EXECUTING
# run all APPs by order.

nvram set apps_state_autorun=4 # FINISHED

sleep 5
app_init_run.sh allpkg start

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

nvram set apps_state_autorun=3 # EXECUTING
link_internet=`nvram get link_internet`
if [ "$link_internet" == "1" ]; then
        app_update.sh &
fi

# run all APPs by order.
app_init_run.sh allpkg start


nvram set apps_state_autorun=4 # FINISHED

Перенос app_init_run.sh allpkg start и добавление задержки, вызвано причинами описанными далее.
11. Теперь у нас должны запускаться стартовые скрипты из /opt/etc/init.d/, однако не все так просто, т.к. их запуск происходит через app_init_run.sh (находится в /usr/sbin), и для того, чтобы им воспользоваться необходимо еще несколько телодвижений, т.к. при попытке старта через него пакета (всех пакетов), он :
а) вычленяет имя пакета из имени стартового файла, т.е. из SXXname, получает name.
б) ищет файл name.control в папке /opt/lib/ipkg/info.
с) ищет в этом файле строку вида Enabled: yes.
Только при наличии всех условий - файл выполняется.
Итак, делаем :
Код:

# cd /opt/lib; ln -s opkg ipkg
.
Теперь осталось только либо приводить в соответствие имя пакета к имени стартового скрипта, с помощью символической ссылки для файла name.control, либо аналогично именовать стартовые скрипты.
Ранее я жаловался на отсутствие возможности залогиниться по ssh, демон ругался на то, что аккаунт истек.
Теперь, я поставил пакет shadow, и в статовом скрипте добавил строку
Код:

/opt/sbin/usermod -e 2030-01-01 admin
, и счастье есть, однако, похоже параллельно с запуском стартовых скриптов, роутер обновлял /etc/passwd и /etc/shadow на базе данных nvram, потому пришлось добавить задержку.
Помимо наличия к примеру агента zabbix, ну или к примеру xupnpd - транслятора iptv на dlna совместимые девайсы.

Êàê ïðàâèëüíî ïåðåïðîøèòü ðîóòåð

$
0
0
Âñåì äîáðûé äåíü. Ñèëüíî íå ïèíàéòå, íå íàøåë îòâåòà íà ñâîé âîïðîñ íà ôîðóìå. Âèäíî îí ñëèøêîì ïðîñò, ÷òîáû åãî òóò îáñóæäàëè.

 ñâÿçè ñ òåì, ÷òî ñåðâèñ DynDns ñòàë ïëàòíûì, à îí ìíå êðàéíå íóæåí, íî ïëàòèòü íå õî÷åòñÿ, ðåøèë ñìåíèòü ïðîøèâêó íà WL500GP v1 äëÿ òîãî ÷òîáû èìåòü âîçìîæíîñòü âûáðàòü ñåðâèñ no-ip.com

Ó ìåíÿ ñòîèò ïðîøèâêà 1.9.2.7-10 îò Îëåãà. + Ïîäêëþ÷åí HDD, íàñòðîåí rtorrent è ò.ï. Âñå ýòè íàñòðîéêè ìíå äàëèñü ñ îãðîìíûì òðóäîì (ÿ âîîáùå íå øàðþ â linux) è ïîâòîðèòü ÿ ýòî íå ñìîãó, íàâåðíîå ((. Îòñþäà âîïðîñ, ìîæíî ëè çàìåíèòü ïðîøèâêó íà áîëåå íîâóþ, íàïðèìåð 1.9.2.7-10.7 îò Îëåãà èëè 1.9.2.7-d îò ýíòóçèàñòîâ, ïðè ýòîì íå òðîãàÿ òî, ÷òî ó ìåíÿ â ðîóòåðå ïðîïèñàíî? Èëè êàê òî ñîõðàíèòü òåêóùèå íàñòðîéêè?

Íàñêîëüêî ÿ ïîíÿë äîñòàòî÷íî ïðîñòî ñîõðàíèòü íàñòðîéêè firmware settings è flashfs, â ðàçäåëå flashfs managment, ïðàâèëüíî?:confused:

Asus RT N13U B1 ïðèøèâêè è íàñòðîéêà

$
0
0
Ïðèâåò.
Íåäàâíî ñòàë îáëàäàòåëå ñåãî äèâàéñà. Áðàë Asus ïî ñîâåòó äðóçåé. Ãîâîðèëè, ÷òî îí ñòàáèëåí è åñòü ìíîãî íå îôèöèàëüíûõ ïðîøèâîê. Êîãäà ïîëàçèë ïî ñàéòàì, îêàçàëîñü, ÷òî íå âñå òàê õîðîøî êàê îíî åñòü. Ïðîøèâîê äëÿ ýòîãî äèâàéñà ìàëî, äà è òî áîëüøàÿ èõ ÷àñòü íà îô ñàéòå. Ïîýòîìó ðåøèë ïîñïðàøàòü ó çíàþùèõ, êòî ìîæåò ïîäåëèòñÿ ññûëêîé íà ñòàáèëüíóþ ïðîøèâêó.

RT-N16 íå ïîäêëþ÷àåòñÿ ïî L2TP

$
0
0
Ïîäêëþ÷èëñÿ ê èíåòó Áèëàéíà è êóïèë RT-N16. Ñ çàâîäà íà ðîóòåðå áûëà ïðîøèâêà 1.0.2.3, íî ñ íåé ñîåäèíåíèå ïî L2TP íå ïðîõîäèëî:

Jan 1 04:34:55 /usr/sbin/l2tpd[476]: tunnel_establish: gethostbyname failed for 'tp.internet.beeline.ru'
Jan 1 04:35:35 /usr/sbin/l2tpd[476]: tunnel_establish: gethostbyname failed for 'tp.internet.beeline.ru'
Jan 1 04:36:15 /usr/sbin/l2tpd[476]: tunnel_establish: gethostbyname failed for 'tp.internet.beeline.ru'
Jan 1 04:36:55 /usr/sbin/l2tpd[476]: tunnel_establish: gethostbyname failed for 'tp.internet.beeline.ru'
Jan 1 04:37:35 /usr/sbin/l2tpd[476]: tunnel_establish: gethostbyname failed for 'tp.internet.beeline.ru'
Jan 1 04:38:15 /usr/sbin/l2tpd[476]: tunnel_establish: gethostbyname failed for 'tp.internet.beeline.ru'

Îáíîâèëñÿ äî ïîñëåäíåé ïðîøèâêè - 3.0.0.3.108, íå ïîìîãëî. Ïðîøèë 1.9.2.7-rtn-r4051, íå ïîìîãëî.

Ïðîáîâàë âìåñòî äîìåíà ñåðâåðà ïðîïèñàòü 85.21.0.239. Ñîåäèíåíèå íå ïðîõîäèò, íî îøèáêà óæå:
Jan 1 04:02:21 l2tpd[324]: Too many retransmissions on tunnel (20938/0); closing down

Ñàïïîðò ïî òåëåôîíó âîîáùå îòêàçûâàåòñÿ ìíå õîòü êàê-òî ïîìîãàòü. Óáèë óæå ïàðó ÷àñîâ, íå çíàþ ÷òî äàëüøå äåëàòü. Ïîìîãèòå ïëèç.

PS: Íàïðÿìóþ, ïðè ïîäêëþ÷åíèè êàáåëÿ ê êîìïó, èíåò ïàøåò.

Ïîäêëþ÷åíèå ñåòåâîãî äèñêà

$
0
0
Èìååòñÿ ðîóòåð Wl500 gpV2 ñ óñòàíîâëåíîé ñàìáà 3. Òàêæå èìååòñÿ ñåòåâîé äèñê íà äðóãîì óñòðîéñòâå, ðàñøàðåíûé ñàìáîé âåðñèè 2. ÏÊ ñ windows âèäèò è îòëè÷íî âçàèìîäåéñòâóåò ñ ñåòåâûì äèñêîì, íî âîò ðîóòåð íå ïîëó÷àåòñÿ ê íåìó ïîäêëþ÷èòü.
Äðóãîé äèñê-ôëåøêà íà ðîóòåðå ðàñøàðåíàÿ, äîñòóï ñ ÏÊ òàêæå åñòü.
âîò ÷òî âïèñàë â /etc/fstab
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/mnt/disc0_3 ext3 rw,noatime 1 1
//192.168.1.79/STORAGE /tmp/mnt/Open smbfs rw,users,root,username=root,
iocharset=utf8

Âîò ÷òî ïîêàçûâàåò êîìàíäà
Code:

[root@ASUS-Router root]cd /tmp/mnt/

[root@ASUS-Router mnt]ls
total 4
drwxr-xr-x 1 root root    0 1970-01-01 02:00 .
drwxrwxrwx 1 root root    0 2000-01-01 02:00 ..
drwxr-xr-x 9 root root 4096 1970-01-01 02:03 disc0_3
drwxrwxrwx 1 root root    0 2012-04-06 13:30 Open

Êàê âèäíî, disc0_3 - ýòî ðàçäåë ôëåøêè, ïàïêó Open ñîçäàë äëÿ ðàñøàðèâàíèÿ ñåòåâîãî äèñêà.
Êîìàíäà fdisk -l
Code:

[root@ASUS-Router mnt]$ fdisk -l

Disk /dev/scsi/host0/bus0/target0/lun0/disc: 8424 MB, 8424259584 bytes
49 heads, 48 sectors/track, 6995 cylinders
Units = cylinders of 2352 * 512 = 1204224 bytes

                                Device Boot    Start      End    Blocks  Id  System
/dev/scsi/host0/bus0/target0/lun0/part1              1        214      251640  82  Linux swap
/dev/scsi/host0/bus0/target0/lun0/part2            215        1065    1000776  83  Linux
/dev/scsi/host0/bus0/target0/lun0/part3            1066        6995    6973680  83  Linux

Êîìàíäà mount
Code:

[root@ASUS-Router mnt]$  mount
/dev/root on / type squashfs (ro)
none on /dev type devfs (rw)
proc on /proc type proc (rw)
ramfs on /tmp type ramfs (rw)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/discs/disc0/part2 on /opt type ext3 (rw,noatime)
/dev/discs/disc0/part3 on /tmp/mnt/disc0_3 type ext3 (rw,noatime)

Âîò ñåòåâîé äèñê, ê êîòîðîìó õî÷ó ïîäêëþ÷èòüñÿ, äàáû ïðèìîíòèðîâàòü ê ðîóòåðó åãî:
Code:

[root@ASUS-Router mnt]$ smbclient -L 192.168.1.79 -N
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.12]

        Sharename      Type      Comment
        ---------      ----      -------
cli_rpc_pipe_open_noauth: rpc_pipe_bind for pipe \srvsvc failed with error NT_STATUS_UNSUCCESSFUL
        STORAGE        Disk
        ROOT            Disk
        IPC$            IPC      IPC Service (OpenboxS5)
        ADMIN$          Disk      IPC Service (OpenboxS5)
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.12]

        Server              Comment
        ---------            -------

        Workgroup            Master
        ---------            -------

×òî íå òàê-òî äåëàþ? Ïðè ïîïûòêå ìîíòèðîâàíèÿ:
Code:

[root@ASUS-Router mnt]$ mount /tmp/mnt/Open
mount: Mounting //192.168.1.79/STORAGE on /tmp/mnt/Open failed: No such device
[root@ASUS-Router mnt]$

M5A78L LE läuft nicht

$
0
0
Hallo habe mir ein Paket bestellt.
M5A78L LE mit CPU und RAM Lüfter.

Alles in einem Gehäuse eingebaut.
850 Watt Netzteil gekauft eingebaut.

Alte Grafikkarte PCI gefunden zum testen.

Strom auf dem Board.
Grüne LED geht an.

Power Knopf gedrückt.

Lüfter gehen an. Hdd läuft, Tastatur leuchten alle LED kurz an.

Aber kein Bild auf dem Bidschirm.
Auch keinen Piepser höre ich beim Lautsprecher.
Was könnte das sein ?

Danke

ASUS Transformer e-mailinstelling

$
0
0
Bij het aanmaken van accounts voor onze e-mail hebben we -adres en -wachtwoord ingevoerd. Nu blijkt dat wanneer we naar onze mailbox gaan, deze direct met de inbox opent, zonder dat het ww hoeft te worden ingevoerd. Iedereen die onze tablet in handen heeft kan dus in onze post rondneuzen. Bij Instellingen heb ik Wachtwoorden onthouden al afgevinkt, maar dat verandert niets. Wie weet waar ik de wachtwoordinstelling voor de mail op de tablet kan veranderen?
Bij voorbaat dank voor de hulp.
m.vr.gr.
Frejo

White list

$
0
0
Есть ли возможность на какой либо версии прошивки поставить в Wan Aceess "белый" список с адресами (парой в вебе) которые можно посейщать, а все остальные адреса несчадно резать ?

доступ к роутеру через NAT (3G/GPRS)

$
0
0
Хочу на даче поставить роутер (к примеру 500gDeluxe), к нему подцепить еще парочку устройств. Но для этого нужно до роутера как-то организовать входящее соединение. Дома работает преиум с прошивкой энтузиастов (wrt), нормальный статический IP. Делюкс также на прошивке от энтузиастов (версия d), интернет через 3G модем уже работает. Какие варианты я вижу (а тут прошу помощи в настройке):
1. Дополнительная услуга в виде статического IP. Начинают работать входящие соединения. Но вариант платный и потому на крайний случай.
2. OpenVPN туннель. Премиум дома - сервер, делюкс на даче - клиент. Доступ к делюксу обеспечивает премиум (пробрасывает порты).
Описание поднятия сервера я нашел, а вот клиента пока не могу...
3. Может быть есть вариант проще?

ЗЫ. у меня одного поиск ничего (вообще) не находит?

конфигурация "извне"

$
0
0
Здравствуйте!

С помощью роутера организовал локальную сеть. Провайдер завёл в квартиру Ethernet, предоставил фиксированный IP-шник. Настроил Port Forwarding для доступа извне к одному из компов через RDP. Сейчас нахожусь ВНЕ дома. Какие-то настройки роутера сбились (возможно, что-то с DHCP), не могу достучаться до удалённого компа, проверить и поправить. Вопрос: роутер предоставляет свой веб-интерфейс "вовне"? Есть ли ещё какие-нибудь возможности его поконфигурить - Telnet и пр.?

Как организовать сохранение истории загрузки Wan канала?

$
0
0
есть острая потребность видеть историю изменения значений
выдаваемых во вкладке:
Status & Log - System Utilization
частота обновления при этом в 10 секунд вполне достаточна.
Но надо, иметь возможность смотреть историю последних 36часов минимум.
И лучше, что бы на другом компьютере это все сохранялось.

Все сделаю сам, с linux работаю.
Дайте только направление куда копать.

Есть роутер wl500gpv2 с 1.9.2.7-rtn-r3702,
если есть разница надо могу и N16 и прошивку поменять на какую скажете.

Спасибо.

520gc и 520gu

$
0
0
Камрады, прошивка для gu подходит для gc?
Если нет, то какая последняя на данный момент? У меня вижу 7.0.1.46

Заранее извиняюсь, пишу с калькулятора в роуминге, прошу помочь.

WL-300g (acces point) met custom firmware ?

$
0
0
Dat ik hier na al die jaren nog eens terug zou komen ... :D

Heb m'n oude WL-300g uitgegeraven en ben van plan om 'm beneden neer te zetten voor gebruik met tablets, Nintendo DS enzo.
Lijkt me wel handig om behalve de web-interface ook Telnet of SSH te kunnen doen en kwam dus bij Oleg's frmware (bijv. WL300g-1.9.2.7-9) terecht. Nou kan ik wel heel veel info over de Wl-500g vinden, maar weining over mijn access point.
Wat kan ik verwachten ? Verandert de web-interface ook of blijft die hetzelfde ? Zijn er mensen die ervaring hebben met de WL-300g en custom firmware ?

Bdankt alvast.

Asus RT-G32 v.C1 нет соединения с инетом

$
0
0
Перестал работать Asus RT-G32.При подключении сетевого кабеля к WAN порту индикатор WAN не загорается.При настройке соединения пишет проверьте кабель.Все тоже самое работает на DLink 2500.При соединении WAN с компом патчкордом WAN загорается.Reset и прошивка не помогло.Все LAN видит.В вебинте6рфейс заходит.

Çàïèñü è âîñïðîèçâåäåíèå ðàáîòû â êîíñîëè

$
0
0
Ïðèâåòñòâóþ âñåõ.

Ïðåäñòàâëÿþ àäàïòàöèþ äëÿ ðîóòåðà ñêðèïòà îò ascii.io
Îí ïîçâîëÿåò çàïèñàòü òåðìèíàëüíóþ ñåññèþ è ïîäåëèòüñÿ çàïèñüþ ñ îáùåñòâåííîñòüþ. Ïðè÷åì äîñòóïíû ïàóçà, ïåðåìîòêà, âûäåëåíèå è êîïèðîâàíèå â áóôåð âî âðåìÿ âîñïðîèçâåäåíèÿ.

Ïðåäïîëàãàåòñÿ, ÷òî íà ðîóòåðå èñïîëüçóåòñÿ ðåïîçèòîðèé entware
Íåîáõîäèìî óñòàíîâèòü ïàêåòû ïèòîíà
Code:

$ opkg install python python-bzip2
òàêæå òðåáóåòñÿ subprocess.py, â ñîáðàííûõ ïàêåòàõ ÿ åãî íå îáíàðóæèë, ïîýòîìó ïðåäëàãàþ âçÿòü èç ñåòè, íàïðèìåð: (ïðîøó ïèòîíîâåäîâ ïîäòâåðäèòü, ÷òî òàê êîððåêòíî)
Code:

$ wget -P /opt/lib/python2.7 http://fossies.org/unix/misc/Python-2.7.3.tgz:b/Python-2.7.3/Lib/subprocess.py
è ðàçâåðíóòü â /opt/bin ìîé àðõèâ, ñîäåðæàùèé ñêðèïò, ïîäâåðãíóòûé ìîäèôèêàöèè, è âñïîìîãàòåëüíûé ñêðèïò, èìèòèðóþùèé ÷àñòü ôóíêöèîíàëà îòñóòñòâóþùåé óòèëèòû tput
Code:

$ wget http://econstat.ru/box/asciiio_rtn.tgz -O - | tar -xvzf - -C /
Èçìåíåíèÿ â ñêðèïòå:
  1. êàòàëîã äëÿ äàííûõ è íàñòðîåê èçìåíåí íà /opt/etc/.ascii.io
  2. âûçîâ reset (a.k.a. tset?) äëÿ òåðìèíàëà îòêëþ÷åí, íà ðàáîòîñïîñîáíîñòü âðîäå áû íå ïîâëèÿëî
  3. âûçîâû tput äëÿ îïðåäåëåíèÿ ÷èñëà ñòðîê è ñòîëáöîâ â òåðìèíàëå çàìåíåíû íà âûçîâû stty ÷åðåç ñêðèïò


Çàïóñê ñêðèïòà: asciiio_rtn

Åñëè âñ¸ â ïîðÿäêå, áóäåò âûâåäåíî:
Code:

Asciicast recording started. Hit ^D (that's Ctrl+D) or type "exit" to finish.
ïîñëå îêîí÷àíèÿ çàïèñè ñêðèïò ïðåäëîæèò çàãðóçèòü çàïèñü íà ñàéò, ìîæíî îòêàçàòüñÿ.

Ïðèìåð çàïèñè

P.S. ïðèçûâàþ ê îñòîðîæíîñòè ïðè îïóáëèêîâàíèè çàïèñåé, ìîæíî ðàñêðûòü ìíîãî èíôîðìàöèè î ñåáå
P.P.S. åñëè ïðåäñòàâëåííûé ôóíêöèîíàë ïðåäñòàâëÿåò èíòåðåñ, ïðîøó ïîìîùè â ïîäãîòîâêå íîðìàëüíîãî ïàêåòà äëÿ ðåïîçèòîðèÿ

Запись и воспроизведение работы в консоли

$
0
0
Приветствую всех.

Представляю адаптацию для роутера скрипта от ascii.io
Он позволяет записать терминальную сессию и поделиться записью с общественностью. Причем доступны пауза, перемотка, выделение и копирование в буфер во время воспроизведения.

Предполагается, что на роутере используется репозиторий entware
Необходимо установить пакеты питона
Код:

$ opkg install python python-bzip2
также требуется subprocess.py, в собранных пакетах я его не обнаружил, поэтому предлагаю взять из сети, например: (прошу питоноведов подтвердить, что так корректно)
Код:

$ wget -P /opt/lib/python2.7 http://fossies.org/unix/misc/Python-2.7.3.tgz:b/Python-2.7.3/Lib/subprocess.py
и развернуть в /opt/bin мой архив, содержащий скрипт, подвергнутый модификации, и вспомогательный скрипт, имитирующий часть функционала отсутствующей утилиты tput
Код:

$ wget http://econstat.ru/box/asciiio_rtn.tgz -O - | tar -xvzf - -C /
Изменения в скрипте:
  1. каталог для данных и настроек изменен на /opt/etc/.ascii.io
  2. вызов reset (a.k.a. tset?) для терминала отключен, на работоспособность вроде бы не повлияло
  3. вызовы tput для определения числа строк и столбцов в терминале заменены на вызовы stty через скрипт


Запуск скрипта: asciiio_rtn

Если всё в порядке, будет выведено:
Код:

Asciicast recording started. Hit ^D (that's Ctrl+D) or type "exit" to finish.
после окончания записи скрипт предложит загрузить запись на сайт, можно отказаться.

Пример записи

P.S. призываю к осторожности при опубликовании записей, можно раскрыть много информации о себе
P.P.S. если представленный функционал представляет интерес, прошу помощи в подготовке нормального пакета для репозитория
Viewing all 1548 articles
Browse latest View live