Impresiones web superior

domingo, 6 de julio de 2025

Proxmox 8.2.2: Host de destino inalcanzable, pero la red local está bien

SITUACION sto me acaba de pasar con un segundo nodo. Este mientras lo estaba configurando, antes de unirme al clúster. Me pasó con un nodo que tenía y probé varias cosas, pero finalmente terminé migrando todo y reinstalándolo. Pensé que había sucedido como resultado de una actualización in situ a 8.2.2 desde 8.1.algo. Después de quitarlo, decidí reiniciar todo con una nueva configuración. Desactivé mis dos nodos más nuevos, dejando solo el original. Planeo poner en marcha estos dos y luego hacer lo mismo con ese, excepto que cuando lo vuelva a agregar estará en una máquina diferente. Esto es lo que sucedió Aparentemente al azar, sin nuevos cambios de configuración, mi nodo comenzó a tener un problema para obtener actualizaciones. Seguí estos pasos, revisé la configuración de red, busqué respuestas en línea, pero finalmente me di por vencido. Ahora estoy pasando por esto con un nuevo nodo que todavía estoy en proceso de configuración. Ha pasado aproximadamente una semana desde que lo configuré inicialmente, pero no he terminado la configuración hasta ahora. El otro se actualizó a la versión 8.2.2 durante aproximadamente una semana, quizás un poco más o menos, antes de que tuviera el mismo problema. Aquí están los pasos que seguí; los comparto con el nuevo nodo porque lo tengo delante, pero hice lo mismo y mucho más, sin éxito, con el otro. Entré en la CLI e intenté hacer un ping. Intento: root@boxmox:~# ping 1.1.1.1 -c 4 PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data. From 169.254.108.185 icmp_seq=1 Destination Host Unreachable From 169.254.108.185 icmp_seq=2 Destination Host Unreachable From 169.254.108.185 icmp_seq=3 Destination Host Unreachable From 169.254.108.185 icmp_seq=4 Destination Host Unreachable --- 1.1.1.1 ping statistics --- 4 packets transmitted, 0 received, +4 errors, 100% packet loss, time 3084ms pipe 4 Estoy accediendo a la CLI a través de Windows Terminal SSH, por lo que estoy conectado a la red pero También probé un ping local. SOLUCION Así que parece que lo he resuelto. No estoy seguro de por qué ocurrió después de la actualización a la versión 8.2.2, pero tengo un LXDE muy ligero con prácticamente todo desinstalado en mis hosts Proxmox. Está ahí principalmente para que pueda usar las pantallas para mostrar paneles de control con salvapantallas web. Por alguna razón, después de la actualización (aunque no inmediatamente, ni después de la instalación inicial, sino, de nuevo, un par de días después, tras varios reinicios), parece que connmanLXDE intenta forzar la comprobación de DHCP, fallando y asignando APIPA. Hice un apt remove connman*y parece que vuelve a funcionar. Tenía esta configuración en mis hosts mucho antes de actualizar a la versión 8.2.2 y nunca fue un problema. De hecho, sigue instalado en mi nodo con la versión 7, que no he actualizado sin problemas. Pero parece ser un problema entre ambos. Cuando descubrí que el ping funcionó durante aproximadamente un minuto antes de fallar tras reiniciar la red, era evidente que algo estaba afectando la red. Así que revisé los paquetes instalados y eliminé los que no había visto antes de esperar que algo fuera la causa. Entonces descubrí al estafador, que estaba intentando engañar a mi red para que usara DHCP.

domingo, 11 de mayo de 2025

Password olvidado linux

Necesitarás un monitor aunque sea una tele con entrada de video compuesto a menos que te arriesgues a teclear a ciegas ciertos comandos. Inserta la SD en otro ordenador y edita el fichero cmdline.txt para añadir al final " init=/bin/sh " (sin comillas) Desmonta o extrae adecuadamente la tarjeta SD y vuelve a ponerla en el rpi. Al arrancar debería dejarte entrar al shell. Ahora deberías teclear (quizá a ciegas pues no tienes pantalla): Code: Select all mount -o remount,rw / passwd pi contraseÑa contraseÑa sync shutdown -h Al final de cada linea se supone que pulsas enter. Espera un poco al final de la última linea para darle tiempo a que se apague en condiciones. Vuelve con la SD al pc y quita lo que añadiste al cmdline.txt. Desmóntala y vuelta al rpi. Prueba a entrar por ssh con usuario: pi y contraseña: contraseÑa o lo que pusieras.

domingo, 16 de marzo de 2025

Pasar maquinas de proxmox a vmware

Las ideas son propias y con ayuda de lo establecido en esta pagina:https://edywerder.ch/proxmox-to-vmware/ Paso 2: Convierte el disco de Proxmox al formato de disco Vmware vmdk Primero, inicie sesión en la interfaz web de Proxmox y localice la máquina virtual que desea convertir. En el ejemplo a continuación, localice la pestaña Hardware y verifique el nombre del disco duro. Ese es el disco que necesita convertir. En el siguiente ejemplo, la VM tiene dos discos duros. Pestaña Hardware de VM: localice los discos de VM Después de eso, inicie sesión en el host Proxmox con SSH o, aún más fácil, use el shell (vea la imagen a continuación). GUI de Proxmox: acceso al shell La ubicación del disco depende de la configuración de su entorno Proxmox. Podría tener un disco local para cada host o almacenamiento compartido. Use el comando "find" para buscar los discos. find / | grep vm-101-disk-* Utilizo el * como marcador de posición. Proxmox encuentra grep En mi entorno, uso el sistema de archivos ZFS. Aquí, ambos discos duros (tres, uno para TPM) se encuentran en la ubicación /dev/zvol/datastore. El disco 0 tiene tres partes. Al convertir los discos, las partes también se convertirán automáticamente. Servidores asequibles para entusiastas de la virtualización Mejore su experiencia de virtualización con estos servidores económicos y de alto rendimiento. Nombre del producto Ver en Amazon Servidor PowerEdge Dell R630 | 2 procesadores E5-2690 v4 = 28 núcleos | 128 GB de RAM | 2 SSD de 1 TB (renovado) Ver en Amazon Servidor Dell PowerEdge R730 (2 unidades E5-2680v4, 2,40 GHz, 28 núcleos, 128 GB, 8 unidades de 4 TB, 12 GB, H730P) (renovado) Ver en Amazon Servidor PowerEdge Dell R930 | 4 procesadores 8890 V3 de 2,5 GHz = 64 núcleos | 192 GB | 2 SSD de 1 TB (renovado) Ver en Amazon Servidor HPE ProLiant MicroServer Gen10 Plus con un procesador Intel® Xeon® E-2224, 16 GB de memoria y 4 bahías de unidades de factor de forma grande (LFF) sin conexión en caliente Ver en Amazon Servidor torre ProLiant MicroServer Gen11 con un procesador Intel Xeon E-2434 de 3,4 GHz, 4 núcleos, 1P, 32 GB-U VROC, 4 LFF-NHP, disco duro de 4 TB, kit iLO, fuente de alimentación externa de 180 W (HPE Smart Choice P74440-005) Ver en Amazon Servidor de escritorio Lenovo ThinkSystem ST250 V2 Business Tower, procesador Intel Xeon E-2336 de seis núcleos a 2,9 GHz hasta 4,8 GHz, 16 GB DDR4 3200 MHz UDIMM, sin almacenamiento, USB 3.0, sin Wi-Fi, sin sistema operativo, color negro. Ver en Amazon Servidor Supermicro SYS-5019D-4C-FN8TP Xeon D-2133IT de cuatro núcleos, E/S frontales, profundidad reducida, 1U, 2 SFP+, 2 10GBase-T, 4 GbE LAN Ver en Amazon Servidor mini PC Supermicro E300-9D-8CN8TP - Xeon D-2146NT - Controlador Serial ATA/600 - Tarjeta gráfica ASPEED AST2500 - Ethernet de 10 Gigabits Ver en Amazon Una vez que ubique el disco, use el siguiente comando para convertirlo al formato VMware vmdk qemu-img convert -f raw /dev/zvol/datastore/vm-101-disk-0 -O vmdk zappix-neu.vmdk El disco se encuentra en el directorio “/dev/zvol/datastore”. El comando crea el archivo zappix-neu.vmdk en el directorio donde se ejecuta. Recomiendo elegir un directorio con suficiente espacio libre para el nuevo archivo. Dependiendo del tamaño del disco, el proceso puede tardar un tiempo. No cierre la sesión SSH, ya que la necesitará para copiar el archivo vmdk más adelante.

