|
41
|
Informática / Hardware / Soportará la raspberry pi 3 b+ con servicio FTP para 10 clientes?
|
en: 1 Octubre 2019, 12:52 pm
|
Hola, el verano pasado, tuve la idea de crearme un servidor "personal" para la FP 2º GM SMX, guardar mis recursos, directamente en el servidor, sin depender de un USB. Por despiste y comodidad.
Por lo cual, me compré una raspberry pi 3 b+, le instalé Raspbian (sin interfaz gráfica) e instalé servicio HTTP, FTP, SSH. con NAT, ip estatica...
Al empezar lo probé la primera semana y me funciona todo correctamente, la rp3 tiene 3 mini-disipadores (9mm*1, 14mm*2) y un ventilador con 3.3V de entrada, la miníma, fuente de alimientación de 5V, la carcasa es como de plástico-cristal y es montable. La marca es smraza. La temperatura que tiene habitualmente es de 39,704ºC, si se trabaja a largo plazo puede estar a 40,242ºC y muy raramente 42ºC. Lo tengo situado en mi escritorio, No encima.
Tuvimos problemas en clase sobre compartir recursos ya que no tenemos el moodle por la cual les planteé la idea de yo compartir un usuario de mi FTP con la clase.
En la clase somos 10. Hay posibilidad de que la raspberry soporte posiblemente tantos clientes? Si aumentará la temp. También teniendo en cuenta los otros servicios.
Cual es la temperatura que se considera un sobrecalentamiento?
P.D: En el manual que me venia con la RP3 pone que no hay que colocarlo en un superficie conductora a la electricidad. La localización es buena?
Atentamente Drakaris.
|
|
|
42
|
Programación / Scripting / Sublistas en bash?
|
en: 11 Septiembre 2019, 19:48 pm
|
Hola, estoy haciendo un script para linux, en la cual se necesitarían sublistas (no impresindibles) Sabrían si existe algo parecido? O si es posible
Si no existe. Como puedo crear una lista cuyo nombre es el valor de otra variable?
Gracias
|
|
|
43
|
Informática / Hardware / Nas o barebone para pequeño servidor web y almacenamiento en casa?
|
en: 17 Julio 2019, 20:09 pm
|
Hola, me gustaría tener un servidor donde yo pueda guardar mi proyecto web y scripts, en mi casa (y no depender de externos, en caso de desarrollo web) para ello cualquier pc serviría? Siempre y cuando instales XAMPP o Wampp. Que es más recomendable un barebone o un NAS?
Además como estaría las 24h encendido, ¿cual haría menos ruido? ya que estaría en mi habitación. Y el tema de refrigeramiento, ¿cual se calendaría menos? (Si tiene un SSD, tendría menos), además no tengo pensado en un uso continuo solo para almacenar, y poderme conectar por FTP y por el navegador, por la cual tendría un Ubuntu Server instalado.
Gracias de antemano
|
|
|
44
|
Programación / Scripting / Conexion sockets en python con IP publica
|
en: 26 Marzo 2019, 23:54 pm
|
Hola, estoy haciendo un cliente-servidor, para transferencias de archivos,entre el instituto y mi casa. Servidor.py #!/usr/bin/env python #-*- coding:utf-8 -*- #Se importa el módulo """ FUNCIONA EL DOWNLOAD -F FUNCIONA EL DOWNLOAD -D """ import socket, os, getpass, shutil, shlex, commands, tarfile, subprocess, numpy from pexpect import pxssh import signal from subprocess import Popen, PIPE name_host_server = getpass.getuser() carpeta_actual_server = os.getcwd() #instanciamos un objeto para trabajar con el socket ser = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server = "192.168.8.100" #inti port = 8000 def handler(signum, frame): os.system("fuser -k -n tcp %s" % port) signal.signal(signal.SIGTSTP, handler) #Puerto y servidor que debe escuchar ser.bind((server, port)) #Aceptamos conexiones entrantes con el metodo listen. Por parámetro las conexiones simutáneas. ser.listen(1) #Instanciamos un objeto cli (socket cliente) para recibir datos cli, addr = ser.accept() while True: #creamos comandos especiales para el servidor-cliente recibido = cli.recv(1073741824) # 1GB cd_recibido = recibido.startswith("cd") text_recibido = recibido.startswith("-t") ventana_error_recibido = recibido.startswith("-m --error") #ok ventana_info_recibido = recibido.startswith("-m --info") #ok ventana_input_recibido = recibido.startswith("-m --input") #ok ventana_question_recibido = recibido.startswith("-m --question") #ok ventana_warning_recibido = recibido.startswith("-m --alert") #ok ventana_notification_recibido = recibido.startswith("-m --notification") #ok descargar_archivo = recibido.startswith("download -f") descargar_carpeta = recibido.startswith("download -d") recibido_eliminar_tmp = recibido.startswith("Eliminar download") copiar_archivo_listo = recibido.startswith("copy -f ready") copiar_carpeta_listo = recibido.startswith("copy -d ready") sudo = recibido.startswith("sudo") instalar = recibido.startswith("install ready") desinstalar = recibido.startswith("uninstall ready") fb = recibido.startswith("fb") #ejecucion de cuyos comandos if text_recibido == 1: texto_filtro = recibido.replace("-t ","") print(texto_filtro) cli.send(texto_filtro) elif cd_recibido == 1: texto_filtro = recibido.replace("cd ","") os.chdir(texto_filtro) cli.send(texto_filtro) elif ventana_input_recibido == 1: texto_filtro = recibido.replace("-m --input ","") comando = commands.getoutput("zenity --entry --title '' --text %s --display :0" % texto_filtro) cli.send(comando) elif ventana_error_recibido == 1: texto_filtro = recibido.replace("-m --error ","") comando = commands.getoutput("zenity --error --title '' --text %s --display :0" % texto_filtro) cli.send(comando) elif ventana_info_recibido == 1: texto_filtro = recibido.replace("-m --info ","") comando = commands.getoutput("zenity --info --title '' --text %s --display :0" % texto_filtro) cli.send(comando) elif ventana_notification_recibido == 1: texto_filtro = recibido.replace("-m --notification ","") comando = commands.getoutput("zenity --notification --title '' --text %s --display :0" % texto_filtro) cli.send(comando + "\n") elif ventana_warning_recibido == 1: texto_filtro = recibido.replace("-m --alert ","") comando = commands.getoutput("zenity --warning --title '' --text %s --display :0" % texto_filtro) cli.send(comando) elif ventana_question_recibido == 1: texto_filtro = recibido.replace("-m --question ","") comando = commands.getoutput("zenity --question --title '' --text %s --display :0" % texto_filtro) cli.send(comando) elif recibido == "python": cli.send("error sintaxis") elif recibido == "nano": cli.send("error sintaxis") elif descargar_archivo == 1: archivo_filtro = recibido.replace("download -f ","") lista_nombre_archivo = archivo_filtro.split("/") ultimo_item_lista = len(lista_nombre_archivo) item_nombre = ultimo_item_lista - 1 nombre_archivo = lista_nombre_archivo[item_nombre] nombre_archivo1 = "".join(nombre_archivo.split()) abrir_archivo = open(archivo_filtro,"rb") archivo_bin = abrir_archivo.read() cli.send("download -f ready|"+ nombre_archivo1+"|"+ archivo_bin) elif descargar_carpeta == 1: filtro = recibido.replace("download -d ","") lista = filtro.split("/") directorio = len(lista) -1 directorio_fin = lista[directorio] directorio_fin1 = "".join(directorio_fin.split()) destino_gz = "/tmp/"+directorio_fin1 ruta_comprimida = "/tmp/"+directorio_fin1+".tar.bz2" archivo_gz = shutil.make_archive(destino_gz, "bztar",filtro) archivo = open(ruta_comprimida,"rb") archivo_bin = archivo.read() cli.send("download -d ready |"+archivo_bin+" | "+ruta_comprimida) elif recibido_eliminar_tmp: filtro = recibido.replace("Eliminar download ","") os.system("shred -u "+filtro) elif copiar_archivo_listo == 1: filtro = recibido.replace("copy -f ready |","") lista = filtro.split(" | ") archivo = lista[0] destino = lista[1] nombre = lista[2] ruta = destino+"/"+nombre abrir = open(ruta,"w") abrir.write(archivo) cli.send("\033[1;32m"+"[+]"+"\033[1;37m"+" Archivo copiado correctamente a"+"\033[1;31m"+":"+"\033[1;37m"+ruta) abrir.close() elif copiar_carpeta_listo == 1: filtro = recibido.replace("copy -d ready |","") lista = filtro.split(" | ") archivo = lista[0] destino = lista[1] carpeta = lista[2] ruta = "/tmp/"+carpeta+".tar.bz2" abrir = open(ruta,"w") abrir.write(archivo) abrir.close() os.system("mkdir "+destino+"/"+carpeta) extraer_destino = destino+"/"+carpeta desempaquetar = tarfile.open(ruta) desempaquetar.extractall(path=extraer_destino) os.system("shred -u "+ruta) cli.send("Eliminar copy "+ruta) #si no hay comandos especiales para ejecutar, se ejecutará los comandos de linux elif sudo == 1: filtro_c = recibido.replace("sudo ","") filtro = recibido.split(" | ") comando = filtro[0] contrasena = filtro[1] command = commands.getoutput("echo "+contrasena+" | sudo -u root -S "+comando) elif instalar == 1: filtro = recibido.replace("install ready ","") lista = filtro.split(" | ") comando = lista[0] contrasena = lista[1] comando = commands.getoutput("echo "+contrasena+" | sudo -u root -S apt-get install -y "+comando) elif desinstalar == 1: filtro = recibido.replace("uninstall ready ","") lista = filtro.split(" | ") comando = lista[0] contrasena = lista[1] comando = commands.getoutput("echo "+contrasena+" | sudo -u root -S apt-get --purge remove -y "+comando) elif fb == 1: s = pxssh.pxssh() ssh = recibido.replace("fb ","") lista = ssh.split() localhost = lista[0] usuario = lista[1] comando = commands.getoutput("crunch 1 12 abcdefghijklmnoprstuvwxyzABCDEFGHIJKLMNOPRSTUVWXYZ0123456789 -c 100") dic = comando.split("\n") del dic[0:7] for diccionario in dic: try: s.login(localhost,usuario,diccionario) cli.send("La contrasena es: "+diccionario) break; except: cli.send("Buscando contrasena: "+diccionario) else: salida = commands.getoutput(recibido) cli.send(salida + "\n") if ser == True: print("Conexion cerrada") #Cerramos la instancia del socket cliente y servidor cli.close() ser.close()
Y el cliente.py #!/usr/bin/env python #-*- coding:utf-8 -*- #Variables import socket, os, signal, sys, tarfile, shutil, getpass host = "192.168.8.100" #casa port = 8000 def handler(signum, frame): os.system("fuser -k -n tcp %s" % port) sys.exit() signal.signal(signal.SIGTSTP, handler) obj = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #Conexion con el servidor. Parametros: IP (puede ser del tipo 192.168.1.1 o localhost), Puerto obj.connect((host, port)) name_host_server = socket.gethostname() carpeta_actual_server = os.getcwd() print("\033[1;32m"+"[+]"+"\033[1;37m"+" conexion establecida") #Creamos un bucle para retener la conexion while True: #Instanciamos una entrada de datos para que el cliente pueda enviar mensajes mens = raw_input("\033[1;31m"+host+"\033[1;32m"+"@"+name_host_server+":"+"\033[1;37m"+"$ ") if mens == "close": os.system("fuser -k -n tcp %s" % port) break #Con el metodo send, enviamos el mensaje obj.send(mens) data = obj.recv(1073741824) descargar_archivo = data.startswith("download -f ready") descargar_carpeta_listo = data.startswith("download -d ready") copiar_archivo = mens.startswith("copy -f") copiar_carpeta = mens.startswith("copy -d") eliminar_copiar_carpeta = data.startswith("Eliminar copy") sudo = mens.startswith("root") instalar = mens.startswith("install") desinstalar = mens.startswith("uninstall") #descargar un archivo del servidor al cliente if descargar_archivo == 1: ruta = raw_input("ruta absoluta, donde se descargará el archivo >>\n") archivo_filtro = data.replace("download -f ready|","") lista_archivo = archivo_filtro.split("|") nombre_archivo = lista_archivo[0] restante = nombre_archivo+"|" archivo_filtro2 = archivo_filtro.replace(restante,"") crear_ruta = ruta+"/"+nombre_archivo archivo_descargar = open(crear_ruta,"a") archivo_descargar.write(archivo_filtro2) archivo_descargar.close() print("\033[1;32m"+"[+]"+"\033[1;37m"+"archivo descargado correctamente") #copiar un archivo del cliente al servidor elif descargar_carpeta_listo == 1: #descargar carpeta del servidor al cliente ruta = raw_input("ruta absoluta donde descargarás el directorio >>\n") filtro = data.replace("download -d ready |","") lista = filtro.split(" | ") archivo = lista[0] ruta_tmp = lista[1] lista_ruta = ruta_tmp.split("/") ultimo = len(lista_ruta) -1 nombre = lista_ruta[ultimo] nombre_dir = nombre.split(".") nombre_directorio = nombre_dir[0] abrir = open(ruta_tmp,"w") abrir.write(archivo) abrir.close() os.system("mkdir "+ruta+"/"+nombre_directorio) desempaquetar = tarfile.open(ruta_tmp) desempaquetar.extractall(path=ruta+"/"+nombre_directorio+"/") eliminar = open(ruta_tmp,"w") eliminar.write("00000000") eliminar.close() os.system("shred -u "+ruta_tmp) obj.send("Eliminar download "+ruta_tmp) print("\033[1;32m"+"[+]"+"\033[1;37m"+"carpeta descargada correctamente") elif copiar_archivo == 1: destino_servidor = raw_input("ruta absoluta, donde se copiará el archivo al servidor >>\n") filtro = mens.replace("copy -f ","") abrir = open(filtro,"rb") leer = abrir.read() lista = filtro.split("/") lon_lista = len(lista) ultim_lista = lon_lista-1 nombre = lista[ultim_lista] nombre1 = "".join(nombre.split()) obj.send("copy -f ready |"+leer+" | "+destino_servidor+" | "+nombre1) elif copiar_carpeta == 1: destino_servidor = raw_input("ruta absoluta, donde se copiará la carpeta al servidor >>\n") filtro = mens.replace("copy -d ","") lista = filtro.split("/") lon_lista = len(lista) ultim_lista = lon_lista-1 directorio = lista[ultim_lista] directorio1 = "".join(directorio.split()) tmp = "/tmp/"+directorio1 tar = "/tmp/"+directorio1+".tar.bz2" comprimir = shutil.make_archive(tmp,"bztar",filtro) abrir = open(tar,"rb") leer = abrir.read() obj.send("copy -d ready |"+leer+" | "+destino_servidor+" | "+directorio1) print("\033[1;32m"+"[+]"+"\033[1;37m"+" Directorio copiado correctamente") elif eliminar_copiar_carpeta == 1: filtro = data.replace("Eliminar copy ","") os.system("shred -u "+filtro) elif sudo == 1: contrasena = getpass.getpass("Contraaseña del usuario root: ") mensaje = mens.replace("root ","") obj.send("sudo "+mensaje+" | "+contrasena) elif instalar == 1: contrasena = getpass.getpass("Contraseña del usuario root: ") mensaje = mens.replace("install ","") obj.send("install ready "+mensaje+" | "+contrasena) while data == "error sudo install": contrasena = getpass.getpass("Contraseña del usuario root: ") pass elif desinstalar == 1: contrasena = getpass.getpass("Contraseña del usuario root: ") mensaje = mens.replace("uninstall ","") obj.send("uninstall ready "+mensaje+" | "+contrasena) elif mens == "man": print(""" """+"\033[1;31m"+"""-t"""+"\033[1;37m"+""" [texto] : Envía un mensaje por la terminal.\n """+"\033[1;31m"+"""-m --error"""+"\033[1;37m"+""" "[texto]" : Muestra un diálogo de error.\n """+"\033[1;31m"+"""-m --info"""+"\033[1;37m"+""" "[texto]" : Muestra un diálogo de información.\n """+"\033[1;31m"+"""-m --input"""+"\033[1;37m"+""" "[texto]" : Muestra un diálogo de entrada de texto.\n """+"\033[1;31m"+"""-m --question"""+"\033[1;37m"+""" "[texto]" : Muestra un diálogo de pregunta.\n """+"\033[1;31m"+"""-m --alert"""+"\033[1;37m"+""" "[texto]" : Muestra un diálogo de alerta.\n """+"\033[1;31m"+"""-m --notification"""+"\033[1;37m"+""" "[texto]" : Muestra un diálogo de notificación.\n """+"\033[1;31m"+"""download -f"""+"\033[1;37m"+""" [ruta del archivo del servidor a descargar] : Descarga un archivo del servidor al cliente.\n Cuando lo ejecutes, te preguntará donde quieres que se guarde el archivo.\n """+"\033[1;31m"+"""$"""+"\033[1;37m"+""" download -f /home/administrador/Imágenes/cleanet.png ruta absoluta, donde se descargará el archivo """+"\033[1;31m"+""">>"""+"\033[1;37m"+""" /home/administrador/Escritorio\n [!] """+"\033[1;31m"+"""download -d"""+"\033[1;37m"+""" [ruta del directorio del servidor a descargar] : Descarga un directorio del servidor al cliente.\n Cuando lo ejecutes, te preguntará donde quieres que se guarde el directorio.\n """+"\033[1;31m"+"""$"""+"\033[1;37m"+""" download -d /home/administrador/scripts\n ruta absoluta, donde descargarás el directorio """+"\033[1;31m"+""">>"""+"\033[1;37m"+""" /home/administrador/Escritorio\n """+"\033[1;31m"+"""copy -f"""+"\033[1;37m"+""" [ruta del archivo del cliente para copiarlo al servidor] : copia un archivo del cliente al servidor.\n Cuando lo ejecutes, te preguntará donde quieres que se guarde el archivo.\n """+"\033[1;31m"+"""$"""+"\033[1;37m"+""" copy -f /home/administrador/conexion.py\n ruta absoluta, donde se copiará el archivo al servidor"""+"\033[1;31m"+""">>"""+"\033[1;37m"+""" /home/administrador/Documentos\n """+"\033[1;31m"+"""copy -d"""+"\033[1;37m"+""" [ruta del directorio del cliente para copiarlo al servidor] : copia un directorio del cliente al servidor.\n Cuando lo ejecutes, te preguntará donde quieres que se guarde el archivo.\n """+"\033[1;31m"+"""$"""+"\033[1;37m"+""" copy -d /home/administrador/actividades \n ruta absoluta, donde se copiará el archivo al servidor"""+"\033[1;31m"+""">>"""+"\033[1;37m"+""" /home/administrador/Documentos \n
[!] Cuando se haga una transferencia de archivo el tamaño máximo es de 1GB [!] Al introducir las rutas, no deben de tener un '/' al final """) else: print(data) #Cerramos la instancia del objeto servidor obj.close() #Imprimimos la palabra Adios para cuando se cierre la conexion print("Conexion cerrada")
En el servidor.py, la variable server lo pongo vacio y le asigno el puerto 8000 import socket, os, getpass, shutil, shlex, commands, tarfile, subprocess, numpy from pexpect import pxssh import signal from subprocess import Popen, PIPE name_host_server = getpass.getuser() carpeta_actual_server = os.getcwd() #instanciamos un objeto para trabajar con el socket ser = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server = "" #inti port = 8000 def handler(signum, frame): os.system("fuser -k -n tcp %s" % port) signal.signal(signal.SIGTSTP, handler) #Puerto y servidor que debe escuchar ser.bind((server, port)) #Aceptamos conexiones entrantes con el metodo listen. Por parámetro las conexiones simutáneas. ser.listen(1)
y en el cliente, la ip 127.0.0.1 (localhost) y el puerto 8000 import socket, os, signal, sys, tarfile, shutil, getpass host = "127.0.0.1" #casa port = 8000 def handler(signum, frame): os.system("fuser -k -n tcp %s" % port) sys.exit() signal.signal(signal.SIGTSTP, handler) obj = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #Conexion con el servidor. Parametros: IP (puede ser del tipo 192.168.1.1 o localhost), Puerto obj.connect((host, port)) name_host_server = socket.gethostname() carpeta_actual_server = os.getcwd() print("\033[1;32m"+"[+]"+"\033[1;37m"+" conexion establecida")
El funcionamiento va bien, en LAN, pero mi objetivo, es que funcione a traves de ip's publicas (WAN), (siempre y cuando el cliente-servidor esten encendidos). Para ello me informe de que se necesitaba abrir puertos en mi router. Yo tengo un HUAWEI B315, aquí la imagen del puerto abierto: https://drive.google.com/file/d/1i2-nF3wRkw8H93MIIXdY9O6OMBZrcDGO/view?usp=sharingUna vez hecho este paso, modifique un el codigo cliente-servidor para la conexion. Servidor.py import socket, os, getpass, shutil, shlex, commands, tarfile, subprocess, numpy from pexpect import pxssh import signal from subprocess import Popen, PIPE name_host_server = getpass.getuser() carpeta_actual_server = os.getcwd() #instanciamos un objeto para trabajar con el socket ser = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server = "85.119.xxx.xxx" #inti port = 8000 def handler(signum, frame): os.system("fuser -k -n tcp %s" % port) signal.signal(signal.SIGTSTP, handler) #Puerto y servidor que debe escuchar ser.bind((server, port)) #Aceptamos conexiones entrantes con el metodo listen. Por parámetro las conexiones simutáneas. ser.listen(1) #Instanciamos un objeto cli (socket cliente) para recibir datos cli, addr = ser.accept()
Cliente.py import socket, os, signal, sys, tarfile, shutil, getpass host = "176.87.xxx.xxx" #casa port = 8000 def handler(signum, frame): os.system("fuser -k -n tcp %s" % port) sys.exit() signal.signal(signal.SIGTSTP, handler) obj = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #Conexion con el servidor. Parametros: IP (puede ser del tipo 192.168.1.1 o localhost), Puerto obj.connect((host, port)) name_host_server = socket.gethostname() carpeta_actual_server = os.getcwd() print("\033[1;32m"+"[+]"+"\033[1;37m"+" conexion establecida")
El caso es que lo probé (ambos PC's encendidos) y no me funcionaba, me daba el error Servidor Traceback (most recent call last): File "servidor.py", line 22, in <module> ser.bind((server, port)) File "/usr/lib/python2.7/socket.py", line 228, in meth return getattr(self._sock,name)(*args) socket.error: [Errno 99] Cannot assign requested address
Cliente Traceback (most recent call last): File "servidor.py", line 22, in <module> ser.bind((server, port)) File "/usr/lib/python2.7/socket.py", line 228, in meth return getattr(self._sock,name)(*args) socket.error: [Errno 99] Cannot assign requested address
El caso, es que lo que puede estar pasando es que, el router de mi casa tiene el puerto abierto, pero el otro posiblemente no lo tenga? Gracias de antemano!!
|
|
|
45
|
Comunicaciones / Redes / ¿Se puede sacar la sumascara de una ip?
|
en: 24 Marzo 2019, 16:24 pm
|
Hola, estoy haciendo un firewall con python, y estoy en el proceso de bloquear una web, y he pensado de hacer subnetting, pero, yo solamente sé la IP de un sitio web, y no me bridan el prefijo [lo obtengo de nslookup]. Al hacer subneteo se puede hacer cuando tienes: - 1. El numeros de hosts de cada subred
- 2. El numero de subredes
- 2. La IP con el prefijo de red.
¿Pero es posible saber el prefijo de red para después hacer el subneteo? o hacer subneteo solamente con IP. Esto me gustaría hacerlo, ya que si se la IP de una web, y mediante subneteo saber la IP de red de cada subred, podría bloquear todas las IP's que dan acceso a cuya web. Gracias de antemano.
|
|
|
46
|
Informática / Hardware / Porque mi ubuntu 18.04 en un disco duro externo XFS no arranca en mi windows 10?
|
en: 20 Diciembre 2018, 20:19 pm
|
Hola, he instalado ubuntu 18.04 LTS en mi disco duro externo, durante la instalación en las particiones no me dejaba crear con el sistema de archivo ext2/3/4 y ZFS, por la cual instale con el sistema de archivos XFS, me fue todo bien, lo instalé en un ordenador que tenia instalado Ubuntu (uno viejo que tenia). pero, al arrancar mi disco duro externom en mi windows 10, no me arranca.
Me he informado y el sistema de archivos XFS, no es compatible con windows, puede ser por eso? Auque no es raro ya que estoy arrancando desde un disco duro externo, y no depende de windows?
Gracias
|
|
|
47
|
Informática / Hardware / Fallo en instalación de Ubuntu 18.04 LTS en disco duro externo 500GB
|
en: 8 Diciembre 2018, 19:42 pm
|
Hola, estoy intentando instalar el ubuntu 18.04 LTS en un disco duro externo de 500GB (era de un portatil antiguo que tenía). El disco duro externo tiene estas particiones. https://drive.google.com/file/d/1GX0_DDiV6H1RHUVTmDkCRU4BkBs_9pBp/view?usp=sharingLo quiero instalar desde una USB booteable que tengo con la imagen iso de cuyo S.O, arranque el usb desde la BIOS, y me sale el asistente de instalación. https://drive.google.com/file/d/1Yp3PbCKBSiLw2Vdebri0SbHXU2o7zchs/view?usp=sharingMe sale que tipo de instalación hago y le doy a 'Más opciones' Allí me sale todas las particiones y discos duros que tengo y voy a /dev/sdd que es mi disco duro externo lo elimino todo, y creo una partición que le pongo 482,3 GB, que sea primaria, utilizar como sistema de archivos ext4 transaccional y el punto de montaje es '/'. https://drive.google.com/file/d/1ZiHl7-saZCq5Gl_WW_cn7F1oqVB1472E/view?usp=sharingDespués creo otra partición con el espacio sobrante (6,1GB), la particion lo pongo como logica y como area de intercambio https://drive.google.com/file/d/15slSnlBNWOP8LScOIVSlFWXnE-3MZZAM/view?usp=sharingLe doy a continuar y me dice esto. cosa que me extraña solamente tendría que formatear las particion 1 sdd como ext4 y partición 5 como intercambio y no las otras como intercambio https://drive.google.com/file/d/1ARvluMLI-xjq-3HidF2yBUO1PvCbgQOs/view?usp=sharingDespués le doy a instalar y me dice creando el sistema de ficheros ext4 para / en la partición #1 de SCSI8 (0,0,0) (sdd) https://drive.google.com/file/d/1z_9P_D2y8yCFb3Rzk_KDdpikJQD7i8I6/view?usp=sharingTarda un rato no cambia a 'copiando archivos...' y me sale Falló la creación del sistema de ficheros ext4 en la partición #1 de SCSI8 (0,0,0) (sdd)
He probado de ponerle más GB a la area de intercambio (6GB y 20GB) y nada. No sé que este este error y como solucionarlo, ¿alguien me puede echar una mano? Gracias de antemano PD Mi disco duro externo es este: https://drive.google.com/file/d/1DqpM495n9xoqG24XgPpw16qaFbubcsOd/view?usp=sharing
|
|
|
48
|
Programación / PHP / ¿Porque mi hosting web se suspende temporalmente?
|
en: 3 Diciembre 2018, 10:48 am
|
Hola, estoy alojado en un hosting web gratuito (260MB), por la cual estoy trabajando en un proyecto web, el problema es que cada X dias, me dice que mi cuenta de hosting esta suspendida temporalmente, y me muestra unos gráficos, por la cual me dice que el uso de la CPU es mayor al uso maximo, exactamente me dice lo siguiente: Su cuenta de alojamiento gratuito está suspendida por alcanzar un límite diario de recursos. Tenga en cuenta que cada cuenta de alojamiento gratuito tiene límites diarios de CPU, hits, RAM, E / S y proceso de entrada. Durante cada día grabamos todas estas estadísticas de uso. Es bastante normal que un sitio web utilice límites diarios, ya que los scripts PHP usan una gran cantidad de recursos del servidor, especialmente si tiene múltiples scripts PHP y sitios web en su cuenta de alojamiento gratuito.
El límite diario que alcanzó fue su límite diario de CPU .
La cosa es que me paso del limite del uso de la CPU y no sé que es lo que esta causando este problema, y como poder solucionarlo. Actualmente estoy haciendo un mini chat online, y tiene bastante código PHP de unas 1944 lineas, ¿Puede esto estar cuando la suspensión continua de mi hosting?Como solucionarlo? https://drive.google.com/open?id=1jU6bILu-lw7oFmAJJF_-_wTP2h6rU4fOGracias
|
|
|
49
|
Programación / PHP / Validar si un archivo subo el md5 esta repetido en otro archivo subido (DB)
|
en: 11 Noviembre 2018, 11:49 am
|
estoy haciendo subida de archivos en PHP ($_FILES), y antes de que me lo suba al servidor, quisiera que me compruebe si el archivo es una copia, por la cual hice lo que hice es que al insertar los datos se me cree un codigo md5 que sera el documento y sera unico en cada documento, imagen, video, y audio, ya que lo que hace es leer el archivo con file_get_contents() y después le crea un md5, hasta ahí bien pero, lo que quiera es que después del upload, me haga un filtro con if, que si el md5, con la hora actual, que acabo de subir es igual a otro md5 que se ha subido, significa que es el mismo archivo (con snombre diferente), y me elimina el archivo con la hora mas reciente. Lo que no acabo de saber es como hacer este if, por ahora he hecho esto: $conexion = new mysqli("privado","privado","privado","privado"); if (!$conexion) { die("Error al conectar con la DB: ".$conexion->connect_error); } $ruta = $_SERVER['DOCUMENT_ROOT']."/plugins/mensajeria/archivos/chat_do/videos"; $url = $ruta."/".$_FILES['archivo']['name']; $mensaje = $_POST['mensaje_text']; $name_file = $_FILES['archivo']['name']; $size_file = $_FILES['archivo']['size']; $type_file = $_FILES['archivo']['type']; $enlace = $_SERVER['SERVER_NAME']."/plugins/mensajeria/archivos/chat_do/videos/".$_FILES['archivo']['name']; $insertar = "INSERT INTO chat_do (md5,Clase,Mensaje,Multimedia,NombreArchivo,TamanoArchivo,TipoArchivo,Fecha,Hora) VALUES ('".$md5."','1A','".$mensaje."','".$enlace."','".$name_file."','".$size_file."','".$type_file."','".$fecha."','".$hora."')"; $mostrar = "SELECT md5 FROM chat_do WHERE Fecha != '".$hora."'"; $result = $conexion->query($mostrar); $row = $result->fetch_assoc(); if ($md5 != $mostrar) { if ($conexion->query($insertar) === TRUE) { echo "1 video"; }else{ echo "error video"; } }else{ echo "archivo_copiado"; }
El problema es que no se porque no funciona, creo que es $md5 != $mostrar, lo que esta mal. No se. Lo que quisiera hacer es que me diga si el $md5 es igual al primer dato de la DB md5, sino al segundo, al tercero... así consecutivamente hasta que consida con uno y me salte el else. La caso es que tiene que ser automático, no puedo hacerlo manualmente, sino no funcionará. if ($md5 != $mostrar) { if ($conexion->query($insertar) === TRUE) { echo "1 video"; }else{ echo "error video"; } }else{ echo "archivo_copiado"; }
Gracias de antemano
|
|
|
|
|
|
|