antivirus
Óptima protección antivirus: Soluciones de seguridad en Internet de G Data para PC.

martes, 4 de julio de 2017

Mostrar el calendario del mes actual (o cualquier año) en el shell [Linux / OS-X]

Aunque hoy día hay aplicaciones web y móviles que nos muestran un calendario, en ocasiones es conveniente disponer de uno lo más sencillo posible. Durante años he usado la aplicación cal del shell de Linux para generar e imprimir calendarios.

Sin embargo, en las últimas actualizaciones la implementación ha cambiado y ya no se puede usar con los modificadores de siempre que hacían que el primer día de la semana fuese el lunes (algo tan simple como eso...). Finalmente he encontrado la forma de generarlos, tanto en Linux como en OS-X.

En Linux tenemos la opción de usar el comando ncal de la siguiente forma:

ncal -C 2018



mientras que bajo OS-X podemos conseguirlo instalando el gcal con brew, y después ejecutando:

brew install gcal
gcal --starting-day=1 -i-  2017




martes, 13 de junio de 2017

Acceso desde shell a MySQL en OS-X

En Linux es muy sencillo trabajar con la herramienta mysql desde el shell.

Sin embargo en OS-X, y usando XAMPP, no es tan sencillo acceder a MySQL desde el shell.

La herramienta queda instalada en /Applications/XAMPP/xamppfiles/bin por lo que para acceder al gestor de BD debemos hacer:

/Applications/XAMPP/xamppfiles/bin/mysql -u root -p

y si por ejemplo queremos restaurar una BD completa, haremos:

/Applications/XAMPP/xamppfiles/bin/mysql -u root -p mibasededatos  <  ./copiaseguridad.sql


miércoles, 10 de mayo de 2017

Manejo básico del shell de Linux



La edición de archivos de texto se puede hacer con la aplicación nano. El cursor se mueve usando las teclas de dirección (flechas). Los cambios se guardan pulsando Ctrl-O y se sale al terminal con Ctrl-X
nano fichero.txt
sudo nano /var/www/pagina.html
sudo nano /etc/contrab

Crear un directorio nuevo:
mkdir carpeta
sudo mkdir /var/www/estilos

Obtener el listado de archivos en el directorio actual:
ls –l

Obtener el listado de archivos en otro directorio:
ls -l /var/www/
ls -l /etc

Moverse a un directorio:
cd /var/www/
cd carpeta

Salir de un directorio al justo superior:
cd ..

Obtener la ruta del directorio de trabajo actual:
pwd

Borrar un fichero:
rm fichero.txt
sudo rm /var/www/pag.html

Borrar una carpeta y todo su contenido:
rm -rf carpeta
sudo rm -rf /var/www/estilos

Copiar un archivo:
cp fichero.txt /tmp/
sudo cp pag.html /var/www/

Ver el contenido de un fichero de texto:
cat fichero.txt
cat /var/www/pagina.html

Comprimir dos archivos en un archivo TGZ:
tar cvfpz fich.tgz archivo1.txt archivo2.txt

Comprimir una carpeta en un archivo TGZ:
tar cvfpz fich.tgz directorio

Descomprimir un archivo TGZ:
tar xvfpz fich.tgz

Buscar un fichero:
find . -name "*.conf"
find /etc -name "certificado*"
find /var/www -name "pagina.html"

Determinar el tipo de un fichero:
file fichero.gif

Cambiar los permisos de un fichero (en este ejemplo, para hacerlo ejecutable):
chmod 755 script.sh

Cambiar el dueño de un fichero o carpeta:
sudo chown usuario:usuario /tmp/fichero.txt
sudo chown usuario:usuario –R /var/www

Mostrar los procesos en ejecución:
ps
top

Comprobar si un proceso está en ejecución, y obtener su número de proceso (pid):
ps aux | grep apache
ps -A | grep nginx

Matar un proceso sabiendo su pid (supongamos que es el número de proceso 16483):
kill -9 16483

Acceder a una máquina remota por SSH:
ssh 10.10.10.15

Ejecutar en una máquina remota un comando:
ssh nombre@10.10.10.15 "cat /proc/cpuinfo"

Copiar un archivo a otra máquina:
scp pag.html 10.10.10.15:/tmp/

