Mostrando entradas con la etiqueta GNU/Linux. Mostrar todas las entradas
Mostrando entradas con la etiqueta GNU/Linux. Mostrar todas las entradas

Como borrar y eliminar todos los archivos de una aplicación

 Si necesitas más espacio, o la aplicación que instalaste no ha cumplido tus expectativas. Tienes que desinstalar la aplicación, pero si lo utilizas con las herramientas gráficas puede ser que los archivos de configuración y de perfil del programa permanezcan en el disco duro.

En terminal vamos a desinstalar y purgar la aplicación, vamos a borrar con una sola línea todos los archivos y carpetas relacionados con el programa.

sudo apt-get --purge remove <Nombre del paquete a desistalar>

  • sudo: Nos permitirá ejecutar el comando con privilegios de administrador
  • apt-get: Comando que puede agregar o eliminar paquetes del sistema.
  • --purge: Le indicamos al comando que borre los archivos de configuración relacionados con la aplicación que queremos desinstalar.
  • remove: Borrar el paquete nombrado.


Conectar a servidor base de datos MariaDB

Puede ser el caso que además de gestionar una base de datos SQL en local, necesitamos gestionarla en remoto. En la mayoría de los servidores de hospedaje web, no nos permiten conectarnos a la servidor de base de datos en remoto, tenemos que hacerlo en local. Una de las herramientas más utilizadas es PhpMyAdmin. Este caso en concreto he instalado un servidor de base de datos MariaDB Server en una Raspberry. Tengo muy oxidado el lenguaje SQL como para acceder al servidor a través de SSL y realizar todas las tareas de instalación de rablas y mantenimiento desde el cliente de MariaDB. Quiero gestionarla en un entorno más amigable, pero no quiero instalar a mayores un servidor Apache con PHP para poder utilizar PhpMyAdmin.

Logo MariaDBMariaDB  es un sistema de gestión de bases de datos derivado de MySQL con licencia GPL (General Public License). Es desarrollado por Michael (Monty) Widenius —fundador de MySQL—, la fundación MariaDB y la comunidad de desarrolladores de software libre.1​ Introduce dos motores de almacenamiento nuevos, uno llamado Aria —que reemplaza a MyISAM— y otro llamado XtraDB —en sustitución de InnoDB—. Tiene una alta compatibilidad con MySQL ya que posee las mismas órdenes, interfaces, API y bibliotecas, siendo su objetivo poder cambiar un servidor por otro directamente.
Aunque el tutorial es para MariaDB, este puede ser extensible si así fuera un servidor de MySQL.

De forma predeterminada y por seguridad no permiten el acceso remoto, solo se permite acceso atraves de localhost.

Una vez instalada el servidor y el cliente en nuestra distribución. Aseguramos la instalación lanzando el comando:

sudo mysql_secure_installation 

 Enter current password for root (enter for none): Pulsa enter Introduzca la contraseña actual para root (ingrese para none): Pulse Enter
 Set root password? [Y/n]: Y ¿Establecer contraseña del root? [Y/n]: Y
 New password: Enter password Nueva contraseña: Introduzca contraseña
 Re-enter new password: Repeat password Reescribir nueva contraseña: Repetir contraseña
 Remove anonymous users? [Y/n]: Y¿ Borrar usuarios anónimos? [Y/n]: Y
 Disallow root login remotely? [Y/n]: Y¿No permitir el acceso al root desde remoto? [Y/n]: Y
 Remove test database and access to it? [Y/n]:  Y ¿Borrar Bases de datos Test y su acceso? [Y/n]: Y
 Reload privilege tables now? [Y/n]:  Y ¿Recargar privilegios a las tablas ahora? [Y/n]: Y

No vamos a permitir al root acceder desde remoto, no es considerado de una buena praxis de seguridad que el administrador se pueda conectar en remoto. Por el contrario vamos a crear un usuario nuevo y le vamos a dar privilegios de acceso desde remoto. En este caso indicaremos que el usuario se puede conectar desde cualquier equipo de nuestra LAN. Con 192.168.100 indicamos que subred se puede conectar usando el carácter % como comodín para indicarle que cualquier equipo de esta. También podríamos limitar aun más indicando la dirección ip del equipo desde el que únicamente puede acceder en remoto. Creando un entorno aun más seguro

CREATE USER 'nuevo usuario'@'192.168.100.%';
 
