Instala la última versión de LibreOffice desde el Terminal usando Shell Scripting

En esta novena (9°) clase utilizaremos la aplicación de LibreOffice para estudiar un nuevo Script de Bash Shell y seguir practicando el maravilloso y practico lenguaje del Shell Scripting y así continuar con la serie del curso. En resumen, estudiaremos como mediante un Script podemos lograr una fácil instalación programada de la universalmente conocida Suite Ofimática para GNU/Linux llamada LibreOffice.

Shell Scripting

Antes un breve repaso de lo que es la Suite Ofimática para GNU/Linux LibreOffice:

LibreOffice es una poderosa suite de oficina; su interfaz limpia y sus potentes herramientas permiten dar rienda suelta a tu creatividad y hacer crecer tu productividad. LibreOffice incorpora varias aplicaciones que lo convierten en la más potente suite de oficina Libre y de Código Abierto del mercado: Writer, el procesador de textos, Calc, la hoja de cálculos, Impress, el editor de presentaciones, Draw, nuestra aplicación de dibujo y diagramas de flujo, Base, nuestra base de datos e interfaz con otras bases de datos, y Math para la edición de fórmulas matemática. Para mayor información oficial, haga clic Aquí, o en su pagina oficial haciendo clic en la imagen inferior:

LibreOffice

Como todos sabemos esencialmente la Suite Ofimática LibreOffice viene instalada por defecto en muchas de las Distribuciones GNU/Linux conocidas, aunque por lo general con un leve o acentuado retraso con respecto a la versión disponible en la web oficial. Solo muy pocas Distros que por lo general son Rolling Release, pueden darse el lujo de estar una versión por detrás o en la ultima liberada, sin embargo, con la ejecución de este practico script en menos de 3 minutos con los paquetes previamente descargados usted puede desinstalar la vieja versión y tener instalada la nueva.

Nota Importante: Yo personalmente recomiendo antes de ejecutar un script como este, es decir, que deba instalar paquetes .deb en vez de paquetes .tar.gz o en cualquier otro formato de compresión, realizar un pequeño mantenimiento preventivo y / o correctivo mas una actualización) del Sistema Operativo para evitar (prevenir) errores (problemas) de instalación causados por previos problemas de paquetería (dependencias) ya existentes!

Para esta labor puede apoyarse previamente en la lectura de esta guía dividida en 3 partes:

Guía Post Instalación DEBIAN 8 / 9 – 2016 – Parte I

Guía Post Instalación DEBIAN 8 / 9 – 2016 – Parte II

Guía Post Instalación DEBIAN 8 / 9 – 2016 – Parte III

Nota: A mí en lo personal me gusta mucho usar siempre cada versión liberada de cada paquete y software disponible, debido a mi gusto por el Testeo de aplicaciones y Deseo de innovación. Pero mayormente no es necesario, si su Distro cuenta con una versión muy cercana a la actual.

Recuerde que: La ventaja de estos scripts es que le permiten instalar y configurar aplicaciones sencillas y robustas, que por lo general no están en sus repositorios en sus ultimas versiones liberadas por sus creadores y en formatos no nativos para su Distro, como por ejemplo: .deb

A continuación el Script de Bash Shell:

=======================================


#!/bin/bash

#######################################################################
#               MI PAÍS - EMPRESA - ORGANIZACIÓN - GRUPO              #
# NOMBRE:
# VERSIÓN:
# TIPO DE PROGRAMA:
# FUNCIÓN:
# NOMBRE CÓDIGO:
# PAÍS ORIGEN:
# CREADO POR:
# EMAIL:
# NOMBRE FACEBOOK:
# PAGINA PERSONAL FACEBOOK:
# COMUNIDAD FACEBOOK:
# TWITTER:
# TELÉFONO:
# PROMOCIONADO POR:
# PAGINA WEB DEL PROYECTO:
# FECHA DE LANZAMIENTO DE LA PRIMERA VERSIÓN (1.0):
# FECHA DE LANZAMIENTO DE LA VERSIÓN ACTUAL (1.0+0): 
# FECHA DE ULTIMA ACTUALIZACIÓN: 
######################################################################


