1) Los archivos .bin en Linux son el equivalente a los SFX (autoextraibles) que generan algunos de los programas de compresión para Windows?
Los bin son binarios autoextraibles, los fabricantes como NVIDIA y SUN siempre eligen esto porque es una forma bastante estandard pues el binario emplea sh
se ejecutan de dos formas .bin
./hola.bin
sh hola.bin
Al usar SH quiere decir que usa las opciones mas basicas del interprete. Comandos que existen en todos los Linux y los Unix y por tanto eso lo hace poderosamente portable entre los unix/linux. Al fin y al cabo su tarea es mostrar una licencia, vender el alma y despues extraer el contenido infernal a algun lugar asi que buenisimo xD
2) Porque moverlo a /opt? Según la jerarquía del sistema de archivos de Linux, que tipo de archivos deberíamos colocar en ese directorio?
Se usa /opt/ porqué según el Filesystem Hierarchy Standard es para
Paquetes de programas de aplicaciones estáticosPor ejemplo yo en OPT tengo todo el software del cual no poseo codigo fuente y por tanto no lo tuve que compilar, sólo poseo binarios más que nada es una forma de poner todo el software que se distribuye de forma binaria ahí, aunque también podríamos usar alguna otra ruta me parece que no sería muy estandard el mismo java siempre recomendó usar OPT. Ademas OPT es una ruta común en la cúal todos los usuarios podrán ejecutar (instalando el path correctamente en sus .bashrc)
3) Cual es el procedimiento para fijar el path del sistema y no solo del usuario como lo hiciste vos? de esa forma todos los usuarios podrian ejecutar las utilidades de java desde la consola sin colocar el path absoluto.
Bueno yo lo tengo justo como tú dices, por lo mismo para que un cambio le funcione a todos mis usuarios del sistema. Yo en .bashrc tengo lo siguiente:
--(heero@espactra)-(3/pts)-(03:02:04/21/07)--
--($:~)-- cat .bashrc
. /etc/profile
--(heero@espactra)-(4/pts)-(03:04:04/21/07)--
--($:~)--
./etc/profile <-- Esto le dice que incluya todo el contenido desde.... /etc/profile
/etc/profile es digamos la configuración absoluta de bashrc es el perfil que contiene cosas como la zona horaria, nuestras locales de idioma y por supuesto los path. Es muy importante y delicada talves sea este el motivo por el cual mucha gente opta por hacerlo individualmente, porque si rompes el tuyo al menos el del sistema anda
¿Qué cosas podrían suceder?Si eliminas los paths o los alteras, lógicamente bash te dira... comando no encontrado. Y tendremos que usar solo rutas absolutas estilo /usr/bin/miprograma pues sin el path no sabe donde encontrar el comando solicitado.
Si eliminamos las locales, puede que nuestra consola se vuelva al idioma ingles o que tengamos comportamientos raros como caracteres desconocidos.
Si modificamos mal nuestra zona horaria, nuestro reloj no andara bien

