Instalación de sistemas para I1M 2018-19

Índice

1 Instalación de Lubuntu

1.1 Copiar la imagen

cd /tmp
wget http://cdimage.ubuntu.com/lubuntu/releases/18.04/release/lubuntu-18.04-alternate-amd64.iso

  • Formatear la memoria USB:
    • Insertar la memoria USB.
    • En "Lugares -> Equipo" hacer click derecho sobre la memoria Usb y seleccionar "Formatear".
    • En Tipo -> seleccionar "compatible con todos los sitemas (FAT).
  • Abrimos el "Creador de discos de Inicio USB
    • En "cd o imagen (.iso) de origen", pulsar en "Otro" y seleccionar la .iso
    • En "Disco a usar" detecta la memoria USB.
    • Pulsar "Crear Disco de Inicio

1.2 Instalación desde el lápiz

  • Arrancar pulsando F2 para poner en el boot de la BIOS que empiece con la USB (poniendo como primera opción UEFI).

1.3 Actualizaciones

  • Actualizar soporte de idiomas.
  • Ejecutar el administrador de actualizaciones:
sudo apt-get update
sudo apt-get upgrade

2 Instalación de Emacs

2.1 Instalar con Synaptic

  • emacs: GNU Emacs editor (metapackage)
  • emacs25: GNU Emacs editor (with GTK+ GUI support)

2.2 Configurar Emacs

  • En inicio,
    • seleccionar "Programación/GNU emacs 25 (GUI)"
    • pulsar botón derecho
    • seleccionar "Propiedades"
    • seleccionar la pestaña "Entrada de escritorio"
    • En "Orden", escribir

      /usr/bin/emacs -fn "Liberation Mono" --maximized %F
      
      
  • En ~/.emacs escribir
;;; Uso de paquetes
(require 'package)

(setq package-archives
      '(("gnu"          . "http://elpa.gnu.org/packages/")
        ("marmalade"    . "http://marmalade-repo.org/packages/")
        ("melpa-stable" . "https://stable.melpa.org/packages/")
        ))

(package-initialize)

;;; Permite buscar en la historia
(setq comint-history-isearch t)

;;; Suprime el mensaje inicial:
(setq inhibit-startup-message t)

;;; No hace sangrado con tabuladores:
(setq-default indent-tabs-mode nil)

;;; Permite la evaluación de expresiones en el mini-buffer:
(put 'eval-expression 'disabled nil)    ; M-:

;;; Escribe 79 caracteres por línea:
(setq-default fill-column 79)

;;; No hace copias de seguridad:
(setq backup-inhibited t)

;;; Envía los fichero borrados a la papelera:
(setq delete-by-moving-to-trash t)

;;; Añade una nueva línea al final del fichero
(setq require-final-newline t)

;;; Muestra en la línea del modo la fila y columna del cursor.
(column-number-mode 1)   ; en prueba

;;; Completaciones
(dynamic-completion-mode)

;;; Por defecto, en dired no escribe el grupo:
(setq dired-listing-switches "-alGv")