lunes, 24 de febrero de 2025

INSTALAR XPENOLOGY COMO MAQUINA VIRTUAL EN MAC

Tenemos 2 partes: Convertir la imagen ova a qcow2 How to Run .ova files on M1 Mac Using UTM Zena Abusharkh Zena Abusharkh Lead Software Developer @SoulsticeDating | Computer Science 👩‍🎓 1️⃣ Install UTM Download and install the UTM app for virtual machines on macOS. 2️⃣ Install .ova This is the file am trying to run but feel free to use your own file ..download the OSC10e.ova from this link -> https://cs.westminstercollege.edu/~greg/osc10e/vm/index.html After downloading the .ova file, you'll need to convert it to the .qcow2 format. 3️⃣ Convert the .ova to .qcow2 (Ensure You Have Enough Disk Space 💾) You'll need Terminal to convert the file. Make sure you have enough space, or it will cause an error! If you encounter issues, use ChatGPT to debug. Here's how: 🔹 Step 1: Open Terminal and run: arch -arm64 brew install qemu 🔹 Step 2: Once successfully installed, extract the .ova file using: tar -xvf /path/to/OSC10e.ova 🔹 Step 3: This will generate two files: OSC10e-disk1.vmdk and OSC10e.ovf (typically found under /Users/). 🔹 Step 4: Now, convert the .vmdk file to .qcow2: qemu-img convert -f vmdk -O qcow2 /path/to/OSC10e-disk1.vmdk OSC10e.qcow2 🎉 Success! The converted file (OSC10e.qcow2) should be located under /Users/. 4️⃣ Run the File in UTM Follow this tutorial to run the .qcow2 file properly in UTM: 📺 Watch the tutorial -> https://youtu.be/enF3zbyiNZA?si=y-jg_lBhM-R87jLU Crear la maquina virtual en utm Youtube Creditos convertir a qemu crear maquina virtual en utm

miércoles, 19 de febrero de 2025

Instalacion en utm con procesador m1

Si intentas instalar, por ejemplo, truenas en utm en un mac m1, te sale un error en pantalla, tal que: Display output is not active. Para solucionar esto se puede tener en cuenta lo establecido en este post de Github Tuve un problema similar y parece que de alguna manera funcionó. Usé Virtio-VGA en su lugar. Intenté emular Ubuntu 16.04.7 LTS (Xenial Xerus) - AMD64, en macOS Ventura (13.5.1) con chip m1. La configuración de pantalla predeterminada era virto-gpu-pci, como otras. Probé virtio-ramfb-gl, pero se detuvo (incluso antes de iniciar) más de 5 minutos.@alicebear1203arriba. Intenté agregar otra pantalla y la configuración predeterminada de la pantalla agregada era Virtio-VGA. Finalmente, probé Virtio-VGA en lugar de Virtio-RAMFB-GL y este es el resultado. Fuente

viernes, 17 de diciembre de 2021

Enlaces Mac

Instalar photoshop en mac

Instalar Windows 11 en Mac con UTM

Envio de un mensaje cifrado o con firma digital en Outlook

Instalar Adobe Acrobat en mac

Virtualizar ubuntu en mac con m1

Primera referencia a por qué no funciona python en subime text El asunto está en que hay que modificar el archivo Main.sublime-menu y sustituir pythonX por la version que tengamos instalada en el sistema; en el caso de python3 hay que sustituir pythonX por python3 en la parte del codigo donde pone "cmd" Segunda referencia de por qué no funciona python en sublime text

Lipólisis y ejercicio físico

 

El tejido adiposo representa una fuente (casi) inagotable de enegía, de enorme valor en la práctica de actividad física, pues muy por encima de sustratos más conocidos (glucosa, glucógeno) puede suministrar energía durante mucho tiempo. Sin embargo, la cara “B” es que puede acumular todo el exceso energético provocado por una ingesta inadecuada, en el caso de un balance calórico positivo, es el encargado de trabajar para captar y almacenar esta energía sobrante (esto da lugar, entre otras cosas, a un exceso de tejido adiposo o grasa en diferentes zonas de nuestro cuerpo).

Qué debemos hacer para que nuestra máquina sea más eficiente y tire de las grasas disponibles y/o almacenadas?

El tejido adiposo es un órgano metabólico de enorme importancia. Entre sus responsabilidades se encuentran algo tan imporante como “secuestrar” ácidos grasos en momentos de exceso de ingesta energética o suministrar ácidos grasos vía lipólisis en situaciones de elevada demanda energética, por ejemplo, cuando practicamos deporte. En este escenario, el músculo esquelético utilizará estos ácidos grasos (AG) para producir adenosín trifosfato (ATP) y prevenir la fatiga durante ejercicio físico prolongado.

El proceso de lipólisis es una interacción compleja de:

  • Reguladores neuro-humorales.
  • Red de señalización intracelular.
  • Fosforilización con participación de proteína kinasa A.
  • Translocación de proteínas dentro de la célula.
  • Interación proteína-proteína.

Estos procesos son modificados mediante la práctica regular de ejercicio, y por ende, el mecanismo de lipólisis de nuestro organismo.

Los AG se encuentran almacenados como triglicéridos (TG) en forma de gotas en los adipocitos, responsables del volumen de estos. Esta gota ocupa casi la totalidad de la célula y desplaza a núcleo y resto de orgánulos a la periferia.

A nadie se le escapa la importancia de conocer los mecanismos de regulación del tejido adiposo durante el ejercicio para comprender el control del sistema metabólico así como las implicaciones en la patogénesis de la obesidad y sus comorbilidades.

Sitios en los que tenemos tejido adiposo blanco

