Está en la página 1de 141

SILLABUS: LINUX BASICO

1.- Historia y Fundamentos

• La Historia de Linux
• Dispositivos y Periféricos
• Particionamiento del Disco Duro
• Instalación del Sistema Operativo Linux CentOS

2.- Comandos Básicos en Consola

• Manejo de archivos
• Introducción a los comandos básicos
• Uso de flujos, túneles y redirección
• Creación y control de procesos
• Edición de textos con 'vim'
• Administración de usuarios y permisos

3.- Sistema de Archivos y Almacenamiento

• Sistemas de archivos estándar


• Creación de particiones y sistemas de archivos
• Control del sistema de archivos
• Permisos de archivos
• Ownership - Control de los dueños de los archivos
• Creación de links
• Busqueda de archivos

4.- Escritorios en Linux GNOME y KDE

• Configurando gráfica (xorg)


• Cambiar de window manager
• Uso de Gnomo
• Uso de KDE
• Aplicaciones básicas

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
CAPITULO I: HISTORIA Y FUNDAMENTOS

Temas:

• Historia de Linux
• Dispositivos y periféricos en Linux
• El particionamiento del disco duro
• Instalación de Linux

1.- Historia de Linux

Linux, es un sistema operativo. Es una implementación de libre distribución UNIX para


computadoras personales (PC), servidores y estaciones de trabajo.

Linux (pronunciación IPA: /´linuks/) es la denominación de un sistema operativo tipo-Unix y el


nombre de un núcleo.
Es uno de los paradigmas más prominentes del software libre y del desarrollo del código
abierto, cuyo código fuente está disponible públicamente, para que cualquier persona puede
libremente usarlo, estudiarlo, redistribuirlo y, con los conocimientos informáticos adecuados,
modificarlo.

Linux es usado como sistema operativo en una amplia variedad de plataformas de hardware y
computadores, incluyendo los computadores de escritorio (PCs x86 y x86-64, y Macintosh y
PowerPC), servidores, supercomputadores, mainframes, y dispositivos empotrados así como
teléfonos celulares.

En 1983 Richard Stallman fundó el proyecto GNU, con el fin de crear sistemas operativos
parecidos a UNIX y compatibles con POSIX. Dos años más tarde creó la "Fundación del
Software Libre" y escribió la GNU General Public License para posibilitar el software libre en el
sistema de copyright.

El software GNU se extendía muy de prisa y dentro de poco una multitud de programas fueron
escritos, de manera que ya a principios de 1990 había bastantes software GNU como para
hacer un sistema operativo propio, pero faltaba el Kernel.
A principios de los años 1990, no había un sistema operativo libre completo. A pesar de que el
proyecto GNU era desarrollado constantemente, no disponía sin embargo de ningún buen
Kernel basado en UNIX, por el contrario era un número de proyectos de software libres que
podían ser traducidos en las variantes UNIX mediante el compilador de GNU.

LINUS BENEDIT TORVALD


Linus Benedit Torvalds nació en Helsinki, Finlándia, en el año de 1969. Su abuelo, matemático
y estadista le compró un Comodore en 1980 y fue quien "enganchó" a Linus al mundo de los
computadores.

En 1988 Linus Torvalds entrá a la Universidad. Ese mismo año fue cuando el sistema operativo
didáctico, basado en UNIX y creado por Andy Tannenbaum, empezó a cobrar importáncia.
Dicho sistema era el Minix.

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Linus entró a formar parte de la comunidad de usuarios Minix. Andy Tannenbaum cometió un
error en su sistema operativo. Era demasiado limitado, tanto técnicamente como
politícamente, en ningún momento tuvo en cuenta la posibilidad de incluir Minix al proyecto
GNU. La creación de Andy Tannenbaum estaba pensando para ser distribuida. Su primer error
fue ceder todos sus derechos a Prentice Hall, que empezó a cobrar 150 dólares por licencia.

Así, Linus tomó la decisión de cambiar esta política debido a que el sistema Minix era ideal
para los estudiantes de sistemas operativos, y su precio era considerablemente alto.

Año 1991, cuando Linus se acabó de comprar su primer 386, la intención era crear un nuevo
Kernel (al que porteriormente llamaría Linux) de UNIX basado en el Kernel de Minix y
modificarlo periódicamente de manera que fuera capaz de ejecutar aplicaciones GNU.

La historia de Linux está fuertemente vinculada a la del proyecto GNU.


Hacia 1991, cuando la primera versión del núcleo Linux fue liberada, el proyecto GNU había
producido varios de los componentes del sistema operativo, incluyendo un intérprete de
comandos, una biblioteca C y un compilador, pero aún no contaba con el núcleo que permitiera
complementar el sistema operativo.
Entonces, el núcleo creado por Linus Torvalds, llenó el hueco final que el sistema operativo
GNU exigía.

Linus nunca anunció la versión 0.01 de Linux (agosto 1991), esta versión no era ejecutable,
solamente incluía los principios del nucleo del sistema, estaba escrita en lenguaje ensamblador
y asumía que uno tenía acceso a un sistema Minix para su compilación.

El 5 de octubre de 1991, Linus anuncio la primera versión "Oficial" de Linux, - versión 0.02.
Con esta versión Linus pudo ejecutar Bash (GNU Bourne Again Shell) y gcc (Compilador GNU de
C) pero no mucho más funcionaba. En este estado de desarrollo ni se pensaba en los terminos
soporte, documentacion, distribución. Después de la versión 0.03, Linus salto en la numeración
hasta la 0.10, más programadores a lo largo y ancho del internet empezaron a trabajar en el
proyecto y después de revisiones, Linus incremento el numero de version hasta la 0.95 (marzo
1992). En Diciembre de 1993 el nucleo del sistema estaba en la versión 0.99 y la versión 1.0,
llego el 14 de marzo de 1994.
Linux se refiere estrictamente al núcleo Linux, pero es comúnmente utilizado para describir al
sistema operativo tipo Unix (que implementa el estándar POSIX), que utiliza primordialmente
filosofía y metodologías libres (también conocido como GNU/Linux) y que está formado
mediante la combinación del núcleo Linux con las bibliotecas y herramientas del proyecto GNU
y de muchos otros proyectos/grupos de software (libre o no libre).
La expresión "Linux" es utilizada para referirse a las distribuciones GNU/Linux, colecciones de
software que suelen contener grandes cantidades de paquetes además del núcleo. El software
que suelen incluir consta de una enorme variedad de aplicaciones, como: entornos gráficos,
suites ofimáticas, servidores web, servidores de correo, servidores FTP, etcétera.
Coloquialmente se aplica el término "Linux" a éstas. Algunas personas opinan que es incorrecto
denominarlas distribuciones Linux, y proponen llamarlas sistema GNU/Linux. Otras personas
opinan que los programas incluidos proceden de fuentes tan variadas que proponen
simplificarlo denominándolo simplemente a "Linux"

Características y virtudes del GNU/Linux

GNU hereda todas las características vistas en la sección sobre software libre. Estable meses
(inclusive años) de funcionamiento ininterrumpido. Seguro prácticamente sin virus, un proceso
no puede acceder a áreas de memoria ajenas, etc. Multitarea, Multiusuario Compatible, cumple
el estándar POSIX como otros muchos UNIX, lo que facilita la migración entre plataformas.
Multi-arquitectura disponible para Intel y compatibles, PowerPC, Macintosh,
Amiga, Atari, DEC Alpha, Sun Sparc, ARM.
Rápido maneja eficientemente los recursos: memoria, disco duro, CPU, etc.
Capacidad en red excepcional; fue desarrollado desde un principio para la conexión en red.
Elegante es un modelo de programación: pequeño, extensible, modular.

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
¿Que falta?

Aparte del núcleo y los programas que conforman el sistema operativo, hacen falta más cosas
para que el sistema sea útil.
Estructura de directorios.
Archivos de configuración.
Programas de instalación y configuración de partes del sistema.
Aplicaciones para el usuario final.
Distribuciones

Para poder usar un programa GNU hay que localizarlo, descargarlo, desempaquetarlo,
compilarlo (con todas las herramientas y librerías que pueda necesitar), instalarlo y
configurarlo...es un trabajo pesado y difícil.
Una distribución es una recopilación de software ya compilado y empaquetado para facilitar su
instalación y configuración.
El gestor de paquetes permite ver una breve descripción, registra qué programas están
instalados, verifica las dependencias y conflictos (al instalar o al desinstalar) para que todo
funcione siempre. Incluso actualiza a las nuevas versiones a través de la red de manera
transparente.
Estas distribuciones permiten instalar un sistema GNU/Linux completo.

REDHAT ENTERPRISE
Esta es una distribución que tiene muy buena calidad, contenidos y soporte a los
usuarios por parte de la empresa que la distribuye. Es necesario el pago de una
licencia de soporte. Enfocada a empresas.
• Pagina Web de Red Hat

FEDORA
Esta es una distribución patrocinada por RedHat y soportada por la comunidad.
Fácil de instalar y buena calidad.
• Pagina Web de Fedora

DEBIAN
Otra distribución con muy buena calidad. El proceso de instalación es quizás un
poco mas complicado, pero sin mayores problemas. Gran estabilidad antes que
últimos avances.
• Pagina Web de Debian

OpenSuSE
Otra de las grandes. Facil de instalar. Version libre de la distribucion comercial
SuSE.
• Pagina Web de OpenSuSE

SuSE LINUX ENTERPRISE


Otra de las grandes. Muy buena calidad, contenidos y soporte a los usuarios por
parte de la empresa que la distribuye, Novell. Es necesario el pago de una
licencia de soporte. Enfocada a empresas.
• Pagina Web de SuSE Linux Enterprise

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
SLACKWARE
Esta distribución es de las primeras que existió. Tuvo un periodo en el cual no se
actualizo muy a menudo, pero eso es historia. Es raro encontrar usuarios de los
que empezaron en el mundo linux hace tiempo, que no hayan tenido esta
distribución instalada en su ordenador en algun momento.
• Pagina Web de Slackware

UBUNTU
Distribución basada en Debian, con lo que esto conlleva y centrada en el usuario
final y facilidad de uso. Muy popular y con mucho soporte en la comunidad. El
entorno de escritorio por defecto es GNOME.
• Pagina Web de Ubuntu

KUBUNTU
Distribución basada en Ubuntu, con lo que esto conlleva y centrada en el usuario
final y facilidad de uso. La gran diferencia con Ubuntu es que el entorno de
escritorio por defecto es KDE.
• Pagina Web de Kubuntu

MANDRIVA
Esta distribución fue creada en 1998 con el objetivo de acercar el uso de Linux a
todos los usuarios, en un principio se llamo Mandrake Linux. Facilidad de uso para
todos los usuarios.
• Pagina Web de mandriva

Multitarea: La palabra multitarea describe la habilidad de ejecutar varios programas al mismo


tiempo. LINUX utiliza la llamada multitarea preeventiva, la cual asegura que todos los
programas que se están utilizando en un momento dado serán ejecutados, siendo el sistema
operativo el encargado de ceder tiempo de microprocesador a cada programa.
Multiusuario: Muchos usuarios usando la misma maquina al mismo tiempo.
Multiplataforma: Las plataformas en las que en un principio se puede utilizar Linux son 386-,
486-. Pentium, Pentium Pro, Pentium II,Amiga y Atari, tambien existen versiones para su
utilización en otras plataformas, como Alpha, ARM,MIPS, PowerPC y SPARC.
Multiprocesador: Soporte para sistemas con mas de un procesador esta disponible para Intel
y SPARC.

• Funciona en modo protegido 386.