GRANT ALL PRIVILEGES ON *.* TO 'nuevo usuario'@'192.168.100.%' IDENTIFIED BY 'nueva contraseña' WITH GRANT OPTION;

Seguidamente configuraremos de forma manual, no solo el acceso en local, si no el acceso en remoto.
Deberemos localizar los archivos de configuración de MySQL o de MariaDB.
  • /etc/my.cnf                         
  • $MYSQL_HOME/my.cnf
  • /etc/mysql/my.cnf                      
  • SYSCONFDIR/my.cnf                     
  • DATADIR\my.ini                           Windows
Editando el archivo de configuración /etc/mysql/my.cnf

sudo nano /etc/mysql/my.cnf
 

# The MariaDB configuration file
#
# The MariaDB/MySQL tools read configuration files in the following order:
# 1. "/etc/mysql/mariadb.cnf" (this file) to set global defaults,
# 2. "/etc/mysql/conf.d/*.cnf" to set global options.
# 3. "/etc/mysql/mariadb.conf.d/*.cnf" to set MariaDB-only options.
# 4. "~/.my.cnf" to set user-specific options.
#
# If the same option is defined multiple times, the last one will apply.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.

#
# This group is read both both by the client and the server
# use it for options that affect everything
#
[client-server]

# Import all .cnf files from configuration directory
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mariadb.conf.d/

Nos indica los directorios donde se encuetra el archivo que estamos buscando para editarlo. 50-server.cnf

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Buscaremos la sección [mysqld]  donde editaremos los valores que nos permitan conexiones externas. Este es un ejemplo real de configuración que me ha permitido conectarme al servidor desde otro equipo.

[mysqld]

#
# * Basic Settings
#
user                    = mysql
pid-file                = /run/mysqld/mysqld.pid
socket                  = /run/mysqld/mysqld.sock
port                    = 3306
basedir                 = /usr
datadir                 = /var/lib/mysql
tmpdir                  = /tmp
lc-messages-dir         = /usr/share/mysql
#skip-external-locking

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address            = 127.0.0.1
bind-address            = 0.0.0.0

.......................................................

 # * Security Features
#
# Read the manual, too, if you want chroot!
#chroot = /var/lib/mysql/
#
# For generating SSL certificates you can use for example the GUI tool "tinyca".
#
#ssl-ca = /etc/mysql/cacert.pem
#ssl-cert = /etc/mysql/server-cert.pem
#ssl-key = /etc/mysql/server-key.pem
#
# Accept only connections using the latest and most secure TLS protocol version.
# ..when MariaDB is compiled with OpenSSL:
ssl-cipher = TLSv1.2
# ..when MariaDB is compiled with YaSSL (default in Debian):
#ssl = on

Te explico de forma más detallada las lineas a editar para un correcto funcionamiento. 

  •  port                    = 3306 Es el puerto por defecto, no es necesario cambiarlo, pero si fuera necesario podríamos especificar otro puerto de accesos.
  • #skip-external-locking Comentamos esta linea para permitir que el servidor sea accesible desde el exterior. Comentamos añadiendo el carácter #
  • #bind-address            = 127.0.0.1 Tambien aañadimso el caracter # para comentar esta linea.
  • bind-address            = 0.0.0.0 Añadiremos una linea con los parametros indicados.
  • ssl-cipher = TLSv1.2 Esta parte hay que tenerla en cuenta si tenemos problemas a la hora de concetar con los certificados. Al utilizar OpenSSL descomentamos esta linea
  • #ssl = on Y comentamos esta otra. Que era la que estaba activa de forma predeterminada pero, que en mi caso no me permitía conectarme.
Una vez modificado las lineas señalas. Guardamos y salimos del editor de textos. Y reiniciamos el servicio.

sudo systemctl restart mariadb.service

Tenemos que tener en cuenta, si en nuestro servidor, tenemos instalado y corriendo un cortafuegos, debemos permitir las conexiones a través del puerto 3306, si lo hemos dejado por defecto, o el puerto que asignemos al servicio. Para añadir el permiso abrir el mencionado puerto utlizando ufw seria:

sudo ufw allow 3306/tcp

Y si solo vamos a permitir el acceso en remoto a un equipo, con una dirección ip en concreto:

 sudo ufw allow from 192.168.100.2 to any port 3306

Instalar servidor base de datos MariaDB