Como vemos en la imagen superior, tenemos en diferentes localizaciones anatómicas el tejido adiposo. En el caso de subcutáneo (abdominal y subescapular en el tren superior y glúteo-femoral en tren inferior) puede suponer el 80% del total de grasa acumulada y los depósitos de grasa visceral, puede suponer en torno al 20% restante de nuestros depósitos de grasas. La morfología difiere según localización así como el perfil metabólico, en el caso de mujer u hombre, de forma que en función del sexo, encontraremos diferente respuesta en cuestiones como capacidad de retención de la grasa según que zona. Hablamos también de una variada tipología de células, que llevan a cabo distintas funciones. Entre las células presentes en el tejido adiposo podemos destacar:

  1. Células endoteliales.
  2. Leucocitos.
  3. Linfocitos.
  4. Otras células inmunes.

Lipólisis

Conocer a que intensidades podemos tener a pleno rendimiento este proceso puede llevarnos a diseñar una estrategia acertada de cara a diseñar un protocolo de actividad física en el caso de sobrepeso/obesidad. En escenarios de intensidades moderadas (en torno al 50% VO2max), la lipólisis se multiplica entre 2 y 3 veces respecto a valores basales, en los 30 primeros minutos de ejercicio, y se va incrementando a medida que la duración es más prolongada y puede multiplicar por 5 a los valores en reposo, (hasta 4 horas de entreno)(1).

La siguiente gráfica muestra la oxidación de las grasas en función de la intensidad en sujetos entrenados (estudio). A partir del 63% Vo2max, comenzó a disminuir. La disponibilidad de AG en la lipólisis coincide con las tasas de oxidación de AG de todo el cuerpo durante la primera hora y media en esta intensidad, pero existe un “exceso” de lipólisis a partir de las 2 horas de entrenamiento, lo que contribuye a un aumento progresivo en plasma de AG libres.

En general, los AG libres de los adipocitos será suficiente para proporcionar todo el sustrato en la oxidación de AG en reposo y ejercicio de intensidad moderada, pero debemos tener en cuenta un proceso conocido como reesterificación. Mientras que en reposo la tasa de reesterificación llega a ser del 20%, en entrenamiento a intensidad moderada puede multiplicarse por dos (1).

Incluso, a intensidades bajas, del 25% Vo2max, la lipólisis se ve incrementada de 2 a 5 veces respecto a valores en reposo, a pesar de que pasar de estar “sentado” a movernos en un trote ligero (es decir, trabajar en ese 25% Vo2max) ya supone aumento significativo de la activación simpática (2)(el sistema nervioso simpático se encarga de la inervación de los músculos lisos y músculo cardíaco, entre otros). Esto sugiere que iniciar un proceso de lipólisis en los adipocitos es sensible a pequeños aumentos en la estimulación B-adrenérgica durante el ejercicio (los receptores adrenérgicos son activados en situaciones de relativo estrés, en los que la frecuencia cardíaca aumenta, las pupilas se dilatan y se moviliza energía para responder al estímulo en cuestión. Están asociados a la proteína G, activados por las catecolaminas aderenalina y noradrenalina). Las tasas de lipólisis en minutos posteriores a la finalización del ejercicio disminuye, pero se verá incrementada por encima de los niveles al pre-entreno durante 24 horas.

Entre los factores que pueden influir en la lipólisis durante el ejercicio se encuentran:

  • Sexo: mujeres tendrán un mayor ratio de este proceso frente a hombres, a intensidades moderadas.
  • Localización anatómica del tejido adiposo: el “tren superior” proporcionará la mayor cantidad de AG en demandas por encima de las de reposo (por lo tanto, depende de dónde tengamos la grasa localizada, unas personas pueden ver acelerada la pérdida de la misma, por ejemplo, predominio de grasa en el abdomen vs cadera.)
  • El tamaño de los adipocitos también influirá. Adipocitos más grandes tienen una mayor capacidad lipolítica que adipocitos pequeños.
  • Condiciones ambientales (calor, hipoxia) y nutricionales (estado de hidratación, ayuno, postprandial) también influyen.

Al relación al punto tercero, tamaño de los adipocitos, habrá diferencia entre la respuesta de una persona con sobrepeso a obesidad.

La siguiente gráfica (estudio)  nos lo muestra perfectamente. Situación A, sujeto delgado, los adipocitos pequeños almacenan de manera eficiente los ácidos grasos como triglicéridos (entrada de TG, flecha), que pueden movilizarse y usarse para generar ATP a través de la vía de oxidación mitocondrial en el músculo durante los períodos de necesidad calórica. La absorción de glucosa estimulada por la insulina bajo estas condiciones es normal. Escenario B, el exceso de ingesta calórica conduce a sobrecarga metabólica, aumento de la entrada de TG y aumento de adipocitos. No obstante, en individuos con sobrepeso no diabéticos, el almacenamiento de TG por las células adiposas y la b-oxidación en el músculo a menudo pueden mantenerse para prevenir la resistencia a la insulina. Situaciones C y D, continuar sobrecargando adicionalmente a los TG provoca hipertrofia  de los adipocitos y aumento de la secreción de macrófagos quimiotácticos. El reclutamiento de macrófagos a su vez produce un estado proinflamatorio en el tejido adiposo obeso.  El exceso de TG circulante y ácidos grasos libres da como resultado la acumulación de lípidos activados en el músculo (puntos amarillos), alterando funciones tales como la fosforilación oxidativa mitocondrial y el transporte de glucosa estimulado por la insulina, desencadenando así la resistencia a la insulina.

Metabolismo oxidativo

El tejido adiposo representa una parte importante de nuestro peso corporal total (entre el 10 y 45%) pero su contribución como gasto energético en nuestro organismo es más bien escasa.  El cerebro, el hígado, el corazón y los riñones representan ≈60-70% del gasto energético en reposo en adultos, aunque el peso combinado de esos órganos es <6% del peso corporal total (3). El músculo esquelético suponen el 40-50% del peso corporal total y representa el 20-30% del gasto energético en reposo. Se estima que para “mantener” el tejido adiposo en correcto funcionamiento, empleamos en el mejor de los casos el 4% de nuestro gasto energético en reposo. Además, el consumo de oxígeno en el tejido adiposo no se ve incrementado ni en entreno ni en postentreno, en comparación a valores en reposo. Podríamos decir que el tejido combustiona bastante mal.

Reguladores de la lipólisis en los adipocitos

Veamos algunos reguladores neuronales y hormonales que controlorán o participarán en el ratio del flujo de ácidos grasos para atender las demandas energéticas provocadas por el ejercicio.

Activadores Efecto del Ejercicio
Epinifrina
Norepinifrina
Glucagón
Cortisol
Péptidos natriuréticos
Inhibidores
Insulina
Adenosina
Ácidos grasos

I) Catecolaminas: epinifrina y norepinifrina

Son los reguladores más importantes en el metabolismo del tejido adiposo, siendo la adrenalina más prominente durante el ejercicio (otro motivo más por el que entrenar es interesante si queremos activar la lipólisis). La epinefrina plasmática y la norepinefrina aumentan desde los niveles de reposo con el incremento de la intensidad del ejercicio, así como con la duración del mismo (4).

