Cómo aprender Shell Scripting instalando Mozilla Firefox

En esta sexta (6°) entrega en desdelinux.net de la serie “Aprender Shell Scripting” estudiaremos un Script de Bash Shell que nos permita automatizar la operación de instalar el famoso y útil navegador de internet Mozilla Firefox, a la vez que aprendemos sobre comandos, variables, rutas, enlaces simbólicos, creación de accesos directos en menús y escritorios, y descargas de complementos como idiomas regionales vía terminal.

Shell Scripting

Como ya sabemos muchos, la mayoría de las Distribuciones GNU/Linux basadas en DEBIAN / Ubuntu ya traen por defecto instalado un Navegador basado en Mozilla Firefox (tal como Iceweasel) o el mismísimo Mozilla Firefox, aunque muy probablemente una versión 2 y hasta 10 números más antigua que la actual disponible en la pagina web del Portal de Mozilla, y como ya sabemos a veces esto puede no satisfacer nuestros requerimientos para una labor de trabajo o investigación de alta prioridad.

Recordemos que Mozilla Firefox es el Navegador web gratuito de la Fundación Mozilla que nos permite navegar por Internet de forma segura y rápida. Y la Fundación Mozilla es una organización sin fines de lucro creadora de todos los productos de marca Mozilla.

Además, Mozilla Firefox a parte de ser más rápido y seguro, que la mayoría de los demás es un navegador completamente personalizable.

Y para que instalar Mozilla Firefox en su ultima versión?

Mozilla Firefox es un Navegador bandera, emblemático, en cuanto a los cambios y tendencias de navegación y visualización de la Web, es decir, cada aproximadamente 3 meses implementa notables cambios en su interfaz de usuario, tecnología compatible aplicada en nuevos sitios web y complementos aplicados para facilitar la navegación misma. Por ende, para muchos es beneficioso para probar desarrollos de aplicaciones basados en lenguajes modernos, o poder visualizar los más modernos sitios web de forma funcional y segura. En resumen, es muy útil para los programadores  y usuarios con mucha experticia. Y ha veces para un usuario normal o básico, para cosas sencillas como un Juego online moderno o para usuarios medianos o avanzados para cosas como Sitios Web con muchas implementaciones de seguridad o especiales micro-aplicaciones embebidas como applets de Java. Por lo tanto, es recomendable tenerlo lo mas actualizado posible para no perdernos una buena parte de la web.

Por lo tanto, contar con la ultima versión de Mozilla Firefox o uno bien actualizado basado en él, como Iceweasel, no puede faltar en Sistema Operativo GNU/Linux en general!

Usted puede instalar Mozilla Firefox, por ejemplo, si usa una Distribución Ubuntu o basada en ella agregando los Repositorios PPA de UMST (Ubuntu Mozilla Security Team) mediante las ordenes de comandos:

add-apt-repository ppa:ubuntu-mozilla-security/ppa
apt-get update
apt-get upgrade
En caso, de que no lo tenga instalado, busque el nombre del paquete con la orden de comando:
sudo apt search firefox
sudo apt install nombre_paquete

Si usa una Distribución DEBIAN o basada en ella agregando los Repositorios Oficiales de Linux DEBIAN Mint Edition mediante las ordenes de comandos:


#####################################################################
# REPOSITORIOS OFICIALES DE LMDE BETSY
# deb http://packages.linuxmint.com/ rafaela main upstream import backport # romeo
# deb http://packages.linuxmint.com/ debian main upstream import backport # romeo
deb http://packages.linuxmint.com/ betsy main upstream import backport # romeo
deb http://extra.linuxmint.com betsy main
#
#####################################################################
aptitude update ; aptitude install linuxmint-keyring ; aptitude update ; aptitude install firefox firefox-l10n-es

O puede actualizar el Navegador Iceweasel de su Distro agregando los repositorios oficiales de Iceweasel y ejecutando las lineas de comando siguiente:

####################################################################
# REPOSITORIOS OFICIALES PARA ICEWEASEL
deb http://mozilla.debian.net/ jessie-backports iceweasel-release
#
#####################################################################
aptitude update ; aptitude install pkg-mozilla-archive-keyring ; aptitude update ; aptitude upgrade

