martes, 10 de julio de 2018

Trabajar con GIT

Está Escrito:
Porque tú me sacaste del seno materno; me hiciste confiar desde los pechos de mi madre. A ti fui entregado desde mi nacimiento; desde el vientre de mi madre tú eres mi Dios.
Tomado de: Wikipedia y git-scm

Git (pronunciado "guit"2​) es un software de control de versiones diseñado por Linus Torvalds, pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando éstas tienen un gran número de archivos de código fuente. Su propósito es llevar registro de los cambios en archivos de computadora y coordinar el trabajo que varias personas realizan sobre archivos compartidos.

Al principio, Git se pensó como un motor de bajo nivel sobre el cual otros pudieran escribir la interfaz de usuario o front end como Cogito o StGIT3​ Sin embargo, Git se ha convertido desde entonces en un sistema de control de versiones con funcionalidad plena. 4​ Hay algunos proyectos de mucha relevancia que ya usan Git, en particular, el grupo de programación del núcleo Linux.
El mantenimiento del software Git está actualmente (2009) supervisado por Junio Hamano, quien recibe contribuciones al código de alrededor de 280 programadores. En cuanto a derechos de autor Git es un software libre distribuible bajo los términos de la versión 2 de la Licencia Pública General de GNU.

Caracteristicas:
El diseño de Git se basó en BitKeeper y en Monotone56​ Originalmente fue diseñado como un motor de sistema de control de versiones de bajo nivel sobre el cual otros podrían codificar interfaces frontales, tales como Cogito o StGIT.7​ Desde ese entonces hasta ahora el núcleo del proyecto Git se ha vuelto un sistema de control de versiones completo, utilizable en forma directa.8
Linus Torvalds buscaba un sistema distribuido que pudiera usar en forma semejante a BitKeeper, pero ninguno de los sistemas bajo software libre disponibles cumplía con sus requerimientos, especialmente en cuanto a desempeño. El diseño de Git mantiene una enorme cantidad de código distribuida y gestionada por mucha gente, que incide en numerosos detalles de rendimiento, y de la necesidad de rapidez en una primera implementación.
Entre las características más relevantes se encuentran:
  • Fuerte apoyo al desarrollo no lineal, por ende rapidez en la gestión de ramas y mezclado de diferentes versiones. Git incluye herramientas específicas para navegar y visualizar un historial de desarrollo no lineal. Una presunción fundamental en Git es que un cambio será fusionado mucho más frecuentemente de lo que se escribe originalmente, conforme se pasa entre varios programadores que lo revisan.
  • Gestión distribuida. Al igual que DarcsBitKeeperMercurialSVKBazaar y Monotone, Git le da a cada programador una copia local del historial del desarrollo entero, y los cambios se propagan entre los repositorios locales. Los cambios se importan como ramas adicionales y pueden ser fusionados en la misma manera que se hace con la rama local.
  • Los almacenes de información pueden publicarse por HTTPFTPrsync o mediante un protocolo nativo, ya sea a través de una conexión TCP/IP simple o a través de cifrado SSH. Git también puede emular servidores CVS, lo que habilita el uso de clientes CVS pre-existentes y módulos IDE para CVS pre-existentes en el acceso de repositorios Git.
  • Los repositorios Subversion y svk se pueden usar directamente con git-svn.
  • Gestión eficiente de proyectos grandes, dada la rapidez de gestión de diferencias entre archivos, entre otras mejoras de optimización de velocidad de ejecución.
  • Todas las versiones previas a un cambio determinado, implican la notificación de un cambio posterior en cualquiera de ellas a ese cambio (denominado autenticación criptográfica de historial). Esto existía en Monotone.
  • Resulta algo más caro trabajar con ficheros concretos frente a proyectos, eso diferencia el trabajo frente a CVS, que trabaja con base en cambios de fichero, pero mejora el trabajo con afectaciones de código que concurren en operaciones similares en varios archivos.
  • Los renombrados se trabajan basándose en similitudes entre ficheros, aparte de nombres de ficheros, pero no se hacen marcas explícitas de cambios de nombre con base en supuestos nombres únicos de nodos de sistema de ficheros, lo que evita posibles, y posiblemente desastrosas, coincidencias de ficheros diferentes en un único nombre.
  • Realmacenamiento periódico en paquetes (ficheros). Esto es relativamente eficiente para escritura de cambios y relativamente ineficiente para lectura si el reempaquetado (con base en diferencias) no ocurre cada cierto tiempo.

Acerca del Control de Versiones

¿Qué es un control de versiones, y por qué debería importarte? Un control de versiones es un sistema que registra los cambios realizados en un archivo o conjunto de archivos a lo largo del tiempo, de modo que puedas recuperar versiones específicas más adelante. Aunque en los ejemplos de este libro usarás archivos de código fuente como aquellos cuya versión está siendo controlada, en realidad puedes hacer lo mismo con casi cualquier tipo de archivo que encuentres en una computadora.
Si eres diseñador gráfico o de web y quieres mantener cada versión de una imagen o diseño (es algo que sin duda vas a querer), usar un sistema de control de versiones (VCS por sus siglas en inglés) es una muy decisión muy acertada. Dicho sistema te permite regresar a versiones anteriores de tus archivos, regresar a una versión anterior del proyecto completo, comparar cambios a lo largo del tiempo, ver quién modificó por última vez algo que pueda estar causando problemas, ver quién introdujo un problema y cuándo, y mucho más. Usar un VCS también significa generalmente que si arruinas o pierdes archivos, será posible recuperarlos fácilmente. Adicionalmente, obtendrás todos estos beneficios a un costo muy bajo.

Sistemas de Control de Versiones Locales