Uno de los primeros gestores de bases de datos con licencia GNU GPL que utilice, en un proyecto anterior, fue MySQL. En aquel entonces cree una pagina web dinámica, programada en PHP que obtenía los datos, utilizando SQL. Aquella idea quedó aparcada por falta de tiempo, pero ahora quería retomar parte de aquel antiguo proyecto.
Años después me he encontrado que los creadores de MySQL abandonaron la compañía para crear una nueva, MariaDB. Un nuevo gestor que evolucionó y han mejoró con respecto al su predecesor.


MySql vs MariaDB
Para instalar el servidor MariaDB podemos descargarla de la página oficial. Pero también se encuentra en los repositorios oficiales:

sudo apt install mariadb-server mariadb-client
 
Con este script instalaremos el servidor y el cliente del gestor. Seguidamente arrancaremos el servicio

sudo systemctl start mariadb.service

Y lo habilitamos para que cuando lo haga el sistema.

sudo systemctl enable mariadb.service

 Una vez instalada el servidor y el cliente en nuestra distribución. Aseguramos la instalación lanzando el comando:

sudo mysql_secure_installation 

 Enter current password for root (enter for none): Pulsa enter Introduzca la contraseña actual para root (ingrese para none): Pulse Enter
 Set root password? [Y/n]: Y ¿Establecer contraseña del root? [Y/n]: Y
 New password: Enter password Nueva contraseña: Introduzca contraseña
 Re-enter new password: Repeat password Reescribir nueva contraseña: Repetir contraseña
 Remove anonymous users? [Y/n]: Y¿ Borrar usuarios anónimos? [Y/n]: Y
 Disallow root login remotely? [Y/n]: Y¿No permitir el acceso al root desde remoto? [Y/n]: Y
 Remove test database and access to it? [Y/n]:  Y ¿Borrar Bases de datos Test y su acceso? [Y/n]: Y
 Reload privilege tables now? [Y/n]:  Y ¿Recargar privilegios a las tablas ahora? [Y/n]: Y



En este caso solo le vamos a permitir el acceso al administrador solo en local. De forma predeterminada no esta permitida el acceso en remoto a ningún usuario. Si tenemos la necesidad de hacerlo en este post te explico como.


Comprobaremos que funciona accediendo con el mismo cliente que hemos instalado:

sudo mariadb
 

Accediendo al gestor MariaDB

 



Servicio multimedia con Plex

Una alternativa para organizar nuestros archivos multimedia es instalando un servidor Plex. Plex es un software privativo, que podremos utilizar de forma gratuita con algunas limitaciones, para embellecer nuestra bibilioteca multimedia y añadir portadas y metadatos, que si utilizamos un servidor DLNA Por ejemplo en el cliente para Smartphone solo nos permite ver un minuto en streaming. En este caso vamos a instalar su servidor en una Raspberry en la que hemos conectado un disco duro, donde se encuentran alojados nuestros archivos. Pero también podremos instalarlo en nuestro ordenador o en un NAS. Esta aplicación es multiplataforma y es posible instalar el servidor y/o su cliente en múltiples dispositivos y plataformas. La APP se encuentra disponible en el catálogo de las principales Smart TV.




Para tener la garantía de que nuestro servidor se encuentre actualizado en todo momento, añadiremos su repositorio en en nuestra lista.

echo deb https://downloads.plex.tv/repo/deb public main | sudo tee /etc/apt/sources.list.d/plexmediaserver.list

Añadiremos las fimras del nuevo repositorio
 
curl https://downloads.plex.tv/plex-keys/PlexSign.key | sudo apt-key add

Refrescaremos las lista de repositorios:

 sudo apt-get update

Y una vez que acabe la operación de actualización realizaremos la instalación de nuestro servidor Plex

 sudo apt-get install plexmediaserver

Instalar Plex server
 
Al final de la instalación nos pedira confirmación para reescribir el archivo que hemos creado al principio donde incluimos donde se encuentra los repositorios de Plex. Confirmaremos la acción por omisión que sera N.

Y ya tendremos  instalado nuestro servidor multimedia. La configuración la realizaremos desde el servicio web creado por le servidor.


En tudireccionip pondremos la dirección ip donde hemos instalado nuestro servidor multimedia Plex.



 La utilización de Plex requiere el registro de una cuenta. Si disponemos de ella podemos vincularlo a nuestro servidor, si no es asi deberemos crear una cuenta nueva.




Nos recuerdan que podremos aumentar las prestaciones si pagamos por el servicio premium.




Daremos nombre a nuestro servidor y añadiremos bibliotecas vinculadas a las carpetas donde se encuentren nuestros archivos mutiltimedia. Caundo más organicemos seamos más elegante será nuestra biblioteca y más facil sera acceder a aquello que queremos reproducir.