Clonar el contenido de una carpeta de una máquina remota en la máquina local:
rsync -avz -e ssh 10.10.10.15:/var/www/ /var/www/

Acceder a una web por HTTP con curl:

Acceder a una web por HTTPS con curl:

Obtener información sobre las interfaces de red:
ifconfig
ifconfig -a

Mostrar qué puertos hay abiertos y qué demonios o aplicaciones los tienen en uso:
netstat -tulpn

Comprobar el estado (abierto/cerrado) del puerto 80:
netstat -tulpn | grep :80

Comprobar qué conexiones hay activas y desde qué IP:
netstat –an | grep :80 | sort
netstat | grep http | wc -l

Comprobar la configuración (las reglas) del cortafuegos:
iptables -L -n -v


Descargar un archivo y a continuación calcular su suma MD5:
md5sum ubuntu-16.10.iso

Determinar cuánto espacio hay ocupado/libre en cada partición:
df -kh

Determinar cuánto espacio ocupa una carpeta:
du -ksh carpeta

Monitorizar Linux con vmstat (sacar resultados cada segundo, durante 5 segundos):
vmstat 1 5

Obtener detalles completos de las CPUs de la máquina:
cat /proc/cpuinfo

Obtener detalles del sistema de memoria de la máquina:
cat /proc/meminfo

Obtener detalles sobre la distribución Linux instalada:
lsb_release -a

Revisar los mensajes del arranque de Linux:
dmesg | more

Obtener la fecha y hora exacta del último reinicio o último apagado:
last reboot
last shutdown

Obtener el número de días que lleva el servidor en funcionamiento:
uptime

Obtener el nombre del fabricante de la placa base:
sudo dmidecode -s system-manufacturer

Obtener el nombre del fabricante de la CPU:
sudo dmidecode -s processor-manufacturer

Obtener la lista de detalles que se puede obtener:
sudo dmidecode -s

Obtener la lista con todos los componentes de hardware detectados:
sudo lshw
sudo lshw -short


Referencias



lunes, 17 de abril de 2017

Instalar Scratch en Ubuntu para usarlo sin conexión a Internet

Scratch es uno de los mejores lenguajes de programación para aprender a programar. Disponemos de una versión que requiere de conexión a Internet para funcionar, pero también tenemos la opción de hacer la instalación completa offline.

Para ello, debemos bajar el Adobe AIR Installer de:
  http://airdownload.adobe.com/air/lin/download/2.6/AdobeAIRInstaller.bin

Y a continuación el Scratch.air de:
  http://cdn.scratch.mit.edu/scratchr2/static/sa/Scratch.air

Luego debemos instalar el Adobe AIR, y una vez instalado, desde ahí abriremos Scratch.air, con lo que comenzará la instalación:
  chmod +x AdobeAIRInstaller.bin
  ./AdobeAIRInstaller.bin
 

Si se produce algún error en la instalación, tal y como comentan en:
https://programamos.es/instalacion-de-scratch2-offline-en-debianubuntu/
es posible que haya que añadir al path de librerías una ruta adicional, tal y como se muestra a continuación:
  locate libgnome-keyring.so
  LD_LIBRARY_PATH=/usr/lib/i386-linux-gnu ./AdobeAIRInstaller.bin

viernes, 10 de marzo de 2017

Usar ffmpeg para transformar vídeos manteniendo la calidad

Si queremos transformar algún vídeo a otro formato, pero manteniendo la calidad y aspecto del vídeo inicial, podemos utilizar una herramienta muy versátil y eficiente:  ffmpeg

Para ello, usaremos una orden en el shell similar a la siguiente:
ffmpeg -i input.mp4  -vcodec copy -acodec copy output.avi

Si por otro lado, quisiéramos seleccionar la primera pista de vídeo y una pista de audio concreta (sólo queremos quedarnos con un idioma), utilizaremos la siguiente:
ffmpeg -i input.VOB  -sameq  -map 0:0 -map 0:4  output.mp4
y así nos quedamos con la pista de vídeo (-map 0:0) y la cuarta pista de audio (-map 0:4).

En ambos ejemplos hemos mantenido el aspecto (relación ancho-alto) y la calidad del vídeo orginal (usando las opciones -sameq o bien -vcodec copy -acodec copy).