Un método de control de versiones usado por muchas personas es copiar los archivos a otro directorio (quizás indicando la fecha y hora en que lo hicieron, si son ingeniosos). Este método es muy común porque es muy sencillo, pero también es tremendamente propenso a errores. Es fácil olvidar en qué directorio te encuentras, y guardar accidentalmente en el archivo equivocado o sobrescribir archivos que no querías.
Para afrontar este problema los programadores desarrollaron hace tiempo VCS locales que contenían una simple base de datos en la que se llevaba el registro de todos los cambios realizados a los archivos.

Local version control diagram
Figure 1. control de versiones local.

Una de las herramientas de control de versiones más popular fue un sistema llamado RCS, que todavía podemos encontrar en muchas de las computadoras actuales. Incluso el famoso sistema operativo Mac OS X incluye el comando rcs cuando instalas las herramientas de desarrollo. Esta herramienta funciona guardando conjuntos de parches (es decir, las diferencias entre archivos) en un formato especial en disco, y es capaz de recrear cómo era un archivo en cualquier momento a partir de dichos parches.

Sistemas de Control de Versiones Centralizados

El siguiente gran problema con el que se encuentran las personas es que necesitan colaborar con desarrolladores en otros sistemas. Los sistemas de Control de Versiones Centralizados (CVCS por sus siglas en inglés) fueron desarrollados para solucionar este problema. Estos sistemas, como CVS, Subversion, y Perforce, tienen un único servidor que contiene todos los archivos versionados, y varios clientes que descargan los archivos desde ese lugar central. Este ha sido el estándar para el control de versiones por muchos años.

Centralized version control diagram
Figure 2. Control de versiones centralizado.

Esta configuración ofrece muchas ventajas, especialmente frente a VCS locales. Por ejemplo, todas las personas saben hasta cierto punto en qué están trabajando los otros colaboradores del proyecto. Los administradores tienen control detallado sobre qué puede hacer cada usuario, y es mucho más fácil administrar un CVCS que tener que lidiar con bases de datos locales en cada cliente.
Sin embargo, esta configuración también tiene serias desventajas. La más obvia es el punto único de fallo que representa el servidor centralizado. Si ese servidor se cae durante una hora, entonces durante esa hora nadie podrá colaborar o guardar cambios en archivos en los que hayan estado trabajando. Si el disco duro en el que se encuentra la base de datos central se corrompe, y no se han realizado copias de  seguridad adecuadamente, se perderá toda la información del proyecto, con excepción de las copias instantáneas que las personas tengan en sus máquinas locales. Los VCS locales sufren de este mismo problema: Cuando tienes toda la historia del proyecto en un mismo lugar, te arriesgas a perderlo todo.

Sistemas de Control de Versiones Distribuidos

Los sistemas de Control de Versiones Distribuidos (DVCS por sus siglas en inglés) ofrecen soluciones para los problemas que han sido mencionados. En un DVCS (como Git, Mercurial, Bazaar o Darcs), los clientes no solo descargan la última copia instantánea de los archivos, sino que se replica completamente el repositorio. De esta manera, si un servidor deja de funcionar y estos sistemas estaban colaborando a través de él, cualquiera de los repositorios disponibles en los clientes puede ser copiado al servidor con el fin de restaurarlo. Cada clon es realmente una copia completa de todos los datos.

Distributed version control diagram
Figure 3. Control de versiones distribuido.

Además, muchos de estos sistemas se encargan de manejar numerosos repositorios remotos con los cuales pueden trabajar, de tal forma que puedes colaborar simultáneamente con diferentes grupos de personas en distintas maneras dentro del mismo proyecto. Esto permite establecer varios flujos de trabajo que no son posibles en sistemas centralizados, como pueden ser los modelos jerárquicos.

martes, 15 de mayo de 2018

Los 16 Mejores Frameworks gratuitos para Aplicaciones Web/Móvil [Actualizado]

Está Escrito:
Como tú no sabes cuál es el camino del viento, o cómo crecen los huesos en el vientre de la mujer encinta, así ignoras la obra de Dios, el cual hace todas las cosas.
(Eclesiastés 11:5)

Un framework de aplicaciones web es un tipo de framework que permite el desarrollo de sitios web dinámicos, web services (servicios web) y aplicaciones web. El propósito de este tipo de framework es permitir a los desarrolladores construir aplicaciones web y centrarse en los aspectos interesantes, aliviando la típica tarea repetitiva asociada con patrones comunes de desarrollo web. La mayoría de los frameworks de aplicaciones web proporcionan los tipos de funcionalidad básica común, tales como sistemas de templates (plantillas), manejo de sesiones de usuario, interfaces comunes con el disco o el almacenamiento en base de datos de contenido cacheado, y persistencia de datos. Normalmente, los frameworks de aplicación web además promueven la reutilización y conectividad de los componentes, así como la reutilización de código, y la implementación de bibliotecas para el acceso a base de datos.

Los mejores frameworks son especialmente buenos para organizar proyectos de gran magnitud, y a su vez tratando de mantenerse fuera del camino, sin imponerse por sobre el proyecto.

El más conocido patrón de diseño de aplicaciones web es la arquitectura Model-View-Controller (MVC: Modelo-Vista-Controlador). Un Modelo es un objeto que representa datos o incluso una actividad en forma de tabla en base de datos. Una Vista es algún tipo de visualización del estado del modelo, y un Controlador ofrece funciones (herramientas) para cambiar el estado del modelo.

Hay una amplia gama de frameworks para aplicaciones web disponibles para Linux que son distribuidos bajo licencia Open Source. Para proporcionar una visión en el software que actualmente está disponible, hemos compilado una lista de 10 frameworks de alta calidad. Los que hemos seleccionado cubren un número de lenguajes de programación incluyendo Ruby, PHP y Python.
A continuación se muestran 15 de los Frameworks más populares, tanto para webs como para móviles:

Frameworks Web y móvilesDescripción
Angular.jsUn framework basado en JavaScript
reactLiberado por Facebook, en JavaScript, permite desarrollar aplicaciones móviles para IOS y Android
ionicPara móviles, usando HTML, Js, Sass y Angular
MeteorEn JavaScript, para web y móviles
Ruby on RailsFramework MVC basado en Ruby, orientado al desarrollo de aplicaciones web
CodeIgniterPoderoso framework PHP liviano y rápido
KohanaKohana es un framework para aplicaciones web para PHP5 que implementa el patrón de Modelo Vista Controlador Jerárquico (HMVC). Sus principales objetivos se basan en ser seguro, ligero, y fácil de utilizar.
DjangoFramework Python que promueve el desarrollo rápido y el diseño limpio
CakePHPFramework MVC para PHP de desarrollo rápido
Zend FrameworkFramework para PHP 5, simple, claro y open-source
YiiFramework PHP de alto rendimiento basado en componentes
PylonsFramework web para Python que enfatiza la flexibilidad y el desarrollo rápido
CatalystFramework para aplicaciones web MVC elegante
SymfonyFramework full-stack
TurboGearsPróxima generación construido sobre Pylons
LaravelEs un framework Modelo Vista Controlador (MVC), es el más popular y usado. Su linea de aprendizaje es corta, es ideal tanto para proyectos grandes como pequeños, es uno de los más seguros y cuenta con la mayor comunidad

Fuente: linuxlinks

miércoles, 2 de mayo de 2018

Cómo cambiar el DNS en Linux para navegar más rápidamente

Está Escrito:
Y esta es la confianza que tenemos en él (Cristo Jesús), que si pedimos alguna cosa conforme a su voluntad, él nos oye. Y si sabemos que él nos oye en cualquiera cosa que pidamos, sabemos que tenemos las peticiones que le hayamos hecho. (1 Juan 5:14-15)
Tomado de: Rootear.com
Hace varios días os explicábamos cómo cambiar el DNS por defecto en Windows para obtener las ventajas que nos ofertan otros servidores ajenos a los que nos ofrece nuestro ISP. Como sabemos que no todos los que nos leéis utilizáis Windows, hoy vamos a explicar el procedimiento para cambiar el DNS, pero en este caso será para nuestro querido Sistema Operativo Linux.

Desde que en Rootear aprendimos varias razones para utilizar un servicio DNS de un proveedor externo, decidimos explicar cómo cambiar nuestro DNS en los Sistemas Operativos más comunes. Hace algunos días pudimos explicaros cómo cambiarlo en Windows y hoy es el turno de Linux.
Me gustaría enumerar, como breve repaso, las principales ventajas de usar un DNS diferente:
  1. Posibles mejoras de velocidad
  2. Posibles mejoras de fiabilidad
  3. Controles parentales
  4. Protección contra phising
  5. Elementos de seguridad
  6. Acceder a contenido bloqueado por geolocalización
  7. Hacer un by-pass a la censura

Cómo cambiar DNS en Linux

1. Abrimos el Terminal.
2. Escribimos: nano /etc/resolv.conf. Con esto abrimos el archivo resolv.conf con el editor del Terminal. En dicho archivo se encuentra la configuración del DNS.
3. Buscamos las líneas que empiezan con nameserver.
4. Desplazamos 2 líneas hacia abajo los DNS por defecto y en las líneas que quedan libres escribimos nameserver seguido de un espacio y la dirección del servidor DNS que queramos establecer. En la siguiente línea escribimos lo mismo, pero en este caso pondremos la dirección IP del DNS secundario. Nosotros hemos usado los servidores públicos de Google, 8.8.8.8 como principal y 8.8.4.4 como secundario, por si falla el primero. Debería quedar como en la imagen de arriba, aunque en mi caso he borrado los DNS que venían por defecto.
5. Guardamos pulsando Ctrl+O y después pulsamos Intro para sobreescribir.
También podemos poner otro DNS, los que queramos, desde el DNS interno de nuestra empresa hasta otro DNS alternativo. Siempre en otra línea, ya sea debajo o encima, dependiendo de la preferencia que le queramos dar. El primero será el que más preferencia tenga.

En este tutorial hemos escogido los servidores de Google porque por norma general suelen ser más rápidos y fiables que los demás, aunque no todo lo que reluce es oro.
Como hemos visto es sumamente fácil cambiar nuestro servidor DNS por defecto y beneficiarnos de unos privilegios que, si bien no los percibimos a simple vista, a la larga lo agradeceremos.

Tomado de:  Profesionalreview.com
Existen por lo menos dos maneras diferentes para configurar DNS en Ubuntu y Debian. Es tan simple como editar los servidores DNS usando la consola o editar las direcciones a través de la interfaz gráfica.

Editar DNS por terminal

La primera opción que te vamos a enseñar es la de poder configurar los servidores DNS utilizando la consola.
Lo primero que debemos hacer es abrir una terminal en Ubuntu/Debain presionando las teclas Ctrl+ALt+T o también puedes hacerlo haciendo clic en Aplicaciones -> Accesorios -> Terminal. A continuación deberás editar la configuración de archivo de los servidores DNS utilizando el comando vi o vim:


$sudo vi /etc/resolv.conf
El comando vi o vim es el más utilizado para editar archivos de configuraciones o crear tu propio script y se puede considerar el comando que toda distribución trae de serie.
configurar-dns-debian
Deberás añadir las direcciones IP de los servidores DNS a ese archivo. Puedes agregar los servidores que desees, usando el comando repetidamente (nameserver + dirección IP), también puedes, en caso de que no te lo memorices utilizar la IP 8.8.8.8, que pertenece a un DNS de Google o cualquiera de las DNS Públicas y gratuitas que ya os indicamos anteriormente en nuestro blog.