Hay muchas opciones de configuración, que resulta muy interesante de investigar para sacarle el maximo rendimiento. Al vincular nuestra cuenta si queremos volver a la configuración de nuestro servidor, podemos volver desde el navegador a través de l a dirección web

 
Ya solo nos quedaría instalar el cliente de Plex en nuestro reporductor multimedia y disfrutar de nuestra biblioteca.



TeamViewer salvavidas para cuñados

En los tiempos que nos toca vivir, pasando la cuarentena en casa. Resulta muy difícil acercarnos a la casa del amigo o cuñado a repararle ese problema que tiene con el ordenador o con el smartphone.
Aunque TeamViewer es privativo podemos, con limitaciones usarlo de forma gratuita.
  • Fácil de instalar y usar
  • Multiplataforma
  • No es necesario registrarse
  • La comparticion del escritorio se realiza con encriptacion
TeamViewer

 

TeamViewer es una solución todo en uno de acceso remoto rápido y seguro a ordenadores y redes, que ofrece toda una serie de potentes funciones de acceso remoto que facilitan el control remoto, permiten celebrar reuniones y proveer un servicio de asistencia técnica en la nube. Para aprovechar todo el potencial de TeamViewer, dispone de un sinfín de recursos que le muestran exactamente cómo hacerlo. Con los útiles manuales de usuario, los documentos de primeros pasos y las guías de instrucciones generales aprenderá cómo sacar el máximo partido de TeamViewer. Tanto si utiliza esta solución completa en calidad de departamento de TI o como proveedor de servicios gestionados, tiene a su disposición funciones intuitivas como Wake-on-LAN, el acceso no presencial y la asignación de tickets.

En el video vamos a controlar de forma remota el escritorio de un sistema Windows desde un ordenador con sistema Linux. La mecánica es muy sencilla, una vez descargado el programa e instalado arrancamos la aplicación, tanto en el sistema maestro como en el que vamos a controlar. En la pantalla incial ya no muestra un ticket, un número único que identificará a nuestro equipo y permitirá que sea controlado;y una contraseña. Con dos estos dos elementos identificativos es lo que utilizaremos como referencia para poder conectarlo para ser controlado de forma remota. Una vez establecida la conexión nos abrirá una nueva ventana donde veremos el escritorio a controlar y en el que podremos realizar acciones que se ejecutaran como si nos encontramos físicamente en el ordenador del amigo, familiar o cliente.
Es una herramiente muy potente, pudiendo controlar ordenadores en remoto incluso desde nuestro smartphone.
Al poder usarlo de forma gratuita nos puede salvar de un apuro. Pero si lo queremos usar profesionalmete deberemos pasar por caja.


Done potencia informática a Folding@Home

Folding@Home es un proyecto de computación distribuida diseñado para usar los recursos de ordenadores personales para realizar simulaciones de plegamiento proteico. Las simulaciones precisas de cómo se pliegan las proteínas permiten a la comunidad científica comprender mejor el desarrollo de muchas enfermedades, como el alzheimer, la fibrosis quística, la enfermedad de las vacas locas o el cáncer. Hasta el momento, el proyecto folding@home ha tenido éxito simulando el plegamiento en un rango de 5-10 microsegundos, una escala de tiempo miles de veces más grande de lo que había sido posible anteriormente. 
La iniciativa colaborativa Folding@Home se está utilizando para investigar el COVID-19 y obtener información científica sobre posibles inhibidores del virus. Mucha gente esta compartiendo el calculo matematico de sus ordenadores a este proyecto, que esta superando la capacidad de las supercomputadoras más potentes.




Recuerdo haber participado en el proyecto SETI@HOME, en el cual realizaba los cálculos en busca de vida extraterrestre cuando se activaba el salvapantallas. Alguna vez me quedaba mirando, esperando que en algún momento apareciera un mensaje diciendo que en el paquete de frecuencias que mi ordenador estaba analizando, había sido encontrada vida extraterrestre. Por supuesto nunca apareció dicho mensaje .

SETI@HOME


Summit es un superordenador que tiene la capacidad de realizar 200.000.000.000.000.000 operaciones por segundo (200 petaflops).
En el proyecto Folding@Home han llegado a tener una capacidad de realizar 1.282.301.000.000.000.000 operaciones por segundo  (1.282,301 petaflops)

