我需要在 Linux 路由器上安装一个程序。在安装了 ddwrt 的 Linksys 路由器上也可以安装吗?如何安装?
答案1
要使用 DD-WRT 在路由器上安装东西,你必须在路由器管理界面中启用一些功能。首先,启用捷福斯FS2在管理选项卡行政部分。第二,启用SSHd在服务选项卡服务部分。如果您需要从另一台计算机访问文件,最简单的方法是通过 Windows 文件共享/SMB 共享它们,然后通过CIFS 自动挂载部分管理选项卡行政部分。如果需要,您还可以使用 SCP。
完成上述操作后,你就可以通过 SSH 访问你的路由器了。在 Linux 和 Mac OS X 上,只需运行ssh [router IP address]
即可。在 Windows 上,你需要油灰或另一个 SSH 客户端。
一旦你登录,你就可以访问完整的 Linux忙碌盒子shell。但这只是成功的一半。路由器不配备基于 x86 的处理器,因此您不能只从 Linux 机器复制二进制文件并让其运行。它必须针对特定路由器附带的处理器进行编译,并设计为在 BusyBox 上运行。
但是,有许多为路由器编译的软件包,可以使用 OpenWRT 项目创建的软件包管理器安装,这些软件包包含在 DD-WRT 中,称为ipkg
(正如我在写这个答案时另一位用户指出的那样)。ipkg
文档有ipkg
命令使用说明和DD-WRT 的多个软件包来源。
答案2
您可以使用openwrt的ipkg打包工具:http://www.dd-wrt.com/wiki/index.php/Ipkg
答案3
如果是 dd-wrt 的某个micro
版本,你的选择就很有限了,因为 ssh 和 scp 不可用。我发现了一种相当可靠的方法如果您可以访问可以用作网络服务器的机器;将文件复制到网络服务器,然后wget
从 dd-wrt 框中复制:
jcomeau@aspire:~/rentacoder/jcomeau/ddwrt$ dd if=/dev/urandom bs=256 count=1 of=/tmp/test.dat
1+0 records in
1+0 records out
256 bytes (256 B) copied, 0.0012205 s, 210 kB/s
jcomeau@aspire:~/rentacoder/jcomeau/ddwrt$ scp /tmp/test.dat unixshell.jcomeau.com:/var/www/jcomeau/
test.dat 100% 256 0.3KB/s 00:00
jcomeau@aspire:~/rentacoder/jcomeau/ddwrt$ telnet 192.168.151.1
Trying 192.168.151.1...
Connected to 192.168.151.1.
Escape character is '^]'.
DD-WRT v24-sp2 micro (c) 2009 NewMedia-NET GmbH
Release: 10/10/09 (SVN revision: 13064)
plinksys login: root
Password:
==========================================================
____ ___ __ ______ _____ ____ _ _
| _ \| _ \ \ \ / / _ \_ _| __ _|___ \| || |
|| | || ||____\ \ /\ / /| |_) || | \ \ / / __) | || |_
||_| ||_||_____\ V V / | _ < | | \ V / / __/|__ _|
|___/|___/ \_/\_/ |_| \_\|_| \_/ |_____| |_|
DD-WRT v24-sp2
http://www.dd-wrt.com
==========================================================
BusyBox v1.13.4 (2009-10-10 04:23:29 CEST) built-in shell (ash)
Enter 'help' for a list of built-in commands.
\u@\h:\w\$ cd /tmp
\u@\h:\w\$ wget http://unixshell.jcomeau.com/test.dat
Connecting to unixshell.jcomeau.com (207.210.74.124:80)
\u@\h:\w\$ wc test.dat
0 6 256 test.dat
\u@\h:\w\$
要做相反的事情,即从路由器下载二进制文件,可以使用 /tmp/www 目录,该目录由 dd-wrthttpd
守护程序映射到 /user。使用.gif
扩展来确保 httpd 不会尝试修改它(就像使用扩展一样.asp
)。
jcomeau@aspire:~/rentacoder/jcomeau/ddwrt$ telnet 192.168.151.1
Trying 192.168.151.1...
Connected to 192.168.151.1.
Escape character is '^]'.
DD-WRT v24-sp2 micro (c) 2009 NewMedia-NET GmbH
Release: 10/10/09 (SVN revision: 13064)
plinksys login: root
Password:
==========================================================
____ ___ __ ______ _____ ____ _ _
| _ \| _ \ \ \ / / _ \_ _| __ _|___ \| || |
|| | || ||____\ \ /\ / /| |_) || | \ \ / / __) | || |_
||_| ||_||_____\ V V / | _ < | | \ V / / __/|__ _|
|___/|___/ \_/\_/ |_| \_\|_| \_/ |_____| |_|
DD-WRT v24-sp2
http://www.dd-wrt.com
==========================================================
BusyBox v1.13.4 (2009-10-10 04:23:29 CEST) built-in shell (ash)
Enter 'help' for a list of built-in commands.
\u@\h:\w\$ wc /dev/mtd/*
751 12148 262144 /dev/mtd/0
751 12148 262144 /dev/mtd/0ro
11671 68047 3866624 /dev/mtd/1
11671 68047 3866624 /dev/mtd/1ro
4306 24098 1098752 /dev/mtd/2
4306 24098 1098752 /dev/mtd/2ro
0 551 65536 /dev/mtd/3
0 551 65536 /dev/mtd/3ro
4640 29046 2097152 /dev/mtd/4
4640 29046 2097152 /dev/mtd/4ro
42736 267780 14780416 total
\u@\h:\w\$ cp /dev/mtd/0ro /tmp/www/cfe.gif
\u@\h:\w\$ Connection closed by foreign host. [after typing Ctrl-D]
jcomeau@aspire:~/rentacoder/jcomeau/ddwrt$ wget -O/tmp/cfe.bin http://192.168.151.1/user/cfe.gif
--2014-06-15 23:53:54-- http://192.168.151.1/user/cfe.gif
Connecting to 192.168.151.1:80... connected.
HTTP request sent, awaiting response... 200 Ok
Length: 262144 (256K) [image/gif]
Saving to: ‘/tmp/cfe.bin’
100%[======================================>] 262,144 963KB/s in 0.3s
2014-06-15 23:53:54 (963 KB/s) - ‘/tmp/cfe.bin’ saved [262144/262144]