######################################################################
#
# SECCIÓN DONDE VAN INSERTOS LOS DERECHOS DE AUTOR
#
# Consúltela en:
#
# <http://www.gnu.org/licenses/>.
######################################################################


######################################################################
# INICIO DEL MODULO DE INSTALACIÓN DE LIBREOFFICE                                       
######################################################################

USER_NAME=`cat /etc/passwd | grep 1000 | cut -d: -f1`

HOME_USER_NAME=/home/$USER_NAME

cd $HOME_USER_NAME

clear

#####################################################################

echo "  Introduzca el numero de Versión de LIBREOFFICE que desea instalar (Ejemplo: 4.4.7, 5.0.4): "

read NUM_VER
NV=${NUM_VER}

echo ""
echo ""

echo "  Introduzca el numero de Sub-versión de LIBREOFFICE que desea instalar (Ejemplo: 2, 5, 8): "

read NUM_VER2
NV2=${NUM_VER2}

echo ""
echo ""

echo "  Introduzca el Tipo de Arquitectura del Paquete LIBREOFFICE (Ejemplo, 1 para 32 Bit y 2 para 64 Bit): "

read T_ARQ
ARQ_PC=${T_ARQ}

if [ "$ARQ_PC" = "1" ]; then
   ARQ=x86
  else
   ARQ=x86-64
   ARQ2=x86_64
fi

sleep 5

echo ""
echo ""
echo " CONFIRME QUE ESTE ES EL PAQUETE LIBREOFFICE QUE COLOCO PARA SU INSTALACIÓN"
echo ""
echo ""
echo " $NV - $ARQ "
echo ""
echo ""
echo " EN CASO DE NO SER CIERTO, CANCELE EL PROCESO CON CTRL+C, DE LO CONTRARIO"
echo " ESPERE 15 SEGUNDOS MIENTRAS EL PROGRAMA CONTINUA EL PROCESO DE INSTALACIÓN."
echo ""
echo ""

sleep 15


# ELIMINACIÓN DE LIBREOFFICE

aptitude remove --purge libreoffice-core -y

aptitude remove --purge libreoffice-common -y

aptitude remove --purge libreoffice-style-galaxy -y

aptitude remove --purge libreoffice-style-tango -y

aptitude remove --purge libreoffice-dic-es-ve -y

aptitude remove --purge libreoffice-debian-menus -y

aptitude remove --purge libreoffice4.0 -y

aptitude remove --purge libreoffice4.1 -y

aptitude remove --purge libreoffice4.2 -y

aptitude remove --purge libreoffice4.3 -y

aptitude remove --purge libreoffice4.4 -y

aptitude remove --purge libreoffice5.0 -y

aptitude remove --purge libreoffice4.0-ure -y

aptitude remove --purge libreoffice4.1-ure -y

aptitude remove --purge libreoffice4.2-ure -y

aptitude remove --purge libreoffice4.3-ure -y

aptitude remove --purge libreoffice4.4-ure -y

aptitude remove --purge libreoffice5.0-ure -y


# ELIMINACIÓN DE PAQUETES ADICIONALES PARA LIBREOFFICE

aptitude remove --purge openclipart-libreoffice -y

aptitude remove --purge openclipart2-libreoffice -y


# CORRIGIENDO ERRORES DE POST-DESINSTALACIÓN

aptitude install -f -y

dpkg --configure -a

aptitude remove

aptitude purge

aptitude clean

aptitude autoclean


# DESCARGANDO VERSIÓN ACTUAL DE LIBREOFFICE

# export http_proxy=http://192.168.3.250:8080
# export no_proxy="127.0.0.1, localhost, 192.168.0.0/22, tu_institucion.gob.ve:8080"

