Con motivo de mis estudios de Administración de Sistema he decidido crear un nuevo blog dedicado a la informática más avanzada, como administración de sistemas operativos, programación, servicios o devops. Os dejo el link por abajo y os esperó ahí ya que este lo he dejado bastante aparcado:
1.Qué es Vagrant y por qué usarlo.
Vagrant es una herramienta que nos facilita la creación de entornos de desarrollo virtualizados. Es muy utilizado para testear aplicaciones web, simulando todas las características del servidor en nuestra máquina virtual (a partir de ahora MV). Vagrant tiene un funcionamiento basado en "cajas" con sistemas operativos para desarrollar directamente sobre ellos creados por una extensa comunidad.
Antes de pasar a la instalación de Vagrant tenemos que asegurarnos que VirtualBox está instalado en nuestro equipo.
Instalación.
Lo primero que haremos será irnos a su página web oficial de descargas y escoger el sistema operativo o distribución de nuestro anfitrión.
En mi caso descargaré el archivo para debian de 64 bits. Para su instalación nos vamos a la terminal:
# cd Descargas
# dpkg -i vagrant_1.9.5_x86_64.deb
Tras esto vamos a comprobar si está instalado correctamente introduciendo:
$ vagrant -v
La salida en pantalla deberá ser la versión de Vagrant hemos instalado.
Vagrant tiene una página de cajas donde se encuentran todas. En mi caso voy a elegir una Ubuntu 14.04 e instalaremos LAMP.
Para las "cajas" no es necesario descargar nada, solo con el nombre de la caja es suficiente, pues el propio programa se encarga de descargar la imagen.
Una vez dentro de la carpeta de nuestra máquina virtual vamos a crear el fichero Vagrantfile, este podemos crearlo con el comando:
El fichero por defecto viene con un contenido amplio y comentado, para este caso como es nuestra primera vez, vamos a hacerlo de una manera más simple.
Y escribimos el siguiente contenido en nuestro fichero:
Ahora después del comentario "Insert config options here" introducimos según nuestra necesidades:
2.Funcionamiento.
La ventaja de Vagrant es que podemos utilizar sistemas virtualizados con determinadas herramientas. Y es que Vagrant tiene un funcionamiento por "cajas" y es que si necesito un entorno con Python, MySQL y Apache puedo configurar una "caja" rápidamente y utilizarla.Vagrant tiene una página de cajas donde se encuentran todas. En mi caso voy a elegir una Ubuntu 14.04 e instalaremos LAMP.
Para las "cajas" no es necesario descargar nada, solo con el nombre de la caja es suficiente, pues el propio programa se encarga de descargar la imagen.
Creación de una máquina.
Para esto haremos una carpeta que se llama vagrant y dentro de esta haremos subcarpetas con el nombre las MV. En mi caso, se llamara Ubuntu-LAMP.$ mkdir vagrant; cd vagrant; mkdir Ubuntu-LAMP; cd Ubuntu-LAMP
Una vez dentro de la carpeta de nuestra máquina virtual vamos a crear el fichero Vagrantfile, este podemos crearlo con el comando:
$ vagrant init
El fichero por defecto viene con un contenido amplio y comentado, para este caso como es nuestra primera vez, vamos a hacerlo de una manera más simple.
$ nano Vagrantfile
Y escribimos el siguiente contenido en nuestro fichero:
# -*- mode: ruby -*-
# vi: set ft=ruby :
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# Insert config options here
end
Ahora después del comentario "Insert config options here" introducimos según nuestra necesidades:
- El sistema operativo: Lo hemos seleccionado de la página de Vagrant que en este caso es ubuntu/trusty64, (dato: no tenemos que descargar nada de la pagina solo fijarnos en el nombre).
config.vm.box = "ubuntu/trusty64"
- Redireccionar puertos: Si estamos desarrollando una aplicación web tendremos que redireccionar el puerto de la MV a la anfitriona y así poder acceder a localhost. En mi caso la redireccionaré al 8080.
config.vm.network "forwarded_port", guest: 80, host: 8080
- Si en vez de acceder por localhost queremos hacerlo por una dirección ip pondremos la siguiente línea:
config.vm.network "private_network", ip: "172.22.2.23"
- Ahora para redirigir una carpeta de nuestro sistema a nuestra MV pondremos:
config.vm.synced_folder "htdocs", "/var/www/html"
- Configurar el entorno e instalar características: Necesitaremos un fichero config.sh, que editaremos más adelante. Aquí estarán los comandos que se ejecutarán al iniciar la máquina. Para ello:
config.vm.provision "shel", path: "config.sh"
Si añadimos todas las opciones anteriores, el fichero Vagrantfile nos quedará así:
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.network "forwarded_port", guest: 80, host: 8080
config.vm.network "private_network", ip: "192.168.33.10"
config.vm.synced_folder "htdocs", "/var/www/html"
config.vm.provision "shell", path: "config.sh"
end
Una vez creado el fichero Vagrantfile vamos a por la instalación de LAMP mediante el fichero config.sh:
Los 'echo' se utilizan para la autoconfiguracion del usuario y la contraseña de MySQL y PhpMyAdmin. Por defecto es root/root.
Dentro del index.php:
#!/bin/bash
# Update server
apt-get update
apt-get upgrade -y
# Install essentials
apt-get -y install build-essential binutils-doc git -y
# Install Apache
apt-get install apache2 -y
#Install PHP
apt-get install php5 libapache2-mod-php5 php5-cli php5-mysql -y
# Install MySQL
echo "mysql-server mysql-server/root_password password root" | sudo debconf-set-selections
echo "mysql-server mysql-server/root_password_again password root" | sudo debconf-set-selections
apt-get install mysql-client mysql-server -y
# Install PhpMyAdmin
echo 'phpmyadmin phpmyadmin/dbconfig-install boolean true' | debconf-set-selections
echo 'phpmyadmin phpmyadmin/app-password-confirm password root' | debconf-set-selections
echo 'phpmyadmin phpmyadmin/mysql/admin-pass password root' | debconf-set-selections
echo 'phpmyadmin phpmyadmin/mysql/app-pass password root' | debconf-set-selections
echo 'phpmyadmin phpmyadmin/reconfigure-webserver multiselect apache2' | debconf-set-selections
apt-get install phpmyadmin -y
# Restart Apache service
service apache2 restart
Los 'echo' se utilizan para la autoconfiguracion del usuario y la contraseña de MySQL y PhpMyAdmin. Por defecto es root/root.
Carpeta HTDOCS
Dentro de la carpeta tenemos que añaidr un fichero PHP (index.php) que nos muestre la información del servidor. Aquí es donde iría el código de nuestra Web.Dentro del index.php:
<?php phpinfo(); ?>
Comandos útiles de Vagrant:
- Para iniciar la MV:
$ vagrant up
- Entrar por SSH a la máquina, sin necesidad de ip:
$ vagrant ssh
- Suspender la máquina virtual:
$ vagrant suspend
- Reanudar la MV:
$ vagrant resume
- Apagar la MV:
$ vagrant halt
- Saber el estado de la máquina:
$ vagrant status
- Destruir la máquina virtual:
$ vagrant destroy
Esta virtualización se hará con virtualbox, en las siguientes entradas explicaré como utilizarlo con KVM.
Me ha pasado ya dos veces y parece que no vaya a solucionarse pronto. Por lo que he visto las actualización via OTA de Lineage causan problemas al instalarse creando un bucle (bootloop) en el recovery dejándonos aquí atrapados.
Después de dos veces voy a hacer esta entrada por si a alguien más le está pasando y no sabe como arreglarlo.
Para solucionarlo vamos a utilizar la terminal que nos proporciona TWRP y el comando dd.
dd if=/dev/zero of=/dev/block/platform/msm_sdcc.1/by_name/fota
dd if=/dev/zero of=/dev/block/platform/msm_sdcc.1/by_name/misc
Tras estos dos comandos, reiniciaremos nuestro dispositivo y arrancará ya LineageOS, pero ojo, sin actualizar. Parecer ser que solamente se puede actualizar la ROM mediante flasheo por fichero zip descargados desde la página oficial.
Esto ha sido una entrada exprés por si hubiera alguien con el mismo problema. Saludos!.
Instalación de Android Nougat en cualquier terminal
VALORA MI ESFUERTO COMPARTE O SUSCRÍBETE.
OpenSSH es un conjunto de aplicaciones que permiten realizar comunicaciones seguras entre diferentes nodos de una misma red utilizando el protocolo SSH. Estas fueron creadas como alternativas libre y abiertas al programa Secure Shell, que es software privativo.
Aunque para algunos usuarios las buenas prácticas de seguridad solo hay que llevarlas a cabo en sevidores y sistemas críticos, coger buenos hábitos siempre nos viene bien a todos.
Cambiar el puerto por defecto de SSH
El puerto usado para SSH es el 22. Para cambiarlo, tenemos que acceder al fichero de configuración /etc/ssh/sshd_configBuscamos la línea que pone:
#Port22
Lo descomentamos y cambiamos el 22 por otro número, por ejemplo:
5022
En caso de duda para saber que puertos no estamos usando en nuestro PC/Servidor ejecutamos en el terminal:
$ netstat -ntap
Ahora para acceder por SSH al equipo tendremos que especificarle el puerto:
$ ssh -p 5022 usuario@equipo
Usar protocolo 2
Dentro del fichero de configuración anterior buscamos la linea que está a continuación y la descomentamos: # Protocol 2
Y ahora reiniciamos el servicio de SSH:
systemctl restart ssh
No permitir acceso como Root
Seguimos en el fichero de configuración y ahora descomentamos: #PermitRootLogin no
Usuario con acceso por SSH
Ahora vamos a determinar que usuario van a poder entrar por SSH a nuestro servidor o equipos, para esto dentro del fichero de configuración vamos a poner:AllowUsers manu itecma pepe
Con esta línea le daríamos permiso a manu, itecma y pepe a entrar al equipo.
Utilización de clave pública y clave privada
Este es el método más recomendable de usar, pero OJO, tendremos que tener mucho cuidado si tenemos el equipo sin contraseña, pues si nos roban la sesión podrían entrar en cualquier máquina donde tuviéramos permisos para entrar por SSH.Creamos el par de llaves:
ssh-keygen -t rsa -b 4096
Pasamos la llave al equipo donde queremos conectarnos
ssh-copy-id -i -/.ssh/id_rsa.pub usuario@ip_equipo
Por último tenemos que tener descomentada en el fichero de configuración la siguiente línea:
AuthorizedKeysFile .ssh/authorized_keys
NIVEL MANÍACO
Podemos reducir el tiempo que tiene un usuario para loguearse en el sistema correctamente:LoginGraceTime 30
Deshabilitar el uso de archivos rhosts o shosts, los que por razones de seguridad son instados a no utilizarse:
IgnoreRhosts yes
IgnoreUserKnownHosts yes
RhostsAuthentication no
RhostsRSAAuthentication no
Revisar los permisos efectivos del usuario que inicia sesión durante el logueo:
StrictModes yes
Activar la separación de privilegios:
UsePrivilegeSeparation yes
Con esto lograremos tener un poco más de seguridad en nuestro ordenador o servidor, pero recuerden que el de verdad determina la seguridad que tiene el equipo es quien lo maneja no los softwares que tiene instalado.
Aprende a virtualizar con KVM
En el Computex, Qualcomm ha expuesto como su Snapdragon 835 ha sido capaz de ejecutar Windows 10 sin ningún problema. Además, lo han hecho en directo y han permitido ver sus prestaciones.
Imaginad la espectación y la eficacia que este procesador llegó a tener, que marcas como Asus, HP y Lenovo han anunciado que van a trabajar en prototipos de equipos con arquitectura ARM y con procesadores Snapdragon.
Una de las cosas que tendrá que mejorar Qualcomm es la implementación de las aplicaciones, pues por ejemplo la archiconocida suite ofimática microsoft office, han tenido que correrla en la versión de 32 bits y además sobre emulador, por lo que su rendimiento se ha visto afectado (aunque era totalmente utilizable). No obstante, Microsoft afirma que cuando lleguen los procesadores ARM, todas las aplicaciones bajo su desarrollo estarán ya disponibles en nativo para este nueva arquitectura y conjunto de instrucciones.
Las pruebas de red, en lo referido a navegación y descarga, el equipo en pruebas tenía equipado un chip de red de 1 Gigabit LTE. Cabe destacar que este equipo ha sido el primero en incorporarlo y dando un redimiento de hasta 300 Mbps de descarga. Con esta implementación, Microsoft pretende, que lo equipos con ARM estén conectados a internet y compartiendo datos el tiempo que estén en uso.
Otras características reseñables de las que presume este nuevo SoC han sido:
- Ser construido en 10nm con el aumento de transistores que esto conlleva y el aumento de eficiencia.
- Lo anteriormente mencionado, la eficiencia, teniendo un 50% más de ahorro de batería respecto a los procesadores de bajo consumo de la 7ª generación de Intel (Kaby Lake) y en suspensión puede aumentarse por cuatro o incluso por cinco esta capacidad.
- Ser construido en 10nm con el aumento de transistores que esto conlleva y el aumento de eficiencia.
- Lo anteriormente mencionado, la eficiencia, teniendo un 50% más de ahorro de batería respecto a los procesadores de bajo consumo de la 7ª generación de Intel (Kaby Lake) y en suspensión puede aumentarse por cuatro o incluso por cinco esta capacidad.
Esto puede significar el fin de la arquitectura x86, ya que como estamos viendo podemos tener procesadores potentes con un consumo energético menor, además, estos procesadores llevarían una placa base un 50% más pequeña que las actuales, lo que también supondría un ahorro de espacio importante.
Además, puede que esto sea el comienzo de los móviles de arranque dual o dual boot, algo que el público lleva pidiendo ya algún tiempo, sobretodo el profesional. La combinación de android y de windows llevaría a los smartphones un paso más alla en la usabilidad y sincronización entre dispositivos.
Parece ser que Qualcomm está decidido a dar el salto definitivo al mercado de los ordenadores y dar un golpe sobre la mesa, para ello ha elegido a compañeros de viaje perfectos, como son Microsoft, Asus, HP y Lenovo. Estos son nombre muy importantes del sector, ¿quién sabe si Qualcomm será la competencia que tanto se busca para Intel?
Así es como Windows intentará conquistar Android desde dentro
RECOMPENSA MI ESFUERZO: COMPARTE O SUSCRÍBETE.
Para pasar ficheros entre diferentes ordenadores en la misma red, el método de compartir una carpeta es el método más eficaz y cómodo que hay. Pero claro, es entre dos ordenadores, ¿Cómo lo hacemos con nuestro teléfono?
Pues bien si tenemos nuestra carpeta compartida en nuestro PC, solo tenemos que hacer unos pasos muy simples para acceder a ella desde nuestro smartphone.
1. Descargamos FILE MANAGER de la play store.
2. En las opciones pinchamos en Red Local.
3. Le damos a agregar en las opciones de la derecha.
4. En servidor ponemos la ip de nuestro ordenador
5. Ponemos nuestro usuario y contraseña de windows.
6. Listo
Con esto y si tenemos los permisos bien configurados en nuestra carpeta compartida del equipo podremos compartir archivos entre ambos dispositivos.
Además, nos trae una opción en el menú princpal donde nos permite pasar archivos del móvil al pc, y si le damos e iniciamos el servicio nos da una dirección IP con un puerto, por ejemplo: 192.168.1.100:1200.
Si en nuestro navegador ponemos esta dirección accederemos a nuestro teléfono y podremos pasar los ficheros a nuestro pc y tener así una copia de seguridad.
Ha sido una entrada express, porque he tenido que utilizar este método y me ha parecido curioso y he querido compartirlo. Espero que os sirva de utilidad.
El reino de Linux, la supercomputación
RECOMPENSA MI ESFUERZO: COMPARTE O SUSCRÍBETE.
Hace poco he encontrado un editor de texto bastante interesante y muy intuitivo de utilizar, Brackets, es un programa de código abierto, tiene algunas características interesantes vamos a ver a continuación.
Su
instalación es bastante sencilla en su página principal tienen paquetes
.deb y además el codigo fuente está disponible para compilar para las diferentes
distros. Y evidentemente un .msi para instalar en Windows.
1. Visualización en vivo de los cambios en archivos CSS en nuestro navegador
Esta es una de las características más destacables. Podemos ver los cambios que efectuamos en el CSS de manera automática en el navegador mientras estamos en plena edición, nos olvidamos de tener que editar en cada momento.
La parte mala que solamente está soportado por Chrome y Chromium.
2. Edición de dos documentos a la vez.
Además, podemos tener dos documentos a la vez en la misma pantalla, tanto de manera vertical como horizontal, esto es a gusto del consumidor. Esto nos puede ahorrar estar vagando entre pestañas y acabar mareados y sin saber donde estamos escribiendo. Os dejo un pantallazo:
3. Facilidades para HTML y CSS
Si tienes entre manos un proyecto con lenguajes de marcas como html o de estilos como css, te interesará saber que con este lenguaje si tiene alguna propiedad de css, si nos colocamos sobre la etiqueta y presionamos CTRL + E, podremos ver la configuración de estilo que tiene y podremos editarla sobre ese submenos que se nos abre.
Lo mismo con las imágenes, cuando enlazamos una podemos ver una vista previa de la imagen que tenemos enlazada, viendo así si la imagen es la que realmente queremos.
SERVICIOS DE ALMACENAMIENTO EN LA NUBE
4. Facilidad para instalar extensiones
Es el editor que más facilidades pone para instalar extensiones (que yo conozca hasta ahora), nos proporciona una especie de tienda de extensiones esta se encuentra en la pestaña "archivo" y ahí tendremos la opción "gestionar extensiones". Con esto se nos abrirá un repositorio y con darle a instalar lo tendremos totalmente listo.
OPINIÓN PERSONAL:
En primer lugar, llevo varios días utilizandolo para lenguajes como SQL, PLSQL, Python, HTML, CSS, Go y Kotlin. Y mi opinión es bastante clara.
Respecto al desarrollo en HTML y CSS, es el mejor editor que hay ahora mismo sin ninguna duda, te da unas ventajas a la hora de aplicar estilos impresionantes.
Sin embargo, en los demás lenguajes se echa en falta el texto predictivo que tenemos en Sublime Text que te ahorra bastantes pulsaciones, no se si habrá alguna extensión que lo solucione. Quitando ese detalle, para mi gusto, es un gran editor de texto que te da una gran accesibilidad a los documentos de la carpeta donde estás trabajando y la opción de poder partir la pantalla para mi es muy "top".
RECOMPENSA MI ESFUERZO: COMPARTE O SUSCRÍBETE.