如何在近期 Teltonika RUTOS 版本中安装标准 OpenWRT 软件包

问题

在近期版本的 Teltonika RUTOS 中,包管理器已被自定义解决方案替换。

这意味着你不能再使用 opkg 安装大多数标准 OpenWRT 软件包。例如,你不能使用以下命令安装 tcpdump

opkg_update_install.sh
opkg update
opkg install rsync

解决方案

你仍然可以使用 opkg -e /etc/opkg/openwrt/distfeeds.conf 安装标准 OpenWRT 软件包

示例:

opkg_distfeeds_install.sh
opkg -e /etc/opkg/openwrt/distfeeds.conf update
opkg -e /etc/opkg/openwrt/distfeeds.conf install rsync

这通过直接使用 distfeeds(即普通 OpenWRT)软件包源来绕过默认系统配置施加的限制。

注意: 如果 opkg update 在 vuci feed URL 上失败并返回 wget returned 8,或者 opkg install 显示 Unknown package,请参阅如何修复 Teltonika RUTOS opkg 未知包和下载 vuci feed 失败 来修复 distfeeds.conf 配置。

对于 RutOS R_00.07.25 及更高版本

在 RutOS R_00.07.25 及更高版本中,/etc/opkg/openwrt/distfeeds.conf 不再存在,且不支持 opkg -e。您需要手动添加 OpenWRT 源并使用 --force-depends --force-checksum 进行安装:

setup-openwrt-feeds-rutos25.sh
# 如果不存在,添加 OpenWRT 架构(RUTOS R_00.07.25.x 使用 OpenWRT 23.05.5)
grep -q "arm_cortex-a7_neon-vfpv4" /etc/opkg/arch.conf || echo "arch arm_cortex-a7_neon-vfpv4 61" >> /etc/opkg/arch.conf

# 创建带 [trusted=yes] 的 OpenWRT feeds 配置(RUTOS 上没有 OpenWRT 签名密钥)
cat > /etc/opkg/openwrt_feeds.conf << "EOF"
src/gz openwrt_core https://downloads.openwrt.org/releases/23.05.5/targets/ipq40xx/generic/packages [trusted=yes]
src/gz openwrt_base https://downloads.openwrt.org/releases/23.05.5/packages/arm_cortex-a7_neon-vfpv4/base [trusted=yes]
src/gz openwrt_packages https://downloads.openwrt.org/releases/23.05.5/packages/arm_cortex-a7_neon-vfpv4/packages [trusted=yes]
EOF

opkg update
opkg install --force-depends --force-checksum rsync

--force-depends 是必需的,因为 OpenWRT 包依赖于 libc,而它在 RUTOS 中有不同的名称。--force-checksum 是由于校验和格式差异所必需的。[trusted=yes] 绕过签名验证,因为 RUTOS 没有 OpenWRT 签名密钥。二进制文件安装到 /usr/local/usr/bin/(opkg 根目录是 /usr/local);创建符号链接以将它们放在 PATH 上。

symlink-rutos25.sh
ln -s /usr/local/usr/bin/rsync /usr/local/bin/rsync

相关的 Teltonika 文章


按类别查看类似文章: OpenWrt 网络