Estadisticas sistemas operativos


  Operaciones por segndopetaflops Numero de CPU 
 
Summit
200.000.000.000.000.000  2009.216 
 Folding@Home1.282.301.000.000.000.000 1.282,301  1.741.531


Todo estos calculos que se estan generando por la donacion de muchas personas que estan cediendo sus ordenadores, se comparten de forma gratuita para enriquecer otros proyectos:

1. Done potencia informática:
Descargar Folding @ home y ayudarnos a ejecutar simulaciones es la forma principal de contribuir. ¡Estos cálculos son enormes y cada poquito ayuda! Cada simulación que ejecutes es como comprar un boleto de lotería. Cuantos más boletos compremos, mayores serán nuestras posibilidades de ganar el premio gordo. Por lo general, su computadora nunca estará inactiva, pero hemos tenido una respuesta tan entusiasta a nuestro trabajo COVID-19 que verá un tiempo de inactividad intermitente a medida que avanzamos para configurar más simulaciones. ¡Por favor se paciente con nosotros! Hay mucha ciencia valiosa por hacer, y la estamos ejecutando lo más rápido posible.
Si quieres contribuir, puedes descargar la aplicación que se adapte a tu sistema operativo y arquitectura 
Windows
Linux
Mac
Nos permitirá que el programa corra en paralelo con el trabajo que estemos realizando, pudiendo elegir que consumo le concedemos de nuestra CPU; dependiendo de la carga del mismo que tengamos en ese momento.



Ver las estrellas desde casa

Estar confinado en casa durante largo tiempo y no tener terraza o vivir en una urbe nos dificulta ver las estrellas. La existencia humana está fuertemente relacionada. Nos dan esperanza, nos guían en el camino o nos dan enfoque filosófico a nuestra existencia.
Stellarium nos permite ver el firmamento desde nuestro ordenador. Instalando su software o desde el navegador personalizando la vista desde nuestra ubicación. 

Stellarium versión web





Este planetario de código abierto está disponible para varios sistemas operativos y arquitecturas: Windows, Linux y Mac y 32 y 64

Instalar en distintos sistemas operativos

Constelaciones

Requerimientos del sistema

Mínimos
Linux/Unix; Windows 7 y superior; Mac OS X 10.12.0 y superior
tarjeta de gráficos 3D que admita OpenGL 3.0 y GLSL 1.3
512 MiB RAM
250 MiB de espacio en disco
teclado

Recomendado
Linux/Unix; Windows 7 y superior; Mac OS X 10.12.0 y superior
tarjeta de gráficos 3D que admita OpenGL 3.3 y superior
1 GiB de RAM o más
1.5 GiB de disco duro
teclado

Para instalarlo realizar la instalación en distribuciones basadas en Debian, añadiremos el repositorio de la aplicación:

sudo add-apt-repository ppa:stellarium/stellarium-releases

Actualizamos las listas de repositorios 

sudo apt update

Y por último instalamos Stellarium

sudo apt install stellarium


Características

Cielo
  • catálogo por defecto de más de 600.000 estrellas
  • catálogos extra con más de 177 millones de estrellas
  • catálogo predeterminado con más de 80.000 objetos del espacio profundo
  • catálogo extra con más de 1 millón de objetos del espacio profundo
  • asterismos e ilustraciones de las constelaciones
  • constelaciones para más de 20 culturas diferentes
  • imágenes de nebulosas (todo el catálogo Messier)
  • auténtica Vía Láctea
  • muy auténtica atmósfera, salida y puesta de sol
  • los planetas y sus satélites

Interfaz
  • un poderoso acercamiento
  • control de tiempo
  • interfaz multilingüe
  • projección de ojo de pez para las cúpulas del planetario
  • sistema de proyección con espejo esférico para su propia cúpula de bajo coste
  • nueva interfaz gráfica y amplio control desde el teclado
  • control del telescopio

Visualización
  • cuadrículas ecuatoriales y azimutales
  • estrella centelleante
  • estrellas fugaces
  • colas de cometas
  • simulación de destellos de Iridium
  • simulación de eclipse
  • simulación de supernovas y novas
  • escenarios 3D
  • paisajes personalizables, ahora con proyección panorámica esférica

Personalizable
  • sistema de expansión para añadir satélites artificiales, simulación ocular, configuración del telescopio y más
  • opción de añadir nuevos objetos del sistema solar a partir de los recursos en línea...
  • añade tus propios objetos de la profundidad del espacio, paisajes, imágenes de las constelaciones, guiones...