En caso de que no lo tenga instalado:

aptitude install iceweasel iceweasel-l10n-es-es

Observación: Esta publicación no tiene como finalidad recomendar la instalación y uso de “Mozilla Firefox” sino demostrar como usar Shell Scripting para reproducir el proceso que se realiza ocultamente cuando se instala, es decir, hacer reingeniería inversa del proceso automatizado que se realiza cuando lo instalamos vía repositorio. Esto siempre es útil para entender plenamente como se instala una aplicación, paquete, software en un Sistema Operativo Libre, como GNU/Linux.

A continuación el contenido a insertar en el Script de Bash Shell o que deberá ser ejecutado manualmente para tal fin:


#!/bin/bash
#####################################################################
# MI PAÍS DE ORIGEN
#
# 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:
# FECHA DE LANZAMIENTO DE LA PRIMERA VERSIÓN (X.X):
# FECHA DE LANZAMIENTO DE LA VERSIÓN ACTUAL (X.X+X):
# FECHA DE ULTIMA ACTUALIZACIÓN: 24/01/2016
#####################################################################

#####################################################################
#
# Derechos de autor:
#
# Copyleft (C) 2015 Mi Nombre
#
# Licenciamiento:
#
# El Linux Post Install – Mozilla Firefox no viene con ninguna garantía. El
# Autor no se hace responsable si se al aplicarse el Sistema Operativo se
# corrompe, daña o inutiliza.
#
# El Linux Post Install – Mozilla Firefox es una aplicación de Software
# Libre, por lo tanto usted puede redistribuirlo y / o modificarlo bajo los
# términos de la Licencia Pública General de GNU publicada por la Free Software
# Foundation, ya sea la versión 3 o cualquier versión posterior, según sea de su
# preferencia.
#
# Este programa se distribuye con la esperanza de que sea útil, pero SIN NINGUNA
# GARANTÍA, incluso sin la garantía implícita de COMERCIALIZACIÓN o IDONEIDAD
# para un propósito particular. Vea la Licencia Pública General de GNU para más
# detalles.
#
# Procure obtener una copia de la Licencia Pública General de GNU para estar al
# tanto sobre lo estipulado por la misma.
#
# Consúltela en:
#
# <http://www.gnu.org/licenses/>.
######################################################################

######################################################################
# INICIO DEL MODULO DE MOZILLA FIREFOX
######################################################################
USER_NAME=`cat /etc/passwd | grep 1000 | cut -d: -f1`

HOME_USER_NAME=/home/$USER_NAME

cd $HOME_USER_NAME

rm -rf /opt/firefox*

rm -f /usr/bin/firefox*

rm -rf /usr/bin/firefox*

rm -f $HOME_USER_NAME/Escritorio/firefox.desktop

rm -f $HOME_USER_NAME/Desktop/firefox.desktop

rm -f $HOME_USER_NAME/.local/share/applications/firefox.desktop

rm -f /usr/share/applications/firefox.desktop

update-menus

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

# wget -c https://download-installer.cdn.mozilla.net/pub/firefox/releases/latest/linux-i686/es-ES/firefox-43.0.4.tar.bz2

# wget -c https://download-installer.cdn.mozilla.net/pub/firefox/releases/latest/linux-x86_64/es-ES/firefox-43.0.4.tar.bz2

# wget -c https://addons.mozilla.org/firefox/downloads/latest/11356/addon-11356-latest.xpi?src=dp-btn-primary
# mv addon-11356-latest.xpi?src=dp-btn-primary diccionario_en_espanol_para_venezuela-1.1.17-sm+an+tb+fn+fx.xpi

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

tar xvjf *firefox*.tar.bz2

mv -f firefox /opt/firefox

ln -f -s /opt/firefox/firefox /usr/bin/firefox

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

echo '
[Desktop Entry]
Name=Mozilla Firefox
GenericName=Web Browser
GenericName[es]=Navegador web
Comment=Navegador de Internet
Exec=/opt/firefox/firefox
Icon=/opt/firefox/browser/chrome/icons/default/default32.png
Terminal=false
Type=Application
Encoding=UTF-8
Categories=Network;Application;
MimeType=x-scheme-handler/mozilla;
X-KDE-Protocols=mozilla
' > /opt/firefox/firefox.desktop