El VO2max va ser clave para provocar un aumento en las concentraciones de las catecolaminas. Y los niveles de VO2max pueden modificarse tanto en trabajo estático (isométrico) como dinámico (correr, andar, bici). Aquel entrenamiento en el que necesitemos trabajar pequeños grupos musculares frente a grandes grupos musculares, se darán concentraciones mayores de catecolaminas.  El aumento de la adrenalina en plasma es mayor en relación con la de noradrenalina durante el ejercicio estático que dinámico. Estos hechos probablemente explican el hallazgo de un mayor nivel plasmático de catecolaminas después de un solo entrenamiento de fuerza, incluidos los componentes de ejercicio dinámico y estático y terminando con ejercicio de bíceps, que después de caminar a un VO medio similar (estudio)

II) Insulina

La insulina ejerce una poderosa respuesta antilipolítica y es más importante en la supresión posprandial de la lipólisis. Debemos evitar en el caso de buscar como estrategia optimizar la activación de la lipólisis las opciones dietéticas que suponan disparar la insulina (por ejemplo, un zumo de naranja) y en el lado contrario tendremos el efecto que tendrá el ejercicio en la intensidad ya mencionada a lo largo de este post, que supondrá disminución plasmática de la insulina, factor que parece ser importante para el incremento en plama de los AG libres (puede verse multiplicado por dos).

 

lunes, 3 de septiembre de 2018

Firestarter y Gufw en Ubuntu - Instalación y configuración -

Iptables es el cortafuegos por defecto de Ubuntu y por si misma es una utilidad muy potente, pero, para manejarlo, su sintaxis es complicada y difícil de entender. Por esta razón se creó ufw (es un cortafuegos a nivel servidor para "seres humanos"), que es más simple.

Ahora, en cuanto al lado gráfico de las cosas, Firestarter ya existía como alternativa en Ubuntu, pero han creado una Interfaz aún más sencilla de usar, que funciona con ufw. Aquí es donde Gufw aparece.

Gufw se creó como Interfaz gráfica que funciona con ufw y es una manera fácil, intuitiva de manejar el cortafuegos de Linux. Soporta tareas como permitir o bloquear aplicaciones preconfiguradas, servicios, programas p2p, o puertos individuales. Gufw funciona gracias a ufw, corre en Ubuntu, y en cualquier otro sistema donde Python, GTK, y Ufw estén disponibles.

Vamos a ver las dos aplicaciones.






CORTAFUEGOS GUFW

Instalamos Gufw en una terminal con el siguiente comando:

sudo apt-get install ufw gufw

Por defecto Iptables con su interfaz ufw está funcionando desde que arrancamos Ubuntu permitiendo todas las conexiones salientes y denegando todas las conexiones entrantes.

Su interfaz gráfica Gufw nos permite configurar ufw desde Sistema - Administración - Configuración Cortafuegos.

Gufw es muy parecido a Firestarter, más sencillo de utilizar pero con menos recursos. Para un usuario normal, con pocos conocimientos, que no necesita de complicadas configuraciones es ideal.

Posee tres maneras de añadir reglas:
  • Simple: Para añadir un puerto determinado.
Elegimos entre permitir, denegar o límite.
Ponemos el número del puerto.
Seleccionamos si es TCP, UDP o ambos.
Le damos a "añadir".
  • Preconfigurado: Para añadir automáticamente los programas o servicios que tengamos instalados y pidan permisos.
Elegimos entre permitir, denegar o límite.
Seleccionamos si es programa (transmission, aMule...) o servicio (Pop3, imap...).
Seleccionamos el programa o servicio (vienen preconfigurado).
Le damos a "añadir".
  • Avanzado: Para determinar un rango.
Elegimos entre permitir, denegar o límite.
Seleccionamos si es TCP, UDP o ambos.
Ponemos el rango
Le damos a "añadir".
Posee un botón para restablecer valores por defecto

Para eliminar reglas, la seleccionamos y damos a Eliminar, abajo.





CORTAFUEGOS FIRESTARTER

Lo instalamos en una Terminal con el siguiente comando:
sudo apt-get install firestarter

Para ejecutarlo vamos a Aplicaciones - Internet - Firestarter.

La primera vez que lo ejecutemos aparecerá un asistente de configuración con una ventana de bienvenida. Damos a Continuar


Aparece otra ventana con la forma de conexión a Internet (para identificar la conexión de red que utilizamos podemos hacer un ifconfig en una Terminal). Podemos elegir si se inicia el cortafuegos al conectarse al exterior (recomendado) y si la dirección IP que tenemos se asigna vía DHCP (DHCP son las iniciales de Dynamic Host Configuration Protocol, de forma que se permite la configuración automática del protocolo TCP/IP de los clientes de una red local, así se evita el trabajo de configurar el protocolo TCP/IP cada vez que se agrega una nueva máquina en la red. De esta forma, con DHCP tenemos una red con máquinas que con sólo conectarlas podrá dialogar con la red.). Damos a adelante

Aparece otra ventana con la posibilidad de compartir la conexión a Internet con los ordenadores que forman la red usando NAT (Marcamos esta opción si nuestro ordenador es el que hace de servidor de DHCP y suministra Internet a los demás ordenadores de nuestra red: usar nuestro ordenador como proxy. Para el caso de estar utilizando un router y switch para la conexión de internet, no es necesario marcar la opción). Damos a adelante.

Aparece la última ventana en la que podremos iniciar el cortafuegos.

Por defecto Iptables y su interfaz gráfica Firestarter permite todas las conexiones salientes y deniega todas las conexiones entrantes.

En la primera pestaña Estado muestra el estado del cortafuegos, con una lectura directa de las conexiones activas, en Eventos se muestra las conexiones que el cortafuegos ha rechazado, y en Normativa, se muestran las reglas de configuración del cortafuegos seleccionando entre las siguientes opciones:
  • Normativa para tráfico entrante: sirve autorizar las entradas.
  • Normativa para tráfico saliente: sirve para impedir salidas.
Para definir una normativa para tráfico entrante, podemos hacerlo de las siguiente formas:
  • Permitiendo las conexiones desde el host: permite el trafico de nuestra red
  • Definiendo Permitir servicio/ puerto/ para: permite accesos a puertos específicos.
Para crear nuestras reglas, primero dejaremos seleccionada la opción Normativa para el tráfico entrante. La normativa de tráfico saliente no la tocaremos, ya que por defecto permite todo el tráfico de nuestra máquina al exterior, y en principio este será tráfico permitido.

Una vez seleccionada esa opción, pincharemos con el botón derecho en el panel inferior, y en el menú contextual que se nos abrirá, seleccionaremos la opción Añadir regla.

Para permitir el acceso a puertos específicos, lo realizamos mediante Permitir servicio/puerto/para, y se nos abre una ventana en la que debemos definir el puerto que queremos abrir:

* Nombre: descriptivo para el puerto que abriremos.
* Puerto: Puerto a abrir (si queremos abrir un rango, pondremos algo del estilo: 4662-4672).
* Origen: Si queremos abrirlo sólo para lo que provenga de una IP concreta. Normalmente queremos dejar esta opción en cualquiera.
* Comentario: Un comentario (opcional) que describa para qué se usa ese puerto.