También podemos encontrar una la versión para smartphone:

La podremos instalar por unos 9€ en Android y por casi 10€ en IOS

Duck DNS servicio gratuito de DDNS

Aunque desde hace tiempo se implementó la ipv6 las operadoras de acceso a Internet no lo implementan en los hogares, aun continuamos con la ipv4 y por tanto nuestros router's aún tienen direcciones públicas dinámicas.
Para el "internet de las cosas", servidores VPN, servidores web, Nubes personales, nuestra propia red de vigilancia de cámaras..... Es complicado no tener una ip estática a la que acceder.

Entre las DDNS que nos ofrecen, de forma gratuita, acceso estable a nuestra ip dinámica, es DuckDNS.
Su página minimalista y muy simple. 




Una vez que nos hemos dado de alta nos mostrará el token que nos han asignado y podremos crear un subdominio que utilizaremos para acceder a nuestra ip dinámica.


Asignamos un nombre. Puesto que vamos a utilizar este para acceder desde internet a un servicio, o servidor que tengamos instalado en nuestra casa o empresa, no debería ser fácilmente reconocible, e incluso deberia ser ofuscado y complejo. Y por puesto no compartirlo de forma pública.

Al crear nuestro subdominio, automáticamente reconoce nuestra dirección ip. Accediendo al dirección creada el servidor DNS redirigirá a nuestro navegador a la ip registrada. Podemos crear hasta cinco subdominios con distintos nombre y podremos asignarles cinco direcciones diferentes.

DuckDNS dispone de herramientas para poder actualizar la dirección ip dinámica de nuestro servidor.


Tenemos distintos scripts,  programas para instalar, dependiendo de nuestro sistema operativo. También podemos implementarlo en nuestro router.

Si por ejemplo disponemos una Raspberry y la utilizamos como servidor, tambien la podemos utilizar para comunicar a DuckDNS nuestra nueva dirección pública.

Accederemos a nuestra Raspberry a través de la pasarela ssh

ssh pi@raspberrypi

Creamos un directorio, accedemos a él y creamos un nuevo archivo llamado duck.sh.

mkdir duckdns
cd duckdns
nano duck.sh

Copiamos el script que le informará a nuestro DDNS de nuestra dirección actual. Si hemos registrado un subdominio nos personaliza el script con dicho subdominio, nuestro TOKEN y solo tendremos que copiar y pegar.

echo url="https://www.duckdns.org/update?domains=exampledomain&token=a7c4d0ad-114e-40ef-ba1d-d217904a50f2&ip=" | curl -k -o ~/duckdns/duck.log -K -

Guardamos crtl+o y salimos del editor crtl+x . Y le otorgamos privilegios de ejecución.

chmod 700 duck.sh

Añadimos una línea en el cron que ejecutará nuestro script cada cinco minutos, manteniendo la relación de nuestro subdominio con la ip de nuestro servidor actualizada

crontab -e

*/5 * * * * ~/duckdns/duck.sh >/dev/null 2>&1

Probamos que que todo está correcto, ejecutando nuestro archivo y comprobando que nuestro archivo de eventos ha recogido el ok.

cat duck.log

Eliminar publicidad mientras navegas en linux

Aunque hay extensiones para bloquear la publicidad mientras navegas por internet, buscaba algo màs simple que no fuera dependiente del navegador que esté utilizando en ese momento.
Encontré un método muy simple, editando el archivo:

/etc/hosts

En este archivo podemos guardar la relación de nombres de dominio y sus direcciones ip's. Cuando naveguemos por internet, nuestro ordenador accede primero a este archivo para localizar el dominio al que queremos acceder. Si no lo encuentra continuará la búsqueda en los servidores DNS que le indiquemos.

Si no disponemos de un servidor DNS en nuestra nuestra red local, nos será útil a la hora de acceder a nuestros servidores a través de nombres y no de direcciones ip.

Pero si añadimos dominios conocidos que son servidores de publicidad y/o rastreadores y le indicamos una dirección falsa, nuestro navegador no nos mostrará ninguna publicidad y no enviará datos de nuestra navegación.

El funcionamiento es similar a Pi-Hole . Pero sin necesidad de instalar un servidor DNS en nuestra red.

El método es muy sencillo. Editamos el archivo /etc/hosts

sudo nano /etc/hosts

Nos saldrá algo parecido a:

127.0.0.1 localhost
127.0.1.1 enfaseterminal
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Añadiremos en al final del archivo:

https://mega.nz/#!maRhEapC!-J7HXuVD0FiJXLpLMm5CtZKdnJUuHoiqSlCdj1kuzGU
 Esta lista negra a sido confecciona a partir del archivo:
https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts

Administrador de tareas terminal en Linux

Para controlar el consumo, las tareas activas de nuestra instalación basada en Linux podremos utilizar el comando
top
Un administrador de tareas que nos mostrará:

Captura pantalla ejecución comando top


1. Tiempo de actividad y carga media del sistema
  • Hora actual.
  • Tiempo que ha estado el sistema encendido.
  • Número de usuarios que han iniciado sesión
  • Carga media en intervalos de 5, 10 y 15 minutos respectivamente.
2. Tareas
  • Running (Ejecutando): procesos ejecutándose actualmente o preparados para ejecutarse.
  • Sleeping (Hibernando): procesos dormidos esperando que ocurra algo (depende del proceso) para ejecutarse.
  • Stopped (Detenidos): ejecución de proceso detenida.
  • Zombie: el proceso no está siendo ejecutado. Estos procesos se quedan en este estado cuando el proceso que los ha iniciado muere (padre).
3. Estados de la CPU
  • us (usuario): tiempo de CPU de usuario.
  • sy (sistema): tiempo de CPU del kernel.
  • id (inactivo): tiempo de CPU en procesos inactivos.
  • wa (en espera): tiempo de CPU en procesos en espera.
  • hi (interrupciones de hardware): interrupciones de hardware.
  • si (interrupciones de software): tiempo de CPU en interrupciones de software.
4. Memoria física
  • Memoria total.
  • Memoria utilizada.
  • Memoria libre.
  • Memoria utilizada por buffer.
5. Memoria virtual
  • Memoria total.
  • Memoria usada.
  • Memoria libre.
  • Memoria en caché.
6. Tareas en ejecución
  • PID: es el identificador de proceso. Cada proceso tiene un identificador único. Este identificador es necesario para poder matar un proceso con el comando kill
  • USER (Usuario): usuario propietario del proceso.
  • PR: prioridad del proceso. Si pone RT es que se está ejecutando en tiempo real.
  • NI: asigna la prioridad. Si tiene un valor bajo (hasta -20) quiere decir que tiene más prioridad que otro con valor alto (hasta 19).
  • VIRT: cantidad de memoria virtual utilizada por el proceso.
  • RES: cantidad de memoria RAM física que utiliza el proceso.
  • SHR: memoria compartida.
  • S (ESTADO): estado del proceso.
  • %CPU: porcentaje de CPU utilizado desde la última actualización.
  • %MEM: porcentaje de memoria física utilizada por el proceso desde la última actualización.
  • TIME+ (HORA+): tiempo total de CPU que ha usado el proceso desde su inicio.
  • COMMAND: comando utilizado para iniciar el proceso.

Montar disco duro usb en linux

En está ocasión quería montar un servidor dlna en una Raspberry. Para ello tenía que montar un disco duro externo en un sistema basado en Linux.
Antes de nada hay actualizar nuestro sistema para que reconozca el sistema de archivos utilizado por Windows NTFS, por que es el sistema en el que esta formateado mi disco duro y no quiero formatearlo para no perder datos.

sudo apt-get install ntfs-3g
Luego deberemos averiguar si nuestro sistema ha reconocido nuestro disco duro y donde se encuentra localizado para poder montarlo

sudo blkid

/dev/sda2: LABEL="Seagate Expansion Drive" UUID="9026****626679C4A" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="74fd**27-****-483e-bc23-******0"

/dev/mmcblk0: PTUUID="b78***38" PTTYPE="dos"

/dev/sda1: PARTLABEL="Microsoft reserved partition" PARTUUID="fca0fbe2-***-49b4-8e51-***ec23"
En mi caso el disco duro se encuentra en el directorio:

/dev/sda2

Crearemos un directorio donde montaremos nuestra unidad usb y donde accederemos a su contenido.

sudo mkdir /media/discousb

  Le indicaremos a nuestro sistema operativo que monte de forma automática nuestro disco duro en la carpeta que hemos creado. Para ello deberemos editar el archivo fstab que se encuentra en el directorio etc

nano /etc/fstab

proc /proc proc defaults 0 0

/dev/mmcblk0p6 /boot vfat defaults 0 2

/dev/mmcblk0p7 / ext4 defaults,noatime 0 1