# Configuración de servidores
DNS   nameserver 1.1.1.1
Estas modificaciones deben realizarse logueados con el usuario root.
En tercer lugar deberás reiniciar las interfaces de la red para que los cambios se hayan aplicado correctamente, para hacer esto puedes hacerlo así:


# sudo /etc/init.d/networking restart

Si este comando te generará algún tipo de inconveniente puedes deshabilitar y volver a hbilitar la interfaz que has configurado, haciéndolo de la siguiente forma.



$ sudo ifconfig eth0 down
$ sudo ifconfig eth0 up

Por ultimo debemos comprobar si hay conectividad con otros equipos de la red y que posees conexión a internet.


$ ping 192.168.1.1

Esto sirve para comprobar la conexión con tu puerta de enlace (el router).


$ ping google.com

Y esto para comprobar si hay conectividad a Internet.

Configuración DNS por interfaz gráfica

La segunda opción para configurar DNS en Ubuntu y Debian o cualquier distribución es usando la interfaz gráfica.
Configurar DNS en Ubuntu y Debian
En primera medida lo que debemos hacer es clic en sistema -> preferencias y luego ir a conexiones de red.
Configurar DNS en Ubuntu y Debian 2
Se abrirá una pestaña en la que podrás comprobar las diferentes interfaces de red que posee el equipo. En la pestaña que dice cableado podrás ver las interfaces de Ethernet y donde dice inalámbrico divisarás las interfaces de las redes inalámbricas. Para poder editar sus propiedades solamente debes seleccionarla y presionar el botón que dice editar.
Configurar DNS en Ubuntu interfaz gráfica
Para una óptima configuración de los servidores DNS, primero deberás asignar una IP fija a la interfaz de red seleccionada, pulsando sobre la pestaña de Ajustes de IPv4, y luego optando por la selección de Método Manual en el desplegable y luego pulsando en añadir.
Los parámetros de máscara de red, dirección y el de puerta de enlace deberán ser configurados con los valores exactos de ti red local.  Para finalizar, en esa misma ventana puedes configurar la IP del servidor DNS de la red. Por si no te lo acuerdas puedes usar la IP 8.8.8.8 que es la dirección DNS de Google.
¡Ya tenemos configuradas nuestras DNS!
Con esto concluimos nuestro tutorial de como configurar DNS en Ubuntu y Debian. Para nosotros es muy importante que compartas en tus redes sociales y nos deje una comentario.

domingo, 4 de febrero de 2018

Instalar Packet Tracer en Debian 32 y 64 bits

Está Escrito:
Te amo, oh Jehová, fortaleza mía. Jehová, roca mía y castillo mío, y mi libertador; Dios mío, fortaleza mía, en él confiaré; Mi escudo, y la fuerza de mi salvación, mi alto refugio.(Salmos 18:1-2)
Tomado de: Experienciasdebian
 
Packet Tracer es la herramienta de aprendizaje y simulación de redes interactiva para los instructores y alumnos de Cisco CCNA. Esta herramienta les permite a los usuarios crear topologías de red, configurar dispositivos, insertar paquetes y simular una red con múltiples representaciones visuales...
   ...(saber más sobre Packet Tracer).

Hoy os voy a contar como se puede instalar Packet Tracer en Debian. Lo he probado en Squeeze 32bits, y en Wheezy 32 y 64 bits. Supongo que también servirá en Squeeze 64bits.

DESCARGAMOS PACKET TRACER 

De momento solo podemos descargar la versión de 32 bits pero se puede usar también en 64 bits. Podemos descargar la versión binaria que uso en este manual desde aquí o aquí. Si tienes problemas puedes probar a descargar otra versión desde aquí.

https://www.netacad.com/es/courses/packet-tracer-download/


COMENZAMOS LA INSTALACIÓN DE PACKET TRACER

Lanzamos una consola logueados como administrador, y vamos al directorio donde hemos descargado el archivo binario de Cisco Packet Tracer, en mi caso en "/home/imanol/Downloads".

# cd /home/imanol/Downloads

Comprobamos que tenemos Packet Tracer en este directorio :

# ls PacketTracer*-deb.bin
PacketTracer533_i386_no_tutorials_installer-deb.bin
Damos permisos de ejecución :

# chmod +x PacketTracer*-deb.bin
Lanzamos el instalador de Packet Tracer.


# ./PacketTracer*-deb.bin

32 bits

Podemos ver el mensaje de bienvenida :
Welcome to Cisco Packet Tracer 5.3.3 Installation
Read the following End User License Agreement "EULA" carefully. You must accept the terms of this EULA to install and use Cisco Packet Tracer 5.3.3.
Pulsamos ENTER para continuar. Nos muestra la licencia, que podemos pasar más rápido con la barra espaciadora, y al final para aceptar la licencia escribimos "Y" y pulsamos ENTER.
Comienza la instalación, si finaliza sin errores ya tenemos Packet Tracer instalado.

64 bits