chown $USER_NAME:$USER_NAME -R /opt/firefox/

chmod 755 /opt/firefox/firefox.desktop

ln -s /opt/firefox/firefox.desktop $HOME_USER_NAME/Escritorio/firefox.desktop

chmod +x $HOME_USER_NAME/Escritorio/firefox.desktop

ln -s /opt/firefox/firefox.desktop $HOME_USER_NAME/Desktop/firefox.desktop

chmod +x $HOME_USER_NAME/Desktop/firefox.desktop

ln -s /opt/firefox/firefox.desktop $HOME_USER_NAME/.local/share/applications/firefox.desktop

ln -s /opt/firefox/firefox.desktop /usr/share/applications/firefox.desktop

su - $USER_NAME -c "firefox https://addons.mozilla.org/firefox/downloads/latest/11356/addon-11356-latest.xpi?src=dp-btn-primary" &

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

rm -f $HOME_USER_NAME/firefox*.*

rm -f $HOME_USER_NAME/.xpi

clear

su - $USER_NAME -c "xdg-open 'http://www.mi-pagina-de-prueba.com/'" &

clear

echo ''
echo ''
echo '#--------------------------------------------------------------#'
echo '#GRACIAS POR USAR ESTE SCRIPT DE INSTALACIÓN DE MOZILLA FIREFOX#'
echo '#--------------------------------------------------------------#'
echo ''
echo ''

sleep 3

######################################################################
# FINAL DEL MODULO DE MOZILLA FIREFOX
######################################################################

Nota: Yo personalmente uso Mozilla Firefox instalado de los Repositorio de Linux Mint DEBIAN Edition (LMDE) 2 o Iceweasel desde los repositorios oficiales del proyecto.

En caso de crear un Script (Ejemplo: mi-script-firefox.sh) con este código, le recomiendo descargar manualmente el archivo de Mozilla Firefox actualizado 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 el archivo tar.gz de Mozilla Firefox descargado y ejecútelo con la orden de comando $ bash mi-script-firefox.sh . Y en menos de 30 segundos tendrá todo funcional. Luego de esto ya puede navegar cualquier Sitio web con la versión elegida por usted de su Navegador Mozilla Firefox.

Recuerden, la idea es comprender como funciona cada linea por linea, comando por comando, variable por variable, para entender y aprender Shell Scripting. Así que con esta nueva publicación les dejo una nueva y emocionante tarea de investigación.

14 COMENTARIOS

  1. Buen titulo y contenido de primera, has tomado en cuenta las opiniones de los humildes usuarios del blog 😉
    No se ustedes pero la pasaria genial escribiendo cada comando que generando el script sh que sugiere al final del articulo o descargando y dando doble clic al puro estilo Canonical, Inc. Spy-buntu o Malware Windows 10 Big Brother edition.
    Saludos!

  2. Gracias? Son los nombres de esos negocios, creo.
    Soy mexicana. Excelentes articulos, nutriendo el mundo del software libre.
    Saludos!

  3. Ángel, si no es el 1000 seguramente es el 1001. Reemplaza el ultimo dígito y ya!

    Cualquier cosa, verifica manualmente la salida de la lectura de tu archivo de usuarios creados con la orden de comando: cat /etc/passwd.

  4. Carlos, para no entrar en polémica con tu pregunta en esta entrada, mi próxima publicación seŕa para aclarar tu duda y ahí podremos conversar. Se llamará: Shell, Bash y Scripts: Todo sobre Shell Scripting.

    Espero eso aclaré tus interrogantes al respecto! Y luego continuaré con “Como instalar automáticamente la ultima versión de LibreOffice desde sus Fuentes utilizando Shell Scripting”.

  5. Wow..!! Este script si que tiene mas cosillas…!!

    Yo hace un tiempo encontré uno que Novatila Sku posteo de un sitio que tenia un script post instalación para xfce con colores .
    Por lo que lo tome para hacerme uno para Mint KDE, básicamente puro
    [sudo apt-get install -y nombre_paquete]
    Creo que al mio le falta agregarle el apartado de autoría, control de versión y licencia.

Dejar una respuesta