Una vez introducidos los datos, le damos al botón Añadir y la regla quedará aplicada. Si no sabemos qué puertos utiliza una aplicación y ésta no funciona correctamente, es probable que el cortafuegos esté denegándole el tráfico, al no tener configurada una regla explícita para ella. En este caso, en la pestaña Eventos veremos las conexiones de dicha aplicación para poder darle permiso.

Para permitir el tráfico de nuestra red, para compartir ficheros entre los ordenadores, seleccionamos Permitir las conexiones desde el host. En la pantalla que se nos abre podremos introducir la IP privada, el nombre de la máquina o red a la que queramos permitir el acceso completo a nuestro PC.

Ejemplo para abrir los puertos del aMule
1. Teniendo el cortafuegos activo vamos a “Normativa” y seleccionamos “Edición - Normativa” para el tráfico entrante.
2. seleccionamos el cuadro de texto que aparece abajo y vamos a "Añadir reglas”.
* Para aMule necesitamos dos reglas para añadir dos puertos necesarios:
Para el 4662 (TCP) indicaremos que se va a permitir servicio para el puerto 4662, le ponemos en nombre aMule y pulsamos en “Añadir”
Para el 4672 (UDP) hacemos lo mismo poniendo el puerto 4672.
* Para Transmision sería sólo el puerto 51413 (TCP)

Si queremos que Firestarter se ejecute cada vez que iniciemos una sesión en Ubuntu, debemos añadirlo a la lista de programas de inicio en Sistema - Preferencias - Sesiones - Programas de inicio.

Posible error al iniciar Firestarter: No se pudo arrancar el cortafuegos. Se debe a un problema de traducción.
La solución es simple:
Cerramos Firestarter.
En una terminal modificamos el archivo firestarter.sh con el siguiente comando:
sudo gedit /etc/firestarter/firestarter.sh
Se abre el archivo firestarter.sh con el editor gedit.
Hay que cambiar las lineas donde aparece el término "grep Mas" por "grep Más".
Damos a "Guardar", cerramos el archivo y la terminal y arrancamos Firestarter de nuevo
El problema está en que hay que añadir el acento a la palabra "Más".


Fuente: http://www.ubuntu-guia.com/2009/08/instalar-y-configurar-cortafuegos.html

Cómo acceder a archivos en Synology NAS en la red local (NFS)

Visión general

Synology NAS se ha diseñado para que almacenar y compartir archivos en su red local sea rápido y sencillo, mediante el acceso directo a archivos y carpetas compartidas en Synology NAS el inconveniente de tener que iniciar sesión en DSM cada vez. Podrá acceder a archivos en su Synology NAS con NFS, al igual que otros dispositivos de red.

Este artículo le guiará por los pasos necesarios para utilizar su equipo Linux para acceder a su Synology NAS en la red local.
¿No es un usuario de Linux? Si desea acceder a su Synology NAS con un sistema operativo diferente, vea estos tutoriales para Windows o Mac OS.

Contenido

  1. Antes de comenzar
  2. Habilitar NFS en su Synology NAS
  3. Asignar permisos de NFS a carpetas compartidas
  4. Montar carpetas compartidas con NFS

1. Antes de comenzar

Este artículo parte de que usted ya ha hecho lo siguiente:
  • Ha configurado su Synology NAS para que se pueda acceder por Internet (vea este tutorial).

2. Habilitar NFS en su Synology NAS

Antes de acceder a una carpeta compartida con su cliente NFS deberá cambiar la configuración del sistema en su Synology NAS para permitir el uso compartido con NFS. Siga estos pasos.

  1. Inicie sesión en DSM con una cuenta que pertenezca al grupo de administrators.
  2. Vaya al Panel de control > Servicios de archivos. Nas
  3. En la pestaña Win/Mac/NFS, marque la casilla Habilitar NFS. Nas
  4. Haga clic en Aplicar para guardar la configuración.

3. Asignar permisos de NFS a carpetas compartidas

Antes de acceder a carpetas compartidas con su cliente NFS, primero deberá configurar los permisos NFS de la carpeta compartida a la que desea acceder. Los siguientes pasos le guiarán a través del proceso para cambiar los permisos de NFS de carpetas compartidas en el Synology NAS.

  1. Vaya al Panel de control > Carpeta compartida. Nas
  2. Seleccione la carpeta compartida a la que desea acceder con su cliente NFS y haga clic en Editar. Nas
  3. Vaya a la pestaña Permisos NFS. Haga clic en Crear. Nas
  4. Edite los siguientes campos:
    • Nombre de host o IP: Introduzca la dirección IP del cliente NFS que accederá a la carpeta compartida. Puede especificar un host de tres formas:
      • Host sencillo: El nombre de dominio totalmente cualificado o una dirección IP.
      • Comodines *, *.synology.com
      • Redes IP: 203.74.205.32/255.255.252.0, /24
    • Privilegio: Seleccione permisos de lectura/escritura para el cliente NFS.
    • Seguridad: Especifique el tipo de seguridad que se va a aplicar.
      • AUTH_SYS: Utilice el UID (identificador de usuario) y el GID (identificador de grupo) del NFS cliente para comprobar los permisos de acceso.
      • Autenticación Kerberos: Realice la autenticación Kerberos cuando el cliente NFS se conecte a la carpeta compartida. El cliente solo podrá acceder a la carpeta compartida tras superar la autenticación Kerberos.
      • Integridad Kerberos: Realice la autenticación Kerberos y garantice la integridad de los paquetes durante la transferencia de datos.
      • Privacidad Kerberos: Realice la autenticación Kerberos y cifre los paquetes de NFS durante la transferencia de datos, así evitará que usuarios malintencionados manipulen el tráfico de NFS.
    • Squash: Este campo le permite controlar los privilegios de acceso del usuario del cliente NFS. Seleccione una de las siguientes opciones:
      • Sin asignación: Permite a todos los usuarios del cliente NFS, incluidos los usuarios root, mantener los privilegios de acceso originales.
      • Asignar root a admin: Asigna a los clientes root de NFS unos privilegios de acceso equivalentes a los privilegios de acceso del usuario admin en su sistema.
      • Asignar root a guest: Asigna a los clientes root de NFS unos privilegios de acceso equivalentes a los privilegios de acceso del guest en su sistema.
      • Asignar todos los usuarios a admin: Asigna a todos los clientes de NFS unos privilegios de acceso equivalentes a los privilegios de acceso del usuario admin en su sistema.
    • Asíncrono: Si activa esta opción, su Synology NAS podrá responder a las peticiones de clientes NFS antes de que se complete cualquier cambio en los archivos, lo que proporciona un mayor rendimiento.
    • Puerto no privilegiado permitido: Si activa esta opción permitirá a sus clientes de NFS que utilicen puertos no privilegiados (o sea, puertos mayores de 1024) cuando se conecten a Synology NAS.
  5. Haga clic en OK para terminar.
  6. Haga clic en OK para aplicar los permisos NFS.
  7. Nas
Nota: Cuando el formato del nombre del servidor sea *.domain, la dirección IP del cliente NFS deberá tener el correspondiente registro DNS PTR, a fin de permitir a Synology NAS encontrar el nombre *.domain buscando la dirección IP correspondiente.