Cuando veamos el mensaje de bienvenida...
Welcome to Packet Tracer 5.3.3 Installation
Read the following End User License Agreement “EULA” carefully. You must accept the terms of this EULA to install and use Packet Tracer 5.3.3.
Press the Enter key to read the EULA.
...abortamos el instalador de Packet Tracer pulsando simultáneamente "CONTROL" + "C". Como resultado de abortar la instalación hemos conseguido que el instalador nos deje el paquete deb de Packet Tracer en los temporales del sistema. Si nos equivocamos y no abortamos nos mostrará un error diciendo que no se puede instalar porque no corresponde la arquitectura. En este caso no dejará el paquete deb en temporales, así que vuelve a lanzar el instalador de Packet Tracer.
En mi caso tengo el paquete deb en "/tmp/selfextract.tnLtuc/PacketTracer-5.3_3.i386.deb". Para poder comprobar donde lo tienes puedes usar ls :
# ls /tmp/selfextract.*/PacketTracer*i386.deb
/tmp/selfextract.tnLtuc/PacketTracer-5.3_3.i386.deb
Vamos al directorio que contenga Paket Tracer, en mi caso "/tmp/selfextract.tnLtuc".
# cd /tmp/selfextract.tnLtuc

Instalamos librerías necesarias para poder ejecutar aplicaciones de 32 bits en amd64 :
# apt-get install ia32-lib
Instalamos Packet Tracer :
# dpkg -i --force-architecture PacketTracer*i386.deb


INSTALAMOS EL IDIOMA ESPAÑOL

Por defecto Packet Tracer viene en ingles, así que para trabajar más cómodos vamos a instalar el idioma en Español. Lo descargamos desde aquí o aquí.

En una consola de administrador, vamos al directorio donde lo hemos descargado, en mi caso al directorio "/home/imanol/Downloads".

# cd /home/imanol/Downloads

Comprobamos que la traducción está en este directorio :

# ls spanish*
spanish_PT_v2.ptl
Y lo copiamos a "/usr/local/PacketTracer5/LANGUAGES/".

# cp spanish_PT_v2.ptl /usr/local/PacketTracer5/LANGUAGES/


LANZAMOS PACKET TRACER

Lo podemos lanzar desde el menú, en "Aplicaciones/Internet/Cisco Packet Tracer".

También puedes lanzarlo en una consola de usuario :

$ /usr/local/PacketTracer5/packettracer

Como es la primera vez que lanzamos Packet Tracer nos pregunta si queremos guardar los archivos en el directorio PacketTracer5 de nuestro usuario. Pincho en "Yes".

Y como podemos ver ya lo tenemos instalado, pero en ingles.
 


CAMBIAMOS EL IDIOMA

Abrimos las preferencias de Packet Tracer pulsando simultáneamente CTRL+R o en el menú "Options/Preferences".

Seleccionamos el idioma spanish y pinchamos abajo en "Change Language".

Nos avisa que el idioma cambiará la próxima vez que iniciemos Packet Tracer.


Ahora cerramos y volvemos a lanzar Packet Tracer y ya tenemos Packet Tracer 5.3 en Español. La traducción todavía es incompleta pero está la gran mayoría.


Espero que os sea útil.


Referencia :

Tomado de : fundamentos-redes
Interfaces y Escenario del Packet Tracer
1._Interfaces_y_Escenario_del_Packet_Tracer.png

Para una mejor comprensión y detalle dividí las diferentes interfaces. En cada una van a encontrar el detalle y uso de cada item. Comencemos.
A) Interfaz Standard
2._Interfaz_standar.png


1) Nuevo / Abrir / Guardar / Imprimir / Asistente para actividades.
2) Copiar / Pegar / Deshacer.
3) Aumentar Zoom / Tamaño original / Reducir Zoom.
4) Dibujar figuras (cuadrados, círculos y líneas).
5) Panel de Dispositivos Personalizados: Sirve para agregar o quitar dispositivos personalizados.

B) Herramientas

3._Herramientas.png 1) Puntero. Sirve para seleccionar cualquier item o área en el escenario.

2) Sirve para mover el escenario.

3) Sirve para hacer anotaciones en el escenario.


4) Borrar del escenario un item.

5) Muestra las tablas del dispositivo (enrutamiento, NAT, ARP, MAC, etc.).


6) Inyecta tráfico simple (ping) de dispositivo a dispositivo.

7) Inyecta tráfico complejo (IP destino, TTL, intervalos, HTTP, Telnet, SNMP).




C) Dispositivos
4._Dispositivos.png


1) Routers: Muestra en el panel 9) los modelos de routers disponibles.
2) Switchs: Muestra en el panel 9) los modelos de switchs disponibles.
3) Hubs: Muestra en el panel 9) los modelos de hubs disponibles.
4) Dispositivos Wireless: Muestra en el panel 9) los modelos de dispositivos Wireless disponibles.
5) Medios: Muestra en el panel 9) los medios (serial, fibra, consola, etc) disponibles.
6) Dispositivos Finales: Muestra en el panel 9) los dispositivos finales (impresora, host, server, etc.) disponibles.
7) Emulación WAN: Muestra en el panel 9) las diferentes emulaciones WAN (DSL, módem, cable, etc.) disponibles.
8) Dispositivos Personalizados: Muestra en el panel 9) los diferentes dispositivos personalizados disponibles.
9) Panel de Dispositivos Seleccionados: Muestra los dispositivos disponibles según nuestra selección para utilizar en la topología. Se hace click en el dispositivo que deseamos utilizar y luego click en la parte del escenario que queremos ubicar nuestro dispositivo.

D) Tráfico
5._Trafico.png

1) Crea escenarios para las diferentes PDU.
2) Muestra los resultados de las diferentes PDU.
3) Abre una ventana que muestra las transacciones de diferentes PDU en tiempo real. 

miércoles, 3 de enero de 2018

Jóvenes integrarán granjas de minería de la criptomoneda Petro

Está Escrito:
(Jesucristo) El respondió y dijo: Escrito está: No sólo de pan vivirá el hombre, sino de toda palabra que sale de la boca de Dios.(Mateo 4:4)
Tomado de : Aporrea
El presidente de la República Bolivariana de Venezuela, Nicolás Maduro, informó el pasado 27 de diciembre que a través del Plan Chamba Juvenil, jóvenes conocedores de criptomoneda serán incorporados a desarrollar granjas de minería de esta herramienta en el país.