;;; Para poner acentos
(require 'iso-transl)

;;; Para mostrar paréntesis
(show-paren-mode)

;;; Elimina los ecos en la shell
(setq comint-process-echoes t)

;;; Portapapeles
;;; ------------
(menu-bar-enable-clipboard)
(setq x-select-enable-clipboard t)

;;; Pone una región en minúscula
(put 'downcase-region 'disabled nil)

;;; Haskell
;;; =======

(eval-after-load "haskell-mode"
  '(progn
    (define-key haskell-mode-map (kbd "C-x C-d") nil)
    (define-key haskell-mode-map (kbd "C-c C-z") 'haskell-interactive-switch)
    (define-key haskell-mode-map (kbd "C-c C-l") 'haskell-process-load-file)
    (define-key haskell-mode-map (kbd "C-c C-b") 'haskell-interactive-switch)
    (define-key haskell-mode-map (kbd "C-c C-t") 'haskell-process-do-type)
    (define-key haskell-mode-map (kbd "C-c C-i") 'haskell-process-do-info)
    (define-key haskell-mode-map (kbd "C-c M-.") nil)
    (define-key haskell-mode-map (kbd "C-c C-d") nil)))


(add-hook 'haskell-mode-hook 
          '(lambda ()
             (turn-on-auto-fill)
             (setq fill-column 79
                   haskell-process-show-debug-tips nil
                   haskell-ask-also-kill-buffer nil
                   haskell-process-suggest-language-pragmas nil
                   haskell-process-suggest-no-warn-orphans nil
                   haskell-process-suggest-overloaded-strings nil
                   )
             ))        

;;; Maxima
;;; ======

(autoload 'maxima-mode "maxima" "Maxima mode" t)

(autoload 'imaxima "imaxima" "Frontend for maxima with Image support" t)

(autoload 'maxima "maxima" "Maxima interaction" t)

(autoload 'imath-mode "imath" "Imath mode for math formula input" t)

(setq imaxima-use-maxima-mode-flag t)

(add-to-list 'auto-mode-alist '("\\.ma[cx]" . maxima-mode))

(add-hook 'maxima-mode-hook 
          '(lambda ()
             (turn-on-auto-fill)
             (setq fill-column 79)
             ))

;;; Variables de configuración
;;; ==========================

(custom-set-variables
 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 )

(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(default ((t (:family "Liberation Mono"
                :foundry "1ASC"
                :slant normal
                :weight normal
                :height 180
                :width normal)))))

3 Instalación de Gnuplot

  • Instalar con Synaptic
    • gnuplot: Command-line driven interactive plotting program

4 Instalación de Haskell

4.1 Desinstalar versiones anteriores

  • Buscar los paquetes instalados de Haskell
dpkg --list | grep Haskell

  • Desinstalar los paquetes instalados de Haskell
sudo apt-get --purge remove alex cabal-install doctest ghc happy haskell-platform haskell-stack hlint hscolour
sudo apt autoremove

  • Comprobar que todos los paquetes de Haskell se han borrado
dpkg --list | grep Haskell

4.2 Instalar ghc

sudo apt-get install ghc
sudo apt-get remove ghc

4.3 Instalar la plataforma Haskell

cd /tmp
wget https://haskell.org/platform/download/8.4.3/haskell-platform-8.4.3-unknown-posix--core-x86_64.tar.gz
tar xf haskell-platform-8.4.3-unknown-posix--core-x86_64.tar.gz
sudo ./install-haskell-platform.sh

  • Instalar el modo Haskell de Emacs
sudo apt-get install haskell-mode

5 Instalación de las librerías usadas en I1M

  • Borrar las librerías de Haskell
rm -rf ~/.cabal ~/.ghc 

  • Actualizar cabal
cabal update

Crea el directorio ~/.cabal

  • Instalar las librerías usadas en I1M
cabal install gnuplot matrix primes QuickCheck vector   

Las librerías se instalan en ~/.cabal/lib/x86_64-linux-ghc-8.4.3 y en ~/.ghc/x86_64-linux-ghc-8.4.3

6 Instalación de la librería de I1M

  • Instalar la librería de I1M
cd /tmp
wget http://github.com/jaalonso/I1M/archive/master.zip .
unzip master.zip
cd I1M-master
cabal install I1M.cabal

Se instala I1M-17.9.10.0 en ~/.cabal/lib/x86_64-linux-ghc-8.4.3

7 Instalación de Maxima

  • Instalar con Synaptic
    • maxima: Computer algebra system
    • maxima-emacs: Computer algebra system – emacs interface
    • maxima-src: Computer algebra system – source code
    • maxima-test: Computer algebra system – test suite
    • wxmaxima: GUI for the computer algebra system Maxima

8 Instalación de Isabelle

  • Cambiar al directorio lib:
cd /usr/local/lib

  • Importar y descomprimir Isabelle2017
sudo su
wget -nd http://www.cl.cam.ac.uk/research/hvg/Isabelle/dist/Isabelle2017_app.tar.gz
tar xfz Isabelle2017_app.tar.gz
rm Isabelle2017_app.tar.gz

Crea el directorio Isabelle2017

  • Enlazar el directorio Isabelle2017 a Isabelle
ln -s Isabelle2017 Isabelle

  • Enlazar los ficheros de Isabelle/bin a /usr/local/bin
ln -s /usr/local/lib/Isabelle/bin/* /usr/local/bin  

  • Probar Isabelle:
exit
cd 
isabelle jedit

Genera las teorías

  • Crear un lanzador:

    • Crear el fichero isabelle.desktop ejecutando en una terminal
    sudo emacs /usr/share/applications/isabelle.desktop 
    
    
    • En el fichero isabelle.desktop escribir
    [Desktop Entry]
    Name=Isabelle
    Comment=Isabelle
    Exec=/usr/local/bin/isabelle jedit
    Icon=/usr/local/lib/Isabelle/lib/logo/isabelle_hol.gif
    Terminal=false
    Type=Application
    Categories=Utility;Development;
    
    

    Aparece en el botón de inicio en la sección "Programación"

9 Lanzadores

  • Se puede añadir al escritorio lanzadores de las aplicaciones del botón de inicio seleccionándolas y pulsando el botón derecho y elegir "Añadir al escritorio".

José A. Alonso

2018-06-19 mar 07:07