Check the new version here

Popular channels

Script de instalacion via SSH de Python-Modulos yMySQL-Falla

Estimados!

Cree un Script para la instalacion de Python-Modulos de Python-MySQL (testeados en equipos con Debian). Cree este Script para una app que estoy creando que necesita este proceso. Pero tengo un problema al tratar de instalar MySQL.

Como todos saben, MySQL en su instalación necesita que le indique su clave de root. Para evitar esto estuve buscando varias alternativas pero todas me daban el mismo resultado cuando las ejecutaba en la terminal. Por ende tampoco me iban a servir en el script; pero encontré una que si. Solamente tenia que setiar una variable de entorno (exprot DEBIAN_FRONTEND=noninteractive) y luego instalar MySQL (apt-get -y -q install mysql-server) de esta forma se evita la famosa pantalla azul donde MySQL solicita la clave de root para su sistema.

Para trastorno mio =( esto no quiere funcionar en mi script y no entiendo por que... La parte que no funciona en realidad es donde trato de setear la variable de entorno... puedo ejecutar export.... pero no definir una variable.

Les dejo el script a continuación a ver si alguien puede decirme en que le estoy pifiando.


# -*- coding: utf-8 *-*
#Se importa el modulo de OS
#Modulos a importar
import paramiko
import getpass


#Funcion de conexion
def datos_conexion():
    IP = raw_input("IP del servidor: ")
    PORT = int(raw_input("Puerto del servidor: "))
    USUARIO = raw_input("Elegir usuario: ")
    CLAVE = getpass.getpass('Ingrese su clave: ')
    datos = dict(hostname=IP, port=PORT, username=USUARIO, password=CLAVE)
    return datos

datos = datos_conexion()


def establecer_conexion():
    ssh_client = paramiko.SSHClient()
    ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh_client.connect(**datos)
    return ssh_client

ssh_client = establecer_conexion()


#Funciones de instalacion de python
def instalar_python():
    entrada, salida, error = ssh_client.exec_command('apt-get install -y python2.7')
    print salida.read()


def instalar_modulos_py():
    entrada, salida, error = ssh_client.exec_command('apt-get install -y python-mysqldb')
    print salida.read()


def instalar_mysql():
    print "export variable"
    entrada, salida, error = ssh_client.exec_command('export DEBIAN_FRONTEND=noninteractive')
    print salida.read()
    print "lista de variable"
    entrada, salida, error = ssh_client.exec_command('export')
    print salida.read()
    print "instalacion mysql"
    entrada, salida, error = ssh_client.exec_command('apt-get -q -y install  mysql-server')
    print salida.read()
    print "expiracion de variable"
    entrada, salida, error = ssh_client.exec_command('unset DEBIAN_FRONTEND=noninteractive')
    print "lista de variables 2"
    entrada, salida, error = ssh_client.exec_command('export')
    print salida.read()

#Ejecucion de funciones
print "Se esta instalando Python2.7"
instalar_python()
print "Se esta instalando Modulos de Python"
instalar_modulos_py()
print "Se esta instalando MySQL"
instalar_mysql()
#Cierre de conexion
ssh_client.close()

Espero sus comentarios! =)
0
0
0
0
0No comments yet