¿Alguna vez ha querido tener funciones adicionales como correo electrónico, Bit-torrent o incluso MySQL directamente en su enrutador? Bueno, tal vez ahora puedas. How-To Geek se sumerge en cómo instalar el software Opkg en DD-WRT.
Imagen de Jean Spector y Aviad Raviv
Si aún no lo ha hecho, asegúrese de consultar los artículos anteriores de la serie:
- Convierta su enrutador doméstico en un enrutador súper potente con DD-WRT
- Cómo eliminar anuncios con Pixelserv en DD-WRT
Suponiendo que esté familiarizado con esos temas, siga leyendo. Tenga en cuenta que esta guía es un poco más técnica, y los principiantes deben tener cuidado al modificar su enrutador.
Aflicciones
Recientemente compré un nuevo
Buffalo WZR-HP-AG300H
que viene con una versión renovada de
DD-WRT
. Debido al hecho de que este enrutador tiene un puerto USB, inmediatamente conecté un HD e intenté usar el "
Optware, la forma correcta
”Guía wiki. Lamentablemente, descubrí rápidamente que el enrutador que obtuve está basado en Atheros y el script de esa página wiki no lo admite. Así que comencé a investigar (como siempre lo hago) y encontré varias guías (
1
,
2
,
3
y
4
) que tenía como objetivo explicar cómo hacer que Opkg funcione manualmente. Si bien su contribución (entre otras fuentes en la web) a esta guía fue invaluable, algunas de las instrucciones son (en mi humilde opinión) simplemente no lo suficientemente sencillas. Por ejemplo, darle los archivos "lib" fish, pero no enseñarle cómo pescarlos desde la fuente. También tener que hacer uso de un disco duro formateado en Linux o al menos una partición de uno (
que en realidad ni siquiera funciona en los firmwares que he probado con
). Por eso, sentí la necesidad de crear el siguiente procedimiento conciso, simple de seguir y reproducible para obtener el
OpenWRT
Administrador de paquetes de Opkg para trabajar en tales enrutadores.
Actualización: la capacidad de montaje de particiones se ha reintroducido en la versión de marca nueva en la versión alfa 17798.
¿Qué es Opkg?
Opkg es un administrador de paquetes como apt / aptitude y yum. Actúa como reemplazo del Administrador de paquetes ipkg , y se puede utilizar para instalar software como: el Transmisión Demonio BitTorrent, el remitente de correo electrónico ssmtp y Golpeado un demonio que ejecuta scripts después de una secuencia de activación de puerto específica, por nombrar algunos. Desde el Sitio OpenWRT :
La utilidad opkg (una bifurcación de ipkg) es un administrador de paquetes liviano que se usa para descargar e instalar paquetes OpenWrt desde repositorios de paquetes locales o ubicados en Internet.
Opkgintenta resolver las dependencias con paquetes en los repositorios; si esto falla, informará un error y abortará la instalación de ese paquete.
Entonces, usando Opkg podemos instalar cosas como hicimos con Ipkg en el " Libere aún más potencia de su enrutador doméstico ”Guía. Las principales diferencias son:
- Para poder dar los ejemplos de SSMTP y Knockd, el suyo verdaderamente, tuvo que averiguar las dependencias manualmente. El procedimiento para hacer esto manualmente es molesto y no muy sencillo. Opkg hace esto automáticamente.
- Esta vez seremos agregando software sobre el firmware que está en su lugar, en lugar de reemplazarlo. Si bien reemplazarlo fue un excelente ejercicio de geek, sin lugar a dudas: peligroso, propenso a problemas, irreversible y, lo peor de todo, específico del enrutador. No hace falta decir que esto es mucho más sencillo y seguro.
Prerrequisitos
Para completar esta guía, tenga en cuenta lo siguiente:
- Como se indicó anteriormente, esta guía fue creada y probada en Buffalo WZR-HP-AG300H con la versión de firmware "Pro" de Buffalo 17135. Debería funcionar en cualquier enrutador basado en Atheros (ar71xx) con cualquier versión de DD-WRT de la misma revisión o superior, pero su millaje puede ser muy alto.
- Deberá habilitar SSH en el enrutador, así como instalar y usar WinSCP para conectarse a él. Esto se explicó en el " Cómo eliminar anuncios con Pixelserv en DD-WRT ”Guía. De hecho, se asumirá que puede hacer todo lo que se explica en esa guía.
- Debe poder conectarse al enrutador mediante un terminal (se recomienda SSH). Algunos consejos sobre cómo hacer esto, están en el Wiki de DD-WRT .
- Espacio para JFFS y aproximadamente 4 MB de espacio post formateado para la configuración básica. El espacio JFFS no es solo un requisito previo, es un tapón del espectáculo. Esto se debe a que, si su enrutador no tiene al menos los 4 MB de espacio con formato de publicación mencionados anteriormente, no obtendrá ningún beneficio real de esta guía y será mejor que utilice el " Libere aún más potencia de su enrutador doméstico ”Para instalar paquetes Ipkg directamente en el firmware o instalar los paquetes Ipkg manualmente. Siga las instrucciones en el " Cómo eliminar anuncios con Pixelserv en DD-WRT ”Para habilitar JFFS y ver cuánto espacio libre tiene realmente después está formateado.
Nota: Es posible hacer esto con solo 2 MB de espacio para la configuración, pero luego perderíamos el resultado de que “/ etc” se vuelva de escritura de lectura y tendríamos que invocar Opkg, mientras especificamos el archivo de configuración manualmente cada vez ... que es como muuuy patético ...
Pongamos manos a la obra
En este punto, debería haber habilitado JFFS y poder SSH / WinSCP en el enrutador.
- Abra una sesión de terminal al enrutador.
-
Cree un directorio temporal en el que estaremos trabajando:
mkdir / tmp / 1
cd / tmp / 1
Utilice Ipkg para instalar Opkg
Si bien reemplazaremos Ipkg como administrador de paquetes, lo usaremos para instalar manualmente el paquete de instalación de Opkg.
-
Para hacer esto, descargue el paquete de instalación de Opkg para la arquitectura ar71xx del
Tronco del proyecto OpenWRT
:
wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/opkg_618-2_ar71xx.ipk
Nota 1: En el momento de escribir este artículo, 618 es la última versión, esto puede estar sujeto a cambios en el futuro, así que ajuste en consecuencia.
Portavoz: Es posible que la única diferencia para que esta guía funcione para otras arquitecturas sea obtener el instalador de Opkg de la arquitectura aplicable para su enrutador ... sin embargo, esto no ha sido probado por el suyo. -
Invoque Ipkg para instalar Opkg manualmente usando:
ipkg instalar opkg_618-2_ar71xx.ipk
Nota: También puede, si lo desea, instalar todos los paquetes en el repositorio manualmente de esta manera. Sin embargo, esto significaría que tendrás que resolver las dependencias por tu cuenta ... ¿y qué sería de divertido?
Obtención de los archivos de la biblioteca dinámica ("lib" s)
Los archivos "lib" necesarios para que Opkg funcione son parte de la distribución OpenWRT. Para obtenerlos hay que extraerlos del “Root FileSystem” de dicha distribución.
-
Para hacer esto, descargue el último "Root FileSystem" básico para la distribución openWRT que contiene las "libs requeridas de la
Tronco del proyecto OpenWRT
:
wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-rootfs.tar.gz
-
Extraerlo usando:
tar xvzf openwrt-ar71xx-generic-rootfs.tar.gz
-
Copie los archivos "libs" del "rootfs" que hemos extraído anteriormente en el directorio "libs" de nuestro JFFS, conservando sus atributos y enlaces simbólicos:
cp -Pp / tmp / 1 / lib / * / jffs / usr / lib /
Nota: Recibirá mensajes diciendo que se están omitiendo los subdirectorios. Como no necesitamos nada más que los archivos "lib", está bien y puede ignorar estos mensajes de forma segura.
Arreglando LD_LIBRARY_PATH ”
Necesitamos decirle al enrutador dónde buscar las bibliotecas compartidas (libs) que acabamos de "instalar" y que debe hacer esto
antes de
los que venían con el firmware.
-
Para hacer esto, configure la variable de entorno LD_LIBRARY manualmente (por ahora), para que la ubicación donde copiamos los nuevos archivos lib sea la primera en la “RUTA”:
exportar LD_LIBRARY_PATH = / jffs / usr / lib: $ LD_LIBRARY_PATH
"/ Etc" de lectura y escritura
Vamos a copiar "/ etc" a JFFS y luego hacer el punto de montaje "/ etc" normal, apuntarlo. Hacerlo, abrirá un mundo de posibilidades, porque “/ etc” se convertirá en lectura-escritura (lo que personalmente he estado esperando más o menos 7 años) y permitirá que los paquetes que esperan este comportamiento funcionen correctamente.
-
Cree el directorio que contendrá "/ etc":
mkdir -p / jffs / geek / etc
-
Copie de forma recursiva la totalidad de "/ etc" conservando todos los subdirectorios, atributos de archivo y enlaces simbólicos.
cp -a / etc / * / jffs / geek / etc /
-
Manualmente (por ahora) "bind mount" el directorio "/ etc" al JFFS uno:
montar -o enlazar / jffs / geek / etc / / etc /
Establecer el directorio de Optware ("/ opt")
Opkg de OpenWRT, se espera que se use cuando se construya el firmware del enrutador. Como en ese momento, el sistema de archivos aún no está en el enrutador y, por lo tanto, aún está sujeto a cambios, no hay problemas para instalarlo en ninguna ubicación del sistema de archivos. Es por eso que el archivo de configuración de Opkg apunta los paquetes a instalar a la “raíz” (/) del FileSystem. Sin embargo, estamos usando Opkg.
después
el firmware se creó e instaló en el enrutador, y como no podemos cambiar la raíz del sistema de archivos para que sea de lectura y escritura, señalaremos todas las instalaciones para que se instalen en "/ opt". Sin embargo, actualmente "/ opt" también apunta a una ubicación de solo lectura en el firmware del enrutador. Para superar esto, haremos que "/ opt" apunte a JFFS, que es de lectura y escritura.
-
Para hacer esto, cree el directorio que contendrá los paquetes de Optware:
mkdir -p / jffs / opt
-
Manualmente (por ahora) "bind mount" el directorio "/ opt" al JFFS uno:
mount -o bind / jffs / opt / / opt /
Nota: Aunque está fuera del alcance de esta guía, los usuarios más avanzados pueden querer cambiar este punto de montaje para apuntar a un disco duro.
Ajuste del archivo de configuración de Opkg
Queremos que el archivo de configuración de Opkg esté donde Opkg lo busca por defecto (que es “/ etc”) y ajustado para instalar a “/ opt”.
-
Para hacer esto, mueva el archivo de configuración opkg instalado por el paquete Opkg a la ubicación de lectura y escritura “/ etc”:
mv /jffs/etc/opkg.conf / etc /
-
Cambie el destino de las instalaciones de Optware para que sea "/ opt" en lugar de "root" (/).
Para hacer esto, con el editor "vi" o WinSCP navegue hasta "/ etc /" y cree el contenido del archivo "opkg.conf":