TexLive 2015 en Manjaro + Kile

Entre distros GNU/Linux hay ciertas particularidades que uno va sorteando con el uso y la lectura para resolverlos. En este caso no hay mucho detén para lograr instalar TexLive 2015 off-repos en Manjaro.

Una vez descompreso el contenido del DVD en ~/tmp/

# perl install-tl
# tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet

Agregamos las rutas. Esta vez será en ~/.profile:

PATH=/usr/local/texlive/2015/bin/x86_64-linux:$PATH; export PATH
MANPATH=/usr/local/texlive/2015/texmf-dist/doc/man:$MANPATH; export MANPATH
INFOPATH=/usr/local/texlive/2015/texmf-dist/doc/info:$INFOPATH; export INFOPATH

Guardamos, reiniciamos o cerramos sesión.

Actualizamos las fuentes:

# cp /usr/local/texlive/2015/texmf-var/fonts/conf/texlive-fontconfig.conf /etc/fonts/conf.d/09-texlive.conf
# fc-cache -fsv

Luego chequeamos el sistema instalado:

$ tex --version

y

$ latex sample2e.tex
This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015) (preloaded format=latex)
restricted \write18 enabled.
entering extended mode
(/usr/local/texlive/2015/texmf-dist/tex/latex/base/sample2e.tex
LaTeX2e <2015/01/01>
Babel <3.9l> and hyphenation patterns for 79 languages loaded.
(/usr/local/texlive/2015/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/local/texlive/2015/texmf-dist/tex/latex/base/size10.clo))
No file sample2e.aux.
(/usr/local/texlive/2015/texmf-dist/tex/latex/base/omscmr.fd) [1] [2] [3]
(./sample2e.aux) )
Output written on sample2e.dvi (3 pages, 7484 bytes).
Transcript written on sample2e.log.

Sin error alguno. Todo bien.

Ahora veamos qué necesitamos para tener instalado kile.

# pacman -S kile

Nos dice que necesitamos instalar, además de kile:

katepart4
libsigsegv
libsynctex
potrace
zziplib
texlive-bin
texlive-core

En mi caso ya tengo algunos paquetes de KDE instalados, como los íconos oxygen y el runtime. Aquí hay que verificar cual sea tu caso particular, porque lo único que has de excluir es texlive-bin y texlive-core.

# pacman -Sdd kile katepart4 libsigsegv libsynctex potrace zziplib

Y listo.

 

VMware en Fedora 22

A solicitud del Lic. Aguilar vengo e instalo VMware a pesar que por defecto Fedora trae Boxes y para máquinas virtuales resuelve muy bien este último software. Para efectos del beneficio de los discos duros del Lic. Aguilar, instalamos VMware Workstation:

Primero que nada he preferido cumplir las dependencias:

$ su
# dnf group install "Development Tools"
# dnf install kernel-headers kernel-devel

Descargamos el software propietario en mención.

$ wget https://download3.vmware.com/software/wkst/file/VMware-Workstation-Full-12.0.0-2985596.x86_64.bundle

Luego:

$ chmod +x VMware-Workstation-Full-12.0.0-2985596.x86_64.bundle
$ su
# sh VMware-Workstation-Full-12.0.0-2985596.x86_64.bundle

Esto arranca el instalador en modo gráfico y proseguimos. A estas alturas de Fedora 22 no deberíamos de tener ningún problema. Ya tendríamos instalado VMware y a proseguir con el anuncio de que tiene que compilar ciertas cositas. Dejamos que complete. Listo.

Screenshot from 2015-10-07 19-14-25

TexLive 2014 + TexStudio en Fedora 22 (GNOME 3)

Esta vez necesité correr Fedora 22 con GNOME 3 por razones inherentes a alguna necedad de esas que me surgen. Pero pensé, esta vez no me va a ser demasiado fácil si quiero contar con un editor especializado.

Pero no es así. No tan difícil.

Instalé la versión 2014 queriendo probar a hacer la actualización de TexLive 2015 posteriormente, así que la instalación es básicamente la misma como en la entrada de blog anterior.

Así que, una vez instalado TexLive, se procede a instalar TexStudio con el siguiente hack:

Creamos donde_sea una carpeta llamada texstudio, y desde dentro descargamos con dnf los paquetes necesarios, TexStudio y sus dependencias propias.