"Vamos a llamarlos a ellos, a un equipo especial de criptomoneda, para montar granjas de minería de criptomoneda en todos los estados y municipios del país", expresó el jefe de Estado tras recibir un balance de este plan juvenil que han registrado a un total 860.811 jóvenes, de los que ya se encuentran en tareas productivas 300.000.

Inscríbete aquí: https://registro.blockchain.gob.ve/web/

La granjas de minería de una criptomoneda, están constituidas por computadores interconectados, a través de software especializados que se encargan del funcionamiento de este instrumento. Estos espacios son manejados por especialistas en la materia con el fin de contribuir con la garantizar y la confiabilidad del sistema.

El Petro fue creado el pasado mes de diciembre por el mandatario nacional, con el objetivo de avanzar a nuevas formas de financiamiento internacional y de romper el cerco financiero impuesto por el Gobierno de los Estados Unidos, que arreció el pasado año contra Venezuela.

Con esta herramienta, Venezuela implantó la primera criptomoneda en el mundo respaldada por las reservas de petróleo, gas, oro, diamantes y demás minerales naturales de un país. El 27 de diciembre, Maduro firmó el decreto que declara como sustento material de la criptomoneda Petro al campo número 1 del Bloque Ayacucho de la Faja Petrolífera del Orinoco.

jueves, 16 de noviembre de 2017

Conoce como funciona Proxmox y como usarlo

Está Escrito:
Picture
Hermanos, yo mismo no pretendo haberlo ya alcanzado; pero una cosa hago: olvidando ciertamente lo que queda atrás y extendiéndome a lo que está delante, prosigo a la meta, al premio del supremo llamamiento de Dios en Cristo Jesús.

Tomado de : 911-ubuntu.weebly

¿Qué es PROXMOX?

PROXMOX VE “Virtual Environment” es una potente plataforma de virtualización de nivel empresarial 100% libre y sin límites en su uso.

PROXMOX VE ofrece beneficios similares a los productos para virtualización como VMware vSphere, Windows Hyper-V, Citrix XenServer, entre otros.

​ Siendo PROXMOX libre sin costo, lo puede instalar en cualquier cantidad de “Servidores físicos”, sin límite en uso de Procesadores y Sockets, Puentes de comunicación, o integración de NAS o SAN ya sea a través de Fibra Canal, iSCSI Over Ethernet o NFS.

En esta documentación vamos a presentar la versión PROXMOX 4.4 (12 de Abril 2017)

"Proxmox VE" en su sitio oficial pone a su disposición una imagen ISO para generar el instalador en un CD o USB/Memory.   La instalación se efectúa en un equipo vacío y en 15 minutos tiene preparado un servidor (Nodo) para colocar máquinas virtuales o integrarlo a un "Cluster".
Este tipo de instalación se conoce como "Bare-metal" lo cual significa que la instalación agrega todo lo necesario al equipo y lo configura para su disponibilidad en un ambiente productivo.


​¿Porque PROXMOX es libre y sin costo?

En resumen esta solución trabaja con “Debian OS + KVM virtualization + Container-based Virtualization”, toda la base es Libre y esto hace posible que el producto final sea libre.  El modelo de negocio de PROXMOX se basa en capacitación, certificaciones y soporte.

Principales características de PROXMOX

  • Administrador Web HTML5.   PROXMOX proporciona un interfaz Web para configurar los servidores físicos, cluster, máquinas virtuales, políticas de backups, restauración de backups, snapshots.  No es necesario instalar aplicaciones clientes en su máquina para administrar y siendo HTML5 le permite conectarse y gestionar el entorno virtualizado desde su Smartphone Android, Iphone, tablet's, entre otros.
  • Virtualización para la mayoría de Sistemas Operativos, en sus versiones 32/64bits:  Linux en todas sus versiones, Microsoft Windows 10 / 2016 / 2012 / 7 / 8/ 2003 / xp, Solaris, AIX, entre otros.
  • KVM (Máquina virtual basada en el núcleo) es una solución para implementar virtualización sobre Linux.  Puede funcionar en hardware x86/x86_64 y es necesario que el microprocesador tenga soporte de virtualización Intel "VT" y en AMD "SVM".​
  • Container-based Virtualization (LXC), es una alternativa para ejecutar máquina "Linux" en espacios separados.  A diferencia de la virtualización este funciona como un módulo agregado al servidor físico y hace uso directo del hardware (también conocido como Paravirtualización).
  • Backup & Restore de "Máquinas Virtuales".  En Proxmox el efectuar estas tareas es muy sencillo y se administra a través de su interfaz Web.  Puede efectuar un backup de forma inmediata o dejarlo programado.  La restauración es simple, solo debe de seleccionar el backup a restaurar y listo.
  • Snapshot Live.  le permite hacer copias instantáneas de "Máquinas Virtuales" incluyendo el contenido de la RAM, su configuración y el estado de los discos virtuales.  Usted puede retroceder en tiempo la "Maquina Virtual" restaurando spanshot's.
  • "Migración en caliente".  En la gráfica izquierda se muestra un pequeño cluster formado por 3 nodos y poblado con “Máquinas virtuales”.  Con fondo rojo se muestra un nodo con sobrecarga.  La administración de los nodos es centralizada a través de un interfaz Web, permitiéndole movilizar “Máquinas virtuales” entre cada “Servidor Físico (NODO)” sin tener que apagar la “Máquina Virtual”.​
  • "Cluster Alta disponibilidad".  Esta característica le permite definir reglas de “Alta disponibilidad” en el cluster, por ejemplo:  Si uno de los “Servidores Físicos (NODO)” esta sobrecargado, este transfiere automáticamente a otro “Servidor Físico (NODO)” con menos carga la “Máquina Virtual”.  Este ejemplo es una regla de "balanceo de carga entre nodos".
  • Administración centralizada.  En un "Cluster Proxmox" se debe definir una de los Nodos como "Orquestador" con el objetivo de centralizar el trabajo, sin embargo cada nodo cuenta con su propio administrador Web.
  • Cluster no SPOF (Single Point Of Failure).  Cada nodo "Servidor físico Proxmox" cuenta con su propio interfaz Web permitiendo  acceso a la administración de las "Máquinas Virtuales".  Si el nodo "Orquestador" llega a fallar, cada nodo tiene replicado la información del "Orquestador" y desde cualquiera de los nodos puede tomar control del cluster.
  • Puentes de red.  Proxmox administra las tarjetas físicas a través de "Bridges" que comparte a las "Máquinas Virtuales".  Es muy sencillo asociar 1 o varias tarjetas a un "Bridge" haciendo un balanceo automático del tráfico de datos.
  • NAS & SAN.  Es muy fácil el uso de NAS o SAN ya sea a través de Fibra Canal, iSCSI Over Ethernet o NFS. Proxmox no le limita.
  • Autenticación.  Puede configurar la autenticación de acceso al área de "Administración a los Nodos" a través de cuentas propias con Proxmox o utilizando LDAP/Active Directory.
  • Firewall.   Proxmox VE Firewall proporciona una manera fácil de proteger su infraestructura en un entorno virtualizado. Puede definir reglas de firewall para todas las máquinas virtuales o definir reglas precisas a una máquina virtual.

