Usando Fedora en astrofísica

Fedora es una distribución de Linux heredera de Red Hat, distribución que era comercial. Cuando esta desapareció, los desarrolladores crearon Fedora como distribución gratuita y Red Hat como empresa lanzó un nuevo servicio en el que en ligar de pagar por lo que era RedHat como sistema operativo se paga un soporte profesional orientado a empresas. ¿Por qué usar Linux?


Linux proviene del sistema Unix desarrollado por AT&T en 1969 y uno de los mejores sistemas operativos en esa época “prehistórica” de la informática. Durante este comienzo existían muchos sistemas operativos, hoy en día a nivel de usuario sobreviven Linux y MacOS como herederos del sistema Unix y Windows con su propio desarrollo en MS-Dos. En 1983 se funda la Free Software Foundation abogando por un software basado en código libre, lo que permitiría saber que está haciendo el código, modificarlo, mejorarlo, etc. En 1991 Linus Torvalds crea Linux tomando como referencia Unix y la filosofía de la FSF que desarrollaba GNU. Linux es el núcleo del sistema operativo mientras que las distintas variedades de Linux son diferencias implementaciones y arquitecturas de manejar este núcleo.

En concreto Fedora, es uno de los desarrollados por una comunidad muy amplia y que cuenta con Red Hat Enterprises detrás, lo que le lleva a ser un sistema muy al día, muy seguro y muy estable. Se actualiza muy a menudo, lo que por ejemplo nos permitiría estar al filo de la novedad y cada 6 meses hay una nueva versión.

  • Es gratis (pagar centenares de licencias es muy caro para universidades, por ejemplo)
  • Seguridad. Linux es el sistema operativo de la mayoría de servidores de internet y la comunidad pone mucho énfasis en la seguridad y estabilidad de los sistemas, lo que lleva entre otras cosas a la publicación rápida de soluciones a vulnerabilidades o bugs.
  • Libertad en el código y en el control de hardware (puedes incluso editar el núcleo Linux)

Existen otras distribuciones basadas en Fedora como CentOS o Scientific Linux, que es desarrollado por el CERN. Existen otras distribuciones que funcionan de forma distinta como Slackware/OpenSuse, Gentoo o la rama basada en Debian: Debian, Ubuntu, Mint…  La mayoría de sistemas podríamos configurarlos de forma parecida o instalar las mismas cosas que se exponen aquí aunque los comandos o procedimientos sean distintos.

Stickers de varias distribuciones de linux con sus logos y nombres.
Stickers de arias distribuciones de Linux.

El propio hecho de dedicarse a realizar tareas científicas y el tratamiento abierto y libre de los datos y procedimientos científicos solapa con el concepto del software libre y en cierta forma hay una simbiosis entre desarrolladores, grupos y entidades científicas y desarrollo de los sistemas.

Dejando el sistema listo tras instalar.

Si no lo has instalado igual te interesa probar antes varias distribuciones y gestores de gráficos como contamos en el punto 5B

Nota del autor: debido a la naturaleza activa y de continua actualización de los sistemas basados en Linux puede ser posible que algún paquete haya cambiado de nombre, no esté incluido o cambien los comandos, así que si ejecutas cualquier comando es bajo tu responsabilidad y supervisión. La guía aquí indicada es orientativa y se intenta mantener actualizada con cada nueva versión de Fedora.

Si durante la instalación hemos configurado nuestro usuario y lo hemos puesto como administrador (esto es muy útil) no hay problemas para usar sudo y ejecutar comando con permisos de superusuario / administrador, pero si no lo hemos hecho nos dirá el sistema que no somos “sudoers” así que

Configuración > Usuarios > Se selecciona el vuestro, se desbloquea y se cambia el tipo a administrador.

O bien


1
2
$ su -
$ usermod TUNOMBREDEUSUARIO -a -G wheel

Y lo dejamos listo con


1
2
$ dnf autoremove
$ dnf update