# dnf download libXaw libpaper perl-Filter perl-Tk perl-XML-XPath perl-encoding perl-open poppler-qt5 qt5-qtsvg qtlockedfile-qt5 qtsingleapplication-qt5 zziplib texstudio

Desde ahí mismo:

# rpm -i --nodeps *

Y listo.

TeXLive 2014 + Kile en Fedora 21 (KDE)

A pesar de que la mayoría de mis conocimientos en TeXLive se desarrollaron siendo usuario de Fedora, el repo TeXLive de Fedora no viene siendo ni mucho menos lo tolerable… Las mejores características muchas veces resultan lo más complicado de instalar y/o configurar a la “mano pelada”. Paquetes que no existen y cosas que se hacen imposibles de instalar desde el repo nativo.

El uso de Fedora siempre ha ido a la par del uso de TeXLive para la creación de documentos de trabajo importantes, documentos personales, presentaciones, e incluso complicadas tablas, que en un editor de texto o suite de ofimática me sacaría las canas queriendo lograr algo respetable o decente.

Esta vez no fue la excepción en Fedora. El repo TeXLive sigue estando a años luz de ser 100% usable, aunque he de reconocer que ha tenido sus avances desde que le pusieron especial atención. Pero bueno, logré lo que hace tiempo quería: instalar el DVD de TeXlive, configurarlo y disfrutarlo a mis anchas en mi instalación de Fedora… con KDE.

Sin premeditarlo, pero necesitándolo, procedí a descargar la iso del DVD de TeXLive 2014… vía torrent.

Sin mucha espera, lo descargué y lo descomprimí en foo directorio. Desde ahí lo instalé con un simple comando como superusuario:

# ~/tl/texlive2014-20140525/perl install-tl

Después de seis minutos todo estaba instalado en /usr/local/texlive/

Luego de eso había que probar la instalación, pero antes había que indicarle a Fedora las rutas de acceso a los diferentes ejecutables. Eso se logra agregando a ~/.bash_profile las siguientes líneas:

PATH=/usr/local/texlive/2014/bin/x86_64-linux:$PATH; export PATH
MANPATH=/usr/local/texlive/2014/texmf-dist/doc/man:$MANPATH; export MANPATH
INFOPATH=/usr/local/texlive/2014/texmf-dist/doc/info:$INFOPATH; export INFOPATH

Sin eso no hay mágia. Guardo. Cierro sesión. Abro sesión. Los cambios están cargados.

Si se me antoja actualizarlo en algún momento, lo siguiente será de utilidad:

# tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet

Ahora habrá que indicarle al sistema TeX dónde debería encontrar las fuentes instaladas con:

# cp /usr/local/texlive/2014/texmf-var/fonts/conf/texlive-fontconfig.conf /etc/fonts/conf.d/09-texlive.conf

Actualizo la caché de las fuentes:

# fc-cache -fsv

(lleva algo de tiempo)

Y acabado eso, probamos la instalación como usuario sin privilegios mayores:

$ tex --version

Que debería arrojarnos algo así:

TeX 3.14159265 (TeX Live 2014)
kpathsea version 6.2.0
Copyright 2014 D.E. Knuth.
There is NO warranty.  Redistribution of this software is
covered by the terms of both the TeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the TeX source.
Primary author of TeX: D.E. Knuth.

Y luego:

$ latex sample2e.tex
This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2014) (preloaded format=latex)
restricted \write18 enabled.
entering extended mode
(/usr/local/texlive/2014/texmf-dist/tex/latex/base/sample2e.tex
LaTeX2e <2014/05/01>
Babel <3.9k> and hyphenation patterns for 78 languages loaded.
(/usr/local/texlive/2014/texmf-dist/tex/latex/base/article.cls
Document Class: article 2007/10/19 v1.4h Standard LaTeX document class
(/usr/local/texlive/2014/texmf-dist/tex/latex/base/size10.clo))
No file sample2e.aux.
(/usr/local/texlive/2014/texmf-dist/tex/latex/base/omscmr.fd) [1] [2] [3]
(./sample2e.aux) )
Output written on sample2e.dvi (3 pages, 7484 bytes).
Transcript written on sample2e.log.

Sin error alguno si todo ha ido bien en la instalacíon y post-instalación.