# wget http://download.documentfoundation.org/libreoffice/stable/$NV/deb/$ARQ2/LibreOffice_$NV_Linux_$ARQ_deb.tar.gz
# wget http://download.documentfoundation.org/libreoffice/stable/$NV/deb/$ARQ2/LibreOffice_$NV_Linux_$ARQ_deb_langpack_es.tar.gz
# wget http://download.documentfoundation.org/libreoffice/stable/$NV/deb/$ARQ2/LibreOffice_$NV_Linux_$ARQ_deb_helppack_es.tar.gz

# Nota: Puede descargar manualmente los archivos desde la URL http://download.documentfoundation.org/libreoffice/stable
# Y la Subversión actual (26/01/2016) de LibreOffice es la: 2. Puede conocerla al visualizar el contenido del paquete tar.gz descargado. 

cp LibreOffice_"$NV"_Linux_"$ARQ"_deb.tar.gz /opt
cp LibreOffice_"$NV"_Linux_"$ARQ"_deb_langpack_es.tar.gz /opt
cp LibreOffice_"$NV"_Linux_"$ARQ"_deb_helppack_es.tar.gz /opt
cp dict-es_ve.oxt /opt

cd /opt


# DESCOMPRIMIENDO VERSIÓN ACTUAL DE LIBREOFFICE

tar -zxvf LibreOffice_"$NV"_Linux_"$ARQ"_deb.tar.gz
tar -zxvf LibreOffice_"$NV"_Linux_"$ARQ"_deb_langpack_es.tar.gz
tar -zxvf LibreOffice_"$NV"_Linux_"$ARQ"_deb_helppack_es.tar.gz


# INSTALANDO VERSIÓN ACTUAL DE LIBREOFFICE

cd LibreOffice_"$NV"."$NV2"_Linux_"$ARQ"_deb/DEBS/
dpkg -i *.deb


# INSTALANDO VERSIÓN ACTUAL DE LA INTERFACE DE USUARIO EN ESPAÑOL PARA LIBREOFFICE

cd ../..
cd LibreOffice_"$NV"."$NV2"_Linux_"$ARQ"_deb_langpack_es/DEBS/
dpkg -i *.deb


# INSTALANDO VERSIÓN ACTUAL DE LA AYUDA EN ESPAÑOL PARA LIBREOFFICE

cd ../..
cd LibreOffice_"$NV"."$NV2"_Linux_"$ARQ"_deb_helppack_es/DEBS/
dpkg -i *.deb

cd ../..


# ELIMINACIÓN ARCHIVOS DE INSTALACIÓN DE LIBREOFFICE

rm -r LibreOffice_4.*
rm -r LibreOffice_5.*
rm -f dict-es_ve.oxt

cd $HOME_USER_NAME

rm -r LibreOffice_4.*
rm -r LibreOffice_5.*
rm -f dict-es_ve.oxt

# INSTALACIÓN DE PAQUETES ADICIONALES PARA LIBREOFFICE

clear

cd /opt

# wget -c http://extensions.libreoffice.org/extension-center/diccionarios-en-espanol-para-venezuela-hecho-en-venezuela/releases/1.1.11/dict-es_ve.oxt

su - $USER_NAME -c "libreoffice5.0 dict-es_ve.oxt" &

cd $HOME_USER_NAME

sleep 15

su - $USER_NAME -c "xdg-open 'https://es.libreoffice.org/'" &

clear

echo ''
echo ''
echo '#--------------------------------------------------------------#'
echo '# GRACIAS POR USAR EL LINUX POST INSTALL - LIBREOFFICE         #'
echo '#--------------------------------------------------------------#'
echo ''
echo ''

sleep 3

######################################################################
# FINAL DEL MODULO DE INSTALACIÓN DE LIBREOFFICE                                   
######################################################################

 =======================================

Recuerde que en caso de crear un Script (Ejemplo: mi-script-libreoffice.sh) con este código, le recomiendo descargar manualmente los archivos de LibreOffice actualizados manualmente, por lo que debe mantener comentadas las lineas de descargas de wget, y coloque el mismo en la ruta /home/mi_usuario junto con los archivos .deb descargados de LibreOffice y ejecútelo con la orden de comando $ bash mi-script-libreoffice.sh . Y en menos de 3 minutos tendrá todo funcional. Luego de esto ya puede usar su nueva y flamante Suite Ofimática LibreOffice.

