Repasando lo que hemos visto hasta ahora en la serie de post llamados “Construye paso a paso tu programa usando Shell Scripting” hemos estudiado visto ejemplos de como crear los siguientes módulos:
- MODULO DE VALIDACIÓN DE SUPERUSUARIO ROOT
- MODULO DE VARIABLES DE ENTORNO
- MODULO DE DETECCIÓN DE DOBLE EJECUCIÓN ó EJECUCIONES FALLIDAS
- MODULO DE OPTIMIZACIÓN PARA EL ENTORNO DE EJECUCIÓN DEL PROGRAMA
- MODULO DE AUTORIZACIÓN DE USUARIO CON CONTRASEÑA
En esta nueva edición, la sexta (6), abarcaremos el estudio de el siguiente modulo:
MODULO DE DETECCIÓN DE ARQUITECTURA
Este modulo le permitirá considerar dependiendo de la Arquitectura del Sistema Operativo donde sea ejecutado, tanto la validación de la misma, como acciones ulteriores programadas en función de dicho dato.
Su contenido sería el siguiente:
###############################################################################
# INICIO DEL MODULO DE DETECCIÓN DE ARQUITECTURA DEL LPI-SB
###############################################################################
read -p "Introduzca la Arquitectura de su Sistema Operativo (1 = 32Bit / 2 = 64Bit): " ARQ
echo ""
while [[ $ARQ != "1" && $ARQ != "2" ]]
do
echo -e '\a'
echo ""
echo ""
echo "#-----------------------------------------------------------------#"
echo "# LA ARQUITECTURA POR USTED INDICADA NO COINCIDE CON LO SOLICITADO#"
echo "#-----------------------------------------------------------------#"
echo ""
echo ""
read -p "PRESIONE 1 ó 2 para continuar: " ARQ
echo ""
done
if [[ "$ARQ" == "1" ]]; then
ARQ_A=x86
ARQ_B=i386
else
ARQ_A=x86_64
ARQ_B=amd64
fi
echo "La arquitectura seleccionadas fueron" $ARQ_A "y" $ARQ_B "según sus datos."
sleep 3
if [[ "$ARQ_A" == "$ARQ_DISTRO_COD" ]]; then
echo -e '\a'
echo ""
echo ""
echo "#--------------------------------------------------------------#"
echo "# LA ARQUITECTURA POR USTED INDICADA COINCIDE CON LA DETECTADA #"
echo "#--------------------------------------------------------------#"
echo ""
echo ""
sleep 3
clear
else
echo -e '\a'
echo ""
echo ""
echo "#-----------------------------------------------------------------#"
echo "# LA ARQUITECTURA POR USTED INDICADA NO COINCIDE CON LA DETECTADA #"
echo "#-----------------------------------------------------------------#"
echo ""
echo ""
fi
read -p "SI DESEA CANCELAR EL PROCESO HASTA AHORA PRESIONE CUALQUIERA DE LOS SIGUIENTES CARACTERES: "s" "S" "y" "Y". DE LO CONTRARIO PRESIONE CUALQUIER OTRA TECLA PARA CONTINUAR, RECUERDE QUE TRABAJAR CON LA ARQUITECTURA INCORRECTA PUEDE TRAERLE SERIOS INCONVENIENTES AL LPI-SB PARA TRABAJAR OPTIMAMENTE! : " op
if [[ $op == "y" || $op == "Y" || $op == "s" || $op == "S" ]];
then
sleep 3 ; clear ; exit 0
else
sleep 3 ; clear ; read -p "EL SCRIPT LPI-SB PROCEDERA HA CONTINUAR, PRESIONE CUALQUIER TECLA PARA CONTINUAR..." && sleep 3 ; clear
fi
################################################################################
# FINAL DEL MODULO DE DETECCIÓN DE ARQUITECTURA DEL LPI-SB
################################################################################
Al analizar dicho código nos damos cuenta que lo primero que hace dicho módulo es solicitarle al usuario lo siguiente:
Introduzca la Arquitectura de su Sistema Operativo (1 = 32Bit / 2 = 64Bit)
Dependiendo del valor introducido, el modulo realiza la siguiente evaluación:
Es el valor introducido igual ha 1 ó 2
En caso de no ser igual a ninguno de los 2 valores, el modulo repite la solicitud de lectura hasta que sea igual ha uno de los 2 valores requeridos. En caso de ser igual a uno de ellos, el modulo realiza la siguiente evaluación:
Si el valor introducido es igual ha uno (1), las variables $ARQ_A y $ARQ_B se configuran con los valores x86 y i386 correspondientemente y se muestran por pantalla, en caso de que sea dos (2) los valores almacenados serían: x86_64 y amd64.
Luego compara el el valor de $ARQ_A con $ARQ_DISTRO_COD cuyo valor es igual ha la salida del comando: uname -m, previamente cargado en el modulo de Variables de entorno del mismo programa.
Si los 2 valores son iguales emite el siguiente mensaje por pantalla:
LA ARQUITECTURA POR USTED INDICADA COINCIDE CON LA DETECTADA
Si son diferentes, este otro:
LA ARQUITECTURA POR USTED INDICADA NO COINCIDE CON LA DETECTADA
Finalizando con el ultimo mensaje de advertencia al usuario que dice:
SI DESEA CANCELAR EL PROCESO HASTA AHORA PRESIONE CUALQUIERA DE LOS SIGUIENTES CARACTERES: «s» «S» «y» «Y». DE LO CONTRARIO PRESIONE CUALQUIER OTRA TECLA PARA CONTINUAR, RECUERDE QUE TRABAJAR CON LA ARQUITECTURA INCORRECTA PUEDE TRAERLE SERIOS INCONVENIENTES AL LPI-SB PARA TRABAJAR ÓPTIMAMENTE!
Si el usuario presiona algunos de los caracteres correctos, el programa se cierra y en caso contrario emite el siguiente mensaje y continua su operación:
EL SCRIPT LPI-SB PROCEDERÁ HA CONTINUAR, PRESIONE CUALQUIER TECLA PARA CONTINUAR…
=============
LECTURA RECOMENDADA:
¿QUE PUDIERAN GANAR LOS ESTADOS (NACIONES) Y LAS SOCIEDADES (PUEBLOS) CREANDO APLICACIONES CENTRALIZADAS EN SOFTWARE LIBRE, CÓDIGO ABIERTO Y BASADAS EN EL INTERNET (NUBE)?
En mi opinión muy particular, pienso que considerando las apremiantes necesidades de seguimiento, control, unificación de criterios y tramites, centralización de esfuerzos, ahorro de recursos financieros y horas / labor de los valiosos y escasos recursos humanos especializados en diferentes campos laborales de cualquier Administración Publica Nacional (APN) de algún país pobre y/o en vías de desarrollo, la ganancia va orientada a la búsqueda de soluciones y mejoras de las necesidades reales de los entornos sociales en el cual se desenvuelven esas sociedades e instituciones públicas, a un bajo costo y de una manera innovadora, moderna, escalable y transparente, asumiendo desde dentro (Gobierno) y desde fuera (Pueblo/Sociedad), la corresponsabilidad del éxito de las políticas publicas de ese Estado (Nación), fortaleciendo así el compromiso con el país por parte de ambos actores, en el marco de construcción del proyecto socio-político, económico y tecnológico que se tenga pensado aplicar.
Y como se justifica esto ante los Gobiernos o los Pueblos?
Debemos resaltar que en la actualidad, en el mundo se están produciendo una serie de cambios en la manera en que operan los Estados (Gobiernos) y en su responsabilidad frente a la sociedad, lo cual ha exigido que la búsqueda de la eficiencia, eficacia, visibilidad y publicidad (Comunicación de la gestión publica), sean un imperativo esencial, no solo en temas asociados hacia los ciudadanos, tales como la pobreza, la salud, el medio ambiente, la educación y todo en general, sí no también en la solución a los problemas que hay en el manejo y la operatividad del seguimiento y control de las políticas publicas que operan en las instituciones que componen cualquier Estado Nacional, sobre todo en aquellos que están en un procesos de optimización y re-estructuración continua hacia modelos nuevos que provean la mayor calidad de vida a sus habitantes.
Del mismo modo, el rol de la ciudadanía también ha venido transformándose, mediante la utilización de formas de expresión mucho mas novedosas y diversas, directas y poderosas, basadas en el uso de las Tecnologías de la Información y las Comunicaciones (TIC), las mismas, que la mayoría de los países desarrollados, ya han venido implementado y masificando dentro y fuera de sus APN en beneficio de sus ciudadanos.
Y tomando en cuenta que las instituciones públicas de los países pobres o en vías de desarrollo, poseen un conglomerado importante de información basada en procesos y documentos que deberían ser uniformes (estandarizados), y de proyectos y obras en marcha que van orientados al beneficio directo de sus nacionales (habitantes), la creación de Aplicaciones o Sistemas basados en Código abierto, Software Libre funcionando en el Internet (Nube) servirían como plataforma para canalizar y potenciar dichos elementos antes mencionados, haciendo mas eficiente el concepto de GOBIERNO ELECTRÓNICO, potenciando las operaciones dentro de las instituciones publicas, aprovechando los avances de la tecnología para garantizar una mejor comunicación e interacción intergubernamental entre todos los entes de dicho Estado.
En fin, usando Código Abierto, Software Libre y la Internet fácilmente cualquier Estado pudiera a bajo costo, de una manera moderna, transparente y segura dar respuesta ha las siguientes interrogantes básicas que todo Estado o Gobierno debe hacerse:
-
¿Cómo hacer más eficaces y eficientes los procesos internos gubernamentales, y las políticas públicas implementadas, en consonancia con el aumento de las pertinentes medidas y controles de seguimiento y control de los mismo?
-
¿Cómo proteger y optimizar los recursos (materiales, tecnológicos y humanos) del Estado?
-
¿Cómo lograr innovar dentro de las rígidas estructuras administrativas para lograr los retos (metas) institucionales y sociales?
-
¿Cómo mejorar la satisfacción y la apreciación pública hacia la gestión del Gobierno?
- ¿Como avanzar en logros en materia de Gobierno Electrónico?
En resumen, la buena implementación de las TIC usando Código Abierto, Software Libre y la Internet facilitarían el avance rápidamente en el desarrollo social de cualquier nación, ya que en conjunto con los mejores recursos humanos, un Estado obtendría el mejor apoyo para lograr automatizar los distintos planes de desarrollo de sus instituciones, optimizando y acelerando los procesos y tiempos de respuesta que se gestionan dentro de si mismo.