Manual Curso Linux Basico
Manual Curso Linux Basico
2013
[CURSO DE LINUX BÁSICO] www.palosanto.com
ÍNDICE GENERAL
Capítulo 1 [INTRODUCCIÓN A LINUX]
1.1 Qué es Linux? ............................................... 2
1.2 UNIX ..................................................... 2
1.3 Breve historia de Linux ......................................... 3
1.4 Versiones del kernel de Linux .................................... 5
1.5 Linux vs otros sistemas operativos ................................. 6
1.6 Distribuciones de Linux......................................... 6
1.7 Asuntos Legales.............................................. 7
1.8 Requerimientos de hardware..................................... 9
1.8.1 Requerimientos de CPU.................................... 10
1.8.2 Requerimientos de memoria................................. 10
1.8.3 Requerimientos de controladora de disco duro..................... 10
1.9 Fuentes de información de Linux.................................. 11
7.5.2 mii-tool............................................... 84
7.5.3 ping.................................................. 85
7.5.4 traceroute............................................. 85
7.5.5 route................................................. 85
7.5.6 netstat................................................ 86
7.6 Utilidades TCP/IP............................................. 86
7.6.1 Telnet................................................ 86
7.6.2 SSH.................................................. 87
Laboratorio 5.................................................. 89
iv | INDICE
Capítulo 1
[INTRODUCCIÓN A LINUX]
CONTENIDO
1.1 Qué es Linux?
1.2 UNIX
1.3 Breve historia de Linux
1.4 Linux vs otros sistemas operativos
1.5 Distribuciones de Linux
1.6 Asuntos legales
1.7 Requerimientos de hardware
1.8 Fuentes de información de Linux
www.palosanto.com [CURSO DE LINUX BÁSICO]
Lo que hace a Linux tan diferente es que es una implementación gratuita de UNIX.
Fue y aún sigue siendo desarrollado por un grupo de voluntarios, principalmente
en Internet, intercambiando código, comentando fallos y arreglando los
problemas en un entorno abierto. Cualquiera es bienvenido a sumarse al esfuerzo
de desarrollo de Linux, todo lo que se pide es interés en producir un clónico
gratuito de UNIX y algunos conocimientos de programación.
1.2 UNIX
En el año 1962, se emprendió un proyecto faraónico en lo que a informática se
refiere. La idea era crear un centro de cómputo mundial, ubicado en Boston
(EE.UU.), para lo cual habría que desarrollar un sistema operativo capaz de
controlar semejante emprendimiento. Así nació MULTICS.
2 | INTRODUCCIÓN A LINUX
[CURSO DE LINUX BÁSICO] www.palosanto.com
Éste fue el primer gran salto de UNIX, porque gracias a estar escrito en C y a que
AT&T otorgara licencia a varios colegios y universidades, se logró la portabilidad
del sistema operativo, uno de los principales paradigmas de UNIX.
El núcleo de Linux no utiliza ni una sola línea del código de AT&T o de cualquier
otra fuente de propiedad comercial, y buena parte del software para Linux se
desarrolla bajo las reglas del proyecto GNU de la Free Software Foundation.
INTRODUCCIÓN A LINUX| 3
www.palosanto.com [CURSO DE LINUX BÁSICO]
“Dos meses de trabajo, hasta que tuve un driver de discos (con numerosos bugs,
pero que parecía funcionar en mi PC) y un pequeño sistema de ficheros. Aquí tenía
ya la versión 0.01 [al final de Agosto de 1991], no era muy agradable de usar sin el
driver de disquetes, y no hacía gran cosa. No pensé que alguien compilaría esa
versión”.
No se anunció nada sobre esa versión, puesto que las fuentes del 0.01 jamás
fueron ejecutables; contenían solo rudimentos de lo que sería el núcleo, y se
asumía que se tenía acceso a Minix para poderlo compilar y jugar con él.
“Si suspiras al recordar aquellos días, cuando los hombres eran hombres y
escribían sus propios drivers. ¿Te sientes sin ningún proyecto interesante y te
gustaría tener un verdadero sistema operativo que pudieras modificar a placer?
¿Te resulta frustrante contar únicamente con Minix? Entonces este artículo es
para vos. Como dije hace un mes, estoy trabajando en una versión gratuita de algo
así como Minix para computadores AT 386. He alcanzado la etapa en la que puede
ser utilizable y voy a poner las fuentes para su distribución. Es solo la versión 0.02
pero he conseguido ejecutar en él bash, gcc, gnu-make, gnu-sed, compress, etc.”
Tras la versión 0.03, Linus saltó a la versión 0.10, al tiempo que más gente
empezaba a participar en su desarrollo. Tras numerosas revisiones, se alcanzó la
versión 0.95, reflejando la esperanza de tener lista muy pronto una versión
“oficial”. (Generalmente, la versión 1.0 de los programas corresponde con la
primera teóricamente completa y sin errores). Esto sucedía en Marzo de 1992.
4 | INTRODUCCIÓN A LINUX
[CURSO DE LINUX BÁSICO] www.palosanto.com
¿Quién iba a imaginar que este “pequeño” clónico de UNIX iba a convertirse en un
estándar mundial para los computadores personales y empresariales?
En 2004, después de que la versión 2.6.0 fue lanzada, los desarrolladores del
kernel mantuvieron varios debates sobre el esquema de lanzamientos y versiones
y, finalmente, Linus Torvalds y otros decidieron que un ciclo de lanzamiento
mucho más corto sería beneficioso. Durante cerca de siete años, los dos primeros
números se mantuvieron " 2.6", y el tercer número se incrementa con cada nueva
versión, que se puso en marcha después de dos o tres meses. Un cuarto número
se agrega a veces para dar cuenta de errores y parches de seguridad a la versión
del kernel.
El 29 de mayo de 2011, Linus Torvalds anunció que la versión del kernel se dispara
a 3.0 para la liberación inmediata posterior de 2.6.39, para conmemorar el 20avo
aniversario de Linux. Se continuó con la práctica de liberación basada en el tiempo
introducida con 2.6.0, pero utilizando el segundo número - es decir 3.1 seguiría
INTRODUCCIÓN A LINUX| 5
www.palosanto.com [CURSO DE LINUX BÁSICO]
¿Qué hace a UNIX tan importante? No sólo es el sistema operativo más popular
para máquinas multiusuario, también es la base de la mayoría del mundo del
software de libre distribución. Si tiene acceso a Internet, casi todo el software de
libre distribución disponible está específicamente escrito para sistemas UNIX.
Internet en sí está profundamente basado en UNIX.
6 | INTRODUCCIÓN A LINUX
[CURSO DE LINUX BÁSICO] www.palosanto.com
Originalmente, Linus Torvalds lanzó Linux bajo una licencia más restrictiva que la
GPL, que permitía que el software fuera libremente distribuido y modificado, pero
prohibía su uso para ganar dinero. Sin embargo, la GPL autoriza que la gente
INTRODUCCIÓN A LINUX| 7
www.palosanto.com [CURSO DE LINUX BÁSICO]
La GPL permite distribuir y usar el software sin cargo alguno. Sin embargo,
también permite que una persona u organización gane dinero distribuyendo el
software. Sin embargo, cuando se venden programas GPL, el distribuidor no
puede poner ninguna restricción a la redistribución. Esto es, si usted compra un
programa GPL, puede a su vez redistribuirlo gratis o cobrando una cantidad. Esto
puede parecer contradictorio.
¿Por qué vender software cuando la GPL especifica que puede obtenerse gratis?
Por ejemplo, supongamos que una empresa decide reunir una gran cantidad de
programas GPL en un CD-ROM y venderlo. La empresa necesitará cobrar por el
hecho de haber producido el CD, y así mismo querrá ganar dinero. Esto está
permitido por la GPL.
Las organizaciones que vendan el software regido por la GPL deben tener en
cuenta algunas restricciones. En primer lugar, no pueden restringir ningún
derecho al comprador del programa. Esto significa que si usted compra un CD-
ROM con programas GPL, podrá copiar ese CD y revenderlo sin ninguna
restricción. En segundo lugar, los distribuidores deben hacer saber que el
software se rige por la GPL. En tercer lugar, el vendedor debe proporcionar, sin
coste adicional, el código fuente del software a distribuir. Esto permite a
cualquiera comprar el software y modificarlo a placer.
Permitir a una empresa distribuir y vender programas que son gratis es bueno.
No todo el mundo tiene acceso a Internet para llevarse los programas, como
Linux, gratis. La GPL permite a las empresas vender y distribuir programas a esas
personas que no pueden acceder al software con un coste bajo. Por ejemplo,
8 | INTRODUCCIÓN A LINUX
[CURSO DE LINUX BÁSICO] www.palosanto.com
Tenga en cuenta que Linux fue desarrollado por sus usuarios. Esto significa, en la
mayoría de las ocasiones, que el hardware soportado por Linux es únicamente
aquel al que usuarios y desarrolladores tienen realmente acceso.
http://hardware.redhat.com
INTRODUCCIÓN A LINUX| 9
www.palosanto.com [CURSO DE LINUX BÁSICO]
• Intel x86, Pentium, Core Duo, Xeon y todas sus variantes en 32 y 64 bits.
Los clónicos como AMD también son soportados.
• PowerPC
• SPARC
• ARM
• Etc.
La mayoría de los usuarios de Linux, reservan una parte del disco duro para
espacio de intercambio (swapping) que se usa como RAM virtual. Incluso si
dispone de bastante memoria RAM física en su máquina, puede que quiera utilizar
un área de swap. El área de swap no puede reemplazar a una memoria física RAM
real, pero puede permitir a su sistema ejecutar aplicaciones más grandes
guardando en disco duro aquellas partes de código que están inactivas. La
cantidad de espacio de intercambio a reservar depende de diversos factores.
10 | INTRODUCCIÓN A LINUX
[CURSO DE LINUX BÁSICO] www.palosanto.com
• En la Internet:
o Licencia GNU/GPL
http://www.gnu.org
o Kernel de Linux
http://www.kernel.org
o Interfaz Gráfica
http://www.xfree86.org
o Distribuciones de Linux
http://www.debian.org
http://www.redhat.com
http://www.centos.org
http://www.suse.com
httpd://www.ubuntu.com
INTRODUCCIÓN A LINUX| 11
www.palosanto.com [CURSO DE LINUX BÁSICO]
12 | INTRODUCCIÓN A LINUX
Capítulo 2
[CONOCIENDO LINUX]
CONTENIDO
2.1 Archivos y directorios
2.2 Jerarquía de directorios en Linux
2.3 Comandos de Linux
www.palosanto.com [CURSO DE LINUX BÁSICO]
El sistema de archivos es la estructura que permite que Linux maneje los archivos
que contiene.
Todos los archivos de Linux tienen un nombre, el cual debe cumplir ciertas reglas:
14 | CONOCIENDO LINUX
[CURSO DE LINUX BÁSICO] www.palosanto.com
CONOCIENDO LINUX| 15
www.palosanto.com [CURSO DE LINUX BÁSICO]
Directorio Descripción
/bin /bin es la abreviación de binaries, o ejecutables. Es donde residen la
mayoría de los programas o comandos esenciales del sistema y que
pueden ser ejecutados por cualquier usuario.
/boot En este directorio se almacenan los archivos que tienen que ver con el
arranque del sistema operativo como el kernel de Linux y los archivos de
configuración del gestor de arranque llamado GRUB.
/home Contiene los directorios home de los usuarios donde almacenan sus
archivos y directorios. En un sistema recién instalado, no habrá ningún
usuario en este directorio.
16 | CONOCIENDO LINUX
[CURSO DE LINUX BÁSICO] www.palosanto.com
/media Este directorio es similar a /mnt pero para dispositivos removibles como
memorias flash o pendrive.
/mnt Este directorio es típico en distribuciones Red Hat, aunque puede no estar
presente en otras distribuciones. Permite agrupar en un solo lugar los
puntos de montaje o acceso de dispositivos como particiones de disco
duro, unidades CD/DVD, etc.
/usr Su nombre proviene de user (usuario), como tal, contiene una réplica de
otros directorios de nuestro sistema Linux orientados al usuario en lugar
de al propio sistema.
CONOCIENDO LINUX| 17
www.palosanto.com [CURSO DE LINUX BÁSICO]
Hoy en día, los tres mayores sistemas operativos -Microsoft Windows, Mac OS X,
y Linux- tienen interfaces de línea de comandos en conjunto con sus interfaces
gráficas, aunque Linux tiende a confiar más en la línea de comandos que los otros
dos.
./comando
Una vez que empiece a ver directorios, es fácil perderse u olvidar el nombre de su
directorio actual. Por defecto, la consola de comandos para el sistema Linux
muestra el directorio actual, en vez de todo el recorrido.
~]# pwd
/root
Este ejemplo le indica que está ubicado en el directorio /root, que pertenece al
usuario administrador o root.
18 | CONOCIENDO LINUX
[CURSO DE LINUX BÁSICO] www.palosanto.com
Cambiar de directorios es fácil siempre que esté seguro del lugar donde se
encuentra y la relación que éste tiene con el lugar donde desea ir.
cd [directorio]
Ejemplos:
~]# cd /
~]# cd /opt
~]# cd /var/log
CONOCIENDO LINUX| 19
www.palosanto.com [CURSO DE LINUX BÁSICO]
mkdir [directorio]
Ejemplos:
Para crear un archivo vacío que podrá ser usado para agregar texto, ejecutamos
el comando touch.
touch [archivo]
Ejemplos:
20 | CONOCIENDO LINUX
[CURSO DE LINUX BÁSICO] www.palosanto.com
cp [origen] [destino]
Ejemplos:
cp –r [origen] [destino]
Ejemplos:
mv [origen] [destino]
Ejemplos:
CONOCIENDO LINUX| 21
www.palosanto.com [CURSO DE LINUX BÁSICO]
rm [archivo]
Ejemplos:
~]# rm archivo.txt
~]# rm /root/carta.txt
Para borrar un directorio, ejecutamos el comando rm con las opciones –rf, que
significa recursivo y lo que hace es ingresar al directorio y copiar toda la
información contenida en él, además de borrar dicho contenido sin consultarle
previamente. La sintaxis es:
rm –rf [directorio]
Ejemplos:
man [comando]
Ejemplos:
~]# man ls
~]# man cp
Una vez que ha ingresado a la página de manual, presione la tecla q para salir del
mismo.
22 | CONOCIENDO LINUX
[CURSO DE LINUX BÁSICO] www.palosanto.com
du [opciones] [archivo]
Ejemplos:
more [archivo]
Ejemplos:
CONOCIENDO LINUX| 23
www.palosanto.com [CURSO DE LINUX BÁSICO]
less [archivo]
Ejemplos:
cat [archivo]
Ejemplos:
• El comando tail permite visualizar las diez últimas líneas del contenido
de un archivo por defecto. Esto puede ser muy útil para ver las últimas
líneas de un archivo de registro o log y así visualizar los mensajes
importantes del sistema.
tail [archivo]
Ejemplos:
También puede usar el comando tail para vigilar cómo se actualizan los
archivos de registro o log. Usando la opción –f se mostrarán
automáticamente los nuevos mensajes desde un archivo abierto a la
pantalla en tiempo real. Así, por ejemplo para vigilar activamente el
archivo de logs del sistema ejecute el comando:
~]# history –c
uname [opciones]
Ejemplos:
~]# uname -a
CONOCIENDO LINUX| 25
www.palosanto.com [CURSO DE LINUX BÁSICO]
Para cambiar la hora del sistema usaremos el mismo comando date, pero hemos
de tener en cuenta que al reiniciar el computador, éste tomará la hora de la BIOS
y nos volverá a colocar la hora anterior. Para evitar esto, cambiaremos también la
hora de la BIOS con el comando hwclock como se detalla a continuación:
Para verificar que los cambios se han efectuado correctamente ejecutamos los
comandos date y hwclock.
El comando lspci muestra información detallada sobre todos los buses PCI y
dispositivos del sistema como: tarjetas de red, tarjetas de sonido, tarjetas de
video, etc.
26 | CONOCIENDO LINUX
[CURSO DE LINUX BÁSICO] www.palosanto.com
00:00.0 Host bridge: Intel Corporation E7520 Memory Controller Hub (rev 0c)
00:06.0 PCI bridge: Intel Corporation E7520 PCI Express Port C (rev 0c)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev c2)
01:03.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27)
04:03.0 RAID bus controller: Compaq Computer Corporation Smart Array 64xx
(rev 01)
CONOCIENDO LINUX| 27
www.palosanto.com [CURSO DE LINUX BÁSICO]
28 | CONOCIENDO LINUX
Capítulo 3
[ADMINISTRACIÓN DEL
SISTEMA DE ARCHIVOS]
CONTENIDO
3.1 Acerca de discos duros
3.2 Conceptos sobre particiones
3.3 Particiones en Linux y comparación con Microsoft
Windows
3.4 Tipos de sistemas de archivos
3.5 La partición swap
3.6 Verificar particiones y sistemas de archivos
3.7 Montar dispositivos
www.palosanto.com [CURSO DE LINUX BÁSICO]
Un disco duro puede contener más de un sólo sistema de archivos, esto se hace
para ordenar de mejor manera la información que reside en el disco, así también
como su seguridad. De esto se hablará más adelante. Lo que hay que puntualizar
es que para que un disco duro tenga más de un sólo sistema de archivos, debe
estar “particionado”. En la siguiente sección se profundizará en el tema.
Generalmente, los sistemas Microsoft Windows utilizan una única partición que
ocupa todo el disco. Para Microsoft Windows, esta partición es accedida como la
unidad (C:). Si tiene más de una partición en su disco duro, Microsoft Windows
las llamará (D:), (E:), y así sucesivamente, de modo que cada partición actúa
como si fuera un disco duro independiente.
3.3 Particiones
es en Linux y comparación con
Microsoft Windows
Muchas distribuciones de Linux necesitan que se creen a mano las particiones
p
utilizando la herramienta
herram fdisk. Otras pueden crearlas automáticamente. En
cualquier caso, usted debe conocer lo siguiente acerca de los nombres para los
dispositivos y las particiones en Linux.
Bajo Linux, los dispositivos y las particiones tienen nombres muy distintos a los
utilizados en otros sistemas operativos. Bajo Microsoft Windows, las disqueteras
se identifican como (A:) y (B:),, mientras que las particiones del disco duro se
identifican como (C:), (D:), etc. En n Linux, la denominación es algo diferente.
TEMA DE ARCHIVOS | 31
ADMINISTRACIÓN DEL SISTEMA
www.palosanto.com [CURSO DE LINUX BÁSICO]
Las unidades de discos duros y particiones tienen cada uno un manejador propio.
No se preocupe acerca de la interfaz del manejador por ahora; solo es importante
entender cómo son nombrados los dispositivos con el fin de poderlos usar.
Dispositivo Nombre
Primera disquetera (A:) /dev/fd0
Segunda disquetera (B:) /dev/fd1
Primer disco duro (todo el disco) /dev/hda
Primer disco duro, partición primaria 1 /dev/hda1
Primer disco duro, partición primaria 2 /dev/hda2
Primer disco duro, partición primaria 3 /dev/hda3
Primer disco duro, partición extendida /dev/hda4
Primer disco duro, partición lógica 1 /dev/hda5
Primer disco duro, partición lógica 2 /dev/hda6
.. ..
. .
Segundo disco duro (todo el disco) /dev/hdb
Segundo disco duro, partición primaria 1 /dev/hdb1
.. ..
. .
Primer disco duro SCSI (todo el disco) /dev/sda
Primer disco duro SCSI, partición primaria /dev/sda1
.. ..
. .
Segundo disco duro SCSI (todo el disco) /dev/sdb
Segundo disco duro SCSI, partición primaria 1 /dev/sdb1
..
.
Además, los discos duros SCSI, SATA, SAS o aquellos basados en memoria flash, se
nombran de manera diferente a otros discos.
Antes de que una partición en un disco pueda ser utilizada como un sistema de
archivos, tiene que ser inicializado. Esto es a lo que llamamos dar formato o
formatear una partición.
Linux soporta varios tipos de sistemas de archivos. Los más importantes son:
Además, existe soporte para varios sistemas de archivos externos para facilitar el
intercambio de archivos con otros sistemas operativos. Estos sistemas de archivos
funcionan como los nativos, excepto que pueden fallar en algunas de las
características habituales de UNIX, o tienen ciertas limitaciones. Estos son:
vfat Es una extensión del sistema de archivos FAT conocida como FAT32.
ntfs Es el sistema de archivos transaccional más avanzado de Microsoft
que proporciona acceso más rápido a los archivos y estabilidad en
comparación con otros sistemas anteriores de Microsoft.
nfs Un sistema de archivos en red que permite compartir un sistema de
archivos entre varios computadores para permitir el fácil acceso a los
archivos entre todos ellos.
smbfs Un sistema de archivos de red que permite compartir un sistema de
archivos con equipos Microsoft Windows.
iso9660 El sistema de archivos estándar para CD-ROM.
Por lo general, al momento de instalar Linux se crearán dos particiones: una para
ser usada como sistema de ficheros raíz, y la otra como espacio de intercambio o
swap. Por supuesto, hay otras opciones pero ésta es la opción mínima. El espacio
de swap no es obligatorio en Linux, pero está muy recomendado si posee una
cantidad limitada de memoria física.
Existe una limitante con respecto al número de particiones swap por disco en el
sistema operativo Linux. Usted no debe tener más de 8 particiones swap por disco
en su sistema. Si sobrepasa este límite, las demás particiones swap quedarán sin
uso, y por lo tanto habrá un desperdicio de espacio de disco.
~]# fdisk –l
~]# df -h
Si usted está migrándose a Linux desde Microsoft Windows, es probable que esté
acostumbrado a acceder a todos los sistemas de archivos muy fácilmente: solo
tiene que encender el computador, ir a Mi PC y encontrar allí todas sus
En Linux, para utilizar un dispositivo como por ejemplo: CD/DVD, cámara digital,
pendrive, alguna partición, o alguna unidad de red compartida, éstos deben estar
asociados a un directorio existente en el sistema antes de poder acceder a ellos.
Esta asociación se llama montaje y el directorio en el que está conectado el
dispositivo se llama punto de montaje. El directorio a utilizar como punto de
montaje debe ser un directorio vacío y puede estar ubicado en cualquier lugar del
sistema de archivos en Linux.
Una vez que ya sabemos dónde está el dispositivo que queremos montar, ya
podemos proceder a montarlo. Para ello usaremos el comando mount, su sintaxis
básica es la siguiente:
umount [device]|[mountpoint]
Laboratorio 1
Acceder a un dispositivo flash USB
Este laboratorio se enfocará en cómo accesar a dispositivos de almacenamiento, y el trato con
ellos.
1. Estando logeados en el sistema, inserte una unidad flash USB dada por el instructor.
2. Para accesar al información que se encuentra en el flash USB, primeramente debemos
“montar” el dispositivo en uno de nuestros directorios. Generalmente, esto se realiza
de manera automática por el sistema operativo, pero vamos a hacerlo por nosotros
mismos.
3. Para saber si la unidad flash USB fue detectada por el sistema operativo, ejecutamos el
comando:
~]# fdisk –l
Deberíamos observar un segundo dispositivo conectado a nuestro equipo y detectado
como /dev/sdb ya que aparte de nuestro disco duro, es el segundo dispositivo de
almacenamiento en nuestro equipo.
4. Use el comando df –h para verificar que efectivamente la unidad flash USB fue
montada en el sistema de manera automática. Vamos a desmontar el dispositivo para
realizar el proceso de forma manual.
5. Para desmontar la unidad flash USB ejecute el comando:
~]# umount /dev/sdb1
Y vuelva a ejecutar el comando df –h para verificar que efectivamente se desmontó.
6. Una vez desmontado, procedemos a crear un directorio en nuestro sistema para
montar la unidad flash USB de forma manual, para esto ejecutamos el comando:
~]# mkdir /opt/usbflash
7. Una vez creado el directorio, vamos a ejecutar el siguiente comando para montar la
unidad flash USB al directorio creado:
~]# mount /dev/sdb1 /opt/usbflash
Ejecutamos nuevamente el comando df –h y verificamos que ahora nuestra unidad flash
USB está montada sobre el directorio que hemos creado y podremos acceder a nuestra
información ingresando al directorio en cuestión.
8. Para desmontar y expulsar la unidad flash USB, estando fuera del directorio montado,
ejecutamos cualquiera de los siguientes comandos, ya que ambos son igualmente
válidos:
~]# umount /dev/sdb1
~]# umount /opt/usbflash
Si recibe un error del sistema anunciando que el dispositivo se encuentra ocupado
(/dev/sdb1 is busy), lo más probable es que alguien se encuentre accediendo al
dispositivo en otra sesión, o es que usted se encuentra dentro del directorio de montaje
/opt/usbflash. Para desmontarlo correctamente, debe salir del directorio de montaje.
CONTENIDO
4.1 El proceso de arranque
4.2 El gestor de arranque GRUB
4.3 Ejecutar servicios y programas al arranque
4.4 El archivo /etc/rc.local
www.palosanto.com [CURSO DE LINUX BÁSICO]
Luego de que todos los módulos esenciales son cargados, Linux tratará de montar
el sistema de archivos raíz (/), como solo-lectura. A partir de aquí, el kernel pasa el
control del proceso de arranque al proceso conocido como init.
El proceso init es el padre de todos los procesos, y por lo tanto tiene como PID
(Identificador de Proceso), el número 1.
Luego de esto, el proceso init ejecuta los scripts que levantan los servicios,
ubicados en el directorio /etc/rc.d/init.d, que están configurados para
iniciar en el runlevel seleccionado en el archivo /etc/inittab.
Una vez que se han ejecutado todos los scripts de los servicios en el runlevel
seleccionado, se ejecuta el script /etc/rc.local.
Finalmente, se realiza la presentación del sistema o login. Una vez aquí, el sistema
estará cargado totalmente y los servicios levantados.
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-279.11.1.el6.i686)
root (hd0,0)
kernel /boot/vmlinuz-2.6.32-279.11.1.el6.i686 ro rhgb quiet
initrd /boot/initramfs-2.6.32-279.11.1.el6.i686.img
GRUB puede leer directamente desde los sistemas de archivos de Linux, por lo
tanto cuando se realizan cambios en su archivo de configuración, no es necesario
correr ningún comando para instalarlo en el MBR.
/etc/rc.d/rcX.d
~]# ls –l /etc/rc.d/init.d/
total 312
-rwxr-xr-x 1 root root 1128 ene 6 2012 auditd
-rwxr-xr-x 1 root root 1441 mar 28 2011 avahi-daemon
-rwxr-xr-x 1 root root 1429 mar 14 2010 bluetooth
-rwxr-xr-x 1 root root 1176 ene 6 2011 crond
-rwxr-xr-x 1 root root 2808 mar 14 2012 cups
-rwxr-xr-x 1 root root 2372 mar 14 2012 dhcpd
-rwxr-xr-x 1 root root 1848 mar 14 2012 dnsmasq
-rwxr-xr-x 1 root root 1789 mar 14 2010 dovecot
-rwxr-xr-x 1 root root 1477 mar 28 2012 httpd
-rwxr-xr-x 1 root root 1357 mar 14 2012 iptables
-rwxr-xr-x 1 root root 1424 ene 7 2012 mysqld
-rwxr-xr-x 1 root root 7019 mar 14 2012 network
-rwxr-xr-x 1 root root 1904 mar 14 2011 postfix
Así mismo, por ejemplo para observar los scripts que se encuentran programados
a ejecutarse en el runlevel 3, listamos el directorio de /etc/rc.d/rc3.d/:
~]# ls –l /etc/rc.d/rc3.d/
total 0
lrwxrwxrwx 1 root root 19 ene 31 19:05 K12dc_client -> ../init.d/dc_client
lrwxrwxrwx 1 root root 15 ene 31 19:05 K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root 13 ene 31 18:56 K20nfs -> ../init.d/nfs
lrwxrwxrwx 1 root root 15 ene 31 19:14 K20rwhod -> ../init.d/rwhod
lrwxrwxrwx 1 root root 14 ene 31 18:58 K24irda -> ../init.d/irda
lrwxrwxrwx 1 root root 15 ene 31 19:06 K25squid -> ../init.d/squid
lrwxrwxrwx 1 root root 18 ene 31 19:19 K34dhcrelay -> ../init.d/dhcrelay
lrwxrwxrwx 1 root root 19 ene 31 19:19 K34yppasswdd -> ../init.d/yppasswd
~]# runlevel
N 5
id:5:initdefault:
Para hacerlo, edite el archivo como usuario root y cambie el número en esta línea
al valor deseado. El cambio tomará efecto la próxima vez que reinicie el sistema.
Así por ejemplo, si estoy en modo gráfico y deseo cambiarme a runlevel 3, ejecuto
el comando:
~]# init 3
~]# init 0
~]# init 6
Laboratorio 2
Cambiando el runlevel por defecto a tiempo de
boot con GRUB
Este laboratorio enfoca los aspectos del programa del cargador de sistema operativo GRUB y
los scripts de inicio de los servicios:
1. Reinicie el servidor Linux hasta que aparezca la pantalla de GRUB al inicio del proceso de
arranque. Si se ha especificado un valor de timeout en el /etc/grub.conf, debe notar
que en la parte inferior de la pantalla de arranque de GRUB ha iniciado la cuenta
regresiva.
2. Antes que la cuenta regresiva llegue a cero, presione la tecla TAB para interrumpir dicha
cuenta.
3. Ahora puede notar el texto de ayuda en la parte inferior de GRUB. Use las teclas de
“flechas” para navegar al kernel que desea arrancar (si solo tiene una instalación de Linux,
solo tendrá un kernel), y ahora presione la tecla “e” para editar el contenido del
grub.conf para este kernel.
4. Una vez más, note la ayuda en la parte inferior de la pantalla. Use las teclas de “flechas”
para dirigirse hasta la línea que comienza con la palabra “kernel” y presione la tecla “e”
para editar esa línea.
5. Usted se encuentra en el modo de edición del GRUB, con el cursor en el final de la línea.
Presione la tecla espaciadora y digite el número “1” seguido de la tecla ENTER. Usted verá
que la pantalla de GRUB regresa a la pantalla anterior y ahora tiene el número “1”
agregado al final de la línea. Si desea deshacer los cambios, no tiene más que presionar la
tecla ESC y retornará a la pantalla inicial, pero para nuestro laboratorio dejaremos el
número “1” al final de la línea del kernel a ejecutar.
6. Presione la tecla “b” para realizar el boot usando la nueva opción hecha en grub.conf.
En este laboratorio, lo que hemos logrado es que ahora el sistema por defecto va arrancar
en el modo 1 o monousuario. Al momento de arrancar en este modo, notará que no se ha
levantado ningún servicio, ni tampoco se ha presentado el sistema con el pedido de login,
a ese modo de trabajo también se lo conoce como “modo de mantenimiento”.
7. Ejecute el comando init 6 para reiniciar el servidor y nuevamente ingrese a las
opciones del grub.conf, notará que los cambios anteriormente realizados a tiempo de
arranque no fueron grabados al archivo, esto se debe a que los cambios hecho en las
pantallas de GRUB no actualizan el /boot/grub/grub.conf.
CONTENIDO
5.1 Intérprete de comandos o shell
5.2 Caracteres comodín (wildcards)
5.3 Entrada estándar, salida estándar y error
estándar
5.4 Uso de tuberías y redirectores
5.5 Procesos y tareas
5.6 Consolas virtuales
5.7 El editor VI
5.8 Empaquetar y comprimir archivos
5.9 Automatización de tareas
5.10 Administración de los historiales del sistema
www.palosanto.com [CURSO DE LINUX BÁSICO]
5.1 Intérpretes
ntérpretes de comandos o shell
Como hemos mencionado anteriormente
anteriormente en numerosas ocasiones, Linux es un
sistema operativo multitarea y multiusuario. Hay que tener ner cuidado en no
confundir Linux (el sistema operativo) con el intérprete de comandos o shell.
48 | PROCESAMIENTO EN LINUX
[CURSO DE LINUX BÁSICO] www.palosanto.com
Comodín Descripción
* Comúnmente utilizado para realizar coincidencias de cualquier caracter o
cadena de caracteres. Hace referencia a 0 o más caracteres.
Por ejemplo:
• x* hace coincidencia de archivos y directorios: x, xy, xyz,
x.txt, xyz.c, etc.
? Hace referencia a un solo caracter desconocido.
Por ejemplo:
• x? hace coincidencia de nombre de archivos y directorios: xx,
xy, xz, pero no de xyz
• x?? hace referencia a xyz, pero no a x ni a xy
[caracteres] Hace referencia a cualquiera de los caracteres que se encuentran
encerrados entre los corchetes.
Por ejemplo:
• x[yz] hace coincidencia de nombre de archivos y directorios:
xy y xz
[!caracteres] Hace referencia a cualquier caracter que no se encuentre encerrado entre
los corchetes.
Por ejemplo:
• x[!yz] hace coincidencia de nombre de archivos y directorios
tales como xa, x1, xb, pero no hace referencia a xy ni a xz
[a-z] Hace referencia a cualquier carácter que se encuentre en rango
[A-Z] comprendido entre los caracteres encerrados entre los corchetes.
[0-9] Por ejemplo:
• x[0-9] hace coincidencia de nombre de archivos y directorios
tales como x0, x1, x2, pero no hace referencia a xx ni a xy
Hay que considerar que esta propiedad es case sensitive, es decir, si usted
especifica x[a-zA-Z], entonces las coincidencias serán: xa y xA y así
sucesivamente
[!a-z] Hace referencia a cualquier caracter que no se encuentre en el rango
[!A-Z] comprendido entre los caracteres encerrados entre los corchetes.
[!0-9] Por ejemplo:
• x[!0-4] hace coincidencia de nombre de archivos y directorios
tales como x5, x6, x7, pero no hace referencia a x0 ni a x1
\ Sirve para que los caracteres especiales sean interpretados en una línea
de comando como literalmente se presentan
. Hace referencia al directorio actual
.. Hace referencia al directorio padre del directorio actual
PROCESAMIENTO EN LINUX | 49
www.palosanto.com [CURSO DE LINUX BÁSICO]
Los comandos de Linux, pueden correrse con más de un argumento además del
comando propiamente, también se puede tomar como argumento otro archivo,
es decir, los comandos necesitan de entradas estándares de datos.
50 | PROCESAMIENTO EN LINUX
[CURSO DE LINUX BÁSICO] www.palosanto.com
Ejemplo:
El resultado de esta línea de comando será el listado del directorio /etc por
pantallas, ya que su contenido es extenso.
PROCESAMIENTO EN LINUX | 51
www.palosanto.com [CURSO DE LINUX BÁSICO]
Se crea un archivo llamado test2 cuyo contenido serán todas las líneas que
contienen la palabra hola dentro del archivo test.
En este caso, le estamos pasando al comando mail el cuerpo del mensaje que
está ubicado en el archivo mensaje.txt, el cual tuvo que estar creado
previamente.
Función Sintaxis
Enviar la salida estandar (stdout) a un archivo comando > archivo
comando 1> archivo
Enviar el error estandar (stderr) a un archivo comando 2> archivo
Enviar la salida y el error estandar a un mismo comando > archivo 2>&1
archivo
Enviar la salida al archivo1 y el error estandar comando > archivo1 2> archivo2
a archivo2
Recibir la entrada estandar de un archivo comando < archivo
Añadir la salida estandar a un archivo comando >> archivo
comando 1>> archivo
Añadir la entrada y error estandar a un comando >> archivo 2>&1
mismo archivo
Alimentar la entrada de un comando con la comando1 |comando2
salida de otro
Alimentar la entrada de un comando con la comando1 | comando2
salida de otro
Alimentar la entrada de un comando con la comando1 2>&1 | comando2
salida y error de otro
52 | PROCESAMIENTO EN LINUX
[CURSO DE LINUX BÁSICO] www.palosanto.com
5.5.1 Procesos
Cuando usted ejecuta un programa en el shell, el kernel que se encuentra
corriendo en memoria recibe la orden de iniciar un nuevo proceso.
Una vez asignado los recursos necesarios, el kernel bautiza con un número a ese
conjunto de recursos y con todo eso lo envía a ejecutarse. Ese número es lo que
se conoce como identificador de proceso o PID por sus siglas en inglés.
~]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 04:36 ? 00:00:00 init [5]
root 2 1 0 04:36 ? 00:00:00 [migration/0]
root 3 1 0 04:36 ? 00:00:00 [ksoftirqd/0]
root 4 1 0 04:36 ? 00:00:00 [watchdog/0]
root 5 1 0 04:36 ? 00:00:00 [events/0]
root 6 1 0 04:36 ? 00:00:00 [khelper]
root 7 1 0 04:36 ? 00:00:00 [kthread]
root 10 7 0 04:36 ? 00:00:00 [kblockd/0]
root 11 7 0 04:36 ? 00:00:00 [kacpid]
root 126 7 0 04:36 ? 00:00:00 [cqueue/0]
root 129 7 0 04:36 ? 00:00:00 [khubd]
root 131 7 0 04:36 ? 00:00:00 [kseriod]
PROCESAMIENTO EN LINUX | 53
www.palosanto.com [CURSO DE LINUX BÁSICO]
kill -9 [PID]
Por ejemplo, si desea eliminar el proceso cuyo PID es 3356 ejecutaría el comando:
5.5.2 Tareas
Linux es un sistema operativo multitarea, esto quiere decir que puede ejecutar
varios programas al mismo tiempo. Muchas veces se confunde el concepto de
“tarea” y “proceso”, esperamos que con la siguiente explicación usted pueda
reconocer la pequeña diferencia.
Un proceso que está corriendo en un shell se denomina tarea para éste. Este
proceso puede desencadenar varios procesos hijos, pero para el shell aún sigue
siendo la única tarea.
Para verificar esto, inicie sesión en su sistema Linux. Ahora pulse la combinación
de teclas ALT + F2. Debería ver la pantalla de inicio de sesión. Lo que está viendo
es la segunda consola virtual. Para volver a la primera consola virtual, pulse la
combinación de teclas ALT + F1. Ha vuelto a la primera sesión.
54 | PROCESAMIENTO EN LINUX
[CURSO DE LINUX BÁSICO] www.palosanto.com
Como puede observar, el uso de consolas virtuales es muy potente. Puede estar
trabajando en diferentes consolas a la vez, pero es algo limitado (después de
todo, solo puede mirar una consola cada vez), esto debería darle una idea de las
capacidades multiusuario del sistema. Mientras está trabajando en la consola
virtual 1, puede conmutar a la consola virtual 2 y empezar a trabajar en otro
asunto.
Linux llama a cada sesión de shell asignada a cada una de las teclas de función de
su teclado como tty, que es una abreviación de teletype. Es decir, el shell que se
encuentra corriendo en la consola virtual 1 (tecla de función F1) se dice que está
corriendo en el terminal tty1.
Cualquier otro shell que no sea una consola virtual conectada directamente al
sistema, Linux la nombra como pts, que es una abreviación de pseudoterminal.
Por ejemplo, si usted ejecuta un shell en el ambiente gráfico o un shell remoto
desde otro equipo, éste se llamará pts/0, el siguiente se llamará pts/1 y así
sucesivamente como tantas shell estemos ejecutando en el sistema.
5.7 El editor VI
Un editor de texto es simplemente un programa usado para la edición de archivos
que contienen texto, como una carta, un programa en lenguaje C, o un archivo de
configuración del sistema.
Mientras que hay muchos editores de texto disponibles en Linux, el único editor
que está garantizado encontrar en cualquier sistema tipo UNIX es vi, el visual
editor.
PROCESAMIENTO EN LINUX | 55
www.palosanto.com [CURSO DE LINUX BÁSICO]
5.7.1 Conceptos
Mientras se usa vi, en cualquier momento estará en uno de tres posibles modos
de operación. Estos modos son conocidos como: modo órdenes, modo inserción y
modo última línea.
Cuando inicia vi, se encontrará en el modo órdenes. Este modo le permite usar
ciertas órdenes para editar ficheros o cambiar a otros modos. Las teclas
direccionales mueven el cursor a través del archivo que estamos editando.
Generalmente, las órdenes usadas en este modo son solo de uno o dos caracteres
de longitud.
La sintaxis de vi es:
~]# vi [archivo]
56 | PROCESAMIENTO EN LINUX
[CURSO DE LINUX BÁSICO] www.palosanto.com
Mientras inserta texto, puede escribir tantas líneas como desee y puede corregir
los errores con la tecla de borrado.
Para salir del modo de inserción y volver al modo de órdenes, pulse la tecla Esc.
Mientras esté en modo órdenes, puede usar las teclas del cursor para moverse
por el archivo.
Puede borrar líneas enteras usando la orden “dd” (es decir, pulse la tecla “d” dos
veces en una fila).
Para borrar la palabra sobre la que se encuentra el cursor, use la orden “dw”.
Al editar ficheros grandes, querrá moverse hacia adelante y atrás a lo largo del
fichero mostrando una pantalla cada vez. Pulsando la combinación CTRL + F
avanza el cursor una pantalla hacia adelante y CTRL + B lo lleva una pantalla atrás.
Para llevar el cursor al final del fichero, pulse “G”. Puede también desplazarse a
una línea arbitraria; por ejemplo, pulsando la orden “10G” llevará el cursor a la
línea 10 del fichero. Para desplazarse al comienzo, use “1G”.
PROCESAMIENTO EN LINUX | 57
www.palosanto.com [CURSO DE LINUX BÁSICO]
Una vez que digita lo que desea buscar, debe presionar la tecla Enter y vi buscará
la primera coincidencia de la cadena de caracteres.
Una de ellas es “q!”, la cual permite salir de vi sin guardar los cambios.
La orden “:wq” guarda el fichero y sale de vi. La orden “ZZ” (desde el modo de
órdenes, sin ":") es equivalente a “:wq”. Recuerde que debe pulsar la tecla Enter
después de introducir la orden para que esta se ejecute en el modo última línea.
Su sintaxis es la siguiente:
58 | PROCESAMIENTO EN LINUX
[CURSO DE LINUX BÁSICO] www.palosanto.com
[options] Es la lista de comandos y opciones para tar. Las más utilizadas son:
• c – Crea un nuevo paquete de archivos
• x – Extrae el contenido de un paquete de archivos
• z – Comprime el paquete de archivos en formato ZIP
• j – Comprime el paquete de archivos en formato BZIP
• v – Muestra el progreso de la creación o extracción
• f – Indica el nombre del archivo a crear o extraer
[file1] Es el listado de archivos a agregar o extraer
[file2]
...
[fileN]
gzip -9 [archivo]
PROCESAMIENTO EN LINUX | 59
www.palosanto.com [CURSO DE LINUX BÁSICO]
En algunos casos usted podrá encontrarse con archivos con nombre, por ejemplo
archivo.tgz, lo que es similar a archivo.tar.gz, simplemente es otra
forma de nombrarlo o una abreviación.
60 | PROCESAMIENTO EN LINUX
[CURSO DE LINUX BÁSICO] www.palosanto.com
Puede usar un asterisco (*) para representar todos los valores posibles. O
también a través de un rango, así por ejemplo: 1-4. También puede usar valores
separados por comas, por ejemplo: 1,3,4,7.
Por ejemplo, si quisiéramos ejecutar una tarea periódica que cada día Domingo
de la semana a las 22h15 obtenga un respaldo del directorio /etc y lo guarde en
el directorio /backups, configuraríamos una línea como la siguiente en el
archivo /etc/crontab:
Los archivos de registro pueden ser muy útiles cuando se trata de solucionar un
problema con el sistema como por ejemplo, el intento de cargar un driver o
módulo en el núcleo o la búsqueda de registro de los intentos no autorizados en
el sistema.
PROCESAMIENTO EN LINUX | 61
www.palosanto.com [CURSO DE LINUX BÁSICO]
Los archivos de registro crecen y con el tiempo se pueden volver muy extensos.
No tenemos que preocuparnos porque en el directorio /etc/cron.daily/
(tareas que se ejecutan diariamente) está el script
/etc/cron.daily/logrotate, (cuyo archivo de configuración es
/etc/logrotate.conf), que se encarga de comprimirlos y aplicar una
rotación de archivos, añadiéndoles la extensión .1.gz, .2.gz, etc., a modo de
históricos, volviendo a crear uno vacío (cuanto mayor sea el número más antiguo
será el archivo de log).
Una forma de visualizar estos archivos es con los comandos more o less, así:
62 | PROCESAMIENTO EN LINUX
[CURSO DE LINUX BÁSICO] www.palosanto.com
PROCESAMIENTO EN LINUX | 63
www.palosanto.com [CURSO DE LINUX BÁSICO]
64 | PROCESAMIENTO EN LINUX
Capítulo 6
[ADMINISTRACIÓN DE
USUARIOS]
CONTENIDO
6.1 Gestión de usuarios
6.2 La cuenta root
6.3 Usuarios
6.4 Grupos
6.5 Comandos de gestión de usuarios
6.6 Permisos de archivos
www.palosanto.com [CURSO DE LINUX BÁSICO]
El único ente que puede registrar usuarios es el superusuario o root. Se trata del
administrador del sistema, es decir, del usuario con mayor poder y privilegios. Es
único en cada sistema y es quien dicta las políticas de uso y control de equipo.
A su vez, todos los usuarios se organizan en grupos. Esto significa que un usuario
que se dedica a la programación y a la publicidad en una empresa donde se
encuentra nuestro hipotético sistema pertenecerá a los grupos de programación y
publicidad (creados por el root). Allí se encontrará con personas con sus mismos
intereses y obligaciones, de modo que podrán compartir archivos entre todos.
66 | ADMINISTRACIÓN DE USUARIOS
[CURSO DE LINUX BÁSICO] www.palosanto.com
Estas restricciones desaparecen para root. El usuario root puede leer, modificar o
borrar cualquier archivo en el sistema, cambiar permisos y pertenencias en
cualquier archivo, y ejecutar programas especiales, como pueden ser los que
particionan un disco o crean sistemas de ficheros. La idea básica es que la persona
o personas que ejecutan y cuidan del sistema ingresen como root cuando sea
necesario para realizar tareas que no pueden ser ejecutadas por un usuario
normal. Puesto que root puede hacer todo, es fácil cometer errores que tengan
consecuencias catastróficas cuando se trabaja utilizando esta cuenta.
6.3 Usuarios
Para la correcta administración de los usuarios, tendremos que cargar toda la
información que el sistema necesita a fin de identificar a cada uno de ellos.
username:password:UID:GID:comment:homedir:shell
Campo Descripción
username Es el identificador único dado a cada usuario del sistema. Ejemplos de
nombres de usuarios son juan, jperez y mariag. Se pueden utilizar letras y
dígitos junto a los caracteres “_” (subrayado) y “.” (punto)
password El sistema también almacena la clave encriptada del usuario. La encriptación
por defecto que utiliza CentOS 6 Linux es SHA512, un tipo de encriptación
“una vía”, es decir, una vez que se encripta, no existe manera de desencriptar.
Debido a que el archivo /etc/passwd es legible por cualquier usuario, en
versiones actuales de Linux, es posible utilizar un conjunto de herramientas
que permite que este campo sea almacenado en otro archivo llamado
/etc/shadow, por lo que si la clave no está incluida en el archivo
/etc/passwd, en su lugar verá la letra “X”, indicando que se está usando la
modalidad shadowing para las claves.
ADMINISTRACIÓN DE USUARIOS | 67
www.palosanto.com [CURSO DE LINUX BÁSICO]
UID Es un número entero positivo único asignado a cada usuario del sistema. Cada
usuario se identifica con el sistema por su UID, y los nombres de usuario se
utilizan generalmente sólo como una interfaz para los seres humanos.
En los núcleos Linux 2.4 y superiores, los UIDs son un entero sin signo de 32
bits que pueden representar los valores de cero a 4,294,967,296. Sin embargo,
es aconsejable utilizar valores sólo hasta 65,534 con el fin de mantener la
compatibilidad con los sistemas que utilizan núcleos antiguos o sistemas de
ficheros que sólo pueden acomodar UIDs de 16 bits.
El UID 0 es reservado para la cuenta root, aunque se pueden crear cuentas
adicionales con este UID lo que no es recomendable desde el punto de visto
de seguridad.
Los UIDs desde 1 al 99 están reservados tradicionalmente para usuarios
especiales del sistema (a veces llamada pseudo-usuarios), los cuales ejecutan
determinadas tareas administrativas o son creados por las aplicaciones
instaladas en el sistema.
Algunas distribuciones de Linux asignan UIDs para usuarios no privilegiados
comenzando en 100. Otros, como Red Hat, los asignan desde 500, y otros más,
como Debian, desde 1000.
GID Es la identificación del grupo del usuario por defecto. Cada usuario pertenece
a uno o más grupos definidos por el administrador del sistema.
comment Nombre real que se almacena junto con el nombre del usuario. Por ejemplo, el
usuario jperez se llama Juan Pérez en la vida real.
homedir Es el directorio en el que se coloca inicialmente al usuario en tiempo de
conexión. Cada usuario debe tener su propio directorio inicial, normalmente
situado bajo /home.
shell Es el intérprete de comandos o shell que arranca para el usuario en tiempo de
conexión, por ejemplo /bin/bash.
jperez:x:500:500:Juan Perez:/home/jperez:/bin/bash
6.4 Grupos
En los sistemas Linux, además de existir la entidad de usuario, también existe la
entidad de grupo, los cuales nos permitirán asignar permisos a los archivos de
manera más eficiente, ya que podremos agrupar usuarios que comparten
similares características con respecto al acceso a ciertos directorios y/o archivos.
groupname:password:GID:members
68 | ADMINISTRACIÓN DE USUARIOS
[CURSO DE LINUX BÁSICO] www.palosanto.com
Campo Descripción
groupname Es el identificador único dado a cada grupo del sistema. Ejemplos de
nombres de usuarios son juan, jperez y mariag. Se pueden utilizar
letras y dígitos junto a los caracteres “_” (subrayado) y “.” (punto)
password La clave para grupo permite que cuando un usuario desee cambiarse
de grupo para uno en específico, el sistema le pregunte por una clave
para realizar este cambio. Si el campo está vacío, no se preguntará por
clave al realizar el cambio.
Así como en el archivo /etc/passwd, actualmente es posible
guardar las claves de grupo en un archivo separado llamado
/etc/gshadow, esto se denota cuando el campo tiene el caracter
“X”.
GID Es la identificación numérica del grupo.
members Lista los nombres de usuarios que forman parte del grupo, separados
por comas.
ventas:x:500:jperez,srodriguez,luis
Ejemplo:
6.5.2 passwd
Asigna o cambia una contraseña a una cuenta de usuario de manera interactiva.
Ejemplo:
ADMINISTRACIÓN DE USUARIOS | 69
www.palosanto.com [CURSO DE LINUX BÁSICO]
6.5.3 userdel
Borra una cuenta de usuario existente. Si la orden se la ejecuta con la bandera –r,
además de la cuenta de usuario, también se borra el directorio de inicio del
usuario.
Ejemplo:
6.5.4 groupadd
Crea un grupo en el sistema.
Ejemplo:
6.5.5 gpasswd
Asigna o cambia una contraseña a un grupo del sistema de manera interactiva.
Ejemplo:
6.5.6 groupdel
Borra un grupo del sistema.
Ejemplo:
6.5.7 su
Permite convertirnos a otro usuario.
Ejemplo:
~]$ su – root
70 | ADMINISTRACIÓN DE USUARIOS
[CURSO DE LINUX BÁSICO] www.palosanto.com
Con este comando nos convertimos en usuario root si hemos iniciado sesión
previamente como un usuario más del sistema. Debemos ingresar la contraseña
de root.
Si Juan lo desea, podría restringir el acceso a sus ficheros de forma que ningún
otro usuario tenga acceso. De cualquier modo, en la mayoría de los sistemas por
defecto se permite que otros usuarios puedan leer tus ficheros pero no
modificarlos o borrarlos.
Los grupos usualmente son definidos por el tipo de usuarios que acceden a la
máquina. Por ejemplo, en un sistema UNIX de una Universidad, los usuarios
pueden ser divididos en los grupos estudiantes, dirección, profesores e invitados.
Hay también unos pocos grupos definidos por el sistema (como bin y admin) los
cuales son usados por el propio sistema para controlar el acceso a los recursos
muy raramente los usuarios normales pertenecen a estos grupos.
Los permisos están divididos en tres tipos: lectura, escritura y ejecución. Estos
permisos pueden ser fijados para tres clases de usuarios: el propietario del
archivo, el grupo al que pertenece el archivo y para todos los usuarios
independientemente del grupo.
ADMINISTRACIÓN DE USUARIOS | 71
www.palosanto.com [CURSO DE LINUX BÁSICO]
-rwxr-xr--
- Archivo común
d Directorio
c Dispositivo de caracteres (tty o impresora)
b Dispositivo de bloque
l Enlace simbólico
s Socket
6.6.3 Dependencias
Es importante darse cuenta de que los permisos de un fichero también dependen
de los permisos del directorio en el que residen. Por ejemplo, aunque un fichero
tenga los permisos –rwxrwxrwx, otros usuarios no podrán acceder a él a menos
que también tengan permiso de lectura y ejecución para el directorio en el cual se
encuentra el fichero. Si Juan quiere restringir el acceso a todos sus ficheros,
podría simplemente poner los permisos de su directorio home /home/jperez a
-rwx------.
Habitualmente, los usuarios de un sistema UNIX son muy abiertos con sus
ficheros. Los permisos que se dan a los ficheros usualmente son -rw-r--r--, lo
que permite a todos los demás usuarios leer los ficheros, pero no modificarlos de
ninguna forma. Los directorios, usualmente tienen los permisos -rwxr-xr-x, lo
que permite que los demás usuarios puedan moverse y ver los directorios, pero
sin poder crear o borrar nuevos ficheros en ellos.
El método para establecer los permisos de esta manera consiste en sumar los
dígitos octales de acuerdo al valor correspondiente para cada permiso.
r=4;w=2;x=1
ADMINISTRACIÓN DE USUARIOS | 73
www.palosanto.com [CURSO DE LINUX BÁSICO]
-rwxr-xr--
- r W x r - x r - -
4 2 1 4 0 1 4 0 0
7 5 4
Entonces los permisos para este archivo en representación octal sería: 754
Donde [a,u,g,o] representa, en orden, all, user, group y other que afecta a
todos los usuarios, usuario dueño, grupo dueño y cualquier otro usuario
respectivamente. En tanto que [+,-] especifica si se están añadiendo permisos
(+) o quitándolos (-). Finalmente se especifica qué tipo de permiso es: lectura (r),
escritura (w) o ejecución (x) y el nombre del archivo.
Ejemplos:
Ejemplo:
6.6.6.1 chown
Cambia el usuario dueño de un archivo o directorio. También sirve para cambiar
usuario y grupo dueño a la vez.
Sintaxis:
Ejemplos:
6.6.6.2 chgrp
Cambia el grupo dueño de un archivo o directorio.
Sintaxis:
Ejemplo:
ADMINISTRACIÓN DE USUARIOS | 75
www.palosanto.com [CURSO DE LINUX BÁSICO]
Laboratorio 3
Crear y eliminar usuarios en el sistema
Este laboratorio se enfocará en la creación, modificación y eliminación de un usuario y su
contraseña.
1. Se procederá a crear un usuario en el sistema, el mismo que tendrá por nombre userXX,
donde XX representa el número de máquina asignado a Ud. Para crear el usuario ejecute
el siguiente comando:
~]# useradd userXX
2. Una vez ejecutado el comando, procedemos a verificar que el nuevo usuario ha sido
creado, para esto ejecutamos el siguiente comando:
~]# cat /etc/passwd | grep userXX
El comando anterior barre el contenido del archivo /etc/passwd donde se definen los
usuarios del sistema y nos muestra la entrada correspondiente al usuario creado, así:
userXX:x:501:501::/home/userXX:/bin/bash
También podemos apreciar que se encuentra creado el directorio respectivo para el
usuario en la ruta /home:
~]# ls /home | grep userXX
3. Para asignar una contraseña al usuario creado, ejecutamos el comando:
~]# passwd userXX
Y nos muestra un prompt solicitando el ingreso de la nueva contraseña y su confirmación:
Cambiando la contraseña del usuario userXX.
Nueva contraseña:
Vuelva a escribir la nueva contraseña:
Si configuramos una contraseña muy corta, sencilla o débil, el sistema nos alertará al
respecto:
CONTRASEÑA INCORRECTA: Es demasiado corta
CONTRASEÑA INCORRECTA: Es demasiado sencilla
Esto se debe, a que por seguridad el sistema hace una verificación previa de la contraseña
ingresada. Una vez ingresada la contraseña nos muestra un mensaje como el siguiente
confirmando que ha sido configurada exitosamente:
passwd: todos los tokens de autenticación se actualizaron
exitosamente.
4. Para eliminar el usuario junto con todos sus archivos y directorios creados, ejecutamos el
siguiente comando:
~]# userdel –r userXX
76 | ADMINISTRACIÓN DE USUARIOS
[CURSO DE LINUX BÁSICO] www.palosanto.com
Laboratorio 4
Modificar permisos y dueños a archivos
Este laboratorio se enfocará en la modificación de permisos y dueños a archivos y/o
directorios.
ADMINISTRACIÓN DE USUARIOS | 77
Capítulo 7
[CONFIGURACIÓN DE RED]
CONTENIDO
7.1 Terminología
7.2 Redes con TCP/IP
7.3 Configuración de TCP/IP
7.4 Archivos de configuración de red
7.5 Network Manager
7.6 Comandos básicos par conectividad TCP/IP
7.7 Utilidades TCP/IP
[CURSO DE LINUX BÁSICO] www.palosanto.com
7.1 Terminología
Cuando estamos hablando de configuración de red, nos referimos
específicamente a como se configura la máquina para poder comunicarse con el
mundo exterior, ya sea por una conexión serial (usada por un modem por
ejemplo) o a través de la tarjeta de red que poseamos.
Este conjunto de protocolos (que en adelante solo se llamará TCP/IP) hace que
nuestra PC pueda entablar y cerrar una comunicación con otra PC. No se abarcará
muy a fondo el TCP/IP, ya que está fuera del enfoque del curo, pero se dará una
introducción de dicho protocolo para que el estudiante pueda comenzar un
estudio del mismo por su propia cuenta.
Con Linux y una tarjeta Ethernet podrá introducir su máquina en una red local o
(si se tienen las conexiones apropiadas) a la Internet.
Poner en marcha una pequeña red local de máquinas Unix es fácil. Sólo requiere
una tarjeta Ethernet en cada máquina y los cables adecuados, así como hardware
accesorio (hubs, switchs, routers, etc.)
CONFIGURACIÓON DE RED | 79
www.palosanto.com [CURSO DE LINUX BÁSICO]
7.3.1 Dirección IP
Es un identificador único para cada máquina en la red. Una dirección IP es un
número de 32 bits binarios, agrupados en 4 octetos y puede ser representada en
forma decimal.
Ejemplo:
• 10.51.0.1
• 172.16.45.67
• 192.168.1.10
Las direcciones IP están formadas por dos campos: dirección de red y dirección de
host.
Ejemplo:
192.168.1. 10
Dirección de Red Dirección de Host
Ejemplo:
• 255.0.0.0
• 255.255.0.0
• 255.255.255.0
80 | CONFIGURACIÓN DE RED
[CURSO DE LINUX BÁSICO] www.palosanto.com
Ejemplo:
• 10.0.0.0
• 172.16.0.0
• 192.168.1.0
Esta dirección se la obtiene poniendo todos los bits 1 en la dirección de host. Toda
red IP tiene una sola dirección de broadcast.
Ejemplo:
• 10.255.255.255
• 172.16.255.255
• 192.168.1.255
Ejemplo:
En el caso de nuestra oficina puede ser el equipo que nos conecta a Internet como
lo es un router o firewall o en su defecto, en nuestro hogar, el equipo de cable
modem provisto por el proveedor por ejemplo.
CONFIGURACIÓON DE RED | 81
www.palosanto.com [CURSO DE LINUX BÁSICO]
7.4.1 /etc/sysconfig/network
Este archivo contiene la información más relevante de un servidor Linux en
entrono de red. Información que necesita el demonio de red para controlar otros
archivos que tienen relación con el servicio de red. Su formato es:
NETWORKING=yes
HOSTNAME=srv1.example.com
GATEWAY=192.168.1.100
Donde:
82 | CONFIGURACIÓN DE RED
[CURSO DE LINUX BÁSICO] www.palosanto.com
7.4.2 /etc/sysconfig/network-scripts/
Las tarjetas de red Ethernet son identificadas con la nomenclatura ethX, donde X
es el número de tarjeta de red empezando con el número 0 para la primera
tarjeta de red, 1 para la segunda y así sucesivamente.
Cada tarjeta de red que existe en el servidor tiene un archivo del formato
ifcfg-ethX que representa los parámetros de configuración de dicha tarjeta.
Suponiendo que solo hay una tarjeta de red Ethernet en el servidor, habrá un
archivo llamado ifcfg-eth0 dentro de este directorio, cuyo contenido sería:
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.1.10
NETMASK=255.255.255.0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
ONBOOT=yes
Donde:
7.4.3 /etc/hosts
Contiene la resolución del nombre a dirección IP de su máquina local, así como
también de las máquinas más importantes de su red, como servidores o gateways.
Este archivo trae una configuración por defecto para que la máquina pueda
arrancar con normalidad.
CONFIGURACIÓON DE RED | 83
www.palosanto.com [CURSO DE LINUX BÁSICO]
7.4.4 /etc/resolv.conf
En este archivo configuramos la dirección IP de los servidores DNS que hemos de
utilizar. Podemos agregar tantos como queramos con la directiva nameserver.
search example.com
nameserver 192.168.1.101
nameserver 69.25.185.136
7.5.2 mii-tool
Sirve para conocer el estado de conexión física de las tarjetas de red de nuestro
sistema Linux.
84 | CONFIGURACIÓN DE RED
[CURSO DE LINUX BÁSICO] www.palosanto.com
7.5.3 ping
Es la herramienta de primera instancia que se utiliza para comprobar la
conectividad en la red con otras estaciones. Utiliza protocolo ICMP (Internet
Control Message Protocol) para operar.
7.5.4 traceroute
Nos muestra la ruta que está recorriendo un paquete hasta llegar a un destino.
Este comando es muy utilizado en redes que tienen comunicación con muchas
otras. Refiriéndonos a Internet, el comando mostrará las direcciones IP de los
diferentes enrutadores que se utilizan para establecer una conexión con un host
remoto.
Por estándar, el comando solo mostrará máximo hasta 30 saltos, que son los
considerados como máximo para llegar hasta un servidor remoto. Luego de los 30
saltos, un destino es considerado “inalcanzable” por el comando traceroute.
Por ejemplo, si deseamos saber por cuales enrutadores es necesario pasar desde
nuestra estación hasta llegar al servidor Web de Google, el comando a ejecutar
sería:
7.5.5 route
Este comando permite visualizar la tabla de rutas de Linux, así como también
agregar nuevas rutas o elminarlas. Al igual que ifconfig, la configuración que
ingrese por route se perderá en el siguiente arranque del sistema, por lo que
deberá hacer uso de los archivos de configuración de rutas estáticas para que esta
esté disponible permanentemente.
~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.1.100 0.0.0.0 UG 0 0 0 eth0
CONFIGURACIÓON DE RED | 85
www.palosanto.com [CURSO DE LINUX BÁSICO]
7.5.6 netstat
Dependiendo de las opciones que se le dé al comando, netstat puede mostrar
las conexiones que está recibiendo y transmitiendo el servidor, los servicios de red
que están levantados en nuestro sistema, etc.
Telnet sólo sirve para acceder en modo terminal, es decir, sin gráficos. Los
comandos ejecutados en el terminal recibido en la conexión telnet son
procesados en el servidor Telnet y no en el cliente.
Su mayor problema es de seguridad, hay tres razones por las que telnet no se
recomienda para los sistemas modernos:
86 | CONFIGURACIÓN DE RED
[CURSO DE LINUX BÁSICO] www.palosanto.com
7.6.2 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 computador mediante un intérprete de
comandos, y también puede redirigir el tráfico de X para poder ejecutar
programas gráficos si tenemos un servidor X arrancado. El puerto que utiliza
generalmente es el TCP 22.
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 las máquinas y pasar los datos de
cualquier otra aplicación por un canal seguro tunelizado mediante SSH.
SSH trabaja de forma similar a como se hace con Telnet. La diferencia principal es
que SSH usa técnicas de cifrado que hacen que la información que viaja por el
medio de comunicación vaya de manera no legible y ninguna tercera persona
pueda descubrir el usuario y la contraseña de la conexión ni lo que escribe
durante toda la sesión.
CONFIGURACIÓON DE RED | 87
www.palosanto.com [CURSO DE LINUX BÁSICO]
Donde root es el usuario con el que nos queremos conectar, en vez de una
dirección podemos dar un nombre de máquina o hostname.
Si se está conectando por primera vez a ese servidor SSH, su estación recibirá
inicialmente una huella digital (fingerprint) del servidor al cual se está conectando
y que por medio de la cual ambas máquinas empezarán a encriptar la información
que fluya entre ellas. Usted debe aceptar dicha huella digital para que pueda
seguir con la conexión, simplemente escribiendo la palabra yes cuando lo
requiera.
88 | CONFIGURACIÓN DE RED
[CURSO DE LINUX BÁSICO] www.palosanto.com
Laboratorio 5
Configuración de red en CentOS 6
Este laboratorio se enfocará en la configuración de los parámetros de red en nuestro servidor
tales como: dirección IP, máscara de red, puerta de enlace y servidores DNS.
NetworkManager
Si se desea impedir que NetworkManager gestione algún dispositivo de red en particular y que
éste sea gestionado por el servicio network, edite el archivo de configuración correspondiente
al dispositivo a utilizar. Asumiendo que se trata del dispositivo eth0, en el archivo
/etc/sysconfig/network-scripts/ifcfg-eth0, agregue la siguiente directiva:
NM_CONTROLLED=no
Si quiere prescindir del uso de NetworkManager, también se puede desactivar por completo
este servicio, siendo que su uso sólo tiene sentido en una computadora portátil que se conecta
a múltiples redes inalámbricas o bien un sistema de escritorio donde se quiere permitir al
usuario poder controlar los dispositivos de red.
1. Vamos a proceder a configurar la red en nuestro servidor Linux de acuerdo a los siguientes
parámetros:
Dirección IP: 192.168.1.1XX (XX es el número de máquina asignado a Ud)
Máscara Red: 255.255.255.0
Puerta de enlace: 192.168.1.100
DNS 1: 8.8.8.8
DNS 2: 200.124.224.199
CONFIGURACIÓON DE RED | 89
www.palosanto.com [CURSO DE LINUX BÁSICO]
DEVICE=eth0
HWADDR=00:12:79:D8:FA:C9
NM_CONTROLLED=no
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.1XX
NETMASK=255.255.255.0
GATEWAY=192.168.1.100
DNS1=8.8.8.8
DNS2=200.124.224.199
3. Guardamos la configuración y para que surga efecto debemos reiniciar el servicio de red,
así:
~]# service network restart
90 | CONFIGURACIÓN DE RED
[CURSO DE LINUX BÁSICO] www.palosanto.com
5. Para verificar conectividad procedemos a ejecutar un ping hacia la puerta de enlace, así:
~]# ping 192.168.1.100
CONFIGURACIÓON DE RED | 91
www.palosanto.com [CURSO DE LINUX BÁSICO]
92 | CONFIGURACIÓN DE RED
Capítulo 8
[EL SISTEMA X-WINDOWS]
CONTENIDO
8.1 Concepto
8.2 X-Server
8.3 X-Clients
8.4 Escritorios o ambientes gráficos
www.palosanto.com [CURSO DE LINUX BÁSICO]
8.1 Concepto
Una de los aspectos más importantes de tener un sistema Linux arriba y
ejecutándose es configurar la interface de usuario. En la mayoría de sistemas, esto
implica configurar la interface X-Windows.
8.2 X-Server
El sistema X-Windows funciona bajo una arquitectura cliente-servidor flexible y
potente. Está diseñado para trabajar en un ambiente de red. Esto no significa que
su sistema Linux debe estar conectado a la red para utilizar las aplicaciones
gráficas; el sistema X-Windows trabajará en modo stand-alone, así como también
como un sistema de red. Esto significa que puede ejecutar aplicaciones gráficas en
otras computadoras de la red y tener las pantallas generadas por esas
aplicaciones en su monitor.
Las aplicaciones gráficas que usted ejecuta utilizan los servicios provistos por el X-
Server y muestran su salida por la pantalla, a estas aplicaciones se las conoce
como clientes o X-Clients.
94 | EL SISTEMA X-WINDOWS
[CURSO DE LINUX BÁSICO] www.palosanto.com
La mayor parte de las tarjetas de video de los PC son soportadas por X-Free86 y si
por alguna razón una tarjeta no es reconocida es posible utilizar el driver genérico
llamado vesa.
http://www.xfree86.org/
8.3 X-Clients
X-Clients son las aplicaciones gráficas que usan los servicios provistos por un X-
Server para mostrar su salida. Usted ejecuta solo un proceso X-Server para
controlar su pantalla. En contraste, usted puede ejecutar tantos X-Clients como
sus recursos de hardware, principalmente de memoria RAM, le permitan.
EL SISTEMA X-WINDOWS | 95
Capítulo 9
[INSTALACIÓN DE
SOFTWARE]
CONTENIDO
9.1 Formato .tar.gz
9.2 Formato RPM
9.3 Administración del software con YUM
[CURSO DE LINUX BÁSICO] www.palosanto.com
Esto hacía que Linux sea considerado como un sistema operativo de uso exclusivo
para gurús de la programación ya que la sola instalación de nuevas aplicaciones
conllevaba la compilación de código, cosa que para los usuarios comunes es algo
con lo que no se topan frecuentemente, y mucho menos utilizando Microsoft
Windows.
./configure –-disable-gtk
INSTALACIÓN DE SOFTWARE | 97
www.palosanto.com [CURSO DE LINUX BÁSICO]
Para saber si es soportado deberá leer el archivo Readme o Install con las
indicaciones del desarrollador del software.
Tan buena fue la manera de administrar software con RPM que muchas otras
distribuciones adoptaron el mismo esquema para instalar sus aplicaciones.
Algunas de ellas son: SuSE, Fedora, CentOS, etc.
98 | INSTALACIÓN DE SOFTWARE
[CURSO DE LINUX BÁSICO] www.palosanto.com
Ejemplo:
postfix-2.11-19.x86_64.rpm
i386 32 bits
x86_64 64 bits
ppc PowerPC
sparc SPARC
noarch Compatible con todas las arquitecturas
INSTALACIÓN DE SOFTWARE | 99
www.palosanto.com [CURSO DE LINUX BÁSICO]
~]# uname -a
Opción Descripción
-i Instala (Install)
-force Forza la instalación
-v
Indican el progreso de la instalación
-h
-U Actualiza (Update)
-force Forza la actualización
-v
Indican el progreso de la actualización
-h
-e Desinstala (Erase)
-q Información (Query)
-a Muestra todos los paquetes instalados
-i Muestra la información de un paquete instalado
-l Lista los archivos de un paquete instalado
-c Lista los archivos de configuración de un paquete instalado
-d Lista los archivos de documentación de un paquete instalado
-f Muestra si un archivo pertenece a un paquete instalado
-p Muestra información de paquetes no instalados
9.3.2 Repositorios
Un repositorio es un directorio preparado o un sitio Web que contiene paquetes
de software y archivos de índice. Las utilidades de administración de software
como YUM, automáticamente ubican y obtienen de manera correcta los paquetes
RPM de estos repositorios. Este método le libera de tener que buscar e instalar
manualmente las nuevas aplicaciones o actualizaciones. Usted puede utilizar un
solo comando para actualizar todo el software del sistema, o buscar un nuevo
software mediante una palabra o frase.
9.3.3 Dependencias
Algunos de los archivos instalados en una distribución CentOS son librerías que
pueden proporcionar funciones para múltiples aplicaciones. Cuando una
aplicación requiere una librería específica, el paquete que contiene dicha librería
es una dependencia. Para la correcta instalación de un paquete, CentOS debe
satisfacer primero sus dependencias. La información de las dependencias de un
paquete RPM se almacena dentro del archivo RPM.
La utilidad YUM utiliza los datos de dependencia de los paquetes para asegurar
que todos los requisitos de una aplicación se cumplen durante la instalación. Se
instala automáticamente los paquetes para las dependencias que aún no están
presentes en su sistema. Si una nueva aplicación tiene requisitos que entran en
conflicto con el software existente, YUM aborta sin hacer ningún cambio a su
sistema.
Actualización del sistema completo con todas las dependencias que sean
necesarias:
9.3.4.2 Búsquedas
Realizar una búsqueda de algún paquete o término en la base de datos en alguno
de los repositorios configurados en el sistema:
Por ejemplo:
Por ejemplo:
Por ejemplo:
Por ejemplo:
Laboratorio 6
Instalar y eliminar un paquete de software con el
comando RPM
En este laboratorio, procederemos a instalar y eliminar un paquete RPM haciendo uso del
comando del mismo nombre.
dovecot-2.0.9-2.el6_1.1.x86_64.rpm
Laboratorio 7
Instalar y eliminar un paquete de software con el
comando YUM
En este laboratorio, procederemos a instalar y eliminar un paquete RPM haciendo uso del
comando yum.
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
telnet-server i686 1:0.17-47.el6_3.1 base 36 k
Transaction Summary
================================================================================
Install 1 Package(s)
Installed:
telnet-server.i686 1:0.17-47.el6_3.1
Complete!
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Removing:
telnet-server i686 1:0.17-47.el6_3.1 @base 53 k
Transaction Summary
================================================================================
Remove 1 Package(s)
Installed size: 53 k
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Erasing : 1:telnet-server-0.17-47.el6_3.1.i686 1/1
Verifying : 1:telnet-server-0.17-47.el6_3.1.i686 1/1
Removed:
telnet-server.i686 1:0.17-47.el6_3.1
Complete
Preámbulo
La Licencia Pública General de GNU (GNU GPL, por sus siglas en inglés) es una licencia libre y
gratuita con derecho de copia para software y otros tipos de obras.
Las licencias para la mayoría del software y otras obras de índole práctica están diseñadas para
privarle de la libertad para distribuir y modificar las obras. Por el contrario, la Licencia Pública
General de GNU garantiza la libre distribución y modificación de todas las versiones de un
programa, a fin de asegurarle dicha libertad a todos los usuarios. En la Fundación para el
Software Libre utilizamos la Licencia Pública General de GNU para la mayoría de nuestro
software; también se aplica a cualquier otra obra publicada de esta manera por sus autores.
Usted también puede aplicarla a sus programas.
Para proteger sus derechos, necesitamos evitar que otros le nieguen estos derechos o le pidan
que renuncie a los mismos. Por lo tanto, en el caso de que usted distribuya o modifique este
software, tendrá ciertas responsabilidades a fin de garantizar la libertad de los demás.
Por ejemplo, si usted distribuye copias de un programa de esta naturaleza, ya sea en forma
gratuita o a cambio de dinero, debe extender a los destinatarios del software las mismas
libertades que le fueron otorgadas a usted. Debe asegurarse de que ellos también reciban o
tengan la posibilidad de obtener el código fuente. Y debe mostrarles los presentes términos a
fin de que conozcan sus derechos.
Los desarrolladores que utilizan la GNU GPL siguen dos pasos para proteger los derechos que
usted recibe: (1) declarar los derechos de autor del software, y (2) ofrecerle esta Licencia para
que usted pueda copiar, distribuir y/o modificar el software legalmente.
A fin de proteger a los desarrolladores y autores, la GPL explica claramente que nos se ofrecen
garantías por este software libre. Por el bien de los usuarios y de los autores, la GPL exige que
las versiones modificadas se identifiquen como tales, de modo que los problemas que puedan
contener estas versiones no se atribuyan erróneamente a los autores de versiones anteriores.
Existen algunos dispositivos diseñados para negarles a los usuarios el acceso para instalar o
ejecutar versiones modificadas del software que contienen, aunque el fabricante pueda
hacerlo. Esto es esencialmente incompatible con el objetivo de proteger la libertad de los
usuarios para modificar el software. El patrón sistemático de tal abuso se da en el área de
productos para el uso por parte de individuos, precisamente un área en la cual se vuelve más
inaceptable. Por lo tanto, hemos diseñado esta versión de la GPL a fin de prohibir la práctica
para dichos productos. En el caso de que dichos problemas surgieran en otras esferas, hemos
tomado los recaudos necesarios para extender esta disposición a dichas esferas en futuras
versiones de la GPL, según se requiera para proteger la libertad de los usuarios.
Por último, todos los programas se ven amenazados constantemente por patentes de
software. Los Estados no deberían permitirles a las patentes restringir el desarrollo y el uso de
software en computadoras para fines generales, pero, en el caso de que esto suceda,
deseamos evitar el riesgo especial de que las patentes que se apliquen a un programa libre
efectivamente otorguen tal exclusividad. Para lograrlo, la GPL garantiza la imposibilidad del
uso de las patentes para apropiarse de un programa y restringir dicha libertad.
TÉRMINOS Y CONDICIONES
0. Definiciones.
El término “copyright” también se extiende a las leyes que protegen los derechos de autor
para otros tipos de obras, tales como diseños de circuitos integrados sobre substrato
semiconductor.
Por “el Programa” se entiende cualquier obra incluida en esta Licencia sobre la que se puedan
ejercer derechos de autor. Para referirnos a cada licenciatario, utilizamos el término “usted”.
Los “licenciatarios” y “destinatarios” pueden ser individuos u organizaciones.
Por “modificar” una obra se entiende el proceso de copiar o adaptar una obra en forma parcial
o total de un modo que requiera autorización de copyright y que no sea la reproducción de
una copia exacta. La obra resultante es una “versión modificada” de la obra anterior o una
obra “basada en” la obra anterior.
Por “obra amparada” se entiende el Programa sin modificaciones o una obra basada en el
Programa.
Por “propagar” una obra se entiende cualquier acción sobre la misma que, en el caso de no
tener autorización, pudiera hacerlo responsable, ya sea en forma directa o indirecta, de
infringir las leyes de derechos de autor aplicables, salvo que dicha acción se realice en una
computadora o se modifique una copia privada. La propagación incluye la reproducción,
Por “transmitir” una obra se entiende cualquier tipo de propagación que le permita a un
tercero hacer o recibir copias. La mera interacción con un usuario a través de una red
informática, cuando no se transfiere una copia, no se considera una transmisión.
Una interfaz de usuario interactiva muestra “avisos legales apropiados” en la medida en que,
de un modo práctico y bien visible, (1) muestre un aviso de copyright apropiado y (2) le
informe al usuario que no se ofrecen garantías por la obra (salvo que efectivamente se
ofrezcan garantías) y que los licenciatarios pueden transmitir la obra conforme a las
disposiciones de esta Licencia, además de mostrar la forma en que se puede consultar una
copia de esta Licencia. Si la interfaz presenta una lista de comandos del usuario u opciones,
tales como un menú, dicha lista debe incluir un ítem visible que cumpla con este criterio.
1. Código fuente.
El “código fuente” de una obra es el formato preferido de la obra para realizar modificaciones
en la misma. Por “código objeto” se entiende cualquier formato de una obra que no sea código
fuente.
Una “interfaz estándar” es una interfaz que puede ser una norma oficial, según lo defina un
organismo de normas reconocido, o bien, en el caso de interfaces específicas para un lenguaje
de programación particular, una interfaz de uso generalizado entre los desarrolladores que
trabajan con dicho lenguaje.
Las “bibliotecas de sistemas” de una obra ejecutable comprenden cualquier cosa, salvo la obra
en su totalidad, que (a) se incluya en la forma normal de empaquetamiento de un
Componente Importante, pero que no forme parte del Componente Importante, y (b) sirva
únicamente para permitir el uso de la obra con dicho Componente Importante o para
implementar una Interfaz Estándar para la cual haya a disposición del público una
implementación en forma de código fuente. Un “Componente Importante”, en este contexto,
es un componente fundamental (núcleo, sistema de ventanas, etc.) del sistema operativo
específico (si hubiera) en el que funcione la obra ejecutable, o un compilador utilizado para
producir la obra, o un intérprete de código objeto utilizado para ejecutarlo.
La “Fuente Correspondiente” para una obra en código objeto refiere a todo el código fuente
necesario para generar, instalar y (para una obra ejecutable) ejecutar el código objeto y
modificar la obra, incluidas las secuencias de comandos para controlar dichas actividades. Sin
embargo, no incluye las Bibliotecas de Sistemas de la obra, así como tampoco herramientas de
aplicación general o programas libres generalmente disponibles que se utilicen sin
modificaciones para realizar dichas actividades pero que no formen parte de la obra. Por
ejemplo, la Fuente Correspondiente incluye los archivos de definición de interfaz asociados a
los archivos fuente para la obra, así como el código fuente para las bibliotecas compartidas y
los subprogramas vinculados en forma dinámica requeridos específicamente conforme a su
diseño, por ejemplo, mediante la comunicación de datos intrínseca o el control de flujo entre
esos subprogramas y otras partes de la obra.
La Fuente Correspondiente no necesita incluir nada que los usuarios puedan regenerar
automáticamente de otras partes de la Fuente Correspondiente.
La Fuente Correspondiente para una obra en código fuente es esa misma obra.
110 | GNU GENERAL PUBLIC LICENSE
[CURSO DE LINUX BÁSICO] www.palosanto.com
2. Permisos básicos.
Todos los derechos que se otorgan conforme a esta Licencia se otorgan por el término del
copyright que ampara al Programa y son irrevocables siempre y cuando se cumplan las
condiciones establecidas. Esta Licencia lo autoriza en forma expresa e ilimitada a ejecutar el
Programa sin modificaciones. El producto obtenido a partir de la ejecución de una obra
amparada está cubierto por esta Licencia únicamente si el producto, dado su contenido,
constituye una obra amparada. Esta Licencia reconoce sus derechos de uso razonable y otros
equivalentes, conforme a las leyes de copyright.
Usted puede crear, ejecutar y propagar obras amparadas que no transmita, sin condiciones en
la medida en que su licencia siga vigente de alguna otra manera. Usted puede transmitir obras
amparadas a terceros con el único fin de que éstos realicen modificaciones exclusivamente
para usted, o que le proporcionen los medios para ejecutar dichas obras, siempre y cuando
usted cumpla con los términos de esta Licencia en lo que respecta a la transmisión de
cualquier material que exceda su control del copyright. Aquéllos que de esta manera creen o
ejecuten las obras aparadas para usted deben hacerlo exclusivamente en su nombre, bajo su
dirección y control y sobre la base de términos que les prohíban hacer copias de su material
protegido por derechos de autor fuera de la relación que mantienen con usted.
Ninguna obra amparada se considerará parte de una medida tecnológica efectiva conforme a
cualquier ley aplicable que cumpla las obligaciones del artículo 11 del tratado de copyright
WIPO adoptado el 20 de diciembre de 1996 o a leyes similares que prohíban o restrinjan la
evasión de dichas medidas.
Cuando usted transmite una obra amparada, renuncia a cualquier facultad legal de prohibir la
evasión de medidas tecnológicas en la medida en que dicha evasión se realice al hacer uso de
los derechos que se otorgan conforme a esta Licencia con respecto a la obra amparada, y niega
cualquier intención de restringir el uso o la modificación de la obra como una forma de hacer
valer, en contra de los usuarios de la obra, sus derechos legales o los derechos legales de
terceros para prohibir la evasión de medidas tecnológicas.
Usted puede transmitir copias exactas del código fuente del Programa tal cual lo reciba, en
cualquier medio, siempre y cuando publique de un modo llamativo y adecuado un aviso de
copyright apropiado en cada copia; mantenga intactos todos los avisos que establecen que
esta Licencia y cualquier término no-permisivo que se agregue conforme a la sección 7 se
aplican al código; mantenga intactos todos los avisos mediante los cuales se niega cualquier
tipo de garantía; y les proporcione a todos los destinatarios una copia de esta Licencia junto
con el Programa.
Usted puede cobrar el precio que usted desee o no cobrar nada por cada copia que transmita,
y puede ofrecer soporte o protección de garantía a cambio de una tarifa.
Usted puede transmitir una obra basada en el Programa, o las modificaciones para producirlo
a partir del Programa, en forma de código fuente conforme a los términos de la sección 4,
siempre y cuando también cumpla con todas las condiciones que se incluyen a continuación:
Se denomina “conjunto” a la compilación de una obra amparada con otras obras diferentes e
independientes que por su naturaleza no sean extensiones de la obra amparada ni se
combinen con ella para formar un programa más grande en un volumen de un medio de
distribución o almacenamiento, si la compilación y el copyright consiguiente no se utilizan para
restringir el acceso o los derechos legales de los usuarios de la compilación más allá de lo que
permitan las obras individuales.
La inclusión de una obra amparada en un conjunto no implica que esta Licencia se aplique a las
otras partes del conjunto.
Usted puede transmitir una obra amparada en código objeto conforme a los términos de las
secciones 4 y 5, siempre y cuando también transmita la Fuente Correspondiente legible por
máquina conforme a los términos de esta Licencia, de alguna de las siguientes maneras:
• a) Transmisión del código objeto dentro de un producto físico (incluidos medios físicos
de distribución) o incorporado a éste, acompañado de la Fuente Correspondiente en
un medio físico duradero habitual para el intercambio de software.
• b) Transmisión del código objeto dentro de un producto físico (incluidos medios físicos
de distribución) o incorporado a éste, acompañado de una oferta escrita, que sea
válida por un plazo mínimo de tres años y por el tiempo que usted ofrezca repuestos o
soporte técnico para ese modelo del producto, para proporcionarle a cualquier
persona que posea el código objeto (1) una copia de la Fuente Correspondiente para
todo el software del producto que esté amparado por esta Licencia, en un medio físico
duradero habitual para el intercambio de software, a cambio de un precio que no
exceda el costo razonable de la acción física de transmitir esta fuente, o (2) acceso
para la copia de la Fuente Correspondiente desde un servidor de red sin costo alguno.
• c) Transmisión de copias individuales del código objeto junto con una copia de la
oferta escrita para proporcionar la Fuente Correspondiente. Esta opción se permite
112 | GNU GENERAL PUBLIC LICENSE
[CURSO DE LINUX BÁSICO] www.palosanto.com
No se necesita incluir una parte separable del código objeto, cuyo código fuente se excluya de
la Fuente Correspondiente como una biblioteca de sistemas, para transmitir el código objeto
de la obra.
Por “producto de usuario” se entiende (1) un “producto de consumo”, que es cualquier bien
personal tangible que se utilice habitualmente para fines personales, familiares o domésticos,
o (2) cualquier cosa que se diseñe o comercialice para su incorporación en una vivienda. Al
determinar si un producto es un producto de consumo, los casos dudosos deberán resolverse
a favor del amparo. Para un producto específico que recibe un usuario particular, un “uso
habitual” es el uso común o típico que se le suele dar a ese tipo de producto,
independientemente de la condición del usuario particular o de la forma en que el usuario
particular utilice el producto o de las expectativas propias o de terceros con respecto al uso del
producto. Un producto se considera un producto de consumo independientemente de que
que se le pueda dar usos sustanciales de índole comercial, industrial o ajena al consumo, salvo
que dichos usos representen el único modo significativo de utilizar el producto.
En el caso de que usted transmita el código objeto de una obra conforme a esta sección en un
producto de usuario, junto con un producto de usuario o específicamente para su uso en un
producto de usuario, y la transmisión se produzca como parte de una transacción mediante la
cual los derechos de posesión y uso del producto de usuario se transfieran al destinatario por
un plazo limitado o ilimitado (independientemente de las particularidades de la transacción), la
Fuente Correspondiente transmitida conforme a esta sección deberá ir acompañada de la
información de instalación. Sin embargo, este requerimiento no se aplicará en el caso de que
ni usted ni un tercero conserven la capacidad para instalar el código objeto modificado en el
producto de usuario (por ejemplo, que la obra se haya instalado en memoria ROM).
7. Términos adicionales.
Los “permisos adicionales” son términos que complementan los términos de esta Licencia al
permitir excepciones a una o más condiciones. Los permisos adicionales que se aplican al
Programa en su totalidad deberán tratarse como si formaran parte de esta Licencia, en la
medida en que sean válidos conforme a las leyes aplicables.
En el caso de que los permisos adicionales se apliquen únicamente a una parte del Programa,
esta parte podrá utilizarse por separado conforme a dichos permisos, pero el Programa en su
totalidad seguirá rigiéndose de acuerdo a esta Licencia independientemente de los permisos
adicionales.
Cuando usted transmita una copia de una obra amparada, podrá optar por eliminar cualquier
permiso adicional de dicha copia o de cualquier parte de la misma (en ciertos casos, cuando
usted modifique la obra, podrán establecerse permisos adicionales para requerir la eliminación
de los mismos). Tiene autorización para incluir permisos adicionales en un material que usted
haya agregado a una obra amparada y sobre el cual usted posea o pueda otorgar permisos de
copyright adecuados.
En el caso de que usted agregue términos a una obra amparada conforme a esta sección,
deberá incluir en los archivos fuente correspondientes una declaración de los términos
adicionales que se aplican a dichos archivos o un aviso que indique la ubicación de los términos
aplicables.
8. Cancelación.
Usted no está autorizado a propagar o modificar una obra amparada de ningún otro modo que
no se estipule en esta Licencia. Cualquier intento no autorizado por propagarla o modificarla se
considerará nulo y conllevará la cancelación automática de los derechos que le haya otorgado
esta Licencia (incluida cualquier licencia de patente otorgada conforme al párrafo tercero de la
sección 11).
No obstante, en el caso de que deje de violar las cláusulas de esta Licencia, un titular de
derechos de copyright particular podrá restituirle la licencia (a) en forma provisoria, hasta
tanto dicho titular dé por finalizada su licencia en forma expresa y definitiva, y (b) en forma
permanente, si dicho titular no lo notificara de la infracción por algún medio razonable antes
de los 60 días posteriores a la cancelación.
La extinción de sus derechos conforme a esta sección no cancela las licencias de aquellos
terceros a los que usted les haya otorgado copias o derechos conforme a esta Licencia. En el
caso de que sus derechos se cancelen y no se le restituyan en forma permanente, usted no
estará capacitado para recibir nuevas licencias para el mismo material conforme a la sección
10.
Usted no está obligado a aceptar esta Licencia para poder recibir o ejecutar una copia del
Programa. De modo similar, la propagación secundaria de una obra amparada que se produzca
únicamente como consecuencia de una transferencia entre usuarios (peer to peer) a fin de
recibir una copia tampoco requiere aceptación. No obstante, esta Licencia es lo único que lo
autoriza a propagar o modificar cualquier obra amparada. En el caso de que usted no acepte
esta Licencia, los actos anteriores representarán una violación de las leyes de copyright. Por lo
tanto, al modificar o propagar una obra amparada, usted expresa su aceptación de esta
Licencia para hacerlo.
Cada vez que usted transmite una obra amparada, el destinatario recibe automáticamente de
los licenciantes originales una licencia para ejecutar, modificar y propagar la obra conforme a
esta Licencia. Usted no es responsable de asegurar el cumplimiento de esta Licencia por parte
de terceros.
Una “transacción entre entidades” es una transacción mediante la cual se transfiere el control
de una organización o de todo el patrimonio de una organización, se subdivide una
organización o se fusionan dos o más organizaciones.
En el caso de que la propagación de una obra amparada se deba a una transacción entre
entidades, cada parte de la transacción que reciba una copia de la obra también recibirá todas
las licencias para la obra que el predecesor de la parte tuviera o pudiera otorgar conforme al
párrafo anterior, más el derecho de recibir de su predecesor la Fuente Correspondiente de la
obra, si el predecesor la tuviera en su poder o pudiera obtenerla con un esfuerzo razonable.
Usted no puede imponer restricciones adicionales para el ejercicio de los derechos que se
otorgan o consolidan conforme a esta Licencia. Por ejemplo, usted no puede imponer tarifas,
regalías u otros cargos a cambio del ejercicio de los derechos que se otorgan conforme a esta
Licencia, así como tampoco puede iniciar acciones legales (incluidas demandas y
contrademandas en un pleito) sobre la base de una infracción de patentes por crear, usar,
comercializar, ofrecer para la venta o importar el Programa o cualquier parte del mismo.
11. Patentes.
Cada colaborador le otorga a usted una licencia de patente internacional no-exclusiva libre de
regalías conforme a los derechos de patente fundamentales del colaborador para crear, usar,
comercializar, ofrecer para la venta, importar y ejecutar, modificar y propagar de algún otro
modo el contenido de su versión en colaboración.
116 | GNU GENERAL PUBLIC LICENSE
[CURSO DE LINUX BÁSICO] www.palosanto.com
En los tres párrafos que se incluyen a continuación, una “licencia de patente” es cualquier
contrato o acuerdo expreso, independientemente de su denominación, mediante el cual se
convenga no ejercer derechos de patente (como, por ejemplo, una autorización expresa para
hacer uso de una patente o una cláusula que establezca que no se iniciarán acciones legales
por infringir los derechos de patente).
Por “otorgar” una licencia de patente de esta naturaleza a otra parte se entiende el acto de
celebrar un contrato o acuerdo mediante el cual se conviene no ejercer derechos de patente
en contra de dicha parte.
En el caso de que usted transmita una obra amparada, a sabiendas de que está sujeta a una
licencia de patente, y la Fuente Correspondiente de la obra no estuviera disponible para su
reproducción, en forma gratuita y conforme a los términos de esta Licencia, a través de un
servidor de red de acceso público u otro medio igualmente accesible, usted deberá (1) poner la
Fuente Correspondiente a disposición del destinatario subsiguiente, (2) renunciar al beneficio
de la licencia de patente para esta obra en particular, o bien (3) tomar las medidas necesarias
para extender la licencia de patente a los destinatarios subsiguientes de un modo acorde a los
requerimientos de esta Licencia. La frase “a sabiendas de que está sujeta a una licencia de
patente” significa que usted efectivamente sabe que, de no ser por la licencia de patente, su
transmisión de la obra amparada en un país o el uso que pudiera darle el destinatario a la obra
amparada en un país infringirían una o más patentes identificables en dicho país que usted
considera válidas por diversas razones.
En el caso de que, en relación con una transacción o contrato individual, usted transmitiera
una obra amparada o la propagara consiguiendo su transmisión y otorgara a algunas de las
partes que reciban la obra amparada una licencia de patente que las autorizara a usar,
propagar, modificar o trasmitir una copia específica de la obra amparada, la licencia de
patente que usted otorgue se extenderá automáticamente a todos los destinatarios de la obra
amparada y a las obras que se basen en ella.
En el caso de que le fueran impuestas condiciones (ya sea por una orden judicial, un contrato o
de algún otro modo) que contradijeran las condiciones de esta Licencia, usted no quedará
eximido de cumplir las condiciones de esta Licencia. En el caso de que no pueda transmitir una
GNU GENERAL PUBLIC LICENSE | 117
www.palosanto.com [CURSO DE LINUX BÁSICO]
obra amparada de un modo que le permita cumplir simultáneamente con las obligaciones
establecidas por esta Licencia y cualquier otra obligación pertinente, no podrá transmitirla de
ningún modo. Por ejemplo, en el caso de que usted acepte términos que lo obliguen a cobrar
regalías por retransmisión de aquéllos a los que usted transmita el Programa, la única forma
de satisfacer tanto dichos requerimientos como esta Licencia será abstenerse de transmitir el
Programa.
Independientemente de cualquier otra disposición de esta Licencia, usted tiene permiso para
vincular o combinar cualquier obra amparada con una obra cuya licencia se otorgue conforme
a la versión 3 de la Licencia Pública General Affero de GNU en una única obra combinada y
transmitir la obra resultante. Los términos de esta Licencia seguirán aplicándose a la parte que
corresponda a la obra amparada, pero los requerimientos especiales de la sección 13 de la
Licencia Pública General Affero de GNU sobre la interacción a través de una red se aplicarán a
la combinación como tal.
La Fundación para el Software Libre podrá publicar revisiones y/o versiones nuevas de la
Licencia Pública General de GNU de vez en cuando. Tales versiones serán de naturaleza similar
a la versión actual, pero podrán diferir en cuanto a los detalles para afrontar nuevos
problemas o inquietudes.
Cada versión recibirá un número de versión que la distinga. En el caso de que el Programa
especifique que se rige por una versión determinada de la Licencia Pública General de GNU “o
cualquier versión posterior”, usted podrá optar por adoptar los términos y condiciones de
dicha versión específica o de cualquier versión posterior que publique la Fundación para el
Software Libre. En el caso de que el Programa no especifique un número de versión de la
Licencia Pública General de GNU, usted podrá regirse por cualquier versión que haya publicado
la Fundación para el Software Libre.
EN NINGÚN CASO, SALVO QUE ASÍ LO DISPONGAN LAS LEYES APLICABLES O UN CONTRATO
POR ESCRITO, UN TITULAR DE DERECHOS DE COPYRIGHT O UN TERCERO QUE MODIFIQUE Y/O
TRANSMITA EL PROGRAMA SEGÚN SE AUTORIZA ANTERIORMENTE SERÁ RESPONSABLE ANTE
USTED DE CUALQUIER DAÑO, INCLUIDOS DAÑOS GENERALES, ESPECIALES, FORTUITOS O
DERIVADOS, QUE PUEDA SURGIR DEL USO O LA INCAPACIDAD DE USO DEL PROGRAMA
(INCLUIDOS, AUNQUE NO TAXATIVAMENTE, LA PÉRDIDA DE INFORMACIÓN, EL SUMINISTRO
DE INFORMACIÓN IMPRECISA O LAS PÉRDIDAS QUE PUEDAN SUFRIR USTED O UN TERCERO O
LA INCAPACIDAD DEL PROGRAMA PARA INTERACTUAR CON OTROS PROGRAMAS), AUN
CUANDO DICHO TITULAR O TERCERO HUBIESE SIDO ADVERTIDO DE LA POSIBILIDAD DE TALES
DAÑOS.
Si usted desarrolla un programa nuevo y desea que el público le encuentre la mayor utilidad
posible, la mejor manera de lograrlo es hacer de éste un software libre para que todos lo
puedan redistribuir y modificar conforme a estos términos.
Para hacerlo, adjunte los siguientes avisos al programa. Lo más seguro es añadirlos al
comienzo de cada archivo fuente a fin de que se establezca de un modo efectivo la exclusión
de garantías. Asimismo, cada archivo debería incluir el renglón del “copyright” y un vínculo a la
ubicación del aviso completo.
También incluya información de contacto que les permita a los destinatarios comunicarse con
usted, ya sea por correo electrónico o convencional.
Los comandos hipotéticos 'show w' y 'show c' deberían mostrar las partes correspondientes de
la Licencia Pública General. De más está decir que los comandos de su programa pueden ser
diferentes; para una interfaz gráfica de usuario, debería utilizar un cuadro de diálogo de tipo
“acerca de”.
Este documento fue elaborado para ser utilizado en los cursos de entrenamiento Linux ofrecidos por
Palosanto Solutions