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.
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:
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.
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!
Genial muchas gracias.
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.
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
Gracias, por tus aportes, nameless son bien recibidos! Dios o cualquier otra cosa en la que creas te bendiga!
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.
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.
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
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
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
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
Para Servidores deben ser netamente sin GUI, pero para usuarios deben ser con GUI para hacerlos amigables (User Friendly).