Professional Documents
Culture Documents
Introduccin
En este captulo se repasarn algunos conceptos tiles de Linux para facilitar la vida de los administradores de Elastix. Si usted ya conoce cmo administrar su Elastix desde la lnea de comandos de Linux, sltese este captulo y vaya directamente al siguiente. Debido a que este no es un libro de Linux no ahondaremos mucho en el tema, ni hablaremos de la historia de Linux, ni de sus ventajas, ni ahondaremos en detalles. As que si en algn momento le parece que estoy abordando los temas de manera muy general... esa es la idea :) Si al final de este captulo an siente que existen vacos, le recomendamos capacitarse en administracin de Linux, sin duda le facilitar las tareas de administracin de Elastix.
Comandos bsicos
Comando ls ls -la cd cd .. cat pwd cp mv rm tail -f nombre_archivo mkdir tar -xvzf nombre_archivo.tar.gz Lista los archivos en el directorio actual Lista los archivos y sus atributos Cambia de directorio Cambia al directorio padre Muestra el contenido de un archivo en la pantalla Muestra la ruta actual Copia un archivo o grupo de ellos Mueve un archivo. Tambin se lo usa para renombrar archivos Elimina un archivo Muestra las ltimas lneas de un archivo en tiempo real Crea un directorio Descomprime un archivo tar.gz Descripcin
top
Muestra un reporte en tiempo real de los procesos que se ejecutan en el sistema. Puede ser ordenado por consumo de memoria o CPU. Muy til para diagnstico Permite buscar arhivos Programa para ver y editar archivos de texto plano Muestra informacin de las interfaces de red y permite modificarlas temporalmente Muestra un reporte de los procesos que se estn ejecutando en el servidor Reincia el equipo Apaga el equipo Muestra documentacin sobre un determinado comando
Sistema de archivos
En Linux es muy importante la organizacin del sistema de archivos. Esta organizacin le otorga a Linux robustez e interoperabilidad pues los programas pueden predecir con mayor exactitud dnde se encuentran ciertos archivos para su correcto funcionamiento y as mismo escribir archivos de manera que otros componentes los entiendan. Esto minimiza los conflictos y en conjunto con el sistema de permisos aade ms seguridad al sistema operativo.
Organizacin
La organizacin de directorios que se mostrar a continuacin no es arbitraria. Es producto de aos de evolucin desde las primeras versiones de UNIX. Esta estructura de carpetas est ubicada en lo que se llama directorio raz, o directorio principal. Este directorio raz es el directorio de ms alto nivel en el sistema de archivos.
Directorio /sbin /bin Descripcin Incluye binarios que pueden ejecutados solo por el administrador Contiene binarios necesarios para el correcto funcionamiento del sistema. Los binarios de esta carpeta pueden tambin ser utilizados por los usuarios del sistema Este directorio contiene el kernel y otros archivos necesarios al momento de arranque Este directorio contiene archivos que representan dispositivos de hardware. Recordemos que en Linux prcticamente todo es un archivo Este directorio contiene bsicamente archivos de configuracin para todo el sistema Aqu residen los directorios de los usuarios. Por ejemplo, el directorio /home/jorge es el directorio del usuario jorge Contiene bsicamente las libreras compartidas que requieren los programas. Algo anlogo a los archivos .dll en Windows
/boot dev
lost+found Cuando por alguna razn el sistema de archivos se corrompe y hay que repararlo; los resultados de esa reparacin se guardan en este directorio /mnt /opt /proc Este es un lugar comn para montar otros sistemas de archivos o dispositivos. Por ejemplo una unidad de CDROM o un PEN DRIVE Este directorio contiene paquetes de software que normalmente no son parte de la instalacin original Es un directorio virtual (ya que realmentereside en la memoria) donde el kernel y drivers escriben archivos para que otros programas los puedan leer. Por ejemplo, aqu es donde los drivers de zaptel escriben ciertos archivos en la ruta /proc/zaptel/ Este es el directorio del usuario root ya que este no tiene uno del tipo /home/root Este directorio contiene archivos temporales Es uno de los ms importantes directorios y contiene informacin para ser compartida como programas que pueden ser usados por los usuarios del sistema, la documentacin de dichos programas y hasta libreras relacionadas, etc.
/var
Contiene informacin en constante cambio como logs o colas de emails. Por ejemplo, aqu reside el log de asterisk en la ruta /var/log/asterisk/full
Permisos
En Linux cada directorio o archivo tiene permisos de acceso y estos permisos pueden ser de bsicamente 3 tipos: lectura escritura ejecucin Cada archivo tambin tiene un dueo y un grupo al cual pertenece y para cada una de estas entidades se pueden establecer permisos diferentes Por ltimo, tambin es deseable establecer permisos para otros usuarios que eventualmente pueden querer tener acceso sobre este archivo. Dicho todo lo anterior podemos establecer la siguiente matriz de permisos que sera vlida para un determinado archivo del sistema:
Dueo Grupo Otros Usuarios lectura escritura x x x x x x
ejecucin x
Existe sin embargo una notacin ms sencilla para expresar la matriz de arriba. Esta notacin, compuesta de 10 caracteres, simplifica el despliegue de la informacin de permisos y permite mostrarlos en una sola lnea lo cual es muy til cuando se quieren ver permisos de muchos archivos. Por ejemplo, la matriz de permisos del ejemplo anterior se puede expresar de la siguiente manera: -rwxr-xr-x 0123456789 Donde, El carcter 0 representa el tipo de archivo. Si se llena con la letra d significa que se trata de un directorio. Los caracteres 1, 2 y 3 representan los permisos de lectura, escritura y ejecucin para el dueo del archivo. Los caracteres 4, 5 y 6 representan los permisos de lectura, escritura y ejecucin para el grupo al que pertenece el archivo. Los caracteres 7, 8 y 9 representan los permisos de lectura, escritura y ejecucin para otros usuarios. Ahora veamos un ejemplo de un listado largo donde podremos apreciar diferentes permisos: $ ls -la drwxrwxr-x -rw-rw-r--rw-rw-r-drwxrwxr-x drwxrwxr-x drwxrwxr-x -rw-rw-r--rwxrw-r--rw-rw-r-drwxrwxr-x
4 1 1 3 2 3 1 1 1 3
edgar edgar edgar root test edgar edgar edgar user4 edgar
edgar 4096 2008-09-01 21:20 Codigo edgar 53058 2008-08-04 01:31 comohemo.mid edgar 22785270 2008-08-07 12:09 dlj173.pdf root 4096 2008-08-26 17:21 elastix prueba 4096 2008-09-11 13:03 flashingfop edgar 4096 2008-08-04 22:18 fpbx edgar 398439 2008-08-19 19:19 gforge_manual.pdf edgar 102135 2008-09-07 18:53 index2.html 101 3535 2008-08-19 23:20 install-ceros edgar 4096 2008-08-03 01:52 installers
Comunicaciones Unificadas Con Elastix/Linux para Administradores Elastix -rw-rw-r-- 1 edgar edgar drwxr-xr-x 4 edgar edgar -rw-rw-r-- 1 edgar edgar drwxrwxr-x 3 edgar edgar -rw-rw-r-- 1 edgar edgar -rw-rw-r-- 1 edgar edgar -rw-rw-r-- 1 edgar edgar -rw-rw-r-- 1 edgar edgar drwxr-xr-x 18 edgar edgar -rw-rw-r-- 1 edgar edgar -rw-rw-r-- 1 edgar edgar -rw-rw-r-- 1 edgar edgar 6860 4096 1020152 4096 14341913 7195354 25343 12167 4096 16106184 20525 9277 2008-08-19 2008-08-06 2008-07-30 2008-09-02 2008-08-12 2008-08-03 2008-08-13 2008-08-01 2008-08-13 2008-08-29 2008-09-08 2008-09-08 23:12 12:14 14:00 17:25 01:59 01:51 00:25 23:03 09:38 17:40 17:14 02:10 ksraid.cfg lw Magic Button.pdf monitoring prbx1.zip rotron1.7.1.tar.bz2 roundcube.diff src-php.tar.bz2 wanpipe-3.2.7 wanpipe-3.2.7.1.tgz xorcom_test.txt Xorcom_logo.png
Pero de dnde sale el famoso numerito? Resulta que cada uno de los 3 caracteres que representan un permiso para una entidad dada puede ser reemplazado por 1 o 0 de tal manera que obtenemos un nmero binario, luego este nmero binario se traduce a su equivalente decimal (realmente deberamos decir octal aqu). Veamos el ejemplo siguiente. -rwxr-xr-x Transformado a binario tendramos los siguientes tros: 111 101 101
y ahora en su equivalente decimal 755 En fin, para los que no les gusta calcular binario les dejo la siguiente tablita.
Versin Texto Versin Binaria Versin Octal ----x -w-wx r-r-x rwrwx 000 001 010 011 100 101 110 111 0 1 2 3 4 5 6 7
Ahora s se estarn preguntando para qu nos sirve esta notacin numrica? Bueno, resulta que de esta manera es mucho ms fcil manipular los permisos de los archivos mediante comandos y eso es precisamente lo que veremos a continuacin. Cambiando permisos y dueos de archivos Las tareas de cambio de permisos y dueos de archivos pueden ser realizadas fcilmente gracias a los comandos chmod y chown respectivamente. chmod toma como parmetros los permisos en modo numrico y el nombre del archivo al que se desea realizar el cambio. Por ejemplo: $ ls -la archivo_prueba -rw-rw-r-- 1 edgar edgar 0 2008-09-19 04:21 archivo_prueba $ chmod 755 archivo_prueba $ ls -la archivo_prueba -rwxr-xr-x 1 edgar edgar 0 2008-09-19 04:22 archivo_prueba El comando chmod tambin se puede usar recursivamente para cambiar los permisos de todos los archivos dentro de una carpeta. Esto se hace con la opcin R. Por ejemplo: chmod R 755 nombre_carpeta/ Para cambiar el dueo y grupo asociado con un archivo determinado podemos usar el comando chown. Por ejemplo para cambiar los permisos del archivo anterior al usuario y grupo root ejecutamos lo siguiente. # ls -la archivo_prueba -rwxr-xr-x 1 edgar edgar 0 2008-09-19 04:23 archivo_prueba # chown root.root archivo_prueba # ls -la archivo_prueba -rwxr-xr-x 1 root root 0 2008-09-19 04:24 archivo_prueba Al igual que el comando chmod, el comando chown tambin soporta la opcin R.
Yum al rescate
La instalacin manual de RPMs mediante el comando rpm est bien para muchas de las tareas, pero hay ocasiones en las cuales instalar RPMs de esta manera es tedioso y complicado. Un ejemplo de esto es cuando instalamos paquetes RPMs complejos que tienen muchas dependencias y al momento de instalar dicho paquete resulta que nos damos cuenta que tenemos que instalar otro paquete necesario y tenemos que buscarlo en Internet para instalarlo. Muchas veces un RPM tiene decenas o hasta cientos de dependencias lo que por supuesto nos llevara horas solucionar manualmente. Adicionalmente a este problema de dependencias existe otro y es el de la confiabilidad de los RPMs. Es decir, luego de horas y horas de instalar nuestros paquetes manualmente nos damos cuenta de que uno de ellos sobrescribi un archivo importante del sistema y corrompi nuestro Elastix. Vaya dolor de cabeza! Aqu es cuando entra en escena nuestro hroe llamado Yum! Yum es una utilidad que nos ayuda a instalar paquetes RPMs desde repositorios y lo hace de una manera muy amigable. La mayora de las distribuciones serias, y Elastix no es la excepcin, mantienen repositorios de paquetes oficiales de software accesibles gratuitamente a travs de Internet y hacen el mayor esfuerzo porque dichos paquetes no tengan problemas de dependencias entre s. Adems los paquetes de los repositorios oficiales son probados para evitar molestias en los usuarios. Es por esta razn que si se usa Elastix lo recomendable es que se instalen paquetes desde el repositorio oficial. Bueno, ahora vamos al grano y mostremos algunos comandos Yum tiles:
yum update nombre_paquete Actualiza solo el paquete especificado y todas sus dependencias yum install nombre_paquete Instala el paquete especificado y todas sus dependencias
Nota: Cabe destacar que Elastix nos provee de una interfase Web amigable para actualizar paquetes y administrar repositorios. Por los tanto, los procedimientos de actualizacin manuales aqu descritos se dejarn para casos excepcionales. Se recomienda en lo posible utilizar la interfase Web.
Licencia
Creative Commons Attribution-Share Alike 3.0 Unported //creativecommons.org/licenses/by-sa/3.0/