/dev/sda2 /media/discousb ntfs defaults 0 0

# a swapfile is not a swap partition, no line here

# use dphys-swapfile swap[on|off] for that
  •  /dev/sda2 Donde se encuentra nuestro dispositivo usb en el sistema
  • /media/discousb  Carpeta donde montaremos nuestra unidad externa
  • Tipo de sistema para ntfs: vfat, ext4 o fat32
Reiniciar el sistema y ya podremos acceder a nuestro duro externo

sudo reboot

Actualizar nuestro sistema Linux

Mantener nuestro sistema actualizado nos brinda más funcionalidad, corrección de posibles errores en versiones previas y sobre todo mayor seguridad.
En este caso vamos a actualizar una Raspberry, la cual no tiene conectado ningún periférico y tenemos administrarlo de forma remota.
Accedemos mediante ssh
ssh <dirección ip raspberry> -l <nombre usuario>
Los siguientes pasos son similares, para nuestra administración en local o en remoto
Actualizamos los repositorios que se encuentran listados en el archivo /etc/apt/sources.list. Realizamos la comprobación si nuestros paquetes tienen una versión mejorada.
sudo apt-get update
Aun no hemos actualizado nuestro sistema. Esta tarea la realizaremos con el comando:
sudo apt-get dist-upgrade
Actualizando paquetes instalados en Raspberry
Actualizando paquetes instalados en Raspberry

Otra forma seria
sudo apt-get upgrade 
Entre las dos opciones que tenemos,  dist-upgrade nos facilitará la actualización resolviendo posibles conflictos con las dependencias.
upgrade
upgrade is used to install the newest versions of all packages
currently installed on the system from the sources enumerated in
/etc/apt/sources.list. Packages currently installed with new
versions available are retrieved and upgraded; under no
circumstances are currently installed packages removed, or packages
not already installed retrieved and installed. New versions of
currently installed packages that cannot be upgraded without
changing the install status of another package will be left at
their current version. An update must be performed first so that
apt-get knows that new versions of packages are available.


dist-upgrade
dist-upgrade in addition to performing the function of upgrade,
also intelligently handles changing dependencies with new versions
of packages; apt-get has a "smart" conflict resolution system, and
it will attempt to upgrade the most important packages at the
expense of less important ones if necessary. The dist-upgrade
command may therefore remove some packages. The
/etc/apt/sources.list file contains a list of locations from which
to retrieve desired package files. See also apt_preferences(5) for
a mechanism for overriding the general settings for individual
packages.

Navegar seguro usando la red Tor

Es evidente que en mundo conectado cualquier paso que des es registrado, almacenado y analizado. En casa alguien busca comida hindú, y a ti en la red social que utilizas habitualmente te muestra un anuncio de un restaurante cerca de ti con ese tipo de comida.
Dentro de las herramientas que podemos utilizar para no ser rastreados en nuestras deambulación por la red de redes se encuentra el navegador Tor.
Podemos descargar el navegador para distintos sistemas operativos, es multiplataforma.
Microsoft WindowsApple MacOSGNU/Linux
En el caso de GNU/Linux, descargaremos la última versión del acorde con la arquitectura de nuestro equipo, ya sea de 32 o 64 bits:
wegt https://www.torproject.org/dist/torbrowser/8.0.6/tor-browser-linux32-8.0.6_es-ES.tar.xz
wegt https://www.torproject.org/dist/torbrowser/8.0.6/tor-browser-linux64-8.0.6_es-ES.tar.xz
Descomprimimos el archivo que hemos descargado con la instrucción  tar -xvJf
tar -xvJf tor-browser-linux32-8.0.6_es-ES.tar.xz
o para 64

tar -xvJf tor-browser-linux64-8.0.6_es-ES.tar.xz
 Accedemos a la carpeta que acabamos de descomprimir
cd tor-browser_es-ES
Y lanzamos el navegador con el comando
./start-tor-browser.desktop




Aquí se nos muestra el poder de la red TOR. Nuestra navegación es descentralizada, se realiza a través de: "...en una red distribuida de relés administrados por voluntarios de todo el mundo: evita que alguien que observa su conexión a Internet aprenda qué sitios visita, impide que los sitios que visita aprendan su ubicación física, y te permite acceder a sitios que están bloqueados."

Realizando la navegación por capas, como si fuera una cebolla, para dificultar e impedir que la pagina que estamos visitando pueda obtener información sobre nuestra ubicación.