¿Porqué utilizar Proxmox?

La mayoría de productos de Virtualización Empresarial tienen un alto costo y su modelo de licenciamiento lo basan en la cantidad de equipos instalados, Procesadores, Socket's, entre otros.  Con Proxmox usted es libre de usarlo y sin limites.  Actualmente PROXMOX se mantiene en constante mejora y a través de sus actualizaciones le permite hacer uso de lo nuevo en su programación sin tener que pagar por ello.  Es como levantarse en un día de navidad y encontrar regalos!.

¿Cómo funciona Proxmox?

Proxmox, le permite instalar en múltiples equipos y los únicos requisitos que le pide es tener un "Procesador que cuente con VT o SVM" y que la máquina esté vacía.  El implanta Debian como sistema operativo y configura KVM para trabajar con el recurso físico.
Cada máquina con Proxmox se convierte en un NODO y puede trabajar de forma independiente o puede estar agrupado en un Cluster.  El beneficio de definir un Cluster es tener la administración centralizada, poder mover máquinas entre cada nodo, activar "Alta Disponibilidad" y aprovechar todo el recurso de los equipos físicos para la virtualización.
Para hacer uso de "Alta Disponibilidad" y "Mover Máquinas Virtuales sin apagarlas" es necesario definir un "dispositivo de almacenamiento de tipo NAS o SAN" por ejemplo OpenMediaVault o FreeNAS.  También puede utilizar ECM, NetAPP, DELL Equallogic, entre otros.

​​Container-based Virtualization (LXC)

" ​​Container-based Virtualization (LXC)" pone a su disposición un grupo de servidores "Linux" preconfigurados y listos para funcionar.  En el caso de LXC hace uso de "Paravirtualización", funcionando como un módulo agregado al servidor físico, haciendo uso directo del hardware.  Más información puede encontrarlo en este link...

¿Que nos permite el Administración Web PROXMOX?

  • Agregar "Máquinas Virtuales" y gestionarlas.  Por ejemplo, puede apagar, reiniciar, agregar hardware virtual, entre otros.
  • Mover máquinas entre cada nodo o activar "Alta Disponibilidad".
  • Conectarse directamente al interfaz gráfico o consola de la "Máquina Virtual" a través de una conexión segura VNC "HTML5 WebSockets and Canvas  --  NoVNC".
  • Programar Backups, restaurar backups o generar Snapshot.
  • Ver de forma gráfica la información de las "Máquinas Virtuales" como el tráfico de red, consumo de procesador, consumo de memoria, entre otros.
  • Subir medias en formato ISO para instalar sistemas operativos en las "Máquinas Virtuales".
  • Cambiar la configuración de los nodos.
  • Definir reglas en "Proxmox Firewall VE" para todas las "Máquinas Virtuales" o para una es especial.
  • El Administrador Web PROXMOX es HTML5 por lo cual le será posible conectarse y trabajar desde su Smartphone Android, Iphone, tablet's entre otros.

PROXMOX más allá de la virtualización (Alta disponibilidad)

Veamos el siguiente ejemplo que muestra un típico entorno virtualizado de tipo empresarial.
  • En la gráfica superior se muestra un pequeño cluster formado con 2 máquinas.  En la parte superior de la gráfica hay un switch que está dedicado a los usuarios de la red para acceder a las “Máquinas Virtuales” y los servicios que presten.  En la parte de abajo, un segundo switch esta asignado a los recursos de "Almacenamiento en red" donde se alojan los "Discos Virtuales" de las “Máquinas Virtuales”.
  • La gráfica anterior describe un escenario "SAN - iSCSI" que es una solución para medianas y grandes infraestructuras. 
  • Básicamente iSCSI es un método de conexión dedicado a “Dispositivos de Almacenamiento” a través de una red TCP/IP asignado exclusivamente para este fin.  Las “Máquinas Virtuales” almacenan sus “Discos Virtuales” en el “Dispositivo de almacenamiento de red” a través de iSCSI, de esta forma la carga de lectura/escritura de las “Máquinas Virtuales” no usan la red normal de uso de nuestro usuarios.

