LibreOffice writer ajustes de página

Para alternar diversas configuraciones de página en un mismo documento, hay que separarlas con un salto (manual) de página. Al añadirlo se puede especificar el estilo de página que se desea, así como la numeración de página (útil para especificar una numeración donde la primera página del documento no corresponde con el número de página… Seguir leyendo LibreOffice writer ajustes de página

Compiladores Intel

Parallel Studio es una suite de compiladores y bibliotecas, entre las que se encuentran MKL (Math Kernel Library). Por defecto, la opción de instalar las bibliotecas paralelas Blacs y Scalapack (para MPI) está desactivada. Para activarla, hay que ir a «Component Selection» / «Intel Math Library for C++» (o Fortran, según el lenguaje que vayamos… Seguir leyendo Compiladores Intel

Publicada el
Categorizado como Linux Etiquetado como

SSL Reverse proxy con Apache

Un ejemplo que sirve para Meteor: SSLProxyEngine On # snake oil certs in proxyied service -> skip checks SSLProxyVerify none SSLProxyCheckPeerCN off SSLProxyCheckPeerName off ProxyRequests Off ProxyPreserveHost On ProxyPass /websocket ws://localhost:3000/websocket ProxyPassMatch ^/sockjs/(.*)/websocket ws://localhost:3000/sockjs/$1/websocket ProxyPass / http://localhost:3000/ ProxyPassReverse / http://localhost:3000/ ProxyPassReverseCookiePath / / ProxyPassReverseCookieDomain 127.0.0.1 52.211.154.50 RequestHeader set X-Forwarded-Proto «https» Parece que en nginx la… Seguir leyendo SSL Reverse proxy con Apache

Squid proxy

Si en los log aparece el error «TCP_REFRESH_FAIL_ERR», comprueba que el servidor donde corre squid resuelve correctamente nombres (DNS)

Publicada el
Categorizado como Linux Etiquetado como

Límites virtualización

Anfitrión Virtualbox: 256 CPU (core) Máquina virtual Virtualbox: 32 CPU (1 socket * 32 core), 1TB RAM Xen QEMU-KVM: hardware (N socket * M core * T thread) VMware

Repartir espacio disco NVME entre Windows y Linux

Arrancar Linux desde pendrive (por ejemplo, Ubuntu live) Gparted. Reducir tamaño partición Windows. Mover comienzo partición Linux (para aprovechar el espacio liberado). Al cambiar el sector de inicio de la partición de sistema de Linux, puede ser que Grub no sea capaz de arrancar Linux. Con lo cual lo más simple es volver a reinstalar… Seguir leyendo Repartir espacio disco NVME entre Windows y Linux

Publicada el
Categorizado como Linux Etiquetado como

OpenGL en remoto (ssh) y Nvidia

Para el rendering OpenGL en un ordenador remoto se recurre (por defecto) a «indirect rendering» (los comandos Open GL pasan por el protocolo GLX). El «direct rendering» permite acceder directamente a la GPU del ordenador donde se ejecuta la aplicación. Este es el modo que usa por defecto el controlador nativo de Nvidia, que de… Seguir leyendo OpenGL en remoto (ssh) y Nvidia

Publicada el
Categorizado como Linux Etiquetado como

Combinar correspondencia con Inkscape

Una de las muchas ventajas de Inkscape es que el formato de fichero que utiliza es el estándar SVG, que a su vez se basa en XML. Al ser texto plano, se puede procesar fácilmente. Por ejemplo, se diseña un formulario con Inkscape en el que los campos (nombre, dirección…) se rellenan con identificadores únicos.… Seguir leyendo Combinar correspondencia con Inkscape

Habilitar bluetooth en Thinkpad:

echo 1 > /sys/devices/platform/thinkpad_acpi/bluetooth_enable

Instalar bluez y bluez-utils

Cargar el módulo btusb. Arrancar el servicio bluetooth

modprobe btusb
systemctl start bluetooth.service

Hacer el emparejado y conexión con la herramienta bluetoothctl

bluetoothctl
[bluetooth]# list
[bluetooth]# select <controller mac>
[bluetooth]# power on
[bluetooth]# scan on
[bluetooth]# agent on
[bluetooth]# devices
[bluetooth]# pair <mouse mac>
[bluetooth]# trust <mouse mac>
[bluetooth]# connect <mouse mac>

GTX vs Quadro

El rendimiento no sólo depende del hardware puro y duro: también influye qué flujo tiene nuestra aplicación y lo optimizado de las capas intermedias (bibliotecas y drivers). Esto es particularmente importante en el caso de las GPU. Normalmente, para GPU uno suele recurrir a CUDA. En cuyo caso, parece que lo más importante es cuantos… Seguir leyendo GTX vs Quadro

Inkscape: exportar en PDF multipágina

Inkscape no soporta per-se múltiples páginas (por el rechazo del estándar SVG). Sin embargo, pueden simularse como capas, guardarlas por separado («Layers as separate SVG, .tar»). Extraer esos svg del tar, y luego convertirlos a PDF (con algún comando como cairosvg, o el propio inkscape) Por último, se pueden combinar todos esos PDF sueltos en… Seguir leyendo Inkscape: exportar en PDF multipágina

Varias recetas para compilar el compilador C/C++ de GNU (valga la redundancia :-p)

Receta simple

Receta «complicada» (estática)

Si tienes N cores/CPU, puedes añadir «-j N» al make para acelerar el proceso.

Igualmente, si sólo necesitas (por ejemplo) C, C++ y Fortran, puedes indicarlo con «–enable-languages=c,c++,fortran»

cd gcc
./contrib/download_prerequisites
cd ..
mkdir objdir
cd objdir
../gcc-4.7.2/configure --prefix=~/gcc --enable-languages=c,c++,fortran
make -j 8
make install

El artículo «Security Guide: How to Protect Your Infrastructure Against the Basic Attacker» de las gentes de Mailgun es exhaustivo a la par que claro, por lo que resulta una estupenda forma de iniciarse en los misterios de la «securización de servidores». Incluye ejemplos de cortafuegos, restricción de recursos, monitorización…

Algunos puntos particularmente interesantes:

  • «demonización»: (systemd / initd) + monit, supervisord, skarnet s6, daemontools
  • «capabilities» en lugar de setuid/sudo
  • Usar ProxyCommand en vez de ssh-agent (cuando hay pasarelas/bastión por medio)
  • balanceo de carga (apache / nginx / haproxy / vulcand) que separe el servidor de aplicaciones (privado) del servidor web público

La charla «Simple but Effective Server Hardening», de Kyle Rankin, va bastante más al grano. Pero también merece la pena echarle un ojo.

A destacar:

  • evitar fail2ban
  • SSH: impedir login como Ruth :-p, o el uso de «claves tecleadas». Usar opciones de cifrado seguras (aes256-gcm@openssh.com, curve25519-sha256@libssh.org, hmac-sha2-512-etm@openssh.com …)
  • Usar pares de claves seguros (ver abajo)
  • Two factor authentication. como Google Authenticator
  • Control de versiones de los ficheros de configuración de los servidores
  • Acceso remoto por pasarela («bastión»)
# pares de claves "seguros" (en 2015...)
ssh-keygen -t rsa -b 4096
ssh-keygen -t ed25519

El servidor cayó – hora del postmortem

Antes de la muerte súbita, uno puede plantearse muchas cosas. A toro pasado, poco más que hacer un análisis forense… Si tienes programadas alertas para posibles fallos, tu nagios (o equivalente) te habrá avisado con antelación para prevenir la catástrofe. Si además tienes montado algo más o menos altamente disponible, el impacto no suele ser… Seguir leyendo El servidor cayó – hora del postmortem

Publicada el
Categorizado como Linux Etiquetado como

ATI ofrece una forma sencilla de cambiar entre la tarjeta integrada (menor rendimiento, bajo consumo) y la tarjeta con aceleración 3D (mayor rendimiento, consumo energético más alto):

# comprobar qué tarjeta se está usando
aticonfig --pxl

# usar GPU
sudo aticonfig --px-dgpu

# usar tarjeta integrada
sudo aticonfig --px-igpu

Después del cambio, hay que reiniciar el servidor X. Lo más sencillo para ello es cerrar sesión y volver a entrar (login)

systemtap es una completa herramienta que permite cotillear lo que se cuece en el kernel (en la línea del ínclito dtrace). En la documentación (/usr/share/doc/systemtap-doc/examples) hay multitud de ejemplos interesantes de sus posibilidades. Algunos ejemplos:

  • general/watchdog.stp: procesos de usuario relacionados con una llamada que tarda más de lo esperado
  • interrupt/interrupts-by-dev.stp: interrupciones por dispositivo
  • io/disktop.stp: procesos con entrada/salida más intensa
  • process/sigkill.stp: señales de terminación

La única «pega» es que necesita la versión debug del kernel…