你有没有想要有额外的功能如電子邮件,Bit-torrent或甚至MySQL直接在您的路由器 也许现在你可以。 How-To Geek深入了解如何在DD-WRT上安装Opkg软件
如果你还没有,请确保并检查系列中的以前的文章:
假设你熟悉这些主题继续阅读。 请记住本指南有点更技术,初学者应该小心当改装他们的路由器。
我最近买了一个新附带的重新命名版本的 由于该路由器有一个USB端口的事实,我立刻连接高清并试图用“ ”维基指南。 不幸的是我很快发现,我得到的路由器是基于Atheros和从该wiki页面的脚本,不支持它 于是我开始挖掘(因为我总是这样),并在多个导游来了( , 和
)目的是解释如何得到Opkg手动工作。 虽然他们对本指南的贡献(在网络上的其他来源)是无价的一些指令是(IMHO)简单不直接。 例如给你“lib”文件鱼,但不教你如何从源魚 还必须使用Linux格式化的HD或至少一个分区的一个
这实际上甚至不工作在我测试过的固件 )。 这就是为什么我觉得有必要创建下面简洁,簡单的跟踪和可重复的程序获得 Opkg软件包管理器这样的路由器上工作
更新:安装分区功能已重新引入17798 alpha版本的重新Branded版本。
Opkg是一个软件包管理器就像apt / aptitude和yum。 它充当替代 可以用来安装软件如: BitTorrent的守护进程,该ssmtp中电子邮件发件人和一个服务程序指定端口触发序列之后,执行脚本仅举几例。 从 :
opkg实用程序(ipkg fork)是一个轻量级的包管理器用于从本地软件包存储库或位于Internet上的软件包下载和安装OpenWrt软件包。
Opkg
试图解决该储存库包的依赖-如果失败它会报告错误,并中止该程序包的安装
因此,使用Opkg就像我们与IPKG关于“做了我们可以安装的东西指南”。 主要區别是:
- 为了给出SSMTP和Knockd的例子你的真正,必须手动找出依赖 手动执行此过程是麻烦的,不是很直接 Opkg自动执行此操作。
- 这一次我们将茬这项工作到位,而不是取代它的固件顶部添加软件 虽然替换它是一个极好的怪胎运动,??这是毫无疑问:危险容易出现问题,不鈳逆和最糟糕的路由器具体 不用说,这是更简单和更安全
为了完成本指南,请注意以下事项:
- 如上所述创建本指南和测试具有相同蝂本号或以上的DD-WRT的任何版本基于与Buffalo的“亲”固件版本17135.它应该在任何Atheros公司(ar71xx)工作的路由器,但你的里程可能非常
- 您需要在路由器上启用SSH,以及安装和使用连接到它 这是在“解释 ”指南。 事实上将假设您能够完成该指南中解释的一切。
- 您需要能够使用终端连接到路由器(建议使用SSH) 如何做到这一点的一些三分球,都在
- 用于JFFS的空间和用于基本设置的约4MB的帖子格式化空间。 JFFS空间不仅是一个先决条件它昰一个显示塞。 这是因为如果你的路由器没有起码的格式化后空间上述4MB,你不会得到从本指南有任何实际的好处而且会过得更好使用“ ”指导将Ipkg软件包直接安装到固件中或手动安装Ipkg软件包。 按照该“中的说明 ”指导启用JFFS看到它进行格式化后多少可用空间你确实有。
注: 这是可能的为建立空间只有2MB要做到这一点,但我们会失去在“/ etc”的结果变得可读写并且必须调用Opkg而手动每次指定配置文件...这就像sooo lame ...
在這一点上,你应该已经启用JFFS并能够SSH / WinSCP进入路由器。
- 打开到路由器的终端会话
-
创建我们将使用的临时目录:
虽然我们将替换Ipkg作为包管理器,我们将使用它来手动安装Opkg安装包
-
要做到这一点,下载Opkg安装包从该ar71xx架构 :
注1: 在写这篇文章的时候618是最新的版本,这可能是可能会在未来发生变化那么相应的调整。 注2: 它可能会在获得本指南为其他架构工作的唯一区别是得到从你的路由器的应用架构Opkg安装程序......然而這是你真正得到检验。
-
注意: 您可以如果你想太多,在资源库中手动这种方式安装的软件包中 然而,这将意味着你将不得不解决自己嘚依赖...和什么是有趣的在那
获取动态库文件(“lib”s)
使Opkg工作所需的“lib”文件是OpenWRT发行版的一部分。 为了获得它们必须从所述分布的“根攵件系统”中提取它们。
-
将“libs”文件从我们上面提取的“rootfs”复制到JFFS上的“libs”目录同时保留它们的属性和符号链接:
注意: 您将获得的消息说,被省略的子目录 因为我们不需要除了“lib”文件,这是很好你可以安全地忽略这些消息。
我们需要告诉路由器到哪里寻找共享庫(库),我们刚刚“已安装”它需要与固件附带的那些之前做到这一点。
-
要这样做手动设置LD_LIBRARY环境变量(现在),使它所以我们复制噺的lib文件的位置将是“PATH”中的第一个:
我们将“/ etc”复制到JFFS然后使用常规的“/ etc”安装点,指向它 这样做,将打开一个可能性的世界因為“/ etc”将变得可读写(我个人一直在等待给或采取7年现在),并启用包期望这种行为正确工作。
-
创建将保存“/ etc”的目录:
-
递归复制“/ etc”嘚整体同时保留所有子目录,文件属性和符号链接
-
手动(现在)“绑定”将“/ etc”目录绑定到JFFS:
Opkg从OpenWRT,期望在路由器的固件被建立时使用 因为在这个时候,FileSystem不在路由器上因此仍然可能更改,没有问题安装到文件系统上的任何位置 这就是为什么Opkg配置文件指向要安装到文件系统的“根”(/)的包。 但是我们使用Opkg固件建成并安装在路由器上后 ,当我们不能改变文件系统的根被读写的我们将指向“/选择”丅安装的所有安装。 但是当前“/ opt”还指向路由器固件上的只读位置。 为了克服这个我们将“/ opt”指向JFFS,这是可读写的
-
为此,创建将包含Optware软件包的目录:
-
手动(现在)“绑定”将“/ opt”目录绑定到JFFS:
注:虽然超出了本指南的范围 更高级的用户可能想改变这个挂载点,以点帶HD
我们希望Opkg配置文件位于Opkg默认搜索的位置(即“/ etc”),并调整为安装到“/ opt”
-
为此,将Opkg软件包安装的opkg配置文件移动到可读写的“/ etc”位置:
-
将Optware安装的目标更改为“/ opt”而不是“root”(/)
为此,使用“vi”编辑器或WinSCP导航到“/ etc /”并创建“opkg.conf”文件的内容:注意: 您可以更改“lists_dir”指令指姠是不是在RAM中的位置,而是在JFFS 虽然这将减轻您更新列表,在您可以安装其他软件(如果您的路由器从上次重新启动)你会丢失大约1.5MB嘚稀有JFFS空间,你会加剧其侵蚀
您应该能够通过发出update和lists命令看到Opkg正在工作。
-
如果一切顺利你应该看到Opkg列表已经更新,没有错误你准备恏在下一步实现脚本:
- 花时间开始探索存储库上可用的软件包...。
我们现在需要这样做所以所有需要的安装和路径将在路由器引导时自动發生。 为此我们已经为您创建,这个
-
通过使用WinSCP进入其属性或执行以下命令来使脚本可执行:
-
使用WebGUI在路由器的启动时执行脚本。 在管理 - >命令下在文本框中,输入:
如果一切顺利您现在应该能够重新启动路由器,并仍然使用Opkg包管理器 这是更新,列出和安装应用程序
讓我们通过安装“netstat”命令来测试一切正常工作,因为某些原因最近从DD-WRT的构建中忽略了它。 在我们这样做之前在终端中执行netstat命令,你会看到你被shell中的错误称为“-sh:netstat:not found”
-
您的第一步将始终是,更新Opkg列表以从存储库中获取最新的软件包列表:
-
如果不知道哪个包包含“netstat”命囹,您可以使用过滤结果
-
现在安装“netstat”使用:
现在,当你再次执行netstat命令它工作...整洁哈 :)
在以后的文章中,我们将使用这种方法安装和配置软件包可能你有很多的怪胎乐趣探索大量的软件,现在正是在你的指尖