4. Montar carpetas compartidas con NFS

Cuando haya completado los pasos anteriores, podrá montar la carpeta compartida con su cliente NFS. En la siguiente sección accederemos a la carpeta compartida con Linux.
  1. Abra un explorador web e inicie sesión en DSM con una cuenta que pertenezca al grupo de administrators.
  2. Vaya al Panel de control > Carpeta compartida. Seleccione una carpeta compartida y haga clic Editar.
  3. Vaya a la pestaña Permisos NFS. Aquí puede encontrar la ruta de montaje de la carpeta compartida, que tendrá el formato / [nombre de volumen] / [nombre de la carpeta compartida ]. Nas
  4. En el equipo Linux abra la consola de comandos.
  5. Introduzca el comando de la siguiente manera:
    mount [dirección IP del Synology NAS] : [ruta de montaje de la carpeta compartida] / [punto de montaje en el cliente NFS]
  6. Introduzca el comando de disco libre (df) para confirmar que ha montado correctamente la carpeta compartida. Nas
  7. ¿No puede montar la carpeta compartida? La cuenta de usuario que ha introducido debe tener los privilegios de acceso para la carpeta compartida que desea asignar.

For several filesystems you might need a /sbin/mount

For nfs based file system, following utility is required
sudo apt-get install nfs-common
To mount a Cifs file system, install the following utility
sudo apt install cifs-utils
 
Fuente

domingo, 2 de septiembre de 2018

Texto y Musica Relajante