Ahora por ejemplo mi /etc/profile es asi:
# Archivo de configuración de perfiles
# Mi Zona Horaria
# Usar tzselect para elegir uno y tampoco olvidar
# de crear el enlace simbólico de la zona horaria
# en /usr/share/zoneinfo/localtime
TZ=America/Monterrey
export TZ
# El idioma (Español Argentina)
# El locale (LC_ALL) puede ser: es_ES, es_MX, es_AR
LC_ALL="es_AR"
export LC_ALL
LANG="$LC_ALL.ISO-8859-1"
#LANG="es_AR"
export LANG
LANGUAGE="es"
export LANGUAGE
# Archivo de recursos de entrada para el intérprete
INPUTRC=/etc/inputrc
export INPUTRC
# Setea algunos alias útiles
alias ls="ls --color"
alias cd..="cd .."
#alias cd/="cd /"
#alias mc="mc --color"
# Las rutas de busqueda de binarios
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
PATH=${PATH}:/usr/X11R6/bin
PATH=${PATH}:/opt/jre-1.5/bin
PATH=${PATH}:/usr/X11R6/bin
PATH=/usr/share/Trolltech/Qt-4.1.4/bin:$PATH
PATH=${PATH}:/opt/jdk1.6.0_01/bin
[b]#RUTA DEL JAVA SDK[/b]
[b]# El prompt esto me hace tener un prompt cool :P[/b]
#PS1="\[\033[00;33m\]\u\[\033[00;00m\]@\[\033[00;32m\]\h\[\033[00;35m\] \W\[\033[00;00m\]>\\$ "
function elite2 {
local GRAD1=`tty|cut -d/ -f3`
local COLOR1="\[\033[0;36m\]"
local COLOR2="\[\033[1;36m\]"
local COLOR3="\[\033[1;30m\]"
local COLOR4="\[\033[0m\]"
PS1="$COLOR3-$COLOR1-$COLOR2($COLOR1\u$COLOR3@$COLOR1\h$COLOR2)$COLOR1-$COLOR2($COLOR1\#$COLOR3/$COLOR1$GRAD1$COLOR2)$COLOR1-$COLOR2($COLOR1\$(date +%I:%M%P)$COLOR3:$COLOR1\$(date +%m/%d/%y)$COLOR2)$COLOR1-$COLOR3-$COLOR4\n$COLOR3-$COLOR1-$COLOR2($COLOR1\$$COLOR3:$COLOR1\w$COLOR2)$COLOR1-$COLOR3-$COLOR4 "
PS2="$COLOR2-$COLOR1-$COLOR3-$COLOR4 "
}
elite2
export PS1
# Catalogos de sgml
#SGML_CATALOG_FILES=/etc/sgml/catalog.mc
#SGML_CATALOG_FILES=/usr/share/sgml/stylesheets/docbook/catalog:/usr/share/sgml/entities/iso-entities-8879.1986/iso-entities.cat:/usr/share/sgml/dtd/jade/dsssl.cat
#SGML_CATALOG_FILES=$SGML_CATALOG_FILES:/usr/share/sgml/stylesheets/sgmltools/sgmltools.cat:/usr/share/sgml/dtd/sgmltools/catalog:/usr/share/sgml/dtd/docbook/3.1/docbook.cat
#SGML_CATALOG_FILES=/usr/share/sgml/dtd/docbook42cr1/docbook.cat:/usr/share/sgml/dtd/jade/dsssl.cat:/usr/share/sgml/docbook-dsss-1.76/catalog
#SGML_CATALOG_FILES=$SGML_CATALOG_FILES:/usr/share/sgml/stylesheets/sgmltools/sgmltools.cat:/usr/share/sgml/dtd/sgmltools/catalog
#SGML_CATALOG_FILES=$SGML_CATALOG_FILES:/usr/share/sgml/debiandoc/entities/catalog:/usr/share/sgml/debiandoc/dtd/sgml/1.0/catalog
#SGML_SEARCH_PATH=/usr/share/sgml/debiandoc/dtd/sgml/1.0:/usr/share/sgml/debiandoc/dtd/entities:/usr/share/sgml/dtd/sgmltools
#export SGML_CATALOG_FILES
#export SGML_SEARCH_PATH
# Zip Unzip
# Banderas predeterminadas para zip y unzip
#LOCAL_ZIP=""
#LOCAL_UNZIP=""
#export LOCAL_ZIP
#export LOCAL_UNZIP
# Para que se reconozcan los archivos no codificados en UTF-8 en GQview
# Afecta a aplicaciones tales como nautilus.
export G_BROKEN_FILENAMES=1
# Para compilar usar autogen.sh en librsvg del CVS.
# Desconozco si se utiliza para otras aplicaciones
#export ACLOCAL=aclocal
Ese sería el profile para todos mis usuarios: tan solo debo incluir en el .bashrc
./etc/profile y cualquier cambio hecho en el fichero se refleja inmediatamente despúes de cerrar la sesión completa (salir de X11 y deslogearse por consola).