![在华硕路由器上安装包管理器](https://linux22.com/image/70117/%E5%9C%A8%E5%8D%8E%E7%A1%95%E8%B7%AF%E7%94%B1%E5%99%A8%E4%B8%8A%E5%AE%89%E8%A3%85%E5%8C%85%E7%AE%A1%E7%90%86%E5%99%A8.png)
我刚刚得到一个华硕 DSL-AC68u 调制解调器/路由器我注意到它有 ssh 访问权限。我设置了这个,我可以使用 root 权限进行 ssh 登录,但它似乎没有安装包管理器。由于习惯了 Debian,只是为了测试,我尝试了:
# apt-get install vim
但得到以下回复:
-sh: apt-get: not found
如何确定是否安装了包管理器?我想过尝试找出正在运行的发行版,但我什至无法弄清楚:
# cat /proc/version
Linux version 2.6.36.4brcmarm (sam@SW5-Server-50) (gcc version 4.5.3 (Buildroot 2012.02) ) #10 SMP PREEMPT Tue Jul 14 16:24:32 CST 2015
# uname -a
Linux (none) 2.6.36.4brcmarm #10 SMP PREEMPT Tue Jul 14 16:24:32 CST 2015 armv7l GNU/Linux
# ls /etc/*elease*
ls: /etc/*elease*: No such file or directory
# ls /etc/*ersion*
ls: /etc/*ersion*: No such file or directory
它似乎是 Linux 的某个定制版本,而不是任何特定的发行版。我怎样才能apt
在这样的设备上安装?
答案1
仅在支持架构的情况下使用 debootstrap 在 chroot 内。不要弄乱真正的文件系统。我相信这种方法在某些 NAS 设备上很流行,例如http://www.rooot.net/en/geek-stuff/synology/39-chroot-debian-synology-debootstrap.html
路由器几乎肯定不会被设计来改变文件系统(被视为 ROM)。因此缺少包管理器。这意味着您的 chroot 必须位于 tmpfs 或已安装的 USB 设备中。
tmpfs 显然无法在重新启动后继续存在:)。并且不会大到足以可靠地运行 Debian。您必须使用 USB 存储设备。
您可能希望参与您设备的 openwrt 开发。
- http://wiki.openwrt.org/toh/asus/rt-ac68u
- https://forum.openwrt.org/viewtopic.php?id=51005
- https://forum.openwrt.org/viewtopic.php?id=52378
从规格来看,有足够的内存可供使用,而且处理器看起来也不错,因此 USB 上的 Debian chroot 可能是一个选择。但请记住,在这种情况下,您将受到原始内核+模块的限制,它们可能不适合您所需的用途。
答案2
答案3
从https://github.com/RMerl/asuswrt-merlin/wiki/Entware
恩特软件是 Optware 的现代替代品。它最初是为 OpenWRT 设计的,也可用于其他固件平台,例如 DD-WRT 或 Tomato。您还可以在基于 Asuswrt-Merlin 的路由器上进行设置。
....
简单的方法 从 v3.0.0.4.270.25 开始,引入了一个新脚本来促进 Entware 安装。安装 USB 驱动器后(不安装 DownloadMaster),只需在终端中输入:
entware-setup.sh
然后你可以
opkg list
opkg install software_name
opkg remove software_name