Activación de autorun.sh
#1
Hola

Desde un tiempo a esta parte Qnap nos ha incluido en nuestros menús la posibilidiad de activar o desactivar la ejecución de un archivo autorun.sh cuando la nas se inicia.

Curiosamente el sistema de creación del archivo es un poco enrevesado y NO se hace desde los menús  Huh
Además depende de la familia de nas de Qnap que tengamos  Confused

Debemos tener acceso a la consola de la nas ( putty, getty, winscp,...), que nos permitirá acceder a todo el árbol de carpetas de la nas (no sólo las compartidas).

Antes de hacer nada, recomiendo tener una carpeta dentro de /share para que haya persistencia tras los reinicios de la nas. Pongamos por ejemplo que creamos "miscosas"
Esta carpeta se creará en nuestro volumen, será visible desde nuestra red, será visible desde File Station, lo cual nos va a facilitar las gestiones posteriores.
Dentro de esa carpeta "miscosas" crearemos un archivo "autoexec.sh" (u otro nombre descriptivo) que será ejecutado por el "autorun.sh". Es decir, a futuro no tendremos que editar el autorun.sh, sólo habremos de hacerlo a "autoexec.sh"

Vamos primero con la creación del autorun.sh inicial. Esta información está obtenido de la web de la wiki de Qnap

Por ejemplo si tengo una TS-469 (familia x69 con CPU atom) tengo que hacer los siguientes comandos:
1-montamos la ruta
Código:
mount -t ext2 /dev/sdx6 /tmp/config
2-creamos y editamos el archivo autorun.sh
Código:
touch /tmp/config/autorun.sh
Podemos hacerlo con el editor vi o si lo preferimos los hacemos desde Winscp
El contenido será solamente para la ejecución de nuestro autoexec.sh y será el siguiente:
Código:
#!/bin/bash
/share/miscosas/autoexec.sh

3- Ahora asignamos los atributos al archivo para que pueda ser ejecutado
Código:
chmod +x /tmp/config/autorun.sh
4- Ahora desmontamos la ruta
Código:
umount /tmp/config

Ahora sólo nos queda activarlo en los menús de QTS para que cada vez que la nas se inicie se ejecutará el archivo autorun.sh y por tanto también nuestro autoexec.sh.
Para hacerlo hemos de ir al panel de control y en hardware tenemos esa opción.
   

Si nuestra nas fuese mas moderna de la familia x51,x63,.. con Intel celeron y superiores, o de los que incluyen AMD los comandos serían
1- montamos la ruta
Código:
mount $(/sbin/hal_app --get_boot_pd port_id=0)6 /tmp/config
2-creamos y ponemos atributos de ejecución
Código:
touch /tmp/config/autorun.sh
chmod +x /tmp/config/autorun.sh
3- editamos con vi, nano, winscp el archivo /tmp/config/autorun.sh
Código:
vi /tmp/config/autorun.sh
De nuevo el contenido de ese autorun.sh será la llamada a nuestro autoexec.sh
Código:
#!/bin/bash
/share/miscosas/autoexec.sh

De nuevo activamos el atributo ejecución por ser un archivo sh con
Código:
chmod +x /share/miscosas/autoexec.sh

4- desmontamos la ruta
Código:
umount /tmp/config

Ahora de nuevo sólo queda activarlo desde QTS
   

Para los de la serie x31 que tienen ARM los comando serían algo diferentes

Código:
ubiattach -m 6 -d 2
/bin/mount -t ubifs ubi2:config /tmp/config
vi /tmp/config/autorun.sh
chmod +x /tmp/config/autorun.sh
umount /tmp/config
ubidetach -m 6

Recordad que para cambiar las acciones a realizar en el arranque, sólo hemos de editar el contenido del archivo /share/miscosas/autoexec.sh 


En general este sistema es mas fácil de implementar que lo del QPKG ficticio de arranque que describí ya hace tiempo, pero este QPKG tiene una ventaja que no tiene el autorun.sh. 
Y es que el QPKG tenemos la posibilidad desactivarlo desde el app center y podemos deshacer las acciones que realiza.
Me explico, imagina que en el qpkg añadimos una linea en el cron para que se ejecute cada x minutos, pues bien, al desactivar el qpkg podemos realizar la acción de eliminar esa programación. Con el autorun.sh NO es posible deshacer lo que el implementa, ya que al desmarcar la casilla hemos de reiniciar la nas para sea efectivo.

Ah, y por supuesto que ambos sistemas puede coexistir en nuestra nas.
Un saludo

Agur eta ondo ibili

Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny, TS-453Be, TR-002 y QHora-301w) Ʀɐɯ0η
  Responder




Usuarios navegando en este tema: 1 invitado(s)