Oto aspecto que se puede mejorar para dejarlo listo es acelerar dnf haciendo que use el repositorio con el que tengamos mejor transferencia en términos de velocidad que antes en yum era un plugin, ahora es una opción de dnf así como ya delta RPM está por defecto activada (ahorra megas de descarga en actualizaciones descargando solo las variaciones). Si quieres activar fastestmirror hemos de editar el archivo de configuración (gedit/vim/nano/kwrite…) Gedit es de Gnome , Kwrite de KDE, xed en Cinnamon)


1
2
$ dnf install vim nano
$ nano /etc/dnf/dnf.conf

y añadimos


1
2
3
fastestmirror=true
deltarpm=True
max_parallel_downloads=5

Un plugin importante es langpacks que cuando instala algo comprueba si hay un paquete específico para el lenguaje de tu sistema. A partir de Fedora 25 ya no existe este plugin y debería ser parte del sistema. De todos modos existe un paquete langpack-es con traducciones para las aplicaciones que se instala por defecto si nuestro idioma es “es”.


1
$ dnf install dnf-langpacks

Añadir repositorios RPMFusion con paquetes extra (libres y no libres).

Para añadir los repositorios con software extra bien podemos ir a la página de RPMFusion y descargar el archivo .rpm para abrirlo con el gestor de software o bien mediante terminal. Si necesitamos el paquete libdvdcss (por ejemplo para VLC) viene en un paquete extra, ya que se usa para codificar y decodificar DVDs y proviene de código GPL (General Public License) y no requiere de las restricciones regionales o código privado. Se puede descargar de aquí o en las instrucciones posteriores.

Paquetes indispensables.

Paquetes para usar en la terminal


1
dnf install at patch

At permite programar comandos o scripts bash, patch permite crear paquetes Delta que podemos usar cuando comparamos versiones de archivos con diff o actualizar archivos que están sincronizados manualmente. VIM y Nano son editores de texto en la terminal, VIM es mucho más potente pero más complejo de utilizar.

Paquetes funcionales


1
$ dnf install java-openjdk icedtea-web unrar unzip shotwell gnome-software geany

Openjdk: java para linux. Icedtea: java en el navegador. Unrar y unzip para archivos comprimidos aunque se puede descomprimir en zip y rar o comprimir con tar y las opciones. Normalmente, incluso vienen con el sistema además de los gzip o los archivos tar. Shotwell: gestor y visor de imágenes con más opciones y herramientas que la herramienta por defecto. Gnome software: es una aplicación para instalar gráficamente programas y paquetes disponibles en los repositorios al estilo de una store de apps. Geany: es un editor de texto que se adapta al contenido y ofrece coloreado y completado según el lenguaje que se esté usando, de Python a CSS.

Programas “básicos” (esto depende mucho del usuario pero muchos son muy populares)


1
$ dnf install qbittorrent dropbox vlc wine libreoffice libreoffice-langpack-es gimp kdenlive scribus krita filezilla cheese audacity inkscape simple-scan simplescreenrecorder pdfarranger calibre redshift redshift-gtk

qbitTorrent: gestor de torrents, por defecto viene Transmission. Dropbox: básico para sincronizar directorios y archivos. VLC: reproductor multimedia muy popular (incluye muchos codecs). Wine: para abrir e instalar aplicaciones de Windows emulando. Libreoffice debería venir con Fedora pero el langpack puede no venir instalado. Gimp: el photoshop de Linux. KDEenlive: editor de vídeo. Scribus: maquetador, equivalente al Publisher de M. Office. Krita: programa de dibujo digital. Filezilla: cliente FTP para subir y bajar archivos a servidores. Cheese: programa para la webcam. Audacity: editor de audio. Inkscape: herramienta de dibujo vectorial. Simple-scan: el nombre lo dice todo, para escanear. Simplescreenrecorder: programa simple para grabar lo que aparece en la pantalla. Pdfarranger es un programa para dividir, unir y reordenar páginas de PDFs. Calibre: es un programa que toda persona con ebook debe tener para gestionar su librería y lector. Redshift: control del brillo y temperatura de color de la pantalla según la hora para evitar fatiga visual por la luz azul. El paquete gtk añade un icono al panel para controlarlo y configurarlo.