Pero esto no termina aquí, porque si vamos a usar algún editor especializado como Texmaker, Texstudio o Kile, nos meteríamos a una maraña de compilaciones y dependencias difíciles. Tenemos KDE instalado y lo mejor sería irnos con algo bastante completo y nativo: Kile.

Pero dice yum que hay 200+ dependencias para Kile y todas esas dependencias son de TeXLive, al que ya tenemos instalado off-repos. Cómo instalar únicamente Kile?

$ yumdownloader kile

Y ahora como admin:

# rpm -i --nodeps kile-2.1.3-6.fc21.x86_64.rpm

Y listo.

Todas las dependencias nativas de Kile ya están instaladas poque son comunes de KDE. Con rpm -i --nodeps evitamos que rpm se queje de las dependencias de TeXLive. Ya Kile sabrá encontrar el camino para hacer su trabajo sin necesidad de esas dependencias ni configuración posterior.

Espero les sea útil.

Fedora 21: Postinstall

Un par de días con la leve ansiedad de tener instalado las mejorías casi inperceptibles de Fedora 21. Un poco de tiempo libre en el trabajo basta para respaldar la info que resultó de dos meses de trabajo y proceder a instalar Fedora. Esta vez dándole una oportunidad a KDE, luego de haber leído por ahí que resulta ser Fedora una de las tres distros más rápidas con KDE, luego de Chakra Linux. Y efectivamente así parece ser.

El clásico update antes que nada.

$ sudo yum update

Uups… la costumbre después de estar utilizando derivados de Debian. No sabía que sudo ya venía configurado en Fedora 21… Pero bueno.

$ su -
# yum install yum-plugin-fastestmirror
# yum update

# yum remove calligra*

Quise darle un intento a Calligra, pero hay cosas que no andan bien para quien ya se volvió un usuario frecuente de las suites de office.

# yum install libreoffice

Y por supuesto, usuario de impresoras.

# yum install hpijs hplip cups
# hp-setup -i

# yum install firefox thunderbird

Luego de un reinicio, constatamos que todo anda bien y proseguí…

$ su -c 'yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm'

yum update

Luego de eso yum me pregunta que si deseo proseguir con la instalación de paquetes complementarios como códecs de audio/video que se encuentran en rpmfusion… yes.

# yum install firefox thunderbird

Ahora solo resta configurar el proxy en Firefox, el correo institucional y su respectivo chat.

Voilà!

Copiar archivos a y de tu Android con adb

Puedes tener acceso a tu dispositivo android vía adb en la línea de comandos o Terminal. Un disppositivo Android necesitaría estar rooteado para poder accederlo.

adb se encuentra localizado en el directorio [android-sdks]/platform-tools. Sólo tendrías que agregar éste directorio a tu ruta de ejecución para tenes acceso directo a sus comandos.

adb permite emviar comandos a tu dispositivo Android, guiñar y enviar archivos a éste, brinda acceso al shell de Android y permite leer información de tu dispositivo.

Lo primero que tendrás que hacer es habilitar el modo debug de tu dispositivo y luego señalar y otorgarle acceso root a adb dentro del dispositivo, luego de eso, desde tu computador y con el dispositivo conectado:

$ adb devices
List of devices attached
00a719c8148ra068 device

Luego necesitas reclamar acceso root:

$ adb root
restarting adbd as root

Listo. Tenés acceso completo a tu dispositivo.

$ adb push <archivo_origen> <mnt/sdcard/directorio_destino>

$ adb pull </mnt/sdcard/archivo_origen> <directorio_destino>

$ adb uninstall <nombre_aplicacion>

Por ejemplo yo necesito con regularidad descargar las actualizaciones de Cyanogenmod 11 para aplicarlas a mi dispositivo Android. Para ello ejecuto:

$ adb push cm-11-20140109-NIGHTLY-e975.zip /mnt/sdcard/Downloads/

Espero les sea de ayuda.

Metiéndole seguridad a OpenSSH

Mi preferencia por descargar vía torrent y una que otra vulnerabilidad “social” de mi proveedor de Internet han hecho de un tiempo acá bastante común los intentos desde fuera por acceder a mi terminal. ¿Quiénes? ¿Cuándo? ¿Cómo? No importa, lo importante es que aprendamos a no creernos invulnerables e intocables sólo porque usamos GNU/Linux.