jueves, 17 de agosto de 2017

Free Software & Open Source

Está Escrito:
Porque no quiero, hermanos, que ignoréis que nuestros padres todos estuvieron bajo la nube, y todos pasaron el mar; y todos en Moisés fueron bautizados en la nube y en el mar, y todos comieron el mismo alimento espiritual, y todos bebieron la misma bebida espiritual; porque bebían de la roca espiritual que los seguía, y la roca era Cristo. (1 Corintios 10:1-4)
Tomado de :wikipedia
Free Software
La Free Software Foundation o Fundación por el Software Libre es una organización creada en octubre de 1985 por Richard Stallman y otros entusiastas del software libre con el propósito de difundir este movimiento.
La Fundación por el Software Libre (FSF) se dedica a eliminar las restricciones sobre la copia, redistribución, entendimiento, y modificación de programas de computadoras. Con este objeto, promociona el desarrollo y uso del software libre en todas las áreas de la computación, pero muy particularmente, ayudando a desarrollar el sistema operativo GNU.
En sus inicios, la FSF destinaba sus fondos principalmente a contratar programadores para que escribiesen software libre. A partir de mediados de la década de 1990 existen ya muchas compañías y autores individuales que escriben software libre, por lo que los empleados y voluntarios de la FSF han centrado su trabajo fundamentalmente en asuntos legales, organizativos y promocionales en beneficio de la comunidad de usuarios de software libre.

Actividades de la FSF

La FSF se creó con la idea original de promover el software libre. La organización desarrolla el sistema operativo GNU como ejemplo de ello.
Las Licencias GNU
La FSF elabora, mantiene y defiende la Licencia Pública General GNU (GNU GPL),
la licencia de software libre más utilizada, cuya última versión es la GPLv3 que fue publicada en forma definitiva en junio de 2007. Aparte la FSF también es responsable de la [GNU LGPL|Licencia Pública General Reducida GNU] (GNU LGPL) y la Licencia de documentación libre GNU (GNU iFDL).
La FSF tiene recursos y voluntad para hacer cumplir las licencias que elabora. Pero solo puede presentar demandas, sobre software del cual posea derechos de autor. La fundación se enfrenta cada año a unas 50 violaciones de la GPL y siempre trata de evitar llegar a los tribunales.
Alojamiento de proyectos
La FSF aloja proyectos de software libre en su sitio web Savannah. Ofrece una de interfaz web para el hosting y el mantenimiento de las páginas web de los proyectos, seguimiento de erroresCVSFTP, y listas de correo. Hospeda más de 2800 proyectos.

Open Source
Open Source (Código abierto) es el término con el que se conoce al software distribuido y desarrollado libremente. El código abierto tiene un punto de vista más orientado a los beneficios prácticos de compartir el código que a las cuestiones éticas y morales las cuales destacan en el llamado software libre.
El código abierto es el software desarrollado y distribuido libremente. Se focaliza más en los beneficios prácticos (acceso al código fuente) que en cuestiones éticas o de libertad que tanto se destacan en el software libre. Para muchos el término «libre» hace referencia al hecho de adquirir un software de manera gratuita, pero más que eso, la libertad se refiere al poder modificar la fuente del programa sin restricciones de licencia, ya que muchas empresas de software encierran su código, ocultándolo, y restringiéndose los derechos a sí misma.

Historia

Se utilizó por primera vez en 1990 las comunidades de software libre, tratando de usarlo como reemplazo al ambiguo nombre original en inglés del software libre (free software). Lo cual implica, para el caso que nos ocupa, «software que podemos usar, escribir, modificar y redistribuir gratuitamente» (software gratuito) y, según la acepción española de libertad.
La expresión, para algunos, no resultó apropiada como reemplazo para el ya tradicional free software, pues eliminaba la idea de libertad, confundida con la simple gratuidad. No obstante continúa siendo ambivalente, puesto que se usa en la actualidad por parte de programadores que no ofrecen software libre pero, en cambio, sí ofrecen el código fuente de los programas para su revisión o modificación previamente autorizada por parte de sus pares académicos.
Dada la ausencia de tal ambigüedad en la lengua española, el término software libre es adecuado para referirse a programas que se ofrecen con total libertad de modificación, uso y distribución bajo la regla implícita de no modificar dichas libertades hacia el futuro. De hecho en inglés también se usa el término «libre software» para evitar ambigüedades semánticas.
Desde el punto de vista de una «traducción estrictamente literal», el significado textual de código abierto es que «se puede examinar el código fuente», por lo que puede ser interpretado como un término más débil y flexible que el del software libre. Sin embargo, ambos movimientos reconocen el mismo conjunto de licencias y mantienen principios equivalentes.
Sin embargo, hay que diferenciar los programas de código abierto, que dan a los usuarios la libertad de mejorarlos, de los programas que simplemente tienen el código fuente disponible, previa restricciones sobre su uso o modificación.
En la actualidad el código abierto se utiliza para definir un movimiento nuevo de software (la Iniciativa Open Source), diferente al movimiento del software libre, incompatible con este último desde el punto de vista filosófico, y completamente equivalente desde el punto de vista práctico, de hecho, ambos movimientos trabajan juntos en el desarrollo práctico de proyectos.
La idea bajo el concepto de código abierto es sencilla: cuando los programadores (en Internet) pueden leer, modificar y redistribuir el código fuente de un programa, este evoluciona, se desarrolla y mejora. Los usuarios lo adaptan a sus necesidades, corrigen sus errores con un tiempo de espera menor a la aplicada en el desarrollo de software convencional o cerrado, dando como resultado la producción de un mejor software.