Este contenido ha sido escrito por un miembro de la comunidad de
BigAdmin. Nadie dentro de Sun Microsystems lo ha revisado. Si Ud
encuentra un error o quiere comentar sobre el contenido del articulo,
mandenos un email a "multilingual [at] sun.com."
Personalizando Solaris 10 OS
Federico Alberto Sayd, July 2008
En este artículo
trataremos de personalizar el entorno de trabajo de Solaris 10 OS para
que sea más amigable, casi como estamos acostumbrados los que
usamos Linux. El entorno de la línea de comandos de Solaris OS me parece bastante duro, la shell por defecto no soporta autocompletado y vi es
inusable (por lo menos para mí). Para lograr nuestro objetivo
debemos seguir algunos pasos.
Instalación de pkg-get
Primero que nada vamos a
necesitar agregar software a nuestro Solaris que no viene en el DVD
de serie. El software para Solaris se puede obtener ya compilado en
formato de paquetes.
La herramienta para instalar
paquetes en este sistema es pkgadd, que vendría a ser como el
dpkg de Debian o el rpm de otras distribuciones de Linux. Pero como
usamos Debian y amamos apt-get queremos una solución un poco
más cómoda e inteligente. La respuesta es pkg-get, que
es el equivalente a apt-get pero para Solaris. pkg-get
resuelve las dependencias
automáticamente y descarga e instala los paquetes directo
desde un repositorio por la red.
Para instalarlo obviamente vamos a necesitar de pkgadd:
Luego de aceptar todas las
preguntas que nos hace pkgadd, tenemos que definir los repositorios desde los cuales vamos a descargar el software.
La opción más recomendable son los repositorios de www.blastwave.org,
que contiene mas de 1700 paquetes de software en su mayoría
open source. Todo el software de este repositorio se instala bajo
/opt/csw. Por lo tanto modificamos el fichero de configuración
de pkg-get:
#nano /opt/csw/etc/pkg-get.conf
Usamos nano, no porque nos guste,
sino porque el vi que viene por defecto en Solaris es a mi gusto
inusable. Luego lo arreglaremos.
Podemos usar la rama stable y la
unstable, dependiendo de para qué vayamos a usar el equipo.
Solo es necesario agregar una línea más con unstable o
stable al final de la url.
Por último, podemos
deshabilitar el chequeo de firmas y sumas md5, si nos sentimos
confiados. Aunque nunca nadie sabe ...
use_gpg=false
use_md5=false
Instalación de Vi mejorado
Ahora que tenemos pkg-get configuado lo podemos usar para instalar software. Lo primero que
hacemos es instalar vi-enhanced, o vim.
# pkg-get install vim
Ahora bien, si corremos vim nos
daremos cuenta de que funciona igual que el vi que trae por defecto
Solaris. Entre otras cosas la tecla backspace no funciona bien y las
teclas de dirección (las de las flechas) no nos permiten
movernos por el texto sino que imprimen caracteres en la pantalla.
Para solucionarlo debemos crear un archivo de configuración
para vim en el directorio personal de nuestro usuario. Si el usuario
es root, entonces el directorio de usuario es "/" (Sí,
"/", Solaris no pone un "/root" para el superusuario).
# cd
# nano .vimrc
Y en .vimrc ponemos las siguientes líneas
que solucionan los problemas anteriores del vim. Además
activamos el coloreado de la sintaxis que es muy útil:
set nocp
set backspace=2
syntax on
Y listo, ya podemos usar vim como en Linux.
Cambiar la shell de root
Una de las cosas más
molestas de Solaris cuando recién se instala es la shell. Por
defecto Solaris no trae una shell moderna como bash sino la típica
shell de Bourne o sencillamente "sh". Esta shell no tiene
ni histórico, ni autocompletado y es bastante dura de usar.
¿Por qué viene por
defecto? La razón es que es un ejecutable pequeño que
no está enlazado dinámicamente con ninguna librería.
De forma que si el sistema se vuelve inestable y no se puede montar
alguna partición donde se alojan las librerías, lo
mismo tendríamos una shell para acceder al sistema.
Nosotros vamos a hacer que se
cargue bash como shell por defecto de root, siempre y cuando esté
disponible, de manera que el sistema seguirá siendo a prueba
de fallos. No tendremos que cambiar la shell en /etc/passwd,
el valor lo dejaremos como está.
Para hacer el cambio, dentro del
directorio del usuario editamos el archivo .profile,
que es el archivo que lee la shell sh cuando se ejecuta. Será
esta shell la que cargue bash de forma automática. Creamos el
archivo con este contenido:
if [ -x
/usr/bin/bash ]; then
SHELL=/usr/bin/bash
export SHELL
exec
/usr/bin/bash
else
echo /usr/bin/bash not found using default shell of $SHELL
fi
Si salimos de la sesión y
volvemos a entrar veremos que bash se carga automáticamente.
Un último detalle un tanto
lamentable es que definiendo bash como shell para el entorno, no se
puede iniciar el entorno gráfico. Cuando tratamos de ingresar
desde el inicio gráfico de Solaris, este ser reinicia y no
podemos acceder a GNOME o a CDE. Si definimos Bash para el usuario
root, esto no es problema ya que usar el entorno gráfico con
root no es buena opción; pero no deja de ser una solución
poco elegante. Seguiré investigando para ver cómo
solucionarlo.
Modificación del entorno de bash
Hay algunas variables de entorno
que controlan como funciona bash y que es muy útil definir.
En primer lugar debemos crear los
archivos de configuración de bash, que son dos. El primero es
.bash_profile,
que debe tener el siguiente contenido:
source ~/.bashrc
Esto hace que se cargue el
contenido de .bashrc que es el archivo donde guardamos
las configuraciones personales para bash.
De seguro la más
importante es el path, o sea los directorios donde la shell buscará
los programas que se pueden ejecutar. Por defecto el path de Solaris
es el siguiente:
/usr/bin:/usr/sbin:/usr/openwin/bin:/usr/ucb
Que nos sirve si usamos el
software oficial de Solaris. Pero como vamos a instalar software de
blastware y también software libre que Sun provee que no se
encuentra dentro de ese path, entonces tendremos que modificarlo.
Ponemos:
/opt/csw/bin es el directorio donde están los binarios del software que instalamos con pkg-get, desde los repositorios de blastwave.
/usr/sfw/bin es el directorio donde se ubican los binarios de software libre provisto por Sun como samba y wget.
ls en colores
El comando ls que provee Solaris no nos permite
colorear la salida, así que vamos a solucionarlo de nuevo con
una opción libre. Instalamos el paquete fileutils
que nos provee un ls con colores.
# pkg-get install fileutils
Fileutils nos instalará el
comando gdir que no es otra cosa que el ls que usamos en bash. Modificamos .bashrc para crear un alias de ls a gdir y habilitamos los colores. Agregamos lo siguiente:
export LS_OPTIONS='--color'
eval "`gdircolors`"
alias ls=’gdir $LS_OPTIONS’
alias ll=’gdir $LS_OPTIONS -l’
alias l=’gdir $LS_OPTIONS -lA’
Bash Completion
Aunque bash nos completa de forma
muy útil los paths y los nombres de los programas por defecto,
hay algunas cosas que no nos completa como por ejemplo los argumentos
de ciertos programas. Bash Completion viene a solucionar esto, y es
muy útil con comandos como pkg-get o svcadm.
Lo instalamos con pkg-get:
# pkg-get install bash-completion
Para que el autocompletado se
cargue de forma automática, debemos agregarlo también
en .bashrc:
source /opt/csw/etc/bash_completion
Cambio del paginador y alias para vi
Las páginas del manual son paginadas por defecto con more que es bastante molesto de usar. Lo cambiamos por less, modificando lo siguiente en .bashrc:
export PAGER=less
Creamos un alias para vi en .bashrc para que se llame automáticamente a vim:
alias vi='/opt/csw/bin/vim'
Prompt descriptivo y en color
Como último paso vamos a modificar el prompt para que entregue más información. Además le vamos a poner color para visualizarlo mejor. Agregamos a .bashrc:
export PS1="\[33[0;32m\][\u@\h:\W]$\[33[0m\] "
Explicamos qué es cada cosa:
\[33[0;32m\] Es un carácter no
imprimible que cambia el color del terminal a verde, así el
prompt adquiere este color.
\u Imprime el nombre del usuario logueado.
\h Imprime el nombre de la maquina o hostname.
\W Imprime el nombre del directorio en el que estamos parado.
$ Si el usuario es root, imprime un "#", de lo contrario imprime un "$"
\[33[0m\] Con esta secuencia volvemos al color original de la shell para que no siga en color verde.
Nuestro prompt quedaría de la siguiente manera:
Esto es todo, ya tenemos un entorno en Solaris bastante más familiar y agradable que nos hace la vida más sencilla.
Acerca del autor
Federico Sayd es Técnico Universitario en Redes y Telecomunicaciones. Actualmente trabaja como administrador de red en el nodo informático
de una de las universiades más importantes de Argentina. Se
especializa en el sistema operativo Linux y ultimamente ha hecho
incursión en Solaris. Se le puede contactar en la siguiente
dirección: federicosayd [a] gmail.com.
The information and links on this page have been provided by a BigAdmin user. The submitter is solely responsible for such information and links. Sun is not responsible for the availability of external sites or resources, and does not endorse and is not responsible or liable for any content, advertising, products, or other materials on or available from such sites or resources. Sun will not be responsible or liable, directly or indirectly, for any actual or alleged damage or loss caused by or in connection with use of or reliance on the information posted here, or goods or services available on or through any external site or resource.
Comments (latest comments first)
Discuss and comment on this resource in the BigAdmin Wiki
Unless otherwise licensed, code in all technical manuals herein (including articles, FAQs, samples) is provided under this License.