OpenSSH (o Secure Shell) se ha convertido en el estándar en acceso remoto, reemplazando así, a telnet como protocolo, esto porque la conexión es cifrada y las contraseñas no son enviadas en texto plano para que todo mundo las vea.

De cualquier manera, la configuración por defecto de SSH no es perfecta, y cuando se corre un servidor SSH existen algunos pasos sencillos que pueden darle robustez a la configuración. Créeme que sí.

Usa contraseñas/nombres de usuarios más fuertes

Una de las primeras cosas a notarse es que si tenés SSH corriendo y expuesto al mundo exterior lo más probable es que recibas registros de intentos por parte de lamers y hackers de adivinar tu usuario o contraseña. Típicamente un hacker hará un scan para el puerto 22 (el puerto por defecto en el que SSH “escucha”) queriendo encontrar máquinas con SSH corriendo, y luego intentará un ataque de fuerza bruta contra esto. Con fuertes contraseñas en su lugar es posible que cualquier ataque sea registrado y puesto en advertencia antes de que cualquiera logre un ingreso exitoso.

Por suerte ya usás contraseñas fuertes, pero si no, entonces prueba a escoger contraseñas que contengan:

  • Mínimo de 8 caracteres
  • Mezcla de minúsculas y mayúsculas
  • Mezclas de letras y números
  • Caracteres no alfanuméricos (p.e. caracteres tales como ! ” £ $ % ^, etc)

Si absolutamente no se puede prevenir a los usuarios de escoger contraseñas débiles, entonces considera generarlas de manera aleatoria o nombres de usuario difíciles de adivinar para tus cuentas de usuario. Si los chicos malos no pueden adivinar el usuario es más difícil que logren la contraseña por fuerza bruta. Sin embargo, esto es seguridad a travéz de oscuridad, y es mejor tener en cuenta que la información se puede escapar en el envío de correos electrónicos, por ejemplo.

Desactiva Ingresos de Root

Los ajustes del servidor SSH están alojados en /etc/ssh/sshd_config. Para desactivar los ingresos de root asegúrate de corregir la siguiente entrada:

# Prevent root logins:

PermitRootLogin no

y reinicia el servicio sshd:

service sshd restart

Si necesitas ingresos de root es preferible ingresar como usuario normal y luego usar su.

Limita los ingresos de usuarios

Los ingresos de SSH pueden ser limitados a ciertos usuarios que necesitan acceso remoto. Si tu máquina tiene muchas cuentas de usuarios en el sistema, entonces es preferible limitar el acceso remoto a las cuentas de usuarios que realmente lo necesitan, limitando de esta forma el impacto de un casual usuario que tenga una contraseña débil. Agrega usuarios separados por espacio en /etc/ssh/sshd_config. Por ejemplo:

AllowUsers alice bob

y reinicia el servicio sshd.

Desactiva el Protocol 1

SSH tiene dos protocolos que puede usar, protocolo 1 y protocolo 2. El más antiguo es el protocolo 1, es menos seguro y debería ser desactivado, a menos que específicamente lo requieras. Corrige como a continuación en el archivo /etc/ssh/sshd_config:

# Protocol 2,1
Protocol 2

y reinicia el servicio sshd.

Usa puertos no estándar

Por defecto SSH “escucha” conexiones entrantes en el puerto 22. Como ya habíamos dicho, para que el hacker determine si SSH corre en tu máquina, este intentará un scan en el puerto citado. Un método efectivo es correr SSH en un puerto no estándar. Cualquier puerto sin usarse servirá, aunque uno por encima del 1024 es preferible. Mucha gente escoge el 2222 como alternativa, a como normalmente se escoge el 8080 para el puerto HTTP. Por esta razón es probable que no sea la mejor respuesta, ya que cualquier hacker estaría haciendo scan al 2222 como buena medida. Es mejor escoger algún puerto aleatoriamentem, que sea alto y que no esté siendo usado por servicios conocidos. Para hacer el cambio, agrega la linea siguiente a tu archivo en /etc/ssh/sshd_config:

# Run ssh on a non-standard port:
Port 2345  #Change me

y reinicia el servicio sshd. No olvides de hacer cualquier cambio necesario en tu enrutador y cualquier regla en el firewall.

Para mayores detalles acerca de SELinux y las reglas del firewall, visita la página que me fue de utilidad.