Como instalar pacotes OpenWRT padrão em versões recentes do Teltonika RUTOS

Problema

Em versões recentes do Teltonika RUTOS, o gerenciador de pacotes foi substituído por uma solução personalizada.

Isso significa que você não pode mais instalar a maioria dos pacotes OpenWRT padrão usando opkg. Por exemplo, você não pode instalar tcpdump usando

opkg_update_install.sh
opkg update
opkg install rsync

Solução

Você ainda pode instalar pacotes OpenWRT padrão usando opkg -e /etc/opkg/openwrt/distfeeds.conf

Exemplo:

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

Isso contorna as limitações impostas pela configuração padrão do sistema usando o feed de pacotes distfeeds (ou seja, OpenWRT normal) diretamente.

Nota: Se opkg update falhar com wget returned 8 num URL de feed vuci, ou se opkg install mostrar Unknown package, consulte Como corrigir Teltonika RUTOS opkg pacote desconhecido e falha ao baixar o feed vuci para corrigir a configuração do distfeeds.conf.

Para RutOS R_00.07.25 e posteriores

No RutOS R_00.07.25 e posteriores, /etc/opkg/openwrt/distfeeds.conf não existe mais e opkg -e não é suportado. Você precisa adicionar os feeds do OpenWRT manualmente e instalar com --force-depends --force-checksum:

setup-openwrt-feeds-rutos25.sh
# Adicionar a arquitetura OpenWRT se não estiver presente (RUTOS R_00.07.25.x usa 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

# Criar configuração de feeds OpenWRT com [trusted=yes] (sem chaves de assinatura OpenWRT no RUTOS)
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 é necessário porque os pacotes OpenWRT dependem de libc que tem um nome diferente no RUTOS. --force-checksum é necessário devido a diferenças no formato de soma de verificação. [trusted=yes] ignora a verificação de assinatura, já que o RUTOS não tem as chaves de assinatura do OpenWRT. Os binários são instalados em /usr/local/usr/bin/ (raiz do opkg é /usr/local); crie links simbólicos para colocá-los no PATH.

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

Posts relacionados da Teltonika


Check out similar posts by category: OpenWrt Redes