• Protección de la memoria entre procesos, de manera que uno de ellos no pueda colgar
el sistema.
• Carga de ejecutables por demanda: Linux sólo lee del disco aquellas partes de un
programa que están siendo usadas actualmente.
• Memoria virtual usando paginación (sin intercambio de procesos completos) a disco: A
una partición o un archivo en el sistema de archivos, o ambos, con la posibilidad de
añadir más áreas de intercambio sobre la marcha Un total de 16 zonas de intercambio
de 128Mb de tamaño máximo pueden ser usadas en un momento dado con un límite
teórico de 2Gb para intercambio. Este limite se puede aumentar facilmente con el
cambio de unas cuantas líneas en el código fuente.
• La memoria se gestiona como un recurso unificado para los programas de usuario y
para el caché de disco, de tal forma que toda la memoria libre puede ser usada para
caché y ésta puede a su vez ser reducida cuando se ejecuten grandes programas.
• Librerías compartidas de carga dinámica (DLL's) y librerías estáticas.
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
• Se realizan volcados de estado (core dumps) para posibilitar los análisis post-mortem,
permitiendo el uso de depuradores sobre los programas no sólo en ejecución sino
también tras abortar éstos por cualquier motivo.
• Compatible con POSIX, System V y BSD a nivel fuente.
• Emulación de iBCS2, casi completamente compatible con SCO, SVR3 y SVR4 a nivel
binario.
• Todo el código fuente está disponible, incluyendo el núcleo completo y todos los drivers,
las herramientas de desarrollo y todos los programas de usuario; además todo ello se
puede distribuir libremente. Hay algunos programas comerciales que están siendo
ofrecidos para Linux actualmente sin código fuente, pero todo lo que ha sido gratuito
sigue siendo gratuito.
• Control de tareas POSIX.
• Pseudo-terminales (pty's).
• Emulación de 387 en el núcleo, de tal forma que los programas no tengan que hacer su
propia emulación matemática. Cualquier máquina que ejecute Linux parecerá dotada de
coprocesador matemático. Por supuesto, si el ordenador ya tiene una FPU (unidad de
coma flotante), esta será usada en lugar de la emulación, pudiendo incluso compilar tu
propio kernel sin la emulación matemática y conseguir un pequeño ahorro de memoria.
• Soporte para muchos teclados nacionales o adaptados y es bastante fácil añadir nuevos
dinámicamente.
• Consolas virtuales múltiples: varias sesiones de login a través de la consola entre las
que se puede cambiar con las combinaciones adecuadas de teclas (totalmente
independiente del hardware de video). Se crean dinámicamente y puedes tener hasta
64.
• Soporte para varios sistemas de archivo comunes, incluyendo minix-1, Xenix y todos los
sistemas de archivo típicos de System V, y tiene un avanzado sistema de archivos
propio con una capacidad de hasta 4 Tb y nombres de archivos de hasta 255 caracteres
de longitud.
• Acceso transparente a particiones MS-DOS (o a particiones OS/2 FAT) mediante un
sistema de archivos especial: no es necesario ningún comando especial para usar la
partición MS-DOS, esta parece un sistema de archivos normal de Unix (excepto por
algunas restricciones en los nombres de archivo, permisos, y esas cosas). Las
particiones comprimidas de MS-DOS 6 no son accesibles en este momento, y no se
espera que lo sean en el futuro. El soporte para VFAT (WNT, Windows 95) ha sido
añadido al núcleo de desarrollo y estará en la próxima versión estable.
• Un sistema de archivos especial llamado UMSDOS que permite que Linux sea instalado
en un sistema de archivos DOS.
• Soporte en sólo lectura de HPFS-2 del OS/2 2.1
• Sistema de archivos de CD-ROM que lee todos los formatos estándar de CD-ROM.
• TCP/IP, incluyendo ftp, telnet, NFS, etc.
• Appletalk.
• Software cliente y servidor Netware.
• Lan Manager / Windows Native (SMB), software cliente y servidor.
• Diversos protocolos de red incluidos en el kernel: TCP, IPv4, IPv6, AX.25, X.25, IPX, DDP,
Netrom, etc.

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Licencia pública general de GNU

La Licencia Pública General de GNU o más conocida por su


nombre en inglés GNU General Public License o
simplemente su acrónimo del inglés GNU GPL, es una
licencia creada por la Free Software Foundation a mediados
de los 80, y está orientada principalmente a proteger la libre
distribución, modificación y uso de software. Su propósito es
declarar que el software cubierto por esta licencia es
software libre y protegerlo de intentos de apropiación que
restrinjan esas libertades a los usuarios.

Existen varias licencias "hermanas" de la GPL, como la


licencia de documentación libre de GNU (GFDL) que cubre
los artículos de la Wikipedia, la Open Audio License, para
trabajos musicales, etcétera, y otras menos restrictivas, como la MGPL, o la LGPL (Lesser
General Public License, antes Library General Public License), que permiten el enlace dinámico
de aplicaciones libres a aplicaciones

2.2 Dispositivos y Periféricos en Linux

Para Linux todo es un archivo, incluyendo dispositivos como discos duros, cdroms, disquetes,
unidades de cinta, memorias usb, etc., así como dispositivos de comunicación como puertos
seriales y paralelos, modems, etc, incluso también las consolas o terminales son dispositivos
asociados a un archivo. Estos dispositivos son enlazados (linked) a un dispositivo de archivo, es
decir un dispositivo físico es representado o asociado a un archivo. Estos archivos se
encuentran bajo el directorio /dev.

Los dispositivos en Linux son identificados con un designador de dos o tres letras, además si el
dispositivo admite perticiones se utiliza una progresión numérica o alfábetica para identificar la
partición. En la siguiente tabla se indica el designador de tipo dispositivo y su descripción.

Tipo Dispositivo
hd Discos duros IDE y dispositivos IDE como cdroms
sd Discos duros SCSI
scd Cdrom SCSI
st Unidades de cinta SCSI
ht Unidades de cinta IDE
fd Unidades de diquetes
lp Puertos paralelos
tty Terminales o consolas
pty Terminales remotas o de red, incluyendo las abiertas en Window X
ttyS Puertos seriales
cua Puertos de comunicación
eth Tarjetas o interfaces de red ethernet

Los dispositivos que admiten particiones generalmente estas se designan con letras, asi por
ejemplo las unidades IDE que son las mas comunes en cualquier PC actual su designación sería
la siguiente:

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Canal IDE Dispositivo Linux Equivalente Windows
Primario Maestro /dev/hda C:
Primario Esclavo /dev/hdb D:
Secundario Maestro /dev/hdc E:
Secundario Esclavo /dev/hdd F:

El equivalente Windows es suponiendo una sola partición en el disco, ahora bien en Linux, por
ejemplo, el dispositivo /dev/hda es en si el disco duro completo, pero ya particionado se
numera secuncialmente a partir de 1 cada partición, entonces realmente nuestro sistema de
archivos suponiendo una sola partición, estaría en /dev/hda1. En los dispositivos se admiten
hasta 4 particiones primarias y una de ellas puede ser extendida, dentro de una extendida
puede haber hasta 16 particiones lógicas, en Linux las particiones lógicas comienzan a partir
de 5, esto para diferenciar claramente de la 1 a la 4 como particiones primarias.

Los dispositivos que no admiten particiones en sus sistemas de archivos tales como disquetes
o cdroms, se numeran secuncialmente a partir de 0 o simplemente se omite. Ejemplos:

• Disquete equivalente a: en Windows, en Linux: /dev/fd0

• Disquete equivalente b: en Windows, en Linux: /dev/fd1

• Unidad de cdrom en secundario maestro: /dev/hdc

Es muy común encontrar el dispositivo cdrom de la siguiente manera:

• /dev/cdrom

Esto es realmente un enlace suave (ln -s /dev/hdc /dev/cdrom) a su verdadero archivo de


dispositivo que podría ser /dev/hdc.

En cuanto a puertos seriales, sus equivalentes con Windows serían los siguientes:

• Windows COM1, Linux /dev/ttyS0

• Windows COM2, Linux /dev/ttyS1

• Windows COM3, Linux /dev/ttyS2

• Windows COM4, Linux /dev/ttyS3

Si el modem esta conectado, por ejemplo, al puerto serial ttyS0, también es común encntrar o
uno mismo crear un enlace simbólico a dicho puerto, llamado /dev/modem. (ln -s /dev/ttyS0
/dev/modem)

Puertos paralelos se designan de la siguiente manera, incluyendo el equivalente Windows:

• Primer puerto paralelo, Windows LPT1, Linux /dev/lp0

• Segundo puerto paralelo, Windows LPT2, Linux /dev/lp1

Recuerda entonces que los dispositivos se numeran con su identificador de dispositivo y


secuencialmente a partir de 0 y hasta donde la arquitectura de hardware lo limite.

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
2.3 Particionamiento del Disco Duro

El registro de Arranque Maestro (MBR) es un sector de 512 KB al principio del disco rigido que
contiene un programa ejecutable y una tabla donde están definidas las particiones del disco
duro

En esta grafica se muestra las particiones de Linux conservando otro sistema operativo.

Partición Primaria: Solo pueden existir 4 particiones primarias.


Partición Extendida: Solo Existe una y sirve para albergar mas particiones llamadas
particiones lógicas.
Particiones Lógicas: Se definen solo dentro de la partición extendida, con esto se pueden
tener mas de 4 particiones en el disco duro.
Gestores de Arranque

GRUB: GNU GRand Unified Boot loader o GRUB es un programa que habilita al usuario a
seleccionar qué sistema operativo instalado o kernel descargar en el momento de arranque del
sistema. Permite también que el usuario transmita argumentos al kernel.

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
GRUB se carga así mismo en la memoria en las diferentes etapas:

1. La etapa 1 o cargador de arranque primario se lee en la memoria con el BIOS desde el


MBR[1].El gestor de arranque primario existe en menos de 512 bytes de espacio en
disco entre el MBR y es capaz de cargar bien sea la etapa 1.5 o la etapa 2 del gestor de
arranque.

2. El gestor de arranque de la etapa 1 lee en la memoria al gestor de arranque de la etapa


1.5. si es necesario Determinado hardware requiere un paso intermedio para obtener el
cargador de arranque de la etapa 2. Esto sucede a menudo cuando la partición /boot
está por encima de 1024 cilindros de disco duro o cuando se usa el modo LBA. Este
cargador de arranque de la etapa 1.5 se encuentra en la partición /boot o en una
pequeña parte del MBR y la partición /boot.

3. La etapa 2 o el gestor de arranque secundario se lee en la memoria. El gestor de


arranque secundario visualiza el menú GRUB y el entorno del comando. Esta interfaz le
permite seleccionar qué sistema operativo o kernel de Linux arrancar, pasar
argumentos al kernel o ver los parámetros del sistema, tales como la RAM disponible.

4. El gestor de arranque secundario lee el sistema operativo o el kernel y initrd en la


memoria. Una vez que GRUB determina qué sistema operativo iniciar, éste lo carga en
la memoria y transfiere el control de la máquina a dicho sistema operativo.

El proceso de arranque usado por otros sistemas operativos puede variar. Por ejemplo, los
sistemas operativos de Microsoft DOS y Windows, así como otros sistemas operativos de
propietarios, se cargan mediante un método de arranque de carga encadenada. Bajo este
método, el MBR señala el primer sector de la partición que tiene el sistema operativo. Allí
encuentra los archivos necesarios para arrancar el sistema operativo.

GRUB soporta ambos métodos de arranque, directo y carga encadenada, permitiendo arrancar
desde casi cualquier sistema operativo.
LILO
LILO es un acrónimo de Linux Loader (cargador) y ha sido usado para arrancar linux en
sistemas x86 por muchos años. Aunque ahora GRUB es el gestor de arranque por defecto,
algunos prefieren usar LILO porque les es más familiar y otros porque GRUB puede causar
problemas al arrancar determinado tipo de hardware.

LILO y el proceso de arranque de x86


Esta sección trata en más detalle el rol específico que LILO desempeña al arrancar el sistema
x86. Para ver con más detenimiento el proceso de arranque.

LILO se carga así mismo en la memoria casi de forma idéntica a GRUB, con la diferencia de que
es un gestor de dos etapas.

1. La etapa 1 o el gestor de arranque primario se lee en la memoria por la BIOS desde el


MBR [1]. El gestor de arranque primario existe en menos de 512 bytes de espacio en
disco dentro del MBR. Su función es cargar la etapa 2 del gestor de arranque y pasarle
la información de la geometría del disco.

2. La etapa 2 o el gestor de arranque secundario se lee en memoria.. El gestor de


arranque secundario visualiza la pantalla inicial de Red Hat Linux. Esta pantalla le
permite seleccionar el sistema operativo o el kernel de Linux que desee arrancar.

3. La etapa 2 lee el sistema operativo o el kernel y lleva a cabo initrd en memoria. Una vez
que LILO determina qué sistema operativo iniciar, éste lo carga en la memoria y lleva el
control de la máquina a ese sistema operativo.

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Una vez que se ha llevado a cabo la etapa 2 en memoria, LILO visualiza la pantalla inicial de
Red Hat Linux con los diferentes sistemas operativos o kernel que han sido configurados para
arrancar. Por defecto, si Red Hat Linux es el único sistema instalado, linux será la única opción
disponible. Si el sistema tiene múltiples procesadores habrá una opción linux-up para el kernel
del procesador único y una opción linux para los kernel de múltiples procesadores (SMP).

LILO versus GRUB


En general, LILO funciona de forma parecida a GRUB a excepción de tres diferencias:

• No posee ninguna interfaz del comando interactiva.

• Almacena información sobre la localización del kernel o de si otro sistema operativo se


debe cargar en el MBR.

• No puede leer las particiones ext2.

El primer punto significa que el intérprete de comandos para LILO no es interactivo y permite
tan sólo un comando con argumentos.

GAG (Gestor de Arranque Grafico)


GAG es un programa gestor de arranque, esto es, un programa que se carga en el momento de
arrancar el ordenador y que permite elegir que sistema operativo, de entre los que haya
instalados en el disco duro, se quiere cargar.

Sus características más importantes son:


• Permite arrancar hasta 9 sistemas operativos diferentes.
• Puede arrancar sistemas operativos instalados tanto en particiones primarias como
extendidas, en cualquiera de los discos duros instalados en el ordenador.
• Puede ser instalado desde casi cualquier sistema operativo.
• No necesita una partición propia, sino que se instala en la primera pista del disco duro,
la cual se encuentra, por diseño, reservada para este tipo de funciones. También puede
ser instalado en disquete, sin tocar para nada el disco duro.
• La configuración del programa puede ser protegida con clave.
• Todo el programa funciona en modo grafico (necesita una VGA o superior para
funcionar), e incluye multitud de iconos para cada tipo de sistema operativo disponible
en PC.
• Oculta particiones primarias de modo que se pueden tener varios DOS y/o Windows en
un mismo disco duro.
• Permite poner claves independientes a cada sistema operativo, para restringir el acceso
a cada uno.
• Fácil de traducir a cualquier lengua.
• Puede intercambiar discos duros, permitiendo arrancar desde el segundo disco duro
sistemas operativos como MS-DOS.
• Incluye el sistema SafeBoot, que permite seguir arrancando el disco duro incluso en
caso de que GAG sea sobreescrito por accidente.
• Soporta varios tipos de teclados internacionales (QWERTY, AZERTY, QWERTZ y
DVORAK).
• Soporta discos duros de hasta 4 terabytes (4096 gigabytes).
• Totalmente gratuito (se distribuye bajo licencia GPL con fuentes incluidas).
2.4 Instalación del Sistema Operativo Ubuntu Linux

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
En este manual vamos a ver de forma detallada, tanto con textos como con imágenes, la
instalación de Ubuntu en nuestro PC.
Introducción
Este manual no intenta ser un HOWTO rápido de instalación. A lo largo del mismo se darán
detalles para que no sólo lo instales, sino que sepas que paso este dando en cada momento.

Las partes más compleja es en la configura el montaje de las particiones o discos que tengas.
Por ello se decide profundizar aún más en ese punto específico, intentando con ello que quede
más claro.
Preparativos previos
Debes preparar al equipo para que se pueda iniciar desde el CD,

Tener en cuenta las particiones del disco duro, para esta instalación se recomienda las
siguientes particiones.
• /  Partición raíz. Es donde instalaremos el sistema propiamente dicho. El tamaño de
esta partición debe ser de al menos unos 4 GB, aunque se recomiendo un tamaño de 7
a 10 GB. Más, para un sistema de uso normal, no va a ser necesario.

• swap  Partición de intercambio. Es una partición invisible que usará el sistema


operativo como memoria de disco auxiliar cuando la RAM se agote. No se suele usar
mucho si tienes un equipo medio decente, pero le da mucha estabilidad al sistema. El
tamaño que se recomienda es de 1 GB, no más a no ser que uses el modo hibernación,
entonces se usara el doble de la memoria RAM.

• /home  Partición de carpetas de usuario. Digamos que es el “Mis Documentos” de


Windows, pero muy mejorado. Aquí tendremos todos nuestros archivos, configuración
de nuestros programas, del escritorio, etc. No es una partición indispensable pero sí
muy recomendable. Si por cualquier circunstancia vuestro sistema se fastidia
(probablemente por nuestra propia culpa xD) y no sabes arreglarlo, cuando lo instales
de nuevo tendrás todas tus cosas a salvo, así como las configuraciones mencionadas. El
tamaño aquí está a vuestra elección. Cuanto más tamaño le pongas, más espacio
tendrás para guardar tus cosas, insisto, con total independencia del sistema.

Iniciando Ubuntu Desktop Live CD


Una vez configurada la PC para que inicie desde el CD, así pues ahora metemos el CD
dentro de la lectora, iniciamos el ordenador y nos aparecerá un menú de Ubuntu con una
serie de opciones.

Primero elegimos nuestro idioma. La lista debería aparecer automáticamente, nos


movemos con los cursores y lo seleccionamos con “Enter“. Hecho esto simplemente
seleccionamos la primera opción (la de probar el sistema) y pulsamos de nuevo “Enter“

Tardará quizá un poco hasta que termine de iniciarse. Tener en cuenta que es un LiveCD,
es decir, el sistema se iniciará totalmente usable, con conexión a internet, con las
aplicaciones disponibles pero sin instalar nada en el disco duro. Por ello el rendimiento no
es fiel a la realidad.

Lo que nos encontramos (antes de)

Bien, pasado ese tiempo se mostrará el escritorio del sistema:

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Este es el escritorio por defecto de Ubuntu Hardy Heron, la garza robusta que protagoniza el
wallpaper.
Conectar a Internet
Conectar el cable de red a la PC para que se pueda acceder a Internet, si el aula tiene red
inalámbrica puede tomarla y acceder a ella.
Instalación - Paso 1: Idioma
Doble click sobre el icono de “Instalar” que tenemos en el escritorio comenzaremos el
asistente de instalación. Esta es la primera ventana:

Nos dan la bienvenida y unas indicaciones para que elijas el idioma en que quieres tu sistema
de la lista izquierda. Una vez hecho esto, simplemente le damos al botón “Adelante”.

Instalación - Paso 2: Hora


El siguiente paso es igual de simple. Ahora tenemos que configurar la hora.

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Para ello podemos
seleccionar la ciudad de referencia de tu franja horaria de la lista desplegable de la izquierda, o
bien simplemente hacer click sobre dicha ciudad en el mapa que puedes ver. Deja el ratón
encima de una zona para que haga zoom sobre la misma.

Una vez configurada la hora, click, “Adelante“.


Instalación - Paso 3: Idioma del teclado
Seguimos con otro paso, ahora la tipografía de nuestro teclado.

En la zona izquierda tienes el país, y en la derecha las variantes del mismo en caso de tenerlas.
En la casilla inferior puedes escribir para comprobar que está bien configurado.

Click, “Adelante“

Instalación - Paso 4: Preparando las particiones


Como se comento en la introducción, este es el paso un poco más nublado para los novatos.
Para empezar tenemos esta ventana:

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Vamos a elegir la tercera opción siguiendo el consejo que comente, para así, configurar
manualmente las particiones que hemos creado previamente.

Tardará unos segundos en analizar el o los disco/s duro/s y nos mostrará los discos duros que
tenemos y las respectivas particiones.

Como verán los nombres no son excesivamente descriptivos. Los “/dev” indican que es un
dispositivo, el resto es el nombre del mismo. sda, sdb son discos duros, sus nombres “sd”
vienen de “sata disk” y las letras “a“, “b” es para diferenciar los discos. Es una forma de
decir, primer disco (sda), segundo disco (sdb).

Las particiones, son porciones de disco que se tratan como dispositivos independientes entre
ellos aunque sean del mismo disco duro. Los números identifican las distintas particiones de un
disco, así tenemos a “sda1” como primera partición del primer disco y “sda2” como segunda
partición del mismo.

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Los puntos de montaje (Mount point) es la carpeta en la que se va a montar dicha partición.
Esto es quizá lo que más cueste comprender a un inicio, así que intentaré detallarlo tanto como
pueda.

En Windows, una partición se muestra como un nuevo disco. Imaginemos que sólo tenemos un
disco duro que está dividido en dos particiones. Cuando vamos a “Mi PC” se nos muestran dos
discos: C y D.

En GNU/Linux sin embargo no funciona así. Este sistema trata a todos los dispositivos de la
misma forma, como fuente/sumidero de información que va de un lado para otro. En el fondo le
da igual que sea una partición, un disco duro, un monitor, una impresora, etc. Son todos
dispositivos que los podemos “colocar” y llamar como queramos. El lugar donde “colocamos”
(a partir de ahora lo llamaremos “montamos”) esos dispositivos, son los puntos de montaje.

De esta forma, así como Windows tiene todas las particiones como letras en “Mi PC”,
GNU/Linux las tendrá como carpetas donde queramos, aunque existen ciertos convenios para
emplazarlos. Si quieres aprender más sobre estos “convenios”, echa un vistazo a la jerarquía
de ficheros en GNU/Linux.

Hemos hablado al principio de tres particiones: /, /home y swap. La Raiz / se indicará a


continuación como el “dispositivo” principal, la partición donde se va a instalar el sistema y de
donde va a colgar el resto de carpetas (y sus respectivos puntos de montaje). Así pues /home
no es más que una carpeta de /, pero es una carpeta importante ya que es la que guardará
toda la configuración de nuestro escritorio, aplicaciones y que contendrá todos nuestros datos
(y del resto de usuarios si es un PC que usa más de una persona con distintas cuentas).

Este es el motivo por el que recomiendo independizar el /home, es decir, darle a esa “carpeta”
toda una partición, así si algún día tenemos una perdida con la partición del sistema, nuestros
datos estarán intactos en la otra. Si dentro de 6 meses actualizamos a Intrepid Ibex y lo
tenemos así configurado, podremos hacerlo manteniendo todas las configuraciones de
escritorio y aplicaciones.

Jerarquía de Particiones Windows y Linux

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
La primera parte muestra dos particiones en un sistema Windows. La segunda en GNU/Linux.
En ella vemos cómo carpetas y particiones montadas (traducidas a carpetas) comparten la
citada jerarquía. Los nombres no son muy descriptivos, y en la tercera imagen puedes ver los
nombres más asequibles en los puntos de montaje. De esta forma “/media/sda1” se convierte
en “/media/windows” y “/media/sda4” pasa a llamarse “/media/windatos“.

Nota: Hicimos un alto para que quede claro es cuanto a las particiones

Volviendo a la última captura de instalación, vamos a editar las particiones para asignarles los
puntos de montaje que queremos. En la partición donde vamos a instalar el sistema vamos a
formatearla, el resto no es necesario.

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Una vez editadas todas las particiones nos debería quedar algo parecido a esto:

Le damos al botón “Adelante“.

Instalación - Paso 5: Configurar tu cuenta

Los sistemas GNU/Linux funcionan mediante cuentas de usuario. “root” es la cuenta de Dios en
el sistema, por decirlo de alguna forma. Es el llamado superusuario, que todo lo puede tocar.
Todo sistema GNU/Linux tiene esta cuenta, sin embargo no es recomendable usarla por
defecto.

Ubuntu, entre otras distros, ofrece un sistema con el que podemos usar una cuenta normal,
pero como si fuera superusuario (root) cuando lo necesitemos, por ejemplo para instalar o
desinstalar algo. Esto se realiza precediendo un comando con “sudo”.

Ahora vamos a configurar dicha cuenta.

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Escribimos nuestro nombre, login (en minúscula), contraseña (por duplicado) y el nombre que
le queremos dar al ordenador, en dicho orden.

Presionamos “Adelante“

Instalación - Paso 6 Migrar perfil de otro sistema operativo

Ya estamos acabando. Este paso lo suelen agradecer los que están dando el paso de la
ventana al pingüino. Nos da la oportunidad de tomar ciertos aspectos de la configuración de
otro sistema instalado (Windows o GNU/Linux), tales como el wallpaper, los marcadores de
Firefox.

Tan sólo tenéis que habilitar las casillas que te interesen.

“Adelante“

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Instalación - Paso 7: Resumen de operaciones

El último pasó, por llamarlo de alguna forma.

En esta ventana nos muestra la recopilación de todo lo que hemos configurado en las fases
previas. Ya podemos terminar, pulsamos el botón “Instalar”

Ahora sólo queda esperar… ¿esperar?


Instalación - ¿Qué hago mientras tanto?
Ubuntu tiene la facilidad de ser usado y es por eso la pregunta:

¿Para qué esperar si podemos usarlo mientras tanto? No va a tardar mucho en instalarse,
aunque obviamente depende de la máquina. Sin embargo no olvidemos que estamos en un
sistema totalmente funcional, y mientras se está instalando podemos usarlo: navegar por
internet, o jugar un sudoku (por ejemplo).

Así da gusto…

Fin de la instalación
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Y ahora sí, se acabó.

Si tienes otro sistema instalado (Windows o cualquier otra distribución) aparecerá también en
dicha lista.

Lo que nos encontramos (después de)

Al iniciar Ubuntu, cuando termine la barra naranja de cargarse nos preguntará por nuestro
login y contraseña que configuramos en el paso 5. Tenerlo en cuenta que no es el primer
“nombre”, sino el segundo, para iniciar sesión.

Hecho esto se nos mostrará el mismo escritorio que habias visto en el LiveCD. Sin embargo, si
ya tienes un /home de otro sistema que hayas montado, como comentamos guardaba la
configuración de aplicaciones y escritorio, así pues se mostrará tal y como lo hacía antes.

Esto ayuda a entender lo práctico que es tener /home en otra partición.

Pequeños consejos e información post-instalación

Cuando inicies el sistema instalado por primera vez, irá al modo texto y empezará a hacer una
especie de scan de disco. No te asustes, esto es normal. Digamos que es una medida
preventiva para la seguridad de los datos y que se repetirá periódicamente.

Si alguien ya había usado previamente tracker, puede que el sistema se quede un rato con
accesos a disco. Es normal si se ha conservado la configuración previa ya que tiene que
hashear (recorrer e indexar) todos los archivos que deban ser indexados.

En algunos equipos el controlador de volumen no queda bien asignado. Para comprobarlo


presionar el botón derecho sobre el icono del volumen, selecciona “Preferencias” y asegurar
que esté seleccionado “PCM“. Si no lo está, selecciónalo.

Para instalar los programas, personalmente se recomienda que tengas un archivo de texto e
introduzcas dentro lo siguiente:
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Sudo aptitud e install programa1 programa2 ... programaN

Este archivo de texto guárdalo en la carpeta personal (si tienes el /home independizado) o en
algún sitio que esté a salvo ya que te ahorraras mucho tiempo para futuras instalaciones,
donde tendras que hacer pocas modificaciones.

Esta por ejemplo ha sido mi línea para Hardy:

sudo aptitude install thunderbird rtorrent amule vlc gnome-schedule xbindkeys nautilus-open-
terminal screen ssh elinks yakuake k3b kde-i18n-es libk3b2-mp3 tvtime alevt netspeed
sensors-applet feta logitech-applet lm-sensors unrar compizconfig-settings-manager emerald
emerald-themes xchat gftp xvkbd htop subversion conky

La idea de esta línea es introducirlo en la consola, y tener el sistema operativo tan actualizado
con las aplicaciones invocadas líneas arriba

Conclusión

Como habrás visto, es muy sencillo instalarlo. Sólo tiene un punto algo complejo que con un
poco de información previa se solventa fácilmente.

Ya hemos dado el primer paso ahora comenzaremos a utilizar el sistema operativo Ubuntu su
entorno grafico y los comando básicos de Linux.

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
CAPITULO 2: COMANDO BASICOS EN CONSOLA

Temas:

• Manejo de archivos
• Introducción a los comandos básicos
• Uso de flujos, túneles y redirección
• Creación y control de procesos
• Edición de textos con 'vim'
• Administración de usuarios y permisos

2.1 MANEJO DE ARCHIVOS


Una de las principales funciones de un Sistema Operativo es la administración del
almacenamiento de información, para lo cual es necesario contar con un “Sistema de
Archivos”. Con este término se hace referencia, por un lado, a los mecanismos y estructuras
que el sistema operativo utiliza para organizar la información en medios físicos tales como
discos y diskettes (aspecto físico del sistema de archivos), y por otro a la visión que es ofrecida
al usuario para permitir la manipulación de la información almacenada (una abstracción, o
perspectiva lógica del sistema de archivos).

Se ofrece a continuación una descripción sintética de los aspectos lógicos del sistema de
archivos de Linux.

ARCHIVOS Y DIRECTORIOS

El sistema de archivos de Linux está organizado en archivos y directorios. Un archivo es una


colección de datos que se almacena en un medio físico y a la cual se le asigna un nombre. Los
archivos, a su vez, están agrupados en conjuntos llamados directorios. Un directorio puede
tener subdirectorios, formándose así una estructura jerárquica con la forma de un árbol
invertido. El directorio inicial de esa jerarquía se denomina directorio raíz y se simboliza con
una barra de división (/).

El sistema de archivos de un sistema Linux típico está formado por los siguientes directorios
bajo el directorio raíz:

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
/bin Contiene los programas ejecutables que son parte del sistema operativo Linux. Muchos
comandos de Linux como cat, cp, ls, more y tar están ubicados en este directorio.

/boot Contienen el kernel (o núcleo) de Linux y otros archivos necesarios para el administrador
de inicio LILO, que realiza la carga inicial del sistema operativo cuando la computadora se
enciende.

/dev Contienen todos los archivos de acceso a dispositivos. Linux trata cada dispositivo
(terminales, discos, impresoras, etc.) como si fuera un archivo especial.

/etc. Contiene archivos de configuración del sistema y los programas de inicialización.

/home Contiene los directorios HOME de los usuarios. El directorio HOME el directorio inicial en
el que se encuentra posicionado un usuario al ingresar al sistema, por lo que también se
conoce como directorio de logín o de conexión.

/lib Contiene los archivos de biblioteca utilizados por las aplicaciones y utilidades del sistema,
así también como las librerías pertenecientes a diferentes lenguajes de programación.

/lost+found Directorio para archivos recuperados por el proceso de reparación del sistema de
archivos, que se ejecuta luego de una caída del sistema y asegura su integridad luego de que
el equipo haya sido apagado de manera inapropiada.

/mnt Es un directorio vacío que se usa normalmente para montar dispositivos como disquetes
y particiones temporales de disco.

/proc Contiene archivos con información sobre el estado de ejecución del sistema operativo y
de los procesos.

/root Es el directorio HOME para el usuario root (administrador del sistema).

/sbin Contienen archivos ejecutables que son comandos que se usan normalmente para la
administración del sistema.

/tmp Directorio temporal que puede usar cualquier usuario como directorio transitorio.

/usr Contiene archivos de programa, de datos y de librerías asociados con las actividades de
los usuarios.

/var Contiene archivos temporales y de trabajo generados por programas del sistema. A
diferencia de /tmp, los usuarios comunes no tienen permiso para utilizar los subdirectorios que
contiene directamente, sino que deben hacerlo a través de aplicaciones y utilidades del
sistema.

PERMISOS DE ARCHIVOS Y DIRECTORIOS

En cualquier sistema multiusuario, es preciso que existan métodos que impidan a un usuario
no autorizado copiar, borrar, modificar algún archivo sobre el cual no tiene permiso.

En Linux las medidas de protección se basan en que cada archivo tiene un propietario
(usualmente, el que creó el archivo). Además, los usuarios pertenecen a uno o mas grupos, los
cuales son asignados por el Administrador dependiendo de la tarea que realiza cada usuario;
cuando un usuario crea un archivo, el mismo le pertenece también a alguno de los grupos del
usuario que lo creó.

Así, un archivo en Linux le pertenece a un usuario y a un grupo, cada uno de los cuales tendrá
ciertos privilegios de acceso al archivo. Adicionalmente, es posible especificar que derechos
tendrán los otros usuarios, es decir, aquellos que no son el propietario del archivo ni
pertenecen al grupo dueño del archivo.

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
En cada categoría de permisos (usuario, grupo y otros) se distinguen tres tipos de accesos:
lectura (Read), escritura (Write) y ejecución (eXecute), cuyos significados varían según se
apliquen a un archivo o a un directorio.

En el caso de los archivos, el permiso R (lectura) habilita a quién lo posea a ver el contenido
del archivo, mientras que el permiso W (escritura) le permite cambiar su contenido. El
permiso X (ejecución) se aplica a los programas y habilita su ejecución.

Para los directorios, el permiso R permite listar el contenido del mismo (es decir, “leer” el
directorio, mientras que el W permite borrar o crear nuevos archivos en su interior (es decir,
modificar o “escribir” el directorio). El permiso X da permiso de paso, es decir, la posibilidad de
transformar el directorio en cuestión en el directorio actual (ver comando cd).

En los listados de directorio, los permisos se muestran como una cadena de 9 caracteres, en
donde los primeros tres corresponden a los permisos del usuario, los siguientes tres a los del
grupo y los últimos, a los de los demás usuarios. La presencia de una letra (r, w o x) indica que
el permiso está concedido, mientras que un guión (-) indica que ese permiso está denegado.

Los permisos de un archivo o directorio pueden cambiarse desde el administrador de archivos


KFM utilizando la ventana de propiedades o utilizando el comando chmod.

2.2.- INTRODUCCION A LOS COMANDOS BASICOS

Introducción al comando básico: ¿Por qué tengo que usarlos?


Linux al igual que todos los sistemas operativos solo pueden ejecutar un conjunto de
instrucciones llamadas comandos. Los entornos gráficos son solo una interfaz entre los
usuarios comunes y los comandos.
Los comandos nos permiten realizar muchísimas cosas. Y, a pesar de que son un poco
complicados al principio, son un recurso sumamente útil cuando se presenta algún
contratiempo en nuestro sistema. Por ejemplo, cuando por alguna razón no podemos acceder
al entorno gráfico.
Además, mediante comando podemos realizar configuraciones específicas a nuestro sistema
GNU/Linux para que este trabaje de la manera que queramos que lo haga.

Usuario Administrador: root

El usuario «root» en GNU/Linux es el usuario que tiene acceso administrativo al sistema. Los
usuarios normales no tiene este acceso por razones de seguridad. La primera cuenta de
usuario que usted haya creado en su sistema durante la instalación tendrá, de forma
predeterminada, el acceso a su. Puede restringir y habilitar el acceso sudo a los usuarios con la
aplicación Usuarios y grupos.

Cuando ejecute una aplicación que requiera privilegios de administrador, su le pedirá que
escriba su contraseña de usuario normal. Esto asegura que las aplicaciones maliciosas no
dañarán su sistema, y sirve como recordatorio de que va a realizar acciones administrativas
que le exigen ser cuidadoso.

login as: root

root@mail.perulinux.com.pe's password:

Last login: Wed Jun 11 09:16:45 2008

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Como ejecutar un comando:

Ruta Absoluta: Se especifica la ruta de acceso desde el directorio raíz del árbol de directorios
hasta el comando en cuestión:

• /bin/ls
• /sbin/shutdown –h now

Ruta Relativa: Requiere la existencia de un directorio activo o de trabajo se especifica la ruta


de acceso a partir de ese punto.

• ls
• shutdown –h now

Listado de Comandos Básicos:

Prendiendo y apagando el sistema.

shutdown -h 5 Apaga el sistema en 5 minutos después de ejecutarse y no reinicia.


shutdown -h now Apaga el sistema en ese momento y NO lo vuelve a reinicia
halt Apaga el sistema de la misma manera que el mandato anterior
shutdown -r 5 Apaga el sistema 5 minutos después de haberlo ejecutado y reinicia
shutdown -r now Apaga el sistema en ese momento y reinicia
reboot Reinicia el sistema
startx Inicia el entorno gráfico.

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Listar archivos

ls -l Lista los archivos del directorio actual con todos sus atributos.
ls -F Lista los archivos del directorio actual indicando su tipo (archivo, directorio, etc)
ls -lC Lista los archivos del directorio actual en columnas.
Lista los archivos invisibles del directorio actual.(los que empiezan con
ls -a
"../../../../home/rpolo/.")
exit Sale del perfil del usuario que lo ejecuta.

Tratamiento de archivos.

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Moviéndonos por directorios.
cd /home/rpolo Ingresa al directorio /home/rpolo
cd .. Vuelve al directorio raíz

Crear Archivos

Touch sabogal.txt crear el archivo con nombre sabogal.txt

Crear Carpetas

mkdir linux Crear la carpeta de nombre linux

Borrar archivos

rm perulinux.txt Borra el archivo con nombre perulinux.txt.


rm -R peru Borra el directorio peru con todos los archivos que tiene dentro (Recursivo).
rm -Rf /peru Borra el directorio peru en forma recursiva y SIN PREGUNTAR. -Ojo con este mandato
siendo Root-

Copiar y mover archivos

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Copia el Archivo centos5.1.txt dentro del directorio
cp centos5.1.txt /root/linux/centos
/root/linux/centos
Mueve el Archivo debian3.2.txt dentro del directorio
mv debian3.2.txt /root/linux/debian
/root/linux/debian

Renombrar archivos.

mv centos5.1 centos5.1.txt Le cambia el nombre al archivo centos5.1 por centos5.1.txt

Comodines

* Representa todo. Ejemplo: ls *.rpm (lista todos los archivos con extensión rpm)
Representa un solo carácter. ejemplo: ls ?.txt (lista todos los archivos de un solo
?
carácter con extensión txt)

Instalando paquetes RPM

Instala el paquete lpt-news-0.1-5.i386.rpm (Use preferentemente


rpm -ivh lpt-news-0.1-5.i386.rpm
-Uvh)
Instala o actualiza el paquete lpt-news-0.1-5.i386.rpm (usar este,
rpm -Uvh lpt-news-0.1-5.i386.rpm
preferentemente, para instalar)
Desinstala el paquete lpt-news (no se necesita ni la versión ni la
rpm -e lpt-news
extinción)
rpm -qf /bin/ls Muestra en que paquete esta incluido el mandato ls. -ver whereis, en
sección búsqueda-
rpm -q lpt-news Muestra la versión del paquete ya instalado lpt-news.
rpm -ql lpt-news Lista los componentes del paquete lpt-news, previamente instalado,
con sus respectivas rutas.
rpm –q squid Lista todos los paquetes instalados en el sistema(no se necesita
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
privilegios de ROOT)
rpm -qa |grep ltp Lista todos los paquetes que contengan lpt en su nombre.

Comprimir, descomprimir archivos tar.gz y tar.bz2

tar -zxvf lpt.tar.gz Descomprime y Desempaqueta el archivo lpt.tar.gz


tar -zcvf lpt.tar.gz /home/LPT Empaqueta y Comprime el directorio /home/LPT dentro de lpt.tar.gz
tar -jxvf lpt.tar.bz2 Descomprime y Desempaqueta el archivo lpt.tar.bz2
tar -jcvf lpt.tar.bz2 /home/LPT Empaqueta y Comprime el directorio /home/LPT dentro de lpt.tar.bz2
tar -cMf /dev/fd0 Empaqueta el directorio actual en múltiples Diskettes.

[root@perulinux]#tar –cvf nombre_archivo.tar fichero1 fichero2

Donde fichero1, fichero2 etc. son los ficheros que se van a añadir al archivo tar. Si se desea
extraer los ficheros se emplea tar –xpvf nombre_archivo.tar fichero1
Al contrario que tar que agrupa varios ficheros en uno, gzip comprime un único fichero con
lo que la información se mantiene pero se reduce el tamaño del mismo. El uso de gzip es
muy sencillo gzip fichero con lo que se comprime fichero (que es borrado) y se crea un
fichero con nombre fichero.gz. Si lo que se desea es descomprimir un fichero se emplea
entonces:

[root@perulinux]#gzip –d fichero.gz
Recuperando el fichero inicial. Como se ha comentado al principio es típico emplear tar y
gzip de forma consecutiva, para obtener ficheros con extensión tar.gz o tgz que contienen
varios ficheros de forma comprimida (similar a un fichero zip). El comando tar incluye la
opción z para estos ficheros de forma que para extraer los ficheros que contiene:

[root@perulinux]#tar –zxf fichero.tar.gz

2.3 USO DE FLUJOS, TÚNELES Y REDIRECCIÓN


Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Información del Sistema

hostname Devuelve el nombre de la maquina.


Devuelve la cantidad de tiempo transcurrido desde la ultima vez que
uptime
se arranco el sistema.
uname -a Información sobre el sistema operativo de la maquina.
dmesg|more Imprime el "ring buffer" del kernel.
free -tm Información sobre la cantidad de memoria disponible y usada
df -h Información sobre todo los dispositivos montados en la maquina
Información sobre el espacio ocupado por cada subdirectorio,
du -bh /|more
comenzando en el directorio raíz (/)
cat /proc/cpuinfo Información sobre el microprocesador
cat /proc/interrupts Información sobre las interrupciones en uso (IRQs)
Información sobre los sistemas de archivos que se pueden utilizar
cat /proc/filesystems
(compilados en el kernel).
who Información sobre los usuarios usando el sistema.
id LPT Información sobre UID, GID y GROUPS del usuario LPT
last Información sobre los últimos usuarios que han usado el sistema.
/sbin/ifconfig Información sobre los distintos dispositivos de red
netstat Información valiosa sobre la conexion de red

[root@perulinux]#du -h
[root@perulinux]#df
El comando df por el contrario informa del espacio usado por las particiones del sistema
que se encuentren montadas.

Visualización sin formato de un fichero. Comando cat


Este comando permite visualizar el contenido de uno o más ficheros de forma no
formateada.
También permite copiar uno o más ficheros como apéndice de otro ya existente. Algunas
formas de utilizar este comando son las siguientes,

[root@perulinux]#cat filename
Saca por pantalla el contenido del fichero filename.

[root@perulinux]#cat file1 file2


Saca por pantalla, secuencialmente y según el orden especificado, el contenido de los
ficheros indicados.

[root@perulinux]#cat file1 file2 >file3


El contenido de los ficheros file1 y file2 es almacenado en file3.

[root@perulinux]#cat file1 file2 >>file3


El contenido de file1 y file2 es añadido al final de file3.

[root@perulinux]#cat >file1
Acepta lo que se introduce por el teclado y lo almacena en file1 (se crea file1). Para
terminar se emplea <ctrl>d

Comando head
[root@perulinux]#head -7 filename
Escribe las 7 primeras líneas del fichero filename

Visualización de ficheros con formato. Comando pr


Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Este comando, a diferencia de cat, imprime por consola el contenido de los ficheros de una
manera formateada, por columnas, controlando el tamaño de página y poniendo cabeceras
al comienzo de las mismas. Está muy en relación con el comando lp de salida por
impresora. Las formas más importantes que admite son las siguientes:

[root@perulinux]#pr file
Produce una salida estándar de 66 líneas por página, con un encabezamiento de 5 líneas (2
en blanco, una de identificación y otras 2 líneas en blanco).

[root@perulinux]#pr -ln file


Produce una salida de n líneas por página (cuando el tamaño de papel de impresora, por
ejemplo, tiene un número de líneas distinto de 66)

[root@perulinux]#pr -p file
Hace una pausa para presentar la página, hasta que se pulsa <return> para continuar
[root@perulinux]# pr -t file
Suprime las 5 líneas del encabezamiento y las del final de página.

[root@perulinux]#pr -wn file


Ajusta la anchura de la línea a n posiciones.

[root@perulinux]#pr -d file
Lista el fichero con espaciado doble.

[root@perulinux]#pr -h `caracteres` file


El argumento o cadena de caracteres `caracteres` se convertirán en la cabecera del
listado.

[root@perulinux]#pr +n file Imprime el fichero a partir de la página n.


Además de los ejemplos anteriores, se pueden combinar varias opciones en un mismo
comando, como por ejemplo en: pr -dt file la salida de este comando es por la consola, pero
puede redireccionarse a otro fichero, por ejemplo, si ejecutamos el comando:

[root@perulinux]#pr file1 > file2


Se crea un fichero nuevo llamado file2 que es idéntico a file1, pero con formato por páginas
y columnas.

Visualización de ficheros pantalla a pantalla. Comandos more y less


Estos comandos permiten visualizar un fichero pantalla a pantalla. El número de líneas por
pantalla es de 23 líneas de texto y una última línea de mensajes, donde aparecerá la
palabra more. Cuando se pulsa la barra espaciadora (el espacio en blanco), se visualizará la
siguiente pantalla. Para salir de este comando (terminar la visualización) se pulsa <ctrl>d o
q. Por ejemplo:

[root@perulinux]#more file
El comando less es muy similar al anterior pero permite el desplazamiento a lo largo del
texto empleando las teclas de cursores pudiendo desplazarse hacia arriba o abajo de un
fichero.

Búsqueda en ficheros. Comandos grep, fgrep y egrep


El comando grep localiza una palabra, clave o frase en un conjunto de directorios,
indicando en cuáles de ellos la ha encontrado. Este comando rastrea fichero por fichero, por
turno, imprimiendo aquellas líneas que contienen el conjunto de caracteres buscado. Si el
conjunto de caracteres a buscar está compuesto por dos o más palabras separadas por un
espacio, se colocará el conjunto de caracteres entre apóstrofes ('). Su formato es el
siguiente:
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
[root@perulinux]#grep 'conjuntocaracteres' file1 file2 file3
Siendo 'conjuntocaracteres' la secuencia de caracteres a buscar, y file1, file2, y file31 los
ficheros donde se debe buscar. Veamos un nuevo ejemplo:

[root@perulinux]#grep 'TRIANGULARIZACION MATRIZ' matrix.f scaling.f

Este comando buscará TRIANGULARIZACION MATRIZ entre las líneas de los ficheros matrix.f
y scaling.f. Este comando permite seleccionar, entre todas las líneas de uno o más ficheros,
aquellas que contienen un motivo que satisface una expresión regular determinada.

[root@perulinux]#grep [-opcion] expresión_regular [referencia...]

Las opciones principales son:


c lo único que se hace es escribir el número de las líneas que satisfacen la condición.
i no se distinguen mayúsculas y minúsculas.
l se escriben los nombres de los ficheros que contienen líneas buscadas.
n cada línea es precedida por su número en el fichero.
s no se vuelcan los mensajes que indican que un fichero no se puede abrir.
v se muestran sólo las líneas que no satisfacen el criterio de selección.

A continuación se muestra una serie de ejemplos.

[root@perulinux]#grep ‘ˆd’ text líneas que comienzan por d.


[root@perulinux]#grep ‘ˆ[ˆd]’ text líneas que no comienzan por d.
[root@perulinux]#grep -v ‘ˆC’ file1 > file2 quita las líneas de file1 que comienzan por C y
lo copia en file2.

Comandos de impresión.
Comando lpr
El comando lpr se emplea para imprimir una serie de ficheros. Si se emplea sin
argumentos imprime el texto que se introduzca a continuación en la impresora por
defecto. Por el contrario, lpr nombre_fichero imprime en la impresora por defecto el
fichero indicado.

[root@perulinux]#lpr

REDIRECCIONES Y TUBERÍAS
Redirecciones
Los comandos de Linux tienen una entrada estándar (número 0) y dos salidas estándar
(número 1 para la salida normal del comando, y número 2 para la salida de los mensajes de
error que se puedan producir en su ejecución). Por defecto tanto la entrada como las
salidas estándar de los comandos son la propia terminal, a no ser que por la propia
naturaleza del comando se den en él los nombres de algunos ficheros que hagan el papel
de entrada y de salida. Por ejemplo, en el comando

[root@perulinux]#cp file1 file2


file1 es la entrada y file2 es la salida; aquí no intervienen las entradas y salidas estándar.
Sin embargo, cuando utilizamos por ejemplo el comando ls (listado de directorio), la salida
de este comando se dirige hacia la terminal. Si queremos que la salida de este comando se
dirija a un fichero llamado file, podríamos escribir,

[root@perulinux]#ls >file
El (>) es uno de los llamados operadores de redirección y dirige la salida estándar hacia el
fichero indicado a continuación; si este fichero no existe, se crea en ese momento. Otros
operadores de redirección son el operador (<) que redirige la entrada estándar desde un
determinado fichero, y el operador (>>) que redirige la salida estándar hacia otro fichero,

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
pero añadiendo dicha salida al final de ese fichero, sin sobreescribir el contenido original.
Por ejemplo, si cada vez que entramos en el sistema ejecutamos el comando,

[root@perulinux]#date >>archivo
Tendremos un fichero llamado archivo que contiene información sobre todas las veces que
hemos entrado en el sistema. Otro ejemplo, para añadir al fichero file2 al final de file1 y
al conjunto llamarle file3, sería

[root@perulinux]#cat file1 file2 >file3


O, si quisiéramos que el fichero resultante fuera el mismo file1,

[root@perulinux]#cat file2 >>file1


Un ejemplo en redirección a la entrada podría ser el siguiente, mail juan < carta que envía
al usuario juan el contenido del fichero carta.

Tuberías
Siguiendo con los ejemplos anteriores, si quisiéramos enviar a juan una lista de nuestros
ficheros podríamos utilizar los comandos,

[root@perulinux]#ls >fichero
[root@perulinux]#mail juan <fichero
[root@perulinux]#rm fichero

Es decir que hemos conectado la salida estándar de ls con la entrada estándar de mail, a
través de un fichero transitorio filelist. Linux permite hacer esta operación directamente,
sin pasar por el fichero de almacenamiento transitorio: esto se hace mediante el concepto
de tubería (pipe), que consiste en empalmar la salida estándar de un comando con la
entrada estándar de otro. Para el ejemplo anterior esto se hace en la forma,

[root@perulinux]#ls | mail juan


Con el operador de tubería (|) se pueden empalmar tantos comandos como se desee.

Bifurcación o T (comando tee)


A veces interesa que la salida de un comando, además de redirigirse a un determinado
fichero, se bifurque también hacia la terminal, con objeto de observar inmediatamente el
resultado. Esto se consigue con el operador tee, que podría emplearse de la siguiente
forma:

[root@perulinux]#ls | tee file


La salida de ls se bifurca hacia la terminal y hacia file.
Si quisiéramos que la salida de este comando se añadiera al final de file, deberíamos
utilizar la opción -a,

[root@perulinux]#ls | tee -a file

Redirección de la salida de errores


Los mensajes de error se dirigen a la salida número 2, que normalmente es también la
terminal. A veces, por ejemplo cuando se quiere ejecutar un comando en background
(ejecutar un comando en background es lanzar su ejecución y recuperar el control de la
terminal sin esperar a que termine, lo cual se hace añadiendo el carácter & al final del
comando), interesa evitar que los mensajes de error aparezcan en la pantalla, pues en ella
habremos empezado a hacer otra cosa.
Supongamos por ejemplo que queremos compilar y montar en background un conjunto de
ficheros, dirigiendo los listados a un fichero llamado listados, y los mensajes de error a un
fichero llamado errores. Lo haríamos en la forma,

[root@perulinux]#gcc prueba.c 2>errores

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Con lo cual la salida 2 (errores) se redirige hacia el fichero errores. Para redirigir la salida
estándar de errores al mismo fichero que la salida estándar se emplea un comando como:
[root@perulinux]#program <datos.d >resultados.r 2>&1

EJECUCIÓN DE PROGRAMAS
Ejecución en el fondo & , kill, nice y nohup
Para ejecutar un programa en el fondo, es decir, recuperando inmediatamente el control
del terminal, basta añadir el carácter & al final del comando de ejecución:

[root@perulinux]# program <datos.d >resultados.r &


Inmediatamente aparecerá en el terminal, debajo de esta línea, un número que es el
número de proceso de la ejecución de este programa. Para detener definitivamente dicha
ejecución (no se puede detener temporalmente) se puede utilizar el comando kill:

[root@perulinux]#kill -9 númerodeproceso
La ejecución de un programa en el fondo no impide que aparezcan en la pantalla los
mensajes de error que se produzcan (a no ser que se haya redirigido la salida de errores), y
que el programa se pare cuando se salga del sistema. Para que el programa continúe
ejecutándose aún cuando nosotros hayamos terminado la sesión, hay que utilizar el
comando nohup:

[root@perulinux]#nohup program
Si no se utilizan redirecciones todas las salidas del programa se dirigen a un fichero
llamado nohup.out. Cuando se utiliza nohup el ordenador entiende que el usuario no tiene
prisa y automáticamente disminuye la prioridad de la ejecución. Existe un comando,
llamado nice, que permite realizar ejecuciones con baja prioridad, es decir se le indica al
ordenador que puede ejecutar de forma más lenta esta aplicación si existen otras que sean
más urgentes. Se utiliza en las formas,

[root@perulinux]#nice program &


Para darle al programa la prioridad mínima habría que utilizar el comando

[root@perulinux]#nice -19 program &


Donde el -19 indica la mínima prioridad.

Comando time
El comando time, precediendo a cualquier otro comando, suministra información acerca del
tiempo total empleado en la ejecución, del tiempo de CPU utilizado por el programa del
usuario, y del tiempo de CPU consumido en utilizar recursos del sistema. Por ejemplo para
saber el tiempo utilizado en la compilación y montaje del programa prueba.c utilizaríamos
el comando,

[root@perulinux]#time gcc prueba.c

Comando top
Linux incluye una aplicación llamada top cuya finalidad es manipular la ejecución de
programas de una forma interactiva. Esta aplicación muestra una lista de los procesos que
se están ejecutando. Los principales comandos de top son: u que muestra los procesos que
pertenecen a un determinado usuario, k equivalente al comando kill para matar un proceso
y h que muestra la ayuda del programa.

[root@perulinux]#top

PROGRAMAS DE COMANDOS

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
El sistema operativo Linux, al igual que otros sistemas operativos, permite realizar
programas de comandos, esto es, programas constituidos por distintos comandos que
podrían teclearse interactivamente uno por uno en una terminal, pero que es muchas veces
más cómodo agruparlos en un fichero, y ejecutarlos con una sola instrucción
posteriormente.
Los comandos de Linux pueden ser externos - que implican la creación de un nuevo
proceso, cuyo código está en /bin o /usr/bin- e internos - cuyo código está incluido en el del
intérprete shell que los ejecuta.
Una cierta primera forma de agrupar comandos la ofrece Linux por medio del carácter; Por
ejemplo, tecleando el comando:

[root@perulinux]#date
[root@perulinux]#ls
[root@perulinux]#who

El ordenador ejecutará sucesivamente los comandos date, ls y who. También podría crearse
con un editor de textos un fichero llamado comandos que contuviera las líneas siguientes:
date, ls, who
Para ejecutar este fichero de comandos puede teclearse,

[root@perulinux]#sh comandos
o bien convertir el fichero comandos en directamente ejecutable por medio del comando
chmod en la forma

[root@perulinux]#chmod a+x comandos


De modo que el programa de comandos comandos puede ejecutarse simplemente
tecleando su nombre, comandos
Los comandos sh comandos y comandos no son enteramente equivalentes. Así, el primero
de ellos exige que el fichero comandos esté en el directorio de trabajo, mientras que el
segundo sólo exige que el fichero comandos esté en uno de los directorios de búsqueda de
comandos especificados en la variable PATH. Cuando se ejecuta un fichero de comandos
Linux abre lo que se llama un nuevo shell, es decir un nuevo entorno para la ejecución de
los comandos. Para que las variables del caparazón original conserven su valor en el nuevo
caparazón es necesario prepararlas con la sentencia export antes de abrir el nuevo shell.
Por ejemplo, como consecuencia de lo que se acaba de decir, si en el interior de un fichero
de comandos se cambia de directorio con el comando cd, al acabar la ejecución de dicho
fichero volveremos automáticamente al directorio inicial.

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
2.4.- CREACIÓN Y CONTROL DE PROCESOS

Matar procesos

ps axu Lista los procesos que se están corriendo.

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
kill -9 123 Mata el proceso con número de PID 123. Sin darle tiempo a terminar
kill -9 mozilla Mata el proceso mozilla. Sin darle tiempo a terminar.
kill -15 123 Fuerza a terminar el proceso (el -15 no es necesario ya que es el número por defecto)
kill -l Lista los posibles argumentos de la orden, -15(terminar), -9(matar) etc.
top Cumple la función de ps y kill simultáneamente en consola.

Combinaciones de teclas

[Ctrl]+[Alt]+[Del] Shutdown. Apaga el sistema de forma organizada desde una terminal texto.
[Ctrl]+[Alt]+[F1] Cambia a la primera terminal de texto.
[Ctrl]+[Alt]+[Fn] Cambia a la terminal de texto numero n (n=1,...,8)
[Ctrl]+[Alt]+[F7] Cambia a la primera terminal X (si se esta usando alguna)
[Ctrl]+[Alt]+[Fn] Cambia a la terminal X numero n (n=7,...,12)
Auto-completa el nombre de un mandato, fichero, directorio, programa, cuando
[Tab]
trabajamos en una terminal texto.
(Flecha arriba) Va editando la historia de mandatos que hemos escrito anteriormente
[ArrowUp]
en terminal texto.
[Shift][PgUp] Scroll la salida de la terminal hacia arriba, en terminal texto.
[Shift][PgDown]: Scroll la salida de la terminal hacia abajo, en terminal texto.
[Ctrl]+c Termina el proceso actual. Si no esta corriendo de fondo
[Ctrl]+d Termina la terminal actual.
[Ctrl]+s Para la transferencia a la terminal.
[Ctrl]+z Manda el proceso actual a correr de fondo.

2.5.- EDICIÓN DE TEXTOS CON 'VIM'

Por lo general, vi se instala de modo predefinido en la mayoría de las distribuciones de


GNU/Linux a través del paquete vim-minimal. Puede añadirse funcionalidad adicional a través
de los siguientes paquetes:
• vim-enhanced: Una versión mejorada de vi que añade color a la sintaxis y otras
mejoras en la interfaz.
• vim-X11: Versión de vi para modo gráfico que resulta más fácil de utilizar
gracias a los menús y barra de herramientas.
Si lo desea, puede proceder a instalar Vi y el resto de los paquetes relacionados realizando lo
siguiente:
yum -y install vim vim-enhanced vim-common vim-minimal
Conociendo vi.
Acceda al sistema autenticando como usuario sin privilegios (fulano) y realice lo siguiente:
vi hospital.txt
Lo anterior mostrará una interfaz como la siguiente:
~
~
~
~
~
~
~
~
"hospital.txt" [Fichero nuevo] 0,0-1 Todo
Pulse una vez el botón <INSERT> de su teclado y observe los cambios en la pantalla

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
~
~
~
~
~
~
~
~
-- INSERTAR -- 0-1 Todo
Note que en la parte inferior de la pantalla aparece la palabra «INSERTAR». Esto significa que,
al igual que cualquier otro editor de texto conocido, puede comenzar a insertar texto en el
fichero. Escriba la frase «Curso de Especialización en Linux», pulse la tecla <ENTER> y escriba
de forma propositiva la frase «Perulinux servicios Firewall DMZ, VPN, Asterisk, Proxy, Desarrollo
de Portales, intranets»:

Curso de Especialización en Linux


Perulinux servicios Firewall DMZ, VPN, Asterisk, Proxy, Desarrollo de
Portales intranets
~
~
~
~
-- INSERTAR -- 0-1 Todo
Posicione el cursor del teclado justo debajo de la «u» de la palabra «curso» y pulse de nuevo la
tecla <INSERT> del teclado. Notará que ahora aparece la palabra «REEMPLAZAR»:
Curso de Especialización en Linux
Perulinux servicios Firewall DMZ, VPN, Asterisk, Proxy, Desarrollo de
Portales intranets
~
~
~
~
-- REEMPLAZAR -- 0-1 Todo
Pulse la tecla «b» y observe como se reemplaza la letra «u» para quedar la palabra corregida
como «cbrso»:
Curso de Especialización en Linux
Perulinux servicios Firewall DMZ, VPN, Asterisk, Proxy, Desarrollo de
Portales intranets
~
~
~
~
~
-- REEMPLAZAR -- 0-1 Todo
Mueva el cursor con las flechas del teclado y repita el procedimiento reemplazando la letra «c»
por una «s» en la palabra «curso» de modo que quede como «surso» y de igual modo
reemplace la letra «x» por una «s» en la palabra «perulinux» de modo que quede como
«perulinus»:

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Curso de Especialización en Linux
Perulinux servicios Firewall DMZ, VPN, Asterisk, Proxy, Desarrollo de
Portales intranets
~
~
~
~
~
-- REEMPLAZAR -- 0-1 Todo
Pulse la tecla <ESC> para salir del modo de reemplazo e inmediatamente pulse la tecla : (dos
puntos) seguido de la letra «w» a fin de proceder a guardar el fichero en el disco duro:
Curso de Especialización en Linux
Perulinux servicios Firewall DMZ, VPN, Asterisk, Proxy, Desarrollo de
Portales intranets
~
~
~
~
~
:w
Pulse la tecla <ENTER> y notará que aparece un mensaje en la parte inferior de la pantalla que
indicará que el fichero ha sido guardado:
Curso de Especialización en Linux
Perulinux servicios Firewall DMZ, VPN, Asterisk, Proxy, Desarrollo de
Portales intranets

~
~
~
~
"hospital.txt" [Nuevo] 2L, 44C escritos 2,3 Todo
Vuelva a pulsar la tecla : (dos puntos) e inmediatamente escriba «saveas adiosmundo.txt»:
Curso de Especialización en Linux
Perulinux servicios Firewall DMZ, VPN, Asterisk, Proxy, Desarrollo de
Portales intranets
~
~
~
:saveas adiosmunto.txt
Pulse nuevamente la tecla <ENTER> y observe el mensaje en la parte inferior de la pantalla
que indica el fichero acaba de ser guardado como adiosmundo.txt:
Curso de Especialización en Linux
Perulinux servicios Firewall DMZ, VPN, Asterisk, Proxy, Desarrollo de
Portales intranets
~
~
~
~
"adiosmundo.txt" [Nuevo] 2L, 44C escritos 2,3 Todo
Vuelva a pulsar la tecla «INSERT» para regresar al modo de inserción y escriba lo siguiente:

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Curso de Especialización en Linux
Perulinux servicios Firewall DMZ, VPN, Asterisk, Proxy, Desarrollo de
Portales intranets
un buen sitio donde empezar
Creo que el mundo es un lugar muy malo
La gente que conozco es mala
Mi vida ha sido muy mala
~
~
~
-- INSERTAR -- 5,24 Todo
A continuación pulse la tecla <ESC> e inmediatamente pulse la tecla : (dos puntos) seguido de
la combinación de teclas %s/mal/buen/g del siguiente modo:
Curso de Especialización en Linux
Perulinux servicios Firewall DMZ, VPN, Asterisk, Proxy, Desarrollo de
Portales intranets
un buen sitio donde empezar
Creo que el mundo es un lugar muy malo
La gente que conozco es mala
Mi vida ha sido muy mala
~
~
~
:%s/mal/buen/g
Pulse de nuevo la tecla <ENTER> y observe como ha sido reemplazada la cadena de
caracteres «mal» por la cadena de caracteres «buen» en todo el fichero, quedando del
siguiente modo:
Curso de Especialización en Linux
Perulinux servicios Firewall DMZ, VPN, Asterisk, Proxy, Desarrollo de
Portales intranets
un buen sitio donde empezar
Creo que el mundo es un lugar muy bueno
La gente que conozco es buena
Mi vida ha sido muy buena
~
~
3 sustituciones en 3 líneas 5,1 Todo
En el procedimiento anterior, el símbolo «%» indicaba que se aplicaría un procedimiento a todo
el fichero, no solo en la misma línea, la letra «s» indicaba que se realizaría la búsqueda de la
cadena de caracteres «mal» definida después de la diagonal (/) por la cadena de caracteres
«buen» en toda la línea, indicado por la letra «g».

A continuación, posiciones el cursor de teclado utilizando las flechas del teclado hasta el primer
carácter de la primera línea:
Curso de Especialización en Linux
Perulinux servicios Firewall DMZ, VPN, Asterisk, Proxy, Desarrollo de
Portales intranets
un buen sitio donde empezar
Creo que el mundo es un lugar muy bueno
La gente que conozco es buena
Mi vida ha sido muy buena
~
~
3 sustituciones en 3 líneas 5,1 Todo

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Ahora pulse dos veces consecutivas la tecla «d», es decir, pulsará «dd». Observe como
desaparece la primera línea:
un buen sitio donde empezar
Creo que el mundo es un lugar muy bueno
La gente que conozco es buena
Mi vida ha sido muy buena
~
~

Pulse ahora la tecla «p» para volver a pegar la línea:


un buen sitio donde empezar
Curso de Especialización en Linux
Creo que el mundo es un lugar muy bueno
La gente que conozco es buena
Mi vida ha sido muy buena
~
~

Observe que la línea « Curso de Especialización en Linux » reapareció debajo de la línea «un
buen sitio donde empezar». Utilizando las flechas del teclado, coloque el cursor del teclado
nuevamente sobre el primer carácter de la primera linea del fichero, es decir, sobre la letra «u»
de la línea «un buen sitio donde empezar»:
un buen sitio donde empezar
Curso de Especialización en Linux
Creo que el mundo es un lugar muy bueno
La gente que conozco es buena
Mi vida ha sido muy buena
~
~
1,1 Todo
Vuelva a pulsar «dd» para cortar la linea «un buen sitio donde empezar» e inmediatamente
pulse la tecla «p» para pegar la linea en el lugar correcto:
Curso de Especialización en Linux
un buen sitio donde empezar
Creo que el mundo es un lugar muy bueno
La gente que conozco es buena
Mi vida ha sido muy buena
~
~
2,1 Todo
Coloque ahora el cursor sobre la letra «C» de la linea «Creo que el mundo es un lugar muy
bueno» y pulse la tecla «3» seguido de «dd» y observe como son cortadas las tres siguientes
lineas:

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Curso de Especialización en Linux
un buen sitio donde empeza
~
~
~
3 líneas menos 2,1 Todo
Pulse la tecla «p» una vez, observe el resultado. Vuelva a pulsar la tecla «p» y observe el
resultado. Las dos acciones anteriores añadieron ahora 6 líneas restaurando las eliminadas
anteriormente y agregando tres líneas más con el mismo contenido:
Curso de Especialización en Linux
un buen sitio donde empezar
Creo que el mundo es un lugar muy bueno
Creo que el mundo es un lugar muy bueno
La gente que conozco es buena
Mi vida ha sido muy buena
La gente que conozco es buena
Mi vida ha sido muy buena
~
~
3 líneas más 2,1 Todo
Pulse ahora la tecla: (dos puntos) seguido de la tecla «x» y la tecla <ENTER> a fin de salir
guardando el fichero.

Abra nuevamente el fichero adiosmundo.txt con vi y pulse la combinación de teclas :/buen, de


modo que se realice una búsqueda de la cadena de caracteres «buen» y además se resalten
las coincidencias:
Curso de Especialización en Linux
un buen sitio donde empezar
Creo que el mundo es un lugar muy bueno
Creo que el mundo es un lugar muy bueno
La gente que conozco es buena
Mi vida ha sido muy buena
La gente que conozco es buena
Mi vida ha sido muy buena
~
~
~
/buen 2,1 Todo
Para cancelar el resaltado de los resultados, pulse la combinación de teclas :nohl:
Curso de Especialización en Linux
un buen sitio donde empezar
Creo que el mundo es un lugar muy bueno
Creo que el mundo es un lugar muy bueno
La gente que conozco es buena
Mi vida ha sido muy buena
La gente que conozco es buena
Mi vida ha sido muy buena
~
~
~
~
2,1 Todo

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Pulse A (combinación de las teclas SHIFT+a) mientras el cursor permanece en la segunda linea
y observe que iniciará el modo INSERTAR colocando el cursor al final de la línea donde se
encontraba:
Curso de Especialización en Linux
un buen sitio donde empezar
Creo que el mundo es un lugar muy bueno
Creo que el mundo es un lugar muy bueno
La gente que conozco es buena
Mi vida ha sido muy buena
La gente que conozco es buena
Mi vida ha sido muy buena
~
~
~
-- INSERTAR -- 2,1 Todo

Pulse la tecla <ESC> y enseguida o. Notará que iniciará el modo INSERTAR abriendo una nueva
línea:
Curso de Especialización en Linux
un buen sitio donde empezar

Creo que el mundo es un lugar muy bueno


Creo que el mundo es un lugar muy bueno
La gente que conozco es buena
Mi vida ha sido muy buena
La gente que conozco es buena
Mi vida ha sido muy buena
~
~
~
-- INSERTAR -- 3,1 Todo
Pulse nuevamente la tecla <ESC> y en seguida la combinación dG (d, luego SHIFT+G). Notará
que elimina todo el contenido del texto desde la posición del cursor hasta el final del fichero:
Curso de Especialización en Linux
un buen sitio donde empezar
~
~
7 líneas menos 2,1 Todo
Pulse la combinación: u y notará que el cambio se ha descartado, regresando las 7 líneas que
habían sido eliminadas:
Curso de Especialización en Linux
un buen sitio donde empezar

Creo que el mundo es un lugar muy bueno


Creo que el mundo es un lugar muy bueno
La gente que conozco es buena
Mi vida ha sido muy buena
La gente que conozco es buena
Mi vida ha sido muy buena
~
~
~
7 líneas más 3,0-1 Todo
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Otras combinaciones de teclas.

Combinación Resultado
i [o bien la tecla Inicia insertar texto antes del cursor
insert]

a Inicia insertar texto después del cursor

I (i + SHIFT) Inicia insertar texto al inicio de la línea donde se encuentra el cursor

A (a + SHIFT) Inicia insertar texto al final de la línea donde se encuentra el cursor.

o Abre una nueva línea e inicia insertar texto en la nueva línea.

x Elimina el carácter que esté sobre el cursor.

dd Elimina la línea actual donde se encuentre el cursor.

D Elimina desde la posición actual del cursos hasta el final de la misma


línea donde se encuentra el cursor.

dG Elimina todo hasta el final del fichero.

:q sale si no hubo cambios en el ficheros.

:q! sale descartando los cambios en el fichero.

:w guarda el fichero sin salir.

:wq guarda el fichero y sale de vi.

:x lo mismo que :wq

:saveas /lo/que/sea guarda el fichero como otro fichero donde sea necesario.

:wq! ++enc=utf8 codifica el fichero en UTF-8.

:u deshacer cambios

:red rehacer cambios.

:/cadena de
Búsqueda de cadenas de caracteres.
caracteres

:nohl Cancelar el resaltado de resultados de Búsqueda.

2.4.- ADMINISTRACIÓN DE USUARIOS Y GRUPOS

Administración de usuarios.

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
adduser sabogal Agrega un usuario llamado sabogal
Passwd sabogal Le asigna la clave de acceso al usuario sabogal
userdel sabogal Borra la cuenta sabogal
Da momentáneamente privilegios de ROOT (Si
su
sabemos la clave :)
su - sabogal Se toma momentáneamente los privilegios del
usuario sabogal

Grupos
Los grupos permiten asignar permisos de ficheros y directorios a muchos usuarios de una vez.
A un grupo pueden pertenecer varios usuarios y un usuario puede pertenecer a varios grupos.

Un usuario tiene asignado un grupo principal o por defecto.


Añadir un nuevo grupo
[root@perulinux]#addgroup nuevogrupo
Eliminar un grupo
[root@perulinux]#groupdel nombre_de_grupo
Asignar un usuario a un grupo
[root@perulinux]# usermod -g grupo usuario

Para añadir el usuario a otros grupos:

[root@perulinux]#usermod -G lista_de_grupos
Quitar un usuario de un grupo

Para eliminar un grupo al que ya no pertenece ningún usuario:

[root@perulinux]# groupdel grupo

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
CAPITULO 3: SISTEMA DE ARCHIVOS Y ALMACENAMIENTO

Temas:

• Sistemas de archivos estándar


• Creación de particiones y sistemas de archivos
• Control del sistema de archivos
• Permisos de archivos
• Ownership - Control de los dueños de los archivos
• Creación de links
• Busqueda de archivos

3.1.- SISTEMAS DE ARCHIVOS ESTÁNDAR


Dentro de los tipos de sistema de archivos podemos aplicar los que ya hemos nombrado
anteriormente, con el formato mke2fs, podemos realizar de igual forma la creación de un
sistema de archivo.
# mke2fs -c Chequea si el dispositivo posee bloques dañados.
# mke2fs -l Lee la lista de bloques malos desde un archivo.
# mke2fs -b Tamaño de los bloques.
# mke2fs -j Crea un journal para ext3.
# mke2fs -L nombre El nombre del sistema de archivo.
Un journal es simplemente una aplicación que se utiliza para establecer una garantía en las
transacciones de archivos, almacena información para restablecer los datos afectados por la
transacción en caso de que esta falle.

Puede ocurrir en ciertos casos un sistema se cierra incorrectamente, los sistemas de archivos
quedaran en un estado inconsistente, y se necesitara verificar y corregir los errores existentes
al momento del arranque, cuando el sistema inicia se ejecuta un strip que verifica esta
inconsistencia en el sistema, por nuestra cuenta podemos realizar la operación de manera
manual:
# fsck -A Verifica todos los sistemas de archivos en /etc/fstab.
# fsck -t tipo Tipo de sistema de archivo.
# fsck -C0 Muestra una barra de progreso.
Para chequear un sistema de archivo éste deberá estar desmontado o en modo solo lectura.

Un chequeo de sistemas de archivo en el caso de ext2 o ext3 se realiza de la siguiente manera:


# e2fsck -a Intenta reparar los errores automáticamente.
# e2fsck -p Es equivalente a la primera opcion.
# e2fsck -c Verifica los sectores de la partición.
# e2fsck -l archivo Lee la lista de bloques dañados desde archivo.
# e2fsck -y Contesta si a todas las preguntas.
# e2fsck -f Verifica archivos que aparenten no tener errores.
# e2fsck -b bloque Usa un superbloque alternativo.

Comandos sencillos para visualizar la hora, fecha de que pueden ser útiles para familiarizarse
con los comandos del sistema.

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
3.2.- montando sistema de archivos

Montado de sistemas de archivos.

Monta la unidad de CD-ROM en el directorio especificado (/mnt/


mount -t iso9660 /dev/cdrom /mnt/cdrom
cdrom)
Monta el disco "C" en el directorio especificado con partición
mount -t msdos /dev/hda1 /mnt/win_c
msdos.
Monta el disco "C" con partición FAT en el directorio
mount -t vfat /dev/hda1 /mnt/win_c
especificado.
umount /mnt/cdrom Desmonta el CD-ROM.
umount /mnt/win_c Desmonta el disco rígido "C"
usermount Una forma fácil y rápida de montar y desmontar unidades.

3.3 Control del sistema de archivos

¿Has visto esa combinación de r,w,x y - cuando listas un directorio?, tienes cierta idea que son
los permisos, pero ¿como se usan y como funcionan? sobre permisos de archivos y directorios
de Linux entenderás totalmente su uso y la manera correcta de utilizarlos.

En Linux, todo archivo y directorio tiene tres niveles de permisos de acceso: los que se aplican
al propietario del archivo, los que se aplican al grupo que tiene el archivo y los que se aplican a
todos los usuarios del sistema. Podemos ver los permisos cuando listamos un directorio con ls -
l:
[root@perulinux alumno]$ ls –l

-rwxrwxr-- 1 sergio ventas 9090 sep 9 14:10 presentación


-rw-rw-r-- 1 sergio sergio 2825990 sep 7 16:36 reporte1
drwxr-xr-x 2 sergio sergio 4096 ago 27 11:41 videos
Veamos por partes el listado, tomando como ejemplo la primera línea. La primera columna (-
rwxrwxr--) es el tipo de archivo y sus permisos, la siguiente columna (1) es el número de
enlaces al archivo, la tercera columna (sergio) representa al propietario del archivo, la cuarta
columna (ventas) representa al grupo al que pertenece al archivo y las siguientes son el
tamaño, la fecha y hora de última modificación y por último el nombre del archivo o directorio.

El primer carácter al extremo izquierdo, representa el tipo de archivo, los posibles valores para
esta posición son los siguientes:

• - un guión representa un archivo común (de texto, html, mp3, jpg, etc.)

• d representa un directorio

• l link, es decir un enlace o acceso directo

• b binario, un archivo generalmente ejecutable

Los siguientes 9 restantes, representan los permisos del archivo y deben verse en grupos de 3.

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Los tres primeros representan los permisos para el propietario del archivo. Los tres siguientes
son los permisos para el grupo del archivo y los tres últimos son los permisos para el resto del
mundo u otros.
rwx rwx rwx
Usuario grupo otros
En cuanto a las letras, su significado son los siguientes:
• r read - lectura
• w write - escritura (en archivos: permiso de modificar, en directorios: permiso de
crear archivos en el dir.)
• x execution - ejecución
Las nueve posiciones de permisos son en realidad un bit que o esta encendido (mostrado con
su letra correspondiente) o esta apagado (mostrado con un guión -), asi que, por ejemplo,
permisos como rwxrw-r--, indicaría que los permisos del propietario (rwx) puede leer, escribir y
ejecutar el archivo, el grupo (o sea los usuarios que estén en mismo grupo del archivo) (rw-)
podrá leer y escribir pero no ejecutar el archivo, y cualquier otro usuario del sistema (r--), solo
podrá leer el archivo, ya que los otros dos bits de lectura y ejecución no se encuentran
encendidos o activados.
Permisos en formato numérico octal
La combinación de valores de cada grupo de los usuarios forma un número octal, el bit x es 20
es decir 1, el bit w es 21 es decir 2, el bit r es 22 es decir 4, tenemos entonces:
• r=4
• w=2
• x=1
La combinación de bits encendidos o apagados en cada grupo da ocho posibles combinaciones
de valores, es decir la suma de los bits encendidos:
--- = 0 no se tiene ningún permiso
--x = 1 solo permiso de ejecución
-w- = 2 solo permiso de escritura
-wx = 3 permisos de escritura y ejecución
r-- = 4 solo permiso de lectura
r-x = 5 permisos de lectura y ejecución
rw- = 6 permisos de lectura y escritura
rwx = 7 todos los permisos establecidos, lectura, escritura y ejecución
Cuando se combinan los permisos del usuario, grupo y otros, se obtienen un número de tres
cifras que conforman los permisos del archivo o del directorio. Esto es más fácil visualizarlo con
algunos ejemplos:

Permisos Valor Descripción


rw------- 600 El propietario tiene permisos de lectura y escritura.
rwx--x--x 711 El propietario lectura, escritura y ejecución, el grupo y otros solo ejecución.
El propietario lectura, escritura y ejecución, el grupo y otros pueden leer y
rwxr-xr-x 755
ejecutar el archivo.
rwxrwxrwx 777 El archivo puede ser leido, escrito y ejecutado por quien sea.
Solo el propietario puede leer el archivo, pero ni el mismo puede modificarlo o
r-------- 400
ejecutarlo y por supuesto ni elgrupo ni otros pueden hacer nada en el.
El usuario propietario puede leer y escribir, el grupo puede leer el archivo y
rw-r----- 640
otros no pueden hacer nada.

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
3.4 PERMISOS DE ARCHIVOS

Estableciendo los permisos con el comando chmod


Habiendo entendido lo anterior, es ahora fácil cambiar los permisos de cualquier archivo o
directorio, usando el comando chmod (change mode), cuya sintaxis es la siguiente:

chmod [opciones] permisos archivo[s], algunos ejemplos:


[root@perulinux alumno]$chmod 755 reporte1
[root@perulinux alumno]$chmod 511 respaldo.sh
[root@perulinux alumno]$chmod 700 julio*
[root@perulinux alumno]$chmod 644 *
Los ejemplos anterior establecen los permisos correspondientes que el usuario propietario
desea establecer, el tercer ejemplo (chmod 700 julio*) cambiará los permisos a todos los
archivos que empiezen con julio (julio01, julio02, julio_respaldo, etc.) debido al caracter '*' que
es parte de las expresiones regulares que el shell acepta, e indica lo que sea. El último ejemplo
por lo tanto cambiará los permisos a los archivos dentro del directorio actual.

Una opción común cuando se desea cambiar todo un árbol de directorios, es decir, varios
directorios anidados y sus archivos correspondientes, es usar la opción -R, de recursividad:

[root@perulinux alumno]$ chmod -R 755 respaldos/*


Esto cambiará los permisos a 755 (rwxr-xr-x) del directorio respaldos y de todos los
subdirectorios y archivos que estén contenidos dentro de este.
Estableciendo permisos en modo simbólico
Otra manera popular de establecer los permisos de un archivo o directorio es a través de
identificadores del bit (r,w, o x) de los permisos, como ya se vió anteriormente, pero ahora
identificando además lo siguiente:

• al usuario con la letra u

• al grupo con la letra g

• a otros usuarios con la letra o

• y cuando nos referimos a todos (usuario, grupo, otros) con la letra a (all, todos en
inglés)

• el signo + para establecer el permiso

• el signo - para eliminar o quitar el permiso

La sintaxis es muy simple chmod augo[+|-]rwx[,...] archivo[s], asi por ejemplo, si queremos
que otros tengan permiso de escritura sería chmod o+w archivo, todos los usuarios con
permisos de ejecución chmod a+x archivo.

En este modo de establecer permisos, solo hay que tomar en cuenta que partiendo de los
permisos ya establecidos se agregan o se quitan a los ya existentes:

Actual chmod Resultado Descripción


rw------- a+x rwx--x--x Agregar a todos (all) permisos de escritura.
rwx--x--x go-x rwx------ Se eliminan permiso de ejecución para grupo y otros.
rwxr-xr-x u-x,go-r rw---x--x Al usuario se le quita ejecución, al grupo y otros se le quita
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
lectura.
Al usuario se le elimina ejecución, al grupo y otros se
rwxrwxrwx u-x,go-rwx rw-------
eliminan todos los permisos.
A todos se les agrega lectura, al usuario se le agrega
r-------- a+r,u+w rw-r--r--
escritura.
u- Al usuario se le eliminan lectura y escritura, al grupo se le
rw-r----- ---rw---x
rw,g+w,o+x agrega lectura y otros se le agrega ejecución.

Cambiando propietario y grupo


Volviendo a mostrar el listado al inicio de este artículo:

[root@perulinux]# ls -l
-rwxrwxr-- 1 sergio ventas 9090 sep 9 14:10 presentación
-rw-rw-r-- 1 sergio sergio 2825990 sep 7 16:36 reporte1
drwxr-xr-x 2 sergio sergio 4096 ago 27 11:41 videos

Vemos en la tercera y cuarta columna al usuario propietario del archivo y al grupo al que
pertence, es posible cambiar estos valores a través de los comandos chown (change owner,
cambiar propietario) y chgrp (change group, cambiar grupo). La sintaxis es muy sencilla:
chown usuario archivo[s] y chgrp grupo archivo[s]. Además al igual que con chmod, también es
posible utilizar la opción -R para recursividad.
[root@perulinux]# ls -l presentación
-rwxrwxr-- 1 sergio ventas 9090 sep 9 14:10 presentación

[root@perulinux]# chown juan presentacion

[root@perulinux]# ls -l presentación
-rwxrwxr-- 1 juan ventas 9090 sep 9 14:10 presentación

[root@perulinux]# chgrp gerentes presentación

[root@perulinux]# ls -l presentación
-rwxrwxr-- 1 juan gerentes 9090 sep 9 14:10 presentación
Solo el usuario root puede cambiar usuarios y grupos a su voluntad sobre cualquier usuario,
queda claro que habiendo ingresado al sistema como usuario normal, solo podrá hacer
cambios de grupos, y eso solo a los que pertenezca.

Una manera rápida para el usuario root de cambiar usuario y grupo al mismo tiempo, es con el
mismo comando chown de la siguiente manera:
[root@perulinux]# chown juan.gerentes presentación (o en vez de punto, con : puntos)

[root@perulinux]# chown juan:gerentes presentación


Así, cambiará el usuario.grupo en una sola instrucción.

Bits SUID, SGID y de persitencia (sticky bit)


Aún hay otro tipo de permisos que hay que considerar. Se trata del bit de permisos SUID (Set
User ID), el bit de permisos SGID (Set Group ID) y el bit de permisos de persistencia (sticky bit).
Para entender los dos primeros el SUID y el SGID veamos los permisos para un comando de
uso común a todos los usuarios, que es el comando passwd, que como se sabe sirve para
cambiar la contraseña del usuario, y puede ser invocado por cualquier usuario para cambiar su
propia contraseña, si vemos sus permisos observaremos un nuevo tipo de permiso:
[root@perulinux]# ls -l /usr/bin/passwd
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
-r-s--x--x 1 root root 21944 feb 12 2006 /usr/bin/passwd

SUID
En vez de la 'x' en el grupo del usuario encontramos ahora una 's' (suid). passwd es un
comando propiedad de root, pero sin embargo debe de poder ser ejecutado por otros usuarios,
no solo por root. Es aqui donde interviene el bit SUID, donde al activarlo obliga al archivo
ejecutable binario a ejecutarse como si lo hubiera lanzado el usuario propietario y no
realmente quien lo lanzó o ejecutó. Es decir, es poder invocar un comando propiedad de otro
usuario (generalmente de root) como si uno fuera el propietario.
SGID
El bit SGID funciona exactamente igual que el anterior solo que aplica al grupo del archivo. Es
decir si el usuario pertenece al grupo 'ventas' y existe un binario llamado 'reporte' que su
grupo es 'ventas' y tiene el bit SGID activado, entonces el usuario que pertenezca al grupo
'ventas' podrá ejecutarlo. También se muestra como una 's' en vez del bit 'x' en los permisos
del grupo.
STICKY BIT (Bit de persistencia)
Este bit se aplica para directorios como en el caso de /tmp y se indica con una 't':
[root@perulinux]# ls -ld /tmp
drwxrwxrwt 24 root root 4096 sep 25 18:14 /tmp

Puede apreciarse la 't' en vez de la 'x' en los permisos de otros. Lo que hace el bit de
persistencia en directorios compartidos por varios usuarios, es que el sólo el propietario del
archivo pueda eliminarlo del directorio. Es decir cualquier otro usuario va a poder leer el
contenido de un archivo o ejecutarlo si fuera un binario, pero sólo el propietario original podrá
eliminarlo o modificarlo. Si no se tuviera el sticky bit activado, entonces en estas carpetas
públicas, cualquiera podría eliminar o modificar los archivos de cualquier otro usuario.
Estableciendo los permisos especiales
Para cambiar este tipo de bit se utiliza el mismo comando chmod pero agregando un número
octal (1 al 7) extra al principio de los permisos, ejemplo:
[root@perulinux]# ls -l /usr/prog
-r-x--x--x 24 root root 4096 sep 25 18:14 prog
[root@perulinux]# chmod 4511 /usr/prog
[root@perulinux]# ls -l /usr/prog
-r-s--x--x 24 root root 4096 sep 25 18:14 prog
Nótese que el valor extra es el '4' y los demás permisos se dejan como se quieran los permisos
para el archivo. Es decir, los permisos originales en este ejemplo eran 511 (r-x--x--x), y al
cambiarlos a 4511, se cambió el bit SUID reemplazando el bit 'x' del usuario por 's'.

Los posibles valores serían los siguientes:


- - ------- = 0 Predeterminado, sin permisos especiales. No se requiere indicar.
- - ------t = 1 Bit de persistencia, sticky bit
- - ---s--- = 2 Bit sgid de grupo
- - ---s--t = 3 Bit sgid y sticky
- - s------ = 4 Bit suid
- - s-----t = 5 Bit suid y sticky
- - s--s--- = 6 Bit suid y sgid
- - s--s--t = 7 Bit suid, sgid y sticky
MUY IMPORTANTE: Algo sumamente delicado y que se tiene que tomar muy en cuenta es lo
que decidas establecer con permisos de bit SUID y SGID, ya que recuerda que al establecerlos
de esta manera, cualquier usuario podrá ejecutarlos como si fueran el propietario original de
ese programa. Y esto puede tener consecuencias de seguridad severas en tu sistema. Siempre
considera y reconsidera si conviene que un usuario normal ejecute aplicaciones propias de root
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
a través del cambio de bits SUID o SGID. Mejores alternativas pueden ser los comandos sudo y
su, en este tip de LinuxTotal.com.mx encuentras una manera de identificar archivos y
ejecutables con estos bits establecidos.

Permisos preestablecidos con umask


El comando umask establece la máscara de permisos de directorio y de archivos. Es decir los
nuevos directorios y archivos que se crean obtienen el valor de los permisos a partir de los
valores de umask.
[root@perulinux]$ umask
0002
(o en formato simbólico con la opción -S)

[root@perulinux]$ umask -S
u=rwx,g=rwx,o=rx
Lo anterior indica que un directorio y archivos ejecutables se crearán con los permisos 775 y
los archivos comunes con los permisos 664. Esto se logra restando de 777 el valor de umask
(777-002) y (666-002) respectivamente. El primer valor de umask corresponde para valores de
Sticky bit, GUID o SUID, que por default es 0.
[root@perulinux]$ umask
0002
(Creamos un archivo y según la máscara debemos de tener 666-002=664 o rw-rw-r--)
$> touch archivo
$> ll archivo
-rw-rw-r-- 1 sergio sergio 0 sep 25 20:14 archivo
(Ahora creamos un directorio y según la máscara debemos de tener 777-002=775 o rwxrwxr-x)

[root@perulinux]$ mkdir dir


[root@perulinux]$ ls -ld dir
drwxrwxr-x 2 sergio sergio 4096 sep 25 20:20 dir
Para establecer el valor de la máscara, simplemente se usa el mismo comando umask seguido
del valor de máscara que se desee:
[root@perulinux]$ umask 0022
Para dejarlo fijo en la sesión, entonces conviene agregarlo a .bash_profile o .bash_rc de nuestro
directorio de inicio.
Comando echo
El comando echo imprime un determinado texto en la terminal. Un ejemplo de utilización de
dicho comando puede ser el siguiente:

[root@perulinux]#echo
Me gusta el sistema operativo UNIX El comando echo es de gran utilidad en los ficheros de
comandos. Cuando el texto que se desea escribir en la terminal contiene alguno de los
caracteres especiales de UNIX ( * ? [ ] > >> < & ; \ ' )
Hay que tomar precauciones especiales desconectando su significado. Una forma de hacerlo es
precediendo dicho carácter con la barra invertida (\). Así, para escribir mediante el comando
echo tres asteriscos, utilizaríamos

[root@perulinux]#echo \*\*\*
Si no utilizáramos la barra invertida, el asterisco se interpretaría como un carácter de
sustitución y se imprimiría el nombre de todos los ficheros del directorio.
Otra forma de anular el significado de los caracteres especiales es encerrando el texto a
escribir mediante comillas (") o entre apóstrofos normales ('). Los apóstrofos (') anulan el
significado de todos los caracteres comprendidos entre ellos. Así pues, el triple asterisco lo
podríamos escribir con el comando,

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
[root@perulinux]#echo '***'
Las comillas (") son menos restrictivas, y anulan el significado de todos los caracteres excepto
los tres siguientes: ( ` \). Esto es muy importante porque si VAR es el nombre de una variable,
y VAR aparece en un comando echo entre apóstrofos se escribe VAR, mientras que si aparece
entre comillas se escribe el valor de la variable, al cumplir el carácter su cometido.
El carácter (\) tiene otros significados, además del ya visto de anular el significado especial de
otros caracteres. Así, sirve como indicador de que un comando continúa en la línea siguiente.
Cuando se utiliza en la definición interactiva de un comando, en la línea siguiente aparece el
prompt secundario (>), que indica que se debe seguir tecleando el comando. Cuando en un
comando echo aparecen los caracteres (\c) y (\n) quiere decir, respectivamente, que no se
cambie de línea y que se salte de línea, al escribir por la pantalla.
El carácter apóstrofo inverso o acento grave (`) tiene también un significado especial. Cuando
en un comando echo aparece el nombre de otro comando encerrado entre apóstrofos inversos
(por ejemplo, `date`, `who`, `ls`), el nombre de dicho comando se sustituye por el resultado
que genera al ejecutarse interactivamente. Un ejemplo podría ser el siguiente:

[root@perulinux]#echo "Los usuarios del sistema son \n\n `who`"


El lector puede hacer la prueba y observar el resultado correspondiente.

3.6 CREACION LINKS

ln
Su sintáxis es: ln [options] source [dest]

El comando ln(1) es usado para crear links ( o enlaces ) entre archivos. Por default, los links
creados son hard links ( o enlaces duros ), pero podemos usando la opción -s podemos crear
links simbólicos o soft links ( enlaces blandos).Las diferencias entre estos dos tipos de links son
explicada en la sección Links del capitulo 9. Por ejemplo, si decearamos crear un link simbólico
al directorio /home/slacky/musica simplemente tecleamos:

[root@perulinux]# ln -s /home/rpolo/musica /musica

Para crear un hard link ( o enlace duro) es tan fácil como esto :

[root@perulinux]#ln /home/rpolo/musica /musica


3.7 BUSQUEDA DE ARCHIVOS

Búsquedas.

find / -name lpt.txt Busca el archivo ltp.txt empezando por el directorio / y lo muestra
-print en pantalla
find / -name lpt.txt > Busca el archivo ltp.txt empezando por el directorio / y guarda la
búsqueda.txt salida en el archivo búsqueda.txt
whereis fichero Busca los ficheros binarios, fuentes y páginas del manual
correspondientes a un paquete

Procesos

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Llamamos proceso a cualquier cosa que este ocupando una parte del procesador. En linux
como en cualquier otro SO ahí niveles de arranque solo que en GNU/Linux podemos especificar
que comandos queremos que arranquen en cada fase.

[root@perulinux]#vi /etc/inittab -> lo que nos devolverá el texto de abajo.

# /etc/inittab: init8) configuración.


# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $

# The default runlevel.


id:2:initdefault:

# Boot-time system configuration/initialization script.


# This is run first except when booting in emergency (-b) mode.
si::sysinit:/etc/init.d/rcS

# What to do in single-user mode.


:S:wait:/sbin/sulogin

# /etc/init.d executes the S and K scripts upon change


# of runlevel.
#
# Runlevel 0 is halt.
# Runlevel 1 is single-user.
# Runlevels 2-5 are multi-user.
# Runlevel 6 is reboot.

l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6
# Normally not reached, but fallthrough in case of emergency.
z6:6:respawn:/sbin/sulogin

# What to do when CTRL-ALT-DEL is pressed.


ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

# Action on special keypress (ALT-UpArrow).


#kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work."

# What to do when the power fails/returns.


pf::powerwait:/etc/init.d/powerfail start
pn::powerfailnow:/etc/init.d/powerfail now
po::powerokwait:/etc/init.d/powerfail stop

# /sbin/getty invocations for the runlevels.


#
# The "id" field MUST be the same as the last
# characters of the device (after "tty").
#
# Format:
# :::
#
# Note that on most Debian systems tty7 is used by the X Window System,
# so if you want to add more getty's go ahead but skip tty7 if you run X.
#
1:2345:respawn:/sbin/getty 38400 tty1
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6

# Example how to put a getty on a serial line (for a terminal)


#
#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100

# Example how to put a getty on a modem line.


#
#T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3

Bajo esta perspectiva, un sistema Linux no se arranca o detiene, sino que simplemente se
cambia su nivel de ejecución. Algunas consideraciones importantes sobre los niveles son:
• Durante un arranque normal, el sistema se coloca en el nivel 3 (multiusuario con
red) o en el nivel 5 (análogo al 3 pero con el sistema de ventanas activo desde el
inicio).
• shutdown -h now cambia el nivel actual al nivel 0 (halt).
• shutdown -r now cambia el nivel actual al nivel 6 (reboot).
• /sbin/init nivel cambia al nivel especificado
• /sbin/runlevel indica el nivel de ejecución previo y el actual.
Desde el cargador puede expresarse el nivel de ejecución deseado pasándole como
parámetro al kernel el nivel de ejecución.

El nivel de ejecución por defecto para el sistema está definido en el fichero /etc/inittab. Para
saber el nivel de ejecución por defecto de un sistema, busque una línea similar a la que se
muestra abajo cerca de la parte superior de /etc/inittab:

id:5:initdefault:

El programa init inicia todas las entradas de /etc/inittab que se correspondan con el nivel de
ejecución por defecto. Un listado con las entradas más relevantes que se ejecutarán en el nivel
5 se muestra a continuación:

l5:5:wait:/etc/rc.d/rc 5
# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3 4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5 6:2345:respawn:/sbin/mingetty tty6

Cuando se arranca el nivel de ejecución 5, el programa init ejecuta el script /etc/rc.d/rc 5. Este
script consulta el directorio /etc/rc.d/rc5.d/ para determinar qué procesos iniciar o parar.
De forma general, existirá un directorio /etc/rc.d/rc<x>.d/ , por cada nivel de ejecución definido
por el sistema, donde se encuentran los servicios que deberán ser lanzados y parados en ese
nivel de ejecución.
Realmente, /etc/rc.d/rc cuando entra en un determinado nivel de ejecución realiza las
siguientes acciones:
1. Ejecuta, por orden de nombre, todos los scripts que comienzan por K en el
directorio correspondiente al nivel, utilizando como argumento para dicho
script la opción stop.

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
2. Ejecuta, por orden de nombre, todos los scripts que comienzan por S en el
directorio correspondiente al nivel, utilizando como argumento para dicho
script la opción start.

A título de ejemplo, a continuación se muestra un listado del directorio que corresponde al


nivel multiusuario con red (/etc/rc.d/rc3.d).

ls -l rc3.d/

total 0
lrwxrwxrwx 1 root root 13 Apr 1 1998 K15gpm -> ../init.d/gpm
lrwxrwxrwx 1 root root 13 Apr 1 1998 K60lpd -> ../init.d/lpd
lrwxrwxrwx 1 root root 15 Apr 1 1998 K95nfsfs -> ../init.d/nfsfs
lrwxrwxrwx 1 root root 17 Apr 1 1998 S01kerneld -> ../init.d/kerneld
lrwxrwxrwx 1 root root 17 Apr 1 1998 S10network -> ../init.d/network
lrwxrwxrwx 1 root root 16 Apr 1 1998 S20random -> ../init.d/random
lrwxrwxrwx 1 root root 16 Apr 1 1998 S30syslog -> ../init.d/syslog
lrwxrwxrwx 1 root root 13 Apr 1 1998 S40atd -> ../init.d/atd
lrwxrwxrwx 1 root root 15 Apr 1 1998 S40crond -> ../init.d/croad
lrwxrwxrwx 1 root root 18 Apr 1 1998 S75keytable -> ../init.d/keytable
lrwxrwxrwx 1 root root 11 Apr 1 1998 S99local -> ../rc.local

Como puede apreciar, ninguno de los scripts que inician y apagan los servicios está localizado
en el directorio /etc/rc.d/rc3.d/. Casi todos los ficheros en /etc/rc.d/rc3.d/ son enlaces simbólicos
apuntando a los scripts localizados en el directorio /etc/rc.d/init.d/. Los enlaces simbólicos se
usan en cada uno de los directorios rc de manera que los niveles de ejecución puedan ser
reconfigurados al crear, modificar y eliminar los enlaces simbólicos sin que afecte a los scripts
actuales a los que se refiere.

El nombre de cada enlace simbólico empieza con K o S. Como ya habíamos comentado, los
scripts que empiezan por K son procesos candidatos a ser parados en ese nivel de ejecución,
mientras que aquellos que empiezan por S son procesos candidatos a ser iniciados.

El administrador puede configurar las acciones que deben realizarse al entrar en un


determinado nivel de ejecución. A modo de resumen, los directorios y ficheros relevantes para
configurar el proceso de arranque se detallan a continuación:
/etc/inittab
Fichero base de configuración del arranque de la máquina.
/etc/rc.d
En él residen todos los scripts de inicialización.
/etc/rc.d/rc.sysinit
Script de inicialización del ordenador, independiente del nivel.
/etc/rc.d/rc<x>.d
Existe un directorio por cada nivel de ejecución, que contiene enlaces simbólicos a
los scripts que configuran la entrada a este nivel.
/etc/rc.d/init.d
Aquí residen todos los scripts reales que pueden ser ejecutados cuando se entra en
un nivel de ejecución.

Hay que tener en consideración que los scripts que residen en el directorio /etc/rc.d/init.d
pueden utilizarse directamente, lo que permite iniciar o detener servicios de forma manual. Por
ejemplo, los siguientes mandatos detienen el subsistema de red y lo vuelven a iniciar:

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
# /etc/init.d/network stop
# /etc/init.d/network start

Configuración de los niveles de ejecución


Como ya se ha dicho, el administrador tiene la potestad de variar el proceso de arranque de un
sistema Linux, bien simplemente cambiando el nivel de ejecución al editar el fichero
/etc/inittab o pasándole un parámetro al kernel indicando el nivel de ejecución deseado.

El sistema Linux, según la distribución elegida, vendrá con una configuración predeterminada
de servicios que se deben lanzar en el proceso de arranque del sistema. De nuevo el
administrador puede variar ese comportamiento. Si hemos seguido con atención la sección
anterior, la forma más directa de hacer que un determinado servicio no se lance en un nivel de
ejecución, sería borrar el enlace simbólico que exista en el directorio predeterminado del nivel
de ejecución ( /etc/rc.d/rc<x>.d ). Si queremos volver a arrancar en el proceso de inicio el
servicio, crearemos el enlace de nuevo y listo.

Si por el contrario, nuestras necesidades pasan por añadir al proceso de arranque un nuevo
servicio, los pasos necesarios para integrarlo serían los siguientes:

1. Crear un script en el directorio /etc/rc.d/init.d, cuyo esqueleto sea el siguiente:

#! /bin/bash
#
# miservicio Start/Stop miservicio.
#
# chkconfig: 2345 90 60
# description:
# Source function library.
. /etc/init.d/functions
prog=/usr/sbin/miservicio
start() {
echo -n "Iniciando $prog:"
daemon miservicio
RETVAL=$?
echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/miservicio return $RETVAL
}
stop() {
echo -n "Parando $prog: "
killproc miservicio
RETVAL=$?
echo [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/miservicio
return $RETVAL
}
case "$1" in
start) start
;; stop) stop
;;
esac

2. Crear los enlaces simbólicos necesarios para parar y arrancar el servicio en el


directorio que represente el nivel de ejecución predeterminado:

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
# cd /etc/rc.d/rc5.d
# ln -s /etc/rc.d/init.d/miservicio S90miservico

Para facilitar la tarea al administrador, posee un par de herramientas que ayudan en


todo este proceso.
chkconfig
El comando chkconfig permite añadir y eliminar servicios en los niveles de ejecución, así como
consultar la configuración de cada servicio. La sintaxis de este mandato es la siguiente:

chkconfig --list [name] chkconfig [--level levels] name <on|off|reset>


[root@perulinux]#chkconfig network on
[root@perulinux]#chkconfig squid on
[root@perulinux]#chkconfig –345 postfix on
[root@perulinux]#chkconfig -5 openvpn on

Utilizado con la opción --list, este mandato visualiza la configuración de todos los servicios o de
un nivel concreto. Las acciones on y off activan y desactivan respectivamente un servicio en
los niveles especificados. La acción reset reestablece los valores predeterminados para este
servicio.

Pruebas, cambiando de nivel para cambiar de nivel de arranque en GNU/Linux el comando que
deberemos de ejecutar sera el siguiente;

[root@perulinux]# sudo init 2 -> cambiaremos al segundo nivel.

Cambiar de niveles de arranque esta bien cuando queremos saber en que nivel se aranqua un
aplicacion y si la queremos cambiar o simplemente la queremos parar para que no consuma
RAM. Las tres opciones que podremos hacer seran las siguientes.

[root@perulinux]# ls /etc/initd -> listara los procesos que están activos elegiremos el que
queramos y podremos aplicar las siguientes opciones;

[root@perulinux]# service samba start -> ejecutara samba


stop -> parara samba
restart -> reiniciara samba

Modificar los procesos de arranque si queremos que samba funcione en los procesos de
arranque 2 y 3 y queremos que se pare en los 0, 1, 4, 5, y 6

Comando SSH

SSH (Secure SHell) es el nombre de un protocolo y del programa que lo implementa, y sirve
para acceder a máquinas remotas a través de una red. Permite manejar por completo el
ordenador mediante un intérprete de mandatos, y también puede redirigir el tráfico de X para
poder ejecutar programas gráficos si tenemos un Servidor X iniciado.

Además de la conexión a otras máquinas, SSH nos permite copiar datos de forma segura (tanto
ficheros sueltos como simular sesiones FTP cifradas), gestionar claves RSA para no escribir
claves al conectar a las máquinas y pasar los datos de cualquier otra aplicación por un canal
seguro tunelizado mediante SSH.

Secuencia de eventos de una conexion SSH

La siguiente serie de eventos lo ayudan a proteger la integridad de la comunicación SSH entre


dos host.

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
• Se lleva a cabo un "apretón de manos" encriptado para que el cliente pueda verificar
que se está comunicando con el servidor correcto.

• La capa de transporte de la conexión entre el cliente y la máquina remota es encriptada


mediante un código simétrico.

• El cliente se autentica ante el servidor.

• El cliente remoto interactúa con la máquina remota a través de la conexión encriptada.

Autenticación y canales

Cuando la capa de transporte haya construido un túnel seguro para transmitir información
entre los dos sistemas, el servidor le dirá al cliente de los diferentes métodos de autenticación
soportados, tales como el uso de firmas privadas codificadas con claves o la inserción de una
contraseña. El cliente entonces intentará autenticarse ante el servidor mediante el uso de
cualquiera de los métodos soportados.

Los servidores y clientes SSH se pueden configurar para permitir varios tipos de autenticación,
lo cual le concede a cada lado la cantidad óptima de control. El servidor podrá decidir qué
métodos de encriptación soportará basado en su pauta de seguridad; el cliente puede elegir el
orden en que intentará utilizar los métodos de autenticación entre las opciones a disposición.

Luego de una autenticación exitosa sobre la capa de transporte SSH, se abren múltiples
canales a través de la técnica llamada multiplexado. Cada uno de estos canales manejan la
conexión para diferentes sesiones de terminal y para sesiones de reenvío X11.

Ambos clientes y servidores pueden crear un canal nuevo. Luego se le asigna un número
diferente a cada canal en cada punta de la conexión. Cuando el cliente intenta abrir un nuevo
canal, los clientes envían el número del canal junto con la petición. Esta información es
almacenada por el servidor y usada para dirigir la comunicación a ese canal. Esto es hecho
para que diferentes tipos de sesión no afecten una a la otra y así cuando una sesión termine,
su canal pueda ser cerrado sin interrumpir la conexión SSH primaria.

Los canales también soportan el control de flujo, el cual les permite enviar y recibir datos
ordenadamente. De esta manera, los datos no se envían a través del canal sino hasta que el
host haya recibido un mensaje avisando que el canal está abierto y puede recibirlos.

El cliente y el servidor negocian las características de cada canal automáticamente,


dependiendo del tipo de servicio que el cliente solicita y la forma en que el usuario está
conectado a la red. Esto otorga una gran flexibilidad en el manejo de diferentes tipos de
conexiones remotas sin tener que cambiar la infraestructura básica del protocolo.

Configurar un servidor SSH

Para poner en funcionamiento un servidor OpenSSH, primero debe asegurarse de que su


sistema tiene los paquetes RPM instalados. Se requiere el paquete openssh-server que
depende a su vez del paquete openssh.

El demonio OpenSSH usa el archivo de configuración /etc/ssh/sshd_config. El archivo de


configuración por defecto debería ser suficiente para la mayoría de los propósitos. Si quiere
configurar su propio demonio de otra manera que no sea la proporcionada por defecto en el
sshd_config, lea la página del manual de sshd para una lista de palabras reservadas que
pueden ser definidas en su archivo de configuración.

Si reinstala un sistema, el sistema reinstalado crea un nuevo conjunto de llaves de


identificación. Cualquier cliente que se haya conectado al sistema con alguna de las
herramientas OpenSSH, verán el siguiente mensaje antes de la reinstalación:

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.

Requiriendo SSH para conexiones remotas

Si desea mantener las claves del host generadas para el sistema, haga una copia de seguridad
de los archivos /etc/ssh/ssh_host*key* y restáurelos después de reinstalar. Este proceso retiene
la identidad del sistema y cuando los clientes traten de conectarse al sistema después de la
instalación, estos no recibirán el mensaje de aviso.

Para que SSH sea realmente eficaz, el uso de protocolos de conexión inseguros, como por
ejemplo FTP y Telnet, deberían ser prohibidos. De lo contrario, una contraseña de usuario
puede estar protegida usando SSH para una sesión, para luego ser capturada cuando establece
una conexión Telnet. Algunos servicios a deshabilitar incluyen:

• telnet

• rsh

• rlogin

• vsftpd

Para desactivar métodos de conexión inseguros al sistema, use el programa de línea de


comandos chkconfig, el programa basado en ncurses ntsysv, o la Herramienta de configuración
de servicios (system-config-services). Todas estas herramientas requieren prioridades de root.

Archivos de configuración OpenSSH

OpenSSH tiene dos conjuntos diferentes de archivos de configuración: uno para clientes (ssh,
scp y sftp) y otro para el demonio del servidor (sshd). La información de configuración SSH
para todo el sistema está almacenada en el directorio /etc/ssh/:

• moduli: Contiene grupos Diffie-Hellman usados para el intercambio de la clave Diffie-


Hellman que es imprescindible para la construcción de una capa de transporte seguro.
Cuando se intercambian las claves al inicio de una sesión SSH, se crea un valor secreto
y compartido que no puede ser determinado por ninguna de las partes individualmente.
Este valor se usa para proporcionar la autenticación del host.

• ssh_config: El archivo de configuración del sistema cliente SSH por defecto. Este archivo
se sobreescribe si hay alguno ya presente en el directorio principal del usuario
(~/.ssh/config).

• sshd_config: El archivo de configuración para el demonio

• sshd ssh_host_dsa_key: La clave privada DSA usada por el demonio sshd.


• ssh_host_dsa_key.pub: La clave pública DSA usada por el demonio sshd.
• ssh_host_key: La clave privada RSA usada por el demonio sshd para la versión 1 del
protocolo SSH.
• ssh_host_key.pub: La clave pública RSA usada por el demonio sshd para la versión 1 del
protocolo SSH.

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
• ssh_host_rsa_key: La clave privada RSA usada por el demonio sshd para la versión 2 del
protocolo SSH.
• ssh_host_rsa_key.pub: La clave pública RSA usada por el demonio sshd para la versión 2
del protocolo SSH.
La información para la configuración SSH específica para el usuario está almacenada en el
directorio ~/.ssh/ del usuario:
• authorized_keys: Este archivo contiene una lista de claves públicas autorizadas. Cuando
un cliente se conecta al servidor, el servidor autentica al cliente chequeando su clave
pública firmada almacenada dentro de este archivo.
• id_dsa: Contiene la clave privada DSA del usuario.
• id_dsa.pub: la clave pública DSA del usuario.
• id_rsa: La clave RSA privada usada por ssh para la versión 2 del protocolo SSH.
• id_rsa.pub: La clave pública RSA usada por ssh para la versión 2 del protocolo SSH.
• identity: La clave privada RSA usada por ssh para la versión 1 del protocolo SSH.
• identity.pub: La clave pública RSA usada por ssh para la versión 1 del protocolo SSH.
• known_hosts: Este archivo contiene las claves de host DSA de los servidores SSH a los
cuales el usuario ha accedido. Este archivo es muy importante para asegurar que el
cliente SSH está conectado al servidor SSH correcto.

IMPORTANTE: Si se ha cambiado una llave de host del servidor SSH, el cliente notificará al
usuario que la conexión no puede proceder hasta que la llave del host del servidor sea
borrada del archivo known_hosts usando un editor de texto. Antes de hacer esto, sin
embargo, contacte al administrador del sistema del servidor SSH para verificar que no se
ha comprometido al servidor. Consulte las páginas man para ssh_config y sshd_config
para obtener información acerca de las directivas disponibles en los archivos de
configuración SSH.

Uso del comando SSH

La primera vez que ejecute ssh a una máquina remota, verá un mensaje similar al siguiente:

The authenticity of host 'penguin.example.net' can't be established.


DSA key fingerprint is 94:68:3a:3a:bc:f3:9a:9b:01:5d:b3:07:38:e2:11:0c.
Are you sure you want to continue connecting (yes/no)?

Escriba yes para continuar. Esto añadirá el servidor en su lista de host conocidos

(~/.ssh/known_hosts/) como se muestra en el siguiente mensaje:


Warning: Permanently added 'penguin.example.net' (RSA) to the list of known hosts.

Escriba yes para continuar. Esto añadirá el servidor en su lista de host conocidos

# ssh alumno@mail.miempresa.com

También puede usar la sintaxis ssh -l nombre-usuario penguin.example.net. El comando ssh se


puede utilizar para ejecutar un comando en una máquina remota sin acceder al intérprete de
comandos. La sintaxis es ssh nombre-host command. Por ejemplo, si quiere ejecutar el
comando ls /usr/share/doc en la máquina remota penguin.example.net, escriba el comando
siguiente en la línea de comandos de la shell:

# ssh mail.miempresa.com ls /usr/share/doc

Una vez que introduzca la contraseña correcta, verá el contenido del directorio /usr/share/doc,
y regresará a la shell de su equipo local.

Usando el comando SCP

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
El comando scp puede ser usado para transferir archivos entre máquinas sobre una conexión
encriptada y segura. Es parecido al comando rcp. La sintaxis general para transferir el archivo
local a un sistema remoto es como sigue a continuación:

# scp <archivo-local>nombre-usuario@tohostname:<archivo-remoto>

• < archivo-local > Especifica la fuente incluyendo la ruta al archivo, tal como
/var/log/maillog.

• Especifica el destino, el cual puede ser un nuevo archivo tal como /tmp/hostname-
maillog. Para el sistema remoto, si no tiene un barra oblícua (/) en frente, la ruta será
relativa al directorio principal de nombre-usuario, usualmente /home/username/.

• Para transferir un archivo local shadowman al directorio principal de su cuenta en


penguin.example.net, escriba en la línea de comandos (reemplace nombre-usuario con
su nombre de usuario):

# scp shadowman nombre_usuario@penguin.example.net:shadowman

Esto transferirá el archivo local shadowman a /home/nombre_usuario/shadowman en


penguin.example.net. También puede dejar por fuera la parte final de shadowman en el
comando scp. La sintaxis general para transferir un archivo remoto al sistema local es como
sigue:

# scp nombre_usuario@tohostname:<archivoremoto> <nuevoarchivolocal>

• < archivoremoto > especifica la fuente incluyendo la ruta y

• < nuevoarchivolocal > especifica el destino con su ruta.

• Se pueden especificar múltiples archivos como las fuentes. Por ejemplo, para transferir
el contenido del directorio downloads/ a un directorio existente llamado uploads/ en la
máquina remota penguin.example.net, teclee lo siguiente desde el intérprete de
comandos:

# scp downloads/* nombre_usuario@penguin.example.net:uploads/

Usando el comando SFTP

La utilidad sftp puede ser usada para abrir una sesión segura interactiva de FTP. Es similar a
ftp excepto que ésta utiliza una conexión encriptada segura. La sintaxis general es sftp
nombre-usuario@hostname.com. Una vez autentificado, podrá utilizar un conjunto de
comandos similar al conjunto utilizado por el comando FTP. Consulte las páginas del manual de
sftp para obtener un listado de todos estos comandos. Para consultar el manual ejecute el
comando man sftp en el intérprete de comandos. La utilidad sftp sólo está disponible en las
versiones 2.5.0p1 de OpenSSH y superiores.

Mas que un Shell seguro

Una interfaz de línea de comandos segura es sólo el inicio de las muchas maneras de usar SSH.
Dada una cantidad apropiada de ancho de banda, las sesiones X11 se pueden dirigir por un
canal SSH. O usando reenvío TCP/IP, se pueden asignar conexiones de puerto entre sistemas
que previamente eran inseguras a canales SSH específicos.

Reenvio por X11

Abrir una sesión X11 a través de una conexión SSH es tan fácil como conectarse a un servidor
SSH utilizando la opción -Y y ejecutar un programa X en una máquina local.

# ssh -Y <usuario>@example.com

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Cuando un programa X se ejecuta desde un intérprete de comandos de shell segura, el cliente
y el servidor SSH crean un nuevo canal seguro; los datos del programa X se envían a través de
ese canal a la máquina cliente de forma transparente. El reenvío por X11 puede ser muy útil.
Por ejemplo, se puede usar el reenvío por X11 para crear una sesión segura e interactiva de la
Herramienta de configuración de la impresora. Para hacer esto, conéctese al servidor usando
ssh y escriba:

# system-config-printer &

Después de proporcionar la contraseña de root para el servidor, la Herramienta de


configuración de la impresora aparecerá y le permitirá al usuario remoto configurar de una
forma segura la impresora en el sistema remoto.

Reenvio del puerto

Con SSH puede asegurar los protocolos TCP/IP a través del reenvío de puertos. Cuando use
esta técnica, el servidor SSH se convierte en un conducto encriptado para el cliente SSH. El
reenvío de puertos funciona mediante el mapeado de un puerto local en el cliente a un puerto
remoto en el servidor. SSH le permite mapear cualquier puerto desde el servidor a cualquier
puerto en el cliente; los números de puerto no necesitan coincidir para que esto funcione. Para
crear un canal de reenvío de puerto TCP/IP que escucha conexiones del localhost, utilice el
siguiente comando:

# ssh -L local-port:remote-hostname:remote-portusername@hostname

La configuración del reenvío de puertos para escuchar puertos bajo 1024 requiere acceso de
root. Para verificar correo electrónico en un servidor llamado mail.example.com usando POP3 a
través de una conexión encriptada, use el comando siguiente:

# ssh -L 1100:mail.example.com:110 mail.example.com

Una vez que el canal de reenvío de puerto está entre la máquina cliente y el servidor de
correo, puede direccionar su cliente de correo POP3 para usar el puerto 1100 en su host local
para comprobar el nuevo correo. Cualquier petición enviada al puerto 1100 en el sistema
cliente será dirigida seguramente al servidor mail.example.com.

Si mail.example.com no está ejecutando un servidor SSH, pero otra máquina en la misma red
si, SSH todavía puede ser usado para asegurar parte de la conexión. Sin embargo, un comando
ligeramente diferente es necesario:

# ssh -L 1100:mail.example.com:110 other.example.com

Si mail.example.com no está ejecutando un servidor SSH, pero otra máquina en la misma red
si, SSH todavía puede ser usado para asegurar parte de la conexión. Sin embargo, un comando
ligeramente diferente es necesario:

En este ejemplo, se está reenviando las peticiones POP3 desde el puerto 1100 en la máquina
cliente a través de una conexión SSH en el puerto 22 al servidor SSH, other.example.com.
Luego, other.example.com se conecta al puerto 110 en mail.example.com para verificar correo
nuevo. Observe que usando esta técnica, sólo la conexión entre el sistema cliente y el servidor
SSH other.example.com es segura. El reenvío del puerto se puede usar para obtener
información segura a través de los cortafuegos de red. Si el cortafuegos está configurado para
permitir el tráfico SSH a través del puerto estándar (22) pero bloquea el acceso a través de
otros puertos, es posible todavía una conexión entre dos hosts usando los puertos bloqueados
al redireccionar la comunicación sobre una conexión SSH establecida.

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
NOTA: Si se utiliza el reenvío de puerto para reenviar conexiones de este modo, cualquier
usuario en el sistema cliente puede conectarse a ese servicio. Si el cliente está en riesgo o
está comprometido, un agresor puede también acceder a los servicios reenviados.Los
administradores de sistemas pueden desactivar la funcionalidad de reenvío de puerto en
el servidor si especifican No en la línea AllowTcpForwarding en /etc/ssh/sshd_config. El
servicio sshd debe ser reiniciado después de esta modificación.

Generar pares de claves

Si no quiere introducir su contraseña cada vez que se conecte a una máquina remota con ssh,
scp o sftp, puede generar un par de claves de autorización.

Las claves deben ser generadas para cada usuario. Para generar las claves de un usuario debe
seguir los siguientes pasos como el usuario que quiere conectarse a máquinas remotas. Si
completa los siguientes pasos como root, sólo root será capaz de utilizar estas claves.

Arrancar con la versión 3.0 de OpenSSH, ~/.ssh/authorized_keys2, ~/.ssh/known_hosts2, y /etc/


ssh_known_hosts2 se ha quedado obsoletas. Los protocolos 1 y 2 de SSH comparten los
archivos ~/.ssh/authorized_keys, ~/.ssh/known_hosts y /etc/ssh/ssh_known_hosts. Red Hat
Enterprise Linux 5.0.0 utiliza el protocolo 2 de SSH y llaves RSA por defecto.

SUGERENCIA Si reinstala y quiere guardar los pares de llaves generados, haga una copia
de respaldo del directorio .ssh en su directorio principal (home). Después de la
reinstalación, copie este directorio de vuelta a su directorio principal. Este proceso puede
realizarse para todos los usuarios de su sistema, incluyendo root.

Siga los siguientes pasos para generar un par de claves RSA para la versión 2 del protocolo
SSH. Esto es lo predeterminado para iniciar con OpenSSH 2.9.

Para generar un par de claves RSA para trabajar con la versión 2 del protocolo, teclee el
siguiente comando desde el intérprete de comandos de la shell:

# ssh-keygen -t rsa

Acepte la localización por defecto del archivo ~/.ssh/id_rsa. Introduzca una contraseña
diferente de la contraseña de su cuenta y confírmela introduciéndola nuevamente. La clave
pública se escribe a ~/.ssh/id_rsa.pub. La clave privada está escrita a ~/.ssh/id_rsa. No
distribuya la clave privada a nadie.

Cambie los permisos de su directorio .ssh usando el comando siguiente:

# chmod 755 ~/.ssh

Copie los contenidos de ~/.ssh/id_rsa.pub al archivo ~/.ssh/authorized_keys en la máquina en


la que se quiere conectar. Si el archivo ~/.ssh/authorized_keys existe, puede añadir los
contenidos del archivo ~/.ssh/id_rsa.pub al archivo ~/.ssh/authorized_keys en la otra máquina.

Cambie los permisos del archivo authorized_keys usando el comando siguiente:

# chmod 644 ~/.ssh/authorized_keys

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
CAPITULO 4: ENTORNO GRAFICO DE UBUNTU LINUX
Temas:
• El Escritrio Gnome
• Configuración de Efectos Gráficos en LINUX

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
4.2 Activar Compiz Fusion en Ubuntu Ardí
Vamos a ver dos cosillas muy buscadas por la mayoría de usuarios de GNU/Linux: La
instalación del driver privativo que nos proporciona aceleración en la mayoría de las gráficas y
la activación de Compiz Fusion.
Introducción

Desde Ubuntu 7.10 (Gutsy Gibbon), Compiz Fusion es el gestor de ventanas por defecto del
sistema. Si tienes la suerte de que tu tarjeta gráfica tiene un driver libre (algunas Intel y
algunas ATI) que pueda proporcionar aceleración gráfica, éste se habilitará sin que tengáis que
hacer nada, incluso en el Live CD.

El problema es que estas tarjetas son minoritarias hoy por hoy. La mayoría de las ATI y todas
las NVIDIA necesita el driver privativo del fabricante respectivo para poder proporcionar al
sistema la aceleración necesaria y que Compiz Fusion pueda funcionar.

En manuales anteriores hemos visto distintas formas de instalar este driver privativo. En este
actual he incorporado un nuevo método que muchos ya conocéis de sobra, usando Envy.

Se recomienda que se lea los tres métodos (nunca está de más informarse bien de las
alternativas) el usuario medio es el tercero, usando Envy-NG, ya que a diferencia del antiguo
Automatix no hay riesgo de que el sistema quede inestable, descargará el último driver
privativo disponible, lo compilará y configurará el servidor gráfico adecuadamente.

Aviso que ningún método es infalible, ya que entre otras cosas depende del propio driver y de
los requerimientos de Compiz Fusion. Por ejemplo, hay muchas tarjetas que están en la
blacklist (lista negra) de Compiz ya que no pueden propocionar lo que necesita. Otras muchas
se han retirado desde la anterior, así que a muchos que antes no les iba, ahora les irá.

¿Por qué necesitamos la aceleración gráfica? Compiz Fusion hace uso de un recurso
prácticamente olvidado y tremendamente potente como es la aceleración de la gráfica. Por
ello, lo que hace es liberar uso de CPU y memoria RAM para usar GPU (el microprocesador
gráfico) y la memoria de la propia tarjeta gráfica. Esto no quiere decir que deje de usar
totalmente CPU Y RAM, sino que usará mucho menos aprovechando esos otros recursos y
proporcionando esos efectos “eye candy“.

Instalación de los drivers privativos desde “Controladores de hardware” de Ubuntu


Este método es con diferencia el más simple de los tres, aunque esto no quiere decir tampoco
que sea el mejor. En Ubuntu, también desde Gutsy, existe una herramienta que descarga un
paquete con el driver gráfico privativo.

Vayamos a “Sistema > Administración > Controladores de hardware“. Tras introducir nuestra
contraseña nos aparecerá una ventana parecida a esta:

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Se nos mostrarán los drivers privativos disponibles para nuestro hardware, en este caso sólo el
de la tarjeta gráfica. La diferencia es que os aparecerá con la casilla de “Habilitado” sin activar
y una luz de “En uso” en rojo.

Bien, pues lo único que tienes que hacer es hacer click sobre dicha casilla de “Habilitado” y se
descargará todo lo necesario para instalar el driver privativo. Hecho esto, nos pedirá que
reiniciemos el sistema, y tras hacerlo deberíamos tener la aceleración habilitada.

Esto es todo, como te dije, es el método más simple. Una de sus contras es que este driver no
siempre está actualizado, no siempre es el último y si tiene algún bug es probable que tarde en
actualizarse.

1.3: Instalación de los drivers privativos con Envy-NG


Envy es a mi parecer una excelente aplicación para instalar el último driver de ATI o NVIDIA. El
balance entre coste de instalación y resultados es muy bueno, mencionando de nuevo que no
altera la estabilidad del sistema. El balance entre “coste de instalación” y “resultados” es con
diferencia la mejor.

Es muy probable que algunos ya conoces Envy. Envy-NG (Envy New Generation) no es más que
una nueva versión disponible a partir de Hardy y que usa las librerías específicas GTK si usáis
GNOME o QT si usáis KDE.

Otro dato que muchos desconocen es que, también desde Hardy, está disponible desde los
repositorios de Ubuntu, agilizando y simplificando aún más la instalación. Así pues vamos a
instalarlo.

Para Ubuntu:

$ sudo aptitude install envyng-core envyng-gtk

Para Kubuntu:

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
$ sudo aptitude install envyng-core envyng-qt

El primer paquete es el que tiene la aplicación como tal y el segundo el interfaz gráfico usando
las librerías adecuadas según nuestro escritorio.

Luego nos vamos a “Aplicaciones > Herramientas del sistema > EnvyNG” y se nos mostrará la
aplicación:

El resto no es más complejo. Seleccionamos el fabricante de la tarjeta gráfica, lo que queremos


hacer (se recomienda la primera opción si no tienes mucha idea “Instalar el controlador
NVIDIA/ATI (detección automática del hardware)“), elegimos el último driver y le damos a
“Aplicar“.

Se nos abrirá una nueva ventana con total transparencia en el proceso de instalación donde
podemos hacer todo lo que está haciendo:

Cuando acabe nos avisará de ello…

…y al igual que antes, nos pide que reiniciemos el sistema:

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Una vez reiniciado deberíamos tener ya la aceleración, de hecho si os váis a la ventana del
método anterior, os aparecerá con el driver restringido habilitado y en uso.
2: ¿Tenemos ya aceleración?
Esta es la primera pregunta que nos haremos una vez seguido uno de los métodos anteriores.
Hay varias formas de comprobarlo. Una de ellas es saltarse este punto y pasar al siguiente,
aunque quizá quieras comprobarlo de otra forma.

Podemos introducir este comando en consola:

$ glxinfo | grep direct

Deberá decirnos lo siguiente:

direct rendering: Yes

Hay que decir que esto en ocasiones provoca falsos positivos, es decir, que puede que nos diga
que sí pero en el fondo no es cierto, o no del todo.

Otra forma de comprobarlo es con ayuda de glxgears, una aplicación que sirve para comprobar
si tenemos aceleración y la calidad de la misma. Primero instalemos el paquete que
necesitamos:

$ sudo aptitude install mesa-utils

Ahora en consola de nuevo ejecutamos la aplicación:

$ glxgears

Esta es la ventana:

Estas piezas de engranajes deben moverse con soltura, y si lo dejamos un minuto y nos fijamos
en la consola veremos algo parecido a lo siguiente:

42454 frames in 5.0 seconds = 8490.622 FPS


42556 frames in 5.0 seconds = 8511.013 FPS
Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
41085 frames in 5.0 seconds = 8216.762 FPS
42051 frames in 5.0 seconds = 8410.159 FPS
42351 frames in 5.0 seconds = 8470.076 FPS

Tendras más o menos FPS (Frames Per Second / imágenes por segundo) pero la diferencia
tampoco debería ser enorme.

Si el glxinfo os ha dicho yes y los engranajes se mueven sin muchos problemas, enhorabuena,
ya tienes aceleración.
3: Activar Compiz Fusion
Una vez tenemos nuestro driver instalado el resto sigue siendo coser y cantar. Tan sólo tienes
que ir a “Sistema > Preferencias > Apariencias > Efectos visuales” y elegir el nivel de efectos
que queremos tener:

Lo más probable para la mayoría es que no os conforméis con eso y que queráis configurar
totalmente Compiz Fusion a vuestros gustos. Para ello vamos a instalar los siguientes
paquetes:

$ sudo aptitude install compizconfig-settings-manager emerald

Ahora nos vamos a “Sistema > Preferencias > Configuración avanzadad e los efectos de
escritorio“, o bien pulsamos Alt+F2 y escribimos dentro, o en consola, “ccsm“. El resultado es
el mismo…

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
…una ventana donde podremos configurar todos los plugins disponibles,
habilitarlos/deshabilitarlos, modificarlos, cambiar la forma de acceder a ellos (atajos de teclado,
movimientos y/o clicks del ratón).

En el menú izquierdo tienes un buscador de plugins para que no tengas que dejar la vista
buscándolo, o bien pinchar sobre una categoría si sabes dónde está o qué quieres configurar.

Unas últimas observaciones que, tras leer en todo este tiempo vuestros comentarios, son las
respuestas a las dudas más preguntadas:

• Para que nuestro cubo rote tienes que habilitar los plugins “Desktop Cube” y “Rotate
Cube“. Hecho esto las teclas por defecto son Ctrl+Alt+flecha_izquierda o flecha
derecha, o bien Ctrl+Alt+click izquierdo del ratón manteniéndolo pulsado.

• Para configurar vuestras teclas tienes que ir al plugin que quieras y después a la
pestaña “Bindings“.

• Las animaciones para abrir, cerrar, etc están en el plugin “Animaciones“, los distintos
eventos están organizados en las pestañas.

• Si sólo ves dos escritorios (un plano en lugar del cubo) es porque sólo estás usando dos.
Vete a “General options > Desktop Size” y configúralo con tantos escritorios como
quieras. Si quieres el típico cubo, 4 en el horizontal y ya está.

Ahora tan sólo tienes que “jugar” un poco con los plugins para usar los que más te gusten.
Tomaros unos minutos en echar un vistazo a los plugins, no dejéis que el ansia os coma :p
Un Consejo
¿Recuerda que el tip de Fusion icono? Consistía en un pequeño programa que nos permite
elegir el gestor de ventanas Compiz-Fusion, Metacity, KWin… en caso de que queramos
cambiarlo así como los bordes de las ventanas. También nos permite recargar Compiz Fusion
por ejemplo si en algún momento desaparecen los bordes de las ventanas.

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe
Capturas
Algunas capturas de escritorio y Compiz Fusion en funcionamiento:

Av. Canada # 3925 Urb. Villa Jardín - San Luis / Lima - Perú
Telf. (511) 6287544 - 6287545 RPC: 994629700 E-mail: capacitacion@perulinux.com.pe

También podría gustarte