Hasta la próxima publicación, que será agregar nuevas fuentes (fonts) extras (privativas y libres) al Sistema Operativo y LibreOffice. Mientras los dejo con esta nueva publicación y emocionante tarea de análisis e investigación.

TUTORIAL DEL PROCESO

Área de trabajo 1_000

Carpeta personal_002

Terminal_001

Terminal_005

Terminal_006

Terminal_007

Terminal_008

Terminal_009

Terminal_010

Terminal_011

Terminal_012

Terminal_013

Terminal_014

Terminal_015

Terminal_016

Terminal_017

Terminal_018

Terminal_020

Terminal_021

Área de trabajo 1_001

Área de trabajo 1_002

Área de trabajo 1_003

Área de trabajo 1_004

Área de trabajo 1_005

Área de trabajo 1_007

Área de trabajo 1_006


12 comentarios, deja el tuyo

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   Dayane Qu dijo

    Hola que tal, vengo a molestar!
    He instalado paso a paso y funciona, desde emacs tenia un problema y ya venia a reclamar pero ha sido un error mio (omiti una linea con el wget, para descargar idiomas o algo asi).
    Excelente, creo que puede entenderse perfecto sea iniciado o veterano de GNU/Linux.
    Por favor, sean libres. Recuerden que es menos malo robar comida que usar software privativo, vulnera tu libertad. Ofrecer estos privativos es como ofrecer tabaco, drogas, causa vicio. Debe erradicarse esta practica.
    Saludos!

  2.   HO2Gi dijo

    Genial muchas gracias.

  3.   Ing. Jose Albert dijo

    Me alegro que les guste, las proximas publicaciones viene para agregar las fuentes (fonts) a libreoffice, Telegram Desktop, PopCorn-Time y muchas otras cosas como owncloud, teamviewer, etc.

  4.   nameless dijo

    USER_NAME=cat /etc/passwd | grep 1000 | cut -d: -f1

    Siempre la misma forma para obtener el UID en todos los «scripts»?
    ademas el backtick es muy viejo es mejor usar $()

    id -u
    id | awk ‘{print $1}’ | cut -c5-8
    echo $UID
    getent passwd $USER | cut -d: -f3
    getent passwd | awk -F: ‘$3 == 1000 { print $3 }’
    for i in $(who | cut -c1-8); do grep $i /etc/passwd| awk ‘{print «\t» $1}’|tr -d ‘[A-Za-z]’| sed ‘s/::x*//’| cut -c1-5; done

    Usar aptitude sin validar root?
    [[ $EUID -ne 0 ]]

    echo » Introduzca el Tipo de Arquitectura…..»
    read -p «Introduzca el Tipo de Arquitectura…..» T_ARQ

    CANCELE EL PROCESO CON CTRL+C??? que es esto? jamas he visto un script con algo similar
    read -p «cancelar? y/n » op
    [[ $op == «y» || $op == «Y» ]] && exit || read -p «coninuar con el script» && ejecutar_algo

    vamos que lo único que veo acá es un texto plano, no veo nada de shell scripting

  5.   Ing. Jose Albert dijo

    Gracias, por tus aportes, nameless son bien recibidos! Dios o cualquier otra cosa en la que creas te bendiga!

    1.    nameless dijo

      Su humildad me encanto, lo felicito 🙂 , no soy un master en scripting, pero si soy un poco hater de seguro puede venir alguien con más conocimientos y se puede aprender. Saludos.

  6.   Ing. Jose Albert dijo

    Yo tampoco soy un master, un jedi o un hacker nerd superdotado en las artes del shell scripting. Ciertamente lo que he escrito aquí es solo una fracción de lo que se o puedo aprender, o enseñar.

    Y precisamente estos tutoriales sobre shell scripting que estoy realizando son con ordenes de comando Muy sencillas y comandos muy basicos para que esos usuarios puedan entender lo escrito y preguntarse como puedo mejorarlo, para qie se ejecute desde cualquier ruta, validando que solo lo corra el superusuario, o X usuario, o como puedo que me mande una alerta visual o sonica, o me abra un archivo de x tipo cuando termine, o como puedo simplificar 2 o mas lineas en menos codigo!

    Si yo les hago todo perfecto, avanzado y superoptimizado, solo pocos entenndidos entenderian y casi nadie me leeria.

    En fin, esto es para usuarios de escritorio que quieren saber y saben poco, es decir, iniciarse!

    Sin embargo, pronto prometo subir uno avanzado que cree, que explora un segmento de red y te da un informe de cada host detectado, es como un hydra ddesde el terminal.

  7.   Ing. Jose Albert dijo

    Saludos Nameless y todos aquellos que van siguiendo el Curso Online de «Aprender Shell Scripting» pronto continuaremos con otros básicos script para seguir apropiándonos del conocimiento y seguir socializando el mismo a todos.

    Espero, que sigan atentos porque pronto empezare con códigos más avanzados pero expuestos de forma que sean visualmente entendibles a pesar de su complejidad.

    Recuerden que con el Shell Scripting se pueden hacer muchas cosas complejas que sean multi-plataformas (Distros Diferentes) usando archivos muy pequeños. Les dejaré este pequeño screencast de algo que pronto les enseñaré, a los que sigan viendo el curso, y que con solo 50Kb promete bastante! Y no es sino la mitad de lo que se puede hacer con Shell Scripting.

    ScreenCast de Testeo del LPI-SB8 (LINUX POST INSTALL – SCRIPT BICENTENARIO 8.0.0)
    (lpi_sb8_adecuación-audiovisual_2016.sh / 43Kb)

    Ver Screencast: https://www.youtube.com/watch?v=cWpVQcbgCyY

    1.    nameless dijo

      Se ve algo interesante pero la verdad no me gusta nada con interfaces graficas, te dejo un script para administrar usuarios que termine hace poco, para CentOS y tbm probado en Arch y otro en perl para administrar paquetes con pacman.

      Users https://www.youtube.com/watch?v=LIIbGYIe_0E
      Pacman https://www.youtube.com/watch?v=-3x8x0DFntg

      Este último lo he ido modificando para hacerlo más perfecto, ya llevo 10 opciones.
      imgur. com/N9GYvJL .png

      Saludos

    2.    nameless dijo

      Se ve algo interesante pero la verdad no me gusta nada con interfaces graficas, te dejo un script para administrar usuarios que termine hace poco, para CentOS y tbm probado en Arch y otro en perl para administrar paquetes con pacman.
      Tengo varios scripts y siempre me divierto haciendo. Algunos para instalar DHCP , DNS ,FTP etc.

      Users https://www.youtube.com/watch?v=LIIbGYIe_0E
      Pacman https://www.youtube.com/watch?v=-3x8x0DFntg

      Este último lo he ido modificando para hacerlo más perfecto, ya llevo 10 opciones.
      imgur. com/N9GYvJL .png

      Saludos

    3.    nameless dijo

      Se ve algo interesante pero la verdad no me gusta nada con interfaces graficas, te dejo un script para administrar usuarios que termine hace poco, para CentOS y tbm probado en Arch y otro en perl para administrar paquetes con pacman.
      Tengo varios scripts y siempre me divierto haciendo. Algunos para instalar DHCP , DNS ,FTP etc.

      Users youtube. com/w atch?v=LIIbGYIe_0E
      Pacman youtube. com/wa tch?v=-3x8x0DFntg

      Este último lo he ido modificando para hacerlo más perfecto, ya llevo 10 opciones.
      imgur. com/N9GYvJL .png

      Saludos

  8.   Ing. Jose Albert dijo

    Para Servidores deben ser netamente sin GUI, pero para usuarios deben ser con GUI para hacerlos amigables (User Friendly).