Déjate llevar por la gravedad,. Ve tomando conciencia de tu cuerpo mientras respiras lenta, profunda y silenciosamente. Sé consciente la fuerza de la gravedad, la tierra te atrae...Deja que cada músculo de los pies, las piernas, los muslos, la espalda, los hombros, el cuello, la cabeza... sea atraído por la gravedad. Siente cada músculo muy pesado..., aleja de tu mente cualquier necesidad de contracción muscular...concentra tu pensamiento en la relajación.... Deja que tus pies, piernas y muslos, los atraiga el suelo... tus brazos extendidos hacia arriba, tu cuello sin tensión, relajando... (3 minutos.

Desde Ubuntu a Windows 7

Antes de establecer la conexión indicada, en primer lugar, crearemos una carpeta en una máquina que tenga Windows 7 instalado. El lugar donde crearemos dicha carpeta es indiferente para el ejemplo, si bien en nuestro caso autenticados con las credenciales del usuario "Profesor" en dicho equipo, crearemos una carpeta en el Escritorio del mismo denominada enunciados.
 

 
Una vez creada la carpeta pulse el botón derecho del ratón sobre ella y en el menú contextual seleccione Propiedades.
 

 
Seleccione la pestaña Compartir. En ella pulse el botón Uso compartido avanzado.
 

 
En la siguiente ventana marque la casilla Compartir esta carpeta y luego pulse el botón Permisos para establecer los permisos sobre la carpeta.
 


En los Permisos de la carpeta compartida elimine al grupo Todos (es conveniente hacer esto por motivos de seguridad).
 

 
Añada al usuario o grupo de usuarios que tendrán acceso a la carpeta compartida desde Ubuntu. Deberá ser un usuario o grupo de usuarios de la máquina Windows. Pulse para ello el botón Agregar.
 

 
En nuestro caso hemos dado permiso sobre la carpeta compartida al usuario profesor. El lector deberá dar permiso sobre el recurso compartido a uno o más usuarios de su sistema. Una vez seleccionados los usuarios que podrán acceder desde otro sistema a su carpeta compartida pulse el botón Aceptar.
 

 
En la ventana Permisos a los recursos compartidos seleccione el usuario o usuarios que acaba de añadir y pulse sobre la casilla correspondiente a Permitir Control Total sobre la carpeta. Después pulse el botón Aplicar y finalmente el botón Aceptar.
 

 
Si ha creado la carpeta en un volumen o unidad con sistema de archivos FAT32, todo ha concluido. En nuestro caso dado que hemos creado la carpeta en una unidad con sistema de archivos NTFS deberemos establecer los permisos NTFS para los usuarios. Los permisos efectivos que se le aplican al usuario cuando este accede desde otra máquina serán los más restrictivos de ambos. Para establecer los permisos NTFS seleccione la pestaña Seguridad en la ventana Propiedades de la carpeta. Si aparece entre los usuarios que pueden acceder a la carpeta el grupo Todos, selecciónelo y pulse sobre el botón Quitar.
 

 
Al pulsar sobre dicho botón aparecerá un mensaje de advertencia indicándonos que no se puede eliminar este objeto porque viene heredado desde su primario (directorio padre). Para ello pulse sobre el botón Opciones avanzadas.
NOTA: Aunque no se encuentre el grupo Todos incluido en la ventana de la imagen anterior, deberemos igualmente pulsar sobre el botón Opciones avanzadas, pues precisamos romper la herencia de permisos para personalizar el acceso a la carpeta según nos interese.
En la ventana que aparece a continuación pulse sobre el botón Cambiar permisos, tras lo cual se mostrará una nueva ventana en la deberá desmarcar la opción Incluir todos los permisos heredables del objeto primario de este objeto y en la ventana emergente que aparece a continuación pulse sobre la opción Agregar.
 

 
En la ventana de Configuración de seguridad avanzada para la carpeta, pulse primero sobre el botón Aplicar y después sobre el botón Aceptar.
 

 
Cierre todas las ventanas que tuviera abiertas hasta llegar a la ventana de Propiedades: enunciados, y pulse en ella sobre el botón Editar, pasando a ser mostrada la ventana de la imagen inferior; en ella seleccione al usuario o usuarios para los cuales quiere conceder permisos de acceso. Si marca la opción Permitir Control total, los permisos efectivos de esos usuarios al acceder a la carpeta desde la red serán los más restrictivos entre los permisos como carpeta compartida y los permisos como carpeta en una unidad NTFS. En nuestro caso para el usuario Profesor le dejaremos asociados los permisos de Lectura y ejecución, Mostrar el contenido de la carpeta y Lectura. Al ser éstos más restrictivos que los permisos de carpeta compartida establecidos anteriormente, serán éstos los permisos efectivos para el usuario Profesor. Pulsaremos Aplicar y después Aceptar para aplicar las configuraciones elegidas.
 

 
Por último, colocaremos en la carpeta que acabamos de compartir un documento para posteriormente comprobar si podemos acceder a él sólo en lectura desde la máquina en la que hemos instalado Ubuntu.
 

 
Para acceder a la carpeta compartida desde Ubuntu seleccionamos la opción Lugares->Red en el menú principal.
 

 
Aparecerá la lista de máquinas accesibles en la red local. Seleccione aquella en la que se encuentra el recurso compartido al que pretende conectarse.
 

 
Deberemos autentificarnos con una cuenta de usuario que exista en la máquina a la cual se encuentran los recursos a los que pretendemos conectarnos. Utilizaremos la cuenta del usuario profesor en la máquina Windows 7.
 
 
A continuación veremos los recursos compartidos existentes en la ubicación a la cual nos hemos conectado.
 

 
Abriremos el recurso al cual nos vamos a conectar. Aparecerá el contenido del mismo en la ventana.
 

 
Si intentamos abrir el archivo contenido dentro de la carpeta compartida veremos la siguiente ventana, donde nos indica que sólo podemos abrir el archivo en lectura o bien si queremos modificarlo, abrir una copia. Como recordaremos, los permisos efectivos sobre la carpeta compartida enunciados eran de sólo lectura.
 
 
Abriremos el archivo en modo sólo lectura como vemos en la siguiente imagen.
 


Si sobre la carpeta compartida pulsamos el botón derecho del ratón aparecerá el menú contextual. En el mismo, seleccione la opción Crear una carpeta.
 
 
Veremos que aparecerá un mensaje indicativo de que no podemos realizar dicha acción debido a que no tenemos permiso de escritura en la carpeta compartida.
 
 
Si pulsamos el botón derecho del ratón sobre la carpeta compartida y seleccionamos Crear un documento->Archivo vacío...
 
 
Veremos que igualmente aparece una ventana indicándonos que no tenemos permisos en dicha carpeta compartida para crear archivos.
 
 
Cuando queramos desconectarnos de la carpeta compartida pulsaremos el botón derecho del ratón sobre la misma y en el menú contextual seleccionaremos la opción Desmontar.
 
 

Listado enlaces útiles

  1. http://mogaal.com/articulos/qemu.html : Usando Qemu en Debian
  2. http://www.linuxforthefuture.com/compartir-carpetas-con-samba/ : Compartir carpetas en red con Samba
  3. https://www.enmimaquinafunciona.com/pregunta/61136/no-se-puede-conectar-a-wicd-la-interfaz-d-bus-compruebe-el-wicd-en-el-registro-de-mensajes-de-error: No se puede conectar a wicd la interfaz D-bus. 
  4. https://backtrackacademy.com/articulo/instalar-un-firewall-en-kali-linux: Instalar un firewall en kali linux

Instalar Postfix en ubuntu 20.04

Inyección SQL

Versión Linux desde Terminal

Cómo ver la versión de Linux desde terminal

Un usuario de Linux como sistema operativo principal sabrá normalmente qué versión está utilizando, conociendo su sistema al detalle. Sin embargo, quienes trabajamos dando soporte a múltiples clientes o nos vemos en la situación de tener que ayudar a alguien con un servidor remoto, necesitamos muchas veces buscar ese dato que nos diga qué versión de Linux estamos usando, ya que cada una tiene una gestión de paquetes distinta, por ejemplo.

Como ver la versión de Linux desde terminal

Hay diferentes formas de conocer la versión de un sistema operativo basado en UNIX desde una terminal, así que vamos a enumerar algunos trucos. Abrid una terminal (Ctrl+Alt+T)  y empecemos:
Formato simple
Una forma fácil y rápida de ver la versión del sistema operativo sin más adornos, y que funciona en casi todas las distribuciones de Linux importantes, es escribir lo siguiente:
cat /etc/issue
Se nos presentará una información similar a la que aparece en la siguiente captura:
Como ver la versión de Linux desde el terminal
Ahora bien, si necesitamos más información sobre la versión del sistema instalado, podemos probar el siguiente comando ampliado:
cat /etc/*release
La salida que veremos incluye todos los datos relativos a la distribución, tecnología en la que está basada (en este caso, Ubuntu usa Debian como base) y aparecen también las direcciones web oficial y de soporte:
Comprobar version de Linux mediante consola
Ahora, probemos una solución intermedia, ni tan simple ni tan completa como la anterior. Con este comando veremos el release de nuestra distribución:
lsb_release -a
lsb_release -a
En la mayoría de casos, con la primera opción será suficiente. Ahora, pasemos a hablar de cómo ver la versión del Kernel de UNIX.

Como ver la versión del Kernel en Linux

Como muchos ya sabréis, una cosa es la distribución que utilizamos y otra totalmente distinta es la versión del Kernel de Linux. Si nos interesa conocer este valor, escribiremos lo siguiente en un terminal:
uname -r
Con esta salida simple veremos la versión que tenemos en uso, en mi caso la 4.4.0-45.
Comando uname -r
Pero supongamos que nos interesa otro tipo de información relativa al kernel, como podría ser si se trata de una versión de 32 o 64 bits. Para eso usaremos el siguiente comando:
uname -i
O bien:
uname -a
La primera opción se limita a indicar el tipo de arquitectura utilizada -suficiente para el ejemplo anterior- mientras que la segunda nos ofrece toda la información disponible relacionada con el kernel.
Comando uname -a

Fuente: https://protegermipc.net/2017/05/11/como-ver-la-version-de-linux-desde-terminal/

sábado, 26 de mayo de 2018

DTD (DOCUMENT TYPE DEFINITIONS) VI

 
DECLARACIONES DE LISTA DE ATRIBUTOS
Los atributos permiten añadir información adicional a los elementos de un documento. La principal diferencia entre los elementos y los atributos, es que los atributos no pueden contener sub-atributos. Se usan para añadir información corta, sencilla y desestructurada.
<mensaje prioridad="urgente">
<de>Alfredo Reino</de>
<a>Hans van Parijs</a>
<texto idioma="holandés">
Hallo Hans, hoe gaat het?
...
</texto>
</mensaje>






Otra diferencia entre los atributos y los elementos, es que cada uno de los atributos sólo se puede especificar una vez, y en cualquier orden.
En el ejemplo anterior, para declarar la lista de atributos de los elementos <mensaje> y <texto> haríamos lo siguiente:
<!ELEMENT mensaje (de, a, texto)>
<!ATTLIST mensaje prioridad (normal | urgente) normal>
<!ELEMENT texto(#PCDATA)>
<!ATTLIST texto idioma CDATA #REQUIRED>


Las declaraciones de los atributos empiezan con "<!ATTLIST", y a continuación del espacio en blanco viene el identificador del elemento al que se aplica el atributo. Despues viene el nombre del atributo, su tipo y su valor por defecto. En el ejemplo anterior, el atributo "prioridad" puede estar en el elemento <mensaje> y puede tener el valor "normal" o "urgente", siendo "normal" el valor por defecto si no especificamos el atributo.
El atributo "idioma", pertenece al elemento texto, y puede contener datos de carácter (CDATA). Es más, la palabra #REQUIRED significa que no tiene valor por defecto, ya que es obligatorio especificar este atributo.
A menudo interesa que se pueda omitir un atributo, sin que se adopte automáticamente un valor por defecto. Para esto se usa la condición "#IMPLIED". Por ejemplo, en una supuesta DTD que defina la etiqueta <IMG> de HTML:
<!ATTLIST IMG URL CDATA #REQUIRED ALT CDATE #IMPLIED>
Es decir, el atributo "URL" es obligatorio, mientras que el "ALT" es opcional (y si se omite, no toma ningún valor por defecto).
nos vemos en la parte 7









DTD (DOCUMENT TYPE DEFINITIONS) VII


TIPOS DE ATRIBUTOS
Atributos CDATA y NMTOKEN
Los atributos CDATA (character data) son los más sencillos, y pueden contener casi cualquier cosa. Los atributos NMTOKEN (name token) son parecidos, pero sólo aceptan los caracteres válidos para nombrar cosas (letras, números, puntos, guiones, subrayados y los dos puntos).
<!ATTLIST mensaje fecha CDATA #REQUIRED>
<mensaje fecha="15 de Julio de 1999">
<!ATTLIST mensaje fecha NMTOKEN #REQUIRED>
<mensaje fecha="15-7-1999">


Atributos enumerados y notaciones
Los atributos enumerados son aquellos que sólo pueden contener un valor de entre un número reducido de opciones.
<!ATTLIST mensaje prioridad (normal | urgente) normal>
Existe otro tipo de atributo parecido, llamado de notación (NOTATION). Este tipo de atributo permite al autor declarar que su valor se ajusta a una notación declarada.
<!ATTLIST mensaje fecha NOTATION (ISO-DATE | EUROPEAN-DATE) #REQUIRED>
Para declarar las notaciones, se utiliza "<!NOTATION", con una definición externa de la notación. La definición externa puede ser pública o un identificador del sistema para la documentación de la notación, una especificación formal o un asistente de la aplicación que contenga objetos representados en la notación.
<!NOTATION HTML SYSTEM "http://www.w3.org/Markup">
<!NOTATION HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
Atributos ID e IDREF
El tipo ID permite que un atributo determinado tenga un nombre único que podrá ser referenciado por un atributo de otro elemento que sea de tipo IDREF. Por ejemplo, para implementar un sencillo sistema de hipervínculos en un documento:
<!ELEMENT enlace EMPTY>
<!ATTLIST enlace destino IDREF #REQUIRED>
<!ELEMENT capitulo (parrafo)*>
<!ATTLIST capitulo referencia ID #IMPLIED>


En este caso, una etiqueta <enlace destino="seccion-3"> haría referencia a un <capitulo referencia="seccion-3">, de forma que el procesador XML lo podría convertir en un hipervínculo, u otra cosa.
nos vemos en la parte 8









DTD (DOCUMENT TYPE DEFINITIONS) VIII


DECLARACIÓN DE ENTIDADES
XML hace referencia a objetos (ficheros, páginas web, imágenes, cualquier cosa) que no deben ser analizados sintácticamente según las reglas de XML, mediante el uso de entidades. Se declaran en la DTD mediante el uso de "<!ENTITY"
Una entidad puede no ser más que una abreviatura que se utiliza como una forma corta de algunos textos. Al usar una referencia a esta entidad, el analizador sintáctico reemplaza la referencia con su contenido. En otras ocasiones es una referencia a un objeto externo o local.
Las entidades pueden ser:
  • Internas o Externas
  • Analizadas o No analizadas
  • Generales o Parámetro
Entidades generales internas
Son las más sencillas. Son básicamente abreviaturas definidas en la sección de la DTD del documento XML. Son siempre entidades analizadas, es decir, una vez reemplazada la referencia a la entidad por su contenido, pasa a ser parte del documento XML y como tal, es analizada por el procesador XML.
<!DOCTYPE texto[
<!ENTITY alf "Alien Life Form">
]>
<texto><titulo>Un día en la vida de un &alf;</titulo></texto>


Entidades generales externas analizadas
Las entidades externas obtienen su contenido en cualquier otro sitio del sistema, ya sea otro archivo del disco duro, una página web o un objeto de una base de datos. Se hace referencia al contenido de una entidad así mediante la palabra SYSTEM seguida de un URI (Universal Resource Identifier)
<!ENTITY intro SYSTEM "http://www.miservidor.com/intro.xml">
Entidades no analizadas
Evidentemente, si el contenido de la entidad es un archivo MPG o una imagen GIF o un fichero ejecutable EXE, el procesador XML no debería intentar interpretarlo como si fuera texto XML. Este tipo de entidades siempre son generales y externas.
<!ENTITY logo SYSTEM "http://www.miservidor.com/logo.gif">
Entidades parámetro internas y externas
Se denominan entidades parámetro a aquellas que sólo pueden usarse en la DTD, y no en el documento XML. Se pueden utilizar para agrupar ciertos elementos del DTD que se repitan mucho. Se diferencian las entidades parámetro de las generales, en que para hacer referencia a ellas, se usa el símbolo "%" en lugar de "&" tanto como para declararlas como para usarlas.
<!DOCTYPE texto[
<!ENTITY % elemento-alf "<!ELEMENT ALF (#PCDATA)>">
...
%elemento-alf;
]>



Tambien puede ser externa:
<!DOCTYPE texto[
<!ENTITY % elemento-alf SYSTEM "alf.ent">
...
%elemento-alf;
]>



nos vemos en la parte 9












DTD (DOCUMENT TYPE DEFINITIONS) IX


EJEMPLO DE DTD
Un DTD que puede servir como ejemplo podría ser uno que nos defina un lenguaje de marcado para una base de datos de personas.
En el ejemplo vamos a examinar cómo hacer una agenda que guardará el nombre y teléfono de cada persona. Además, cada persona tendrá un identificador (obligatoriamente) como atributo.
El fichero ejemplo-agenda.dtd podría ser algo así:
<?xml encoding="UTF-8"?>
<!ELEMENT agenda (persona)+>
<!ELEMENT persona (nombre, tlf)>
<!ATTLIST persona id ID #REQUIRED>
<!ELEMENT nombre (#PCDATA)>
<!ELEMENT tlf (#PCDATA)>




Basándonos en este DTD, podríamos escribir nuestra primera agenda en XML (ejemplo-agenda.xml) de la siguiente manera:
<?xml version="1.0"?>
<!DOCTYPE agenda SYSTEM "ejemplo-agenda.dtd">
<agenda>
<persona id="ricardo">
<nombre>Ricardo Borriquero</nombre>
<tlf>951345678</tlf>
</persona>
<persona id="eva">
<nombre>Eva Risto</nombre>
<tlf>955837659</tlf>
</persona>
</agenda>













sábado, 25 de agosto de 2012

Limpiar cache de Linux

 

Al parecer mi PC tiene corrupto algún módulo de memoria, el cual falla aleatoreamente causando que la máquina falle.
Las estocásticas molestias no ocurren sólo a nivel de cuelgues del sistema cuando lo dejo inactivo, sino que también suceden cuando estoy trabajando en él, acabando con mi paciencia y con mis aplicaciones.

No es coincidencia que la aplicación que más cuelgues ha recibido es Firefox, pues el navegador es lejos el programa que más uso en casa. Lamentablemente, cuando intento volver a abrirlo, éste falla sucesivamente, hasta reiniciar el sistema, debido a que el programa que está cargado en memoria, con algún bit corrupto es almacenado en un espacio que actúa como buffer, al cual simplemente le denominamos cache.

Mi problema tiene una solución: comprar módulos de memoria nuevos, y una placa madre (nunca he confiado en esta última, pues apenas comprada mató a un módulo de memoria, el cual cambié por los actuales). Pero la solución inmediata para seguir trabajando sin reiniciar es ordenar al sistema operativo que limpie los datos almacenados en el buffer.

Para realizar esto, como root ejecute lo siguiente:

sync; echo 3 > /proc/sys/vm/drop_caches