Codecs

Estos paquetes deberían cubrir la mayoría de codecs para video y audio


1
2
$ dnf groupupdate multimedia --setop="install_weak_deps=False" --exclude=PackageKit-gstreamer-plugin<br>$ dnf groupupdate sound-and-video<br>$ dnf install rpmfusion-free-release-tainted
<span id="line-2-1" class="anchor"></span>$ dnf install libdvdcss

En cuanto a drivers para las gráficas, si es Intel, estará en el kernel de Fedora al haber hecho libres sus drivers. Para AMD o Nvidia es mejor consultar en Google para instalar los drivers privativos o los libres si existieran.

Aplicaciones Flatpak y Snap

Para añadir aplicaciones como Spotify, Telegram y otras muchas existe el ecosistema Flatpak que permite compartir aplicaciones muy fácilmente en varias distribuciones de Linux, para ello hemos de activarlo antes


1
2
<strong>$</strong> flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
$ flatpak install discord obsproject skype telegram signal riot zoom spotify zotero

Teamviewer

Juegos / Steam
Steam está disponible ya en los repositorios de Fedora y es tan simple como hacer

Virtualbox
Para emular otros sistemas operativos o por compatibildad de programas antiguos


1
$ dnf install steam

También hay juegos nativos como freeciv y la biblioteca de Gnome-games.

Aplicaciones de seguridad

En un paso anterior hemos instalado Riot o Signal que son plataformas d emensajería seguras, podemos instalar un generador y gestor de contraseñas como Keepass, gestores de llaves gpg (Kleopatra), limpiadores del sistema (Bleachbit) y navegadores seguros (Tor browser).

También existe un cliente para linux del gestor de certificados electrónicos de la FNMT (autofirma), que parece dar algún problema para guardar la ubicación del certificado en algunas distribuciones, así que suele ser común tener que cargarlo cada vez que se inicia.


1
$ dnf install keepassxc bleachbit torbrowser-launcher kleopatra

Usando Gnome-Tweak-Tools y sus extensiones.

Podemos arrancar Gnome Tweak desde el lanzador buscando Herramienta de retoques. En la primera pestaña (Apariencia) tenemos para seleccionar el tema, iconos, ratón…  Se pueden descargar decenas de recursos desde Gnome looks.

Si necesitáis que alguna aplicación se inicie con Fedora en la segunda pestaña podéis añadirla. En la tercera tenemos opciones para la barra superior como mostrar menú de aplicaciones o la fecha. La siguiente tiene opciones de energía, como por ejemplo el comportamiento al cerrar la tapa del portátil o pulsar el botón de encendido de la torre. En otra tenemos la opción que con Nautilus muestre iconos en el escritorio (pero con Nemo no hace falta ponerla)…

Tenemos más opciones como en ventana, donde elegir si aparecen o no botones para maximizar o minimizar, editar atajos de teclado, fuentes o las áreas de trabajo.

La parte interesante es la de las extensiones. Por ejemplo.

  • Alternatetab viene por defecto y nos muestra una previsualización de cada ventana cuando hacemos atl+tab para cambiar entre ella.
  • Applications menu y Places status indicator: añaden en la barra superior los menús de aplicaciones y lugares al estilo de los Gnome de hace tiempo.
  • Show desktop button: no viene de serie, pero está muy bien porque añade un botón en la barra superior para ocultar todas las ventanas de golpe.
  • Window-list: de serie, permite añadir una barra inferior donde aparecen todas las ventanas abiertas, estilo windows. Además, se puede elegir agrupar varias ventanas de la misma aplicación.
  • Si le damos a obtener más extensiones nos llevará a la página de plugins para Gnome, donde podemos instalarlos desde el navegador incluso según nuestro gusto o necesidades.

¿Y si no me gusta GNOME?

El sistema operativo funciona con muchos gestores para la interfaz. Además de GNOME tenemos KDE, el otro más usado. Tenemos XFCE, LXDE, Cinnamon… Todas las distribuciones tienen imágenes ISO de descarga con su sistema incorporando GNOME de serie, KDE, etc. La ventaja es que en Linux podemos grabar esa imagen en un pendrive, arrancar desde el mismo y utilizar el sistema que queremos con el “sabor” que queremos de prueba sin instalarlo. Prueba Fedora, prueba Ubuntu, elige el que mejor se te adapte. Lo mismo con GNOME o KDE.

En cualquier caso puedes instalar cualquier entorno nuevo con


1
$ dnf install @kde-desktop-environment

donde pone kde puedes poner xfce-desktop-environment, lxde-desktop-environment), cinnamon-desktop-environment etc. Puedes cambiar entre los distintos entornos en la pestaña de login con tu usuario, en la lista desplegable. También puedes cambiar el gestor de login, por defecto es GDM de Gnome, pero por ejemplo si instalas KDE te interesa usar LightDM o LXDM para LXDE. En cualquier caso puedes instalar como un paquete normal el gestor


1
$ dnf install kdm

Y para cambiar para la próxima vez que enciendas tu pc, con el que corresponda


1
2
$ systemctl disable gdm
$ systemctl enable lightdm

Programas de ciencia

Yo uso Linux por razones de trabajo así que mucho del software indispensable es dedicado a computación y cálculo e igual es interesante conocer las equivalencias o programas útiles en Linux.


1
$ dnf install octave wxMaxima R rstudio-desktop pspp python gnuplot step engauge-digitizer
  • Matlab y similares (cálculo numérico): Scilab, muy parecido. Octave se usa desde una terminal, pero existe Octave con interfaces qtOctave o GNUOctave que colocan una gui muy similar a Matlab.
  • Mathematica-Maple (cálculo simbólico): wxMaxima
  • Estadística: R (el paquete es R tal cual). También existe RStudio como gui que es indispensable y que aunque no viene en los repositorios en su web hay versiones para Linux (necesita R). PSPP y Jamovi (a través de flathub) son otro programa de análisis estadístico que imita al software SPSS, de pago.
  • Programación: Python. Python3 viene por defecto en Fedora 22. Es muy recomendable instalar el sistema Anaconda que nos permite tener hasta varias versiones de Python por separado, trae muchos paquetes como matplotlib para gráficas o numpy y scipy para tareas de cálculo y una gestión muy sencilla además de un framework de trabajo como Spyder o Jupyter
  • Gráficos: GNUPlot. Literalmente haz gráficas desde la terminal. Sencillo y directo.
  • Geogebra: programa didáctico de matemáticas y geometría (actualmente es más sencillo a través de flatpak, ya que tiene problemas al requerir bibliotecas obsoletas flatpak install flathub org.geogebra.GeoGebra).
  • Arduino: indispensable para programar placas Arduino  https://www.arduino.cc/en/Main/Software
  • Step es un simulador de sistemas basándose en la física, muy recomendable.
  • Tracker: es una herramienta de análisis de imágenes y permite estudiar cinemática a partir de vídeos y calcular y dibujar vectores, hacer tablas de variables… (usar el comando sudo xdg-user-dirs-update antes).
  • CMapTools: programa para realizar mapas conceptuales y diagramas similares.
  • Engauge Digitizer: es un programa que permite analizar gráficas en formato imagen, permitiendo calibrar los píxeles indicando los ejes de coordenadas sobre la imagen y tomar datos sobre la misma de forma muy precisa.
  • Zotero: gestor bibliográfico, a través de Snap

1
$ sudo snap install zotero-snap

Para instalar archivos bin, run o sh los podemos ejecutar directamente pero antes es necesario darle permiso y ejecutarlo con


1
$ chmod +x nombredelarchivo<br>$ ./nombredelarchivo

Por otro lado los archivos RPM se pueden instalar abriéndolos con el programa por defecto que será un gestor de paquetes y se instalaran como si los obtuviéramos de la aplicación de software de Gnome o KDE o bien con el comando


1
$ rpm +ivh nombredel.rpm

Por ejemplo, para programas de astronomía a nivel aficionado tenemos Stellarium y Cartes du ciel para tener un planisferio/efemérides etc. Siril es un editor de tomas de astrofotografía.


1
$ dnf install stellarium skychart siril phd2 virtualplanet

En programas de “oficina” tenemos Libreoffice, que es un paquete básico y para ciencia seguro que necesitamos escribir archivos TeX. Yo uso el programa texstudio, pero hay otro par de interfaces de programación en TeX como Kile que es nativo de KDE o Lyx que es tipo Office (what you see is what you get). Para que funcione la compilación en TeX es necesario los paquetes de texlive. En este caso cuando incorporemos paquetes en código TeX que no estén dentro de lo básico podemos instalarlos de la misma forma, ya que son siempre del estilo texlive-nombre del paquete


1
$ dnf install texstudio texlive-scheme-basic

Finalmente programas usados en astrofísica tenemos que recurrir ya a programas fuera de los repositorios, salvo que se haya instalado una distribución especializada que ya los contenga.

  • Topcat: en su web se puede descargar el archivo en java, se puede ejecutar directamente desde la terminal con java -jar rutaynombrequelepongas.jar o bien usar un script que trae para añadir topcat a la lista de comandos-
  • DS9: misma situación, se puede añadir a /usr/local/bin para que al usar ds9 en una terminal nos lo abra.
  • Aladin: este visor de catálogos funciona igual, con un java.
  • IRAF es el más complicado de instalar y por suerte los colegas de la universidad de Tohoku han escrito este maravilloso tutorial. La complicación proviene de ser un software desarrollado hace tiempo con lenguajes y entornos que no se usan hoy en día (y que nadie descifra).

Si estás comenzando a usar Linux igual te interesa esta tabla de referencia de comandos usuales y útiles

Apéndice

Hibernar

Para hibernar, si nos da problemas, debemos obtener información con el comando


1
$ swapon -s

Anotamos la dirección de la partición de intercambio, por ejemplo /dev/dm-0 y editamos /etc/default/grub añadiendo la siguiente opción a GRUB_CMDLINE_LINUX


1
GRUB_CMDLINE_LINUX="resume=/dev/dm-0"

y regenerando la configuración de grub.


1
2
3
$ grub2-mkconfig -o /etc/grub2.cfg
Si es UEFI la bios
$ grub2-mkconfig -o /etc/grub2-efi.cfg

Alias para comandos

Linux tiene la capacidad de dejar crear alias para comandos que ejecutamos en la terminal. Supongamos que usamos un comando o varios con una secuencia y opciones determinadas, para ahorrarnos tiempo podemos agruparlas en un comando común -un alias. Estos se almacenan en el archivo .bashrc en el directorio home de cada usuario, por ejemplo en mi portátil consulto la información de la batería recurriendo a varios comandos


1
alias battery='upower -i $(upower -e | grep 'BAT')'

O a actualizar en bloque el sistema y varias fuentes


1
alias upgrade='sudo dnf upgrade --refresh;flatpak update;conda update --all'

Publicado por Rafael

Graduado en Física y docente en Educación Secundaria. En el Máster en Formación del Profesorado comenzó en la investigación en la Didáctica de las Ciencias Experimentales. Cuenta con comunicaciones y artículos publicados sobre su trabajo predoctoral. Ha colaborado en diversas iniciativas de divulgación científica y astronomía aficionada.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.