Está en la página 1de 15

TALLER DE GNU/LINUX Y EL SOFTWARE LIBRE

1. Teniendo en cuenta los diferentes conceptos del software libre elaborar un


ensayo de 2 o 3 hojas, sobre el sistema operativo GNU/Linux y el software libre.

2. Cual es la diferencia que existe entre el software libre y el software open source.

3. Realizar una investigación sobre el proyecto GNU y la Free Software Fundation.

4. Con sus palabras explicar las 4 libertades del software.

5. Elaborar un cuadro comparativo referente a la historia y evolución de los


sistemas Unix y Linux.

6. Hacer una breve descripción sobre 5 distribuciones GNU/Linux populares.

7. Defina las características del sistema GNU/Linux, en cuanto su estructura. Que


sean comunes con la de los primeros sistemas Unix.

8. Cuales son los tipos de ficheros que encontramos en el sistema GNU/Linux,


defínalos y de ejemplo de cada uno de ellos.

9. Explique como se manejan los permisos de acceso a los ficheros en el sistema


operativo GNU/Linux.

10. Además de los comandos básicos explicados, elabore una lista con mínimo 5
comandos utilizados en Linux, su sintaxis y ejemplos de uso.
TALLER DE GNU/LINUX Y EL SOFTWARE LIBRE

1. Teniendo en cuenta los diferentes conceptos del software libre


elaborar un ensayo de 2 o 3 hojas, sobre el sistema operativo
GNU/Linux y el software libre.

EL SOFTWARE LIBRE Y USTED

Día a día el ser humano va renovándose, corrigiendo y perfeccionando. No solo él


mismo, sino las cosas que hace como aparatos electrónicos y ese conjunto de
instrucciones lógicas que tienen la finalidad de llevar a cabo una tarea especifica
en dichos aparatos.

Naturalmente todas las personas cuando escuchamos la palabra “computador” se


nos vienen a la mente, o la asociamos con Sistema Operativo Microsoft Windows
3.1/95/98/Me/NT/2000/XP pero ¿Por qué? ¿Será el único sistema operativo que
existe?
Lo asociamos casi siempre con este por que con ella nos desarrollamos, estos
sistemas operativos de Windows nos facilitaron la vida, además de que tenían
una interfaz agradable, nos satisficieron las necesidades de nuestros días. Pero
había un problema el costo de dicho sistema, de seguro que cuando nuestros
padres observaron el precio en la factura o en la cotización de dicho equipo se
impresionaban por tal costo, antes solo eran unos pocos los que podían tener
tales equipos con su sistemas operativos en lo hogares o empresas. No solo esto,
sino los demás programas de aplicaciones para tareas específicas también eran
costosos.

Pensemos por un momento entonces cuanto tiempo, energías y dinero creemos


que un programador utilizó para poder desarrollar estos programas, de seguro que
mucho tiempo y energías para poder dar soluciones a muchas de nuestras
necesidades como: música, videos y documentos .De seguro que muchas veces
nos parecería excesivos los costos pero en realidad este es el precio que
debemos pagar para poder acceder a tales beneficios. Aun que hay que admitirlo
es “costoso” y se encuentra encapsulado o en cuadriculado a las acciones que
pensó el programador que nos podrían servir. Y ¿podríamos distribuirlo a nuestros
amigos y familiares? Claro que no, ya que está protegido por algo que se llama
copyright que restringe la comercialización o el copiar dicho sistema a el dueño o
a la compañía que lo desarrolló. Pero, ¿Cómo solucionar tales problemas?

Pues bien, hay una solución para estos problemas planteados anteriormente
¿Cuál es? El ``Software Libre'' es un asunto de libertad. Para entender el
concepto, debemos pensar en ``libre'' como en ``libertad de expresión''. ``Software
Libre'' se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir,
estudiar, cambiar y mejorar el software.
Un programa es software libre cuando nosotros tenemos la libertad de distribuir
copias, sea con o sin modificaciones, sea gratis o cobrando una cantidad por la
distribución. El ser libre hace que no tengamos que pedir o pagar permisos para
obtenerlos o negociar con ellos. También todos tenemos la autonomía de hacer
modificaciones y utilizarlas de manera privada y ni siquiera tenemos que anunciar
que dichas modificaciones sean realizadas. Unas de las cosa más importantes es
que cuando hagamos públicos los cambios, no tenemos que avisar a nadie en
particular. La libertad para usar un programa significa la libertad para cualquier
persona u organización de usarlo en cualquier tipo de sistema informático, para
cualquier clase de trabajo, y sin tener obligación de comunicárselo al desarrollador
o a alguna otra entidad específica.

Aunque El Software Libre nació en las universidades y centros de investigación


públicos en los años 70, siempre en los países atrasados científicamente y
económicamente como el nuestro, su utilización esta siendo implantada
recientemente por los ente públicos de Colombia, por que se visto lo efectividad de
dicho software, los beneficios en costos, en la flexibilidad y adaptabilidad que
necesitan las tareas que se realizan normalmente en los entes públicos y
privados.

Luego entonces este sistema no resulta costoso en si mismo, sino adquisición de


sus servicios, es decir, hay que admitir que en nuestro medio son muy pocas las
persona que manejan, utilizan y que pueden modificar tales sistemas por ende la
implantación de un sistema de estos en cualquiera entidad o corporación no solo
necesitaría la compra de este sistema sino la compra del servicio que
proporcionen los desarrolladores de estos sistemas para satisfacer mantenimiento
de este y capacitación del personal.

El Software Libre dentro de unos años se convertirá en el regidor total de toda la


producción de software que proporcionen grandes beneficios a la economía
mundial Efectivamente, el Software Libre puede acabar con muchos negocios
pero ciertamente dará pie a la construcción de muchos otros.

2. Cual es la diferencia que existe entre el software libre y el


software open
Source?

La diferencia existente entre Open Sourse y software libre es que el


primero es el movimiento encargado de este nuevo de concepto de
“código abierto” fue implantado por la OSI (Open Source Initiative),
Legalmente constituido por dicha asociación, que nos da el marco legal
ampliamente valido en cualquier estamento gubernamental y el
segundo es prácticamente una concepción filosófica atada por la
libertades que han sido estipuladas para este tipo de software.
3. Realizar una investigación sobre el proyecto GNU y la Free
Software Fundation.

GNU (Gnu is Not Unix) ó !GNU No es Unix!, es el proyecto estuvo


banderado por el señor Richard Stallman en 1984, que deseaba
desarrollar un Sistema Operativo totalmente Libre. Su sigla hace
referencia a los Sistemas Operativos Unix usados en aquellas épocas,
que se consideraban los más estables y eficientes pero su origen era
propietario. Las compañías y centros de investigación pagaban altas
sumas de dinero para poder usarlos.
Con este acrónimo recursivo se quiere dar a entender entonces que el
proyecto seria un Sistema Operativo tan eficiente y estable como lo era
Unix, pero el sistema no seria Unix, por el tipo de filosofía Libre con el
que estaba siendo concebido.
Una de las ideas principales que propuso el proyecto GNU en sus
inicios, fue la creación de un sistema operativo totalmente gratuito, con
aplicaciones de usuario totalmente gratuitas para que corrieran sobre
el sistema operativo. La Idea era utilizar un licenciamiento GPL (GNU
Public License) o licencia publica general para el desarrollo de
software. GNU es el proyecto más grande de Software Libre creado y el
que lleva más tiempo desarrollándose.

Descripción de Proyectos GNU


Estos son solo una fracción de los proyectos de software en los que el Proyecto
GNU está trabajando:

* Classpath es un conjunto de bibliotecas esenciales para el soporte del


lenguaje Java.
* Free Film Project es un conjunto de utilidades completo, las cuales, cuando se
usen juntas, actuarán como un estudio de cine virtual completo.
* GPKCS-11 es una implementación de PKCS#11: Interfaz Estandard de Token
Criptográfico.
* GNU Cobol es un esfuerzo para crear un compilador para el lenguaje Cobol.
* GNU Enterprise aspira a desarrollar un sistema completo para diversas
necesidades de negocios.
* GNU GLUE busca crear una aplicación estructurada y distribuida para trabajo
compartido en grupo, basada en los nuevos estándares que emergen de Internet,
como XML, WebDAV y RTSP, conveniente tanto para ambientes síncronos como
asíncronos y operaciones en-línea y sin conexión.
* El proyecto GNU Octal busca crear un conjunto de componentes libres que
trabajen en conjunto como estación digital de música para sistemas tipo Unix.
* GYVE significa [``the GNU Yellow Vector Editor'']. Es un programa de dibujo
vectorial al estilo de Adobe Illustrator y Corel Draw.
* Harmony tiene como objetivo crear un reemplazo compatible a nivel de API
para el juego de herramientas Qt.
* HURD es el kernel del sistema operativo GNU.

La Fundación para el Software Libre (Free Software Foundation) es una


organización creada en Octubre de 1985 por Richard Matthew Stallman y otros
entusiastas del Software Libre con el propósito de difundir este movimiento.

"La Fundación para el Software Libre (FSF) está dedicada a eliminar las
restricciones sobre la copia, redistribución, entendimiento, y modificación de
programas de computadoras. Con este objeto, promociona el desarrollo y uso del
software libre en todas las áreas de la computación, pero muy particularmente,
ayudando a desarrollar el sistema operativo GNU."[1]

En sus inicios, la FSF destinaba sus fondos principalmente a contratar


programadores para que escribiesen software libre. A partir de mediados de la
década de 1990 existen ya muchas compañías y autores individuales que escriben
software libre, por ello los empleados y voluntarios de la FSF han centrado su
trabajo fundamentalmente en asuntos legales, organizativos y promocionales en
beneficio de la comunidad de usuarios de software libre.

El Proyecto GNU
Una de las principales funciones de la FSF es dar cobertura legal, económica y
logística al Proyecto GNU.

Las Licencias GNU


La FSF elabora y mantiene y defiende la Licencia Pública General GNU (GNU
GPL), la licencia de Software Libre más utilizada, cuya última versión es la GPLv3
que fue publicada en forma definitiva en junio de 2007. Aparte la FSF también es
responsable de la Licencia Pública General Reducida GNU (GNU LGPL) y la
Licencia de documentación libre GNU(GNU FDL).
La FSF tiene recursos y voluntad para hacer cumplir las licencias que elabora.
Pero solo puede presentar demandas, sobre software del cual posea derechos de
autor. La fundación se enfrenta cada año a unas 50 violaciones de la GPL y
siempre trata de evitar llegar a los tribunales.

Alojamiento de proyectos
La FSF aloja proyectos de software libre en su sitio web Savannah. Ofrece una
de interfaz web para el hosting y el mantenimiento de las páginas web de los
proyectos, seguimiento de errores, CVS, FTP, y listas de correo. Hospeda más de
2.800 proyectos.

Formación legal
La FSF organiza seminarios sobre los aspectos legales a tener en cuenta
cuando se usa la licencia GPL.
Free Software Directory
Es un directorio con más de 5.000 programas que se ha comprobado que son
software libre. La UNESCO ayuda en la financiación de este proyecto.

Premios y reconocimientos
FSF Award for the Advancement of Free Software

"Premio para el Avance del Software Libre de la Fundación para el Software


Libre" que otorga la fundación a una persona que haya hecho una gran
contribución al progreso del software libre.

4. Con sus palabras explicar las 4 libertades del software.

Libertad(o): Esta libertad estipula que podemos utilizar el software para cualquier actividad
que necesitemos desarrollar siempre y cuando no este causando daño de cualquier tipo.
Libertad(1): Esta denota que podemos analizar el software, para poderlo mejorar o amoldar
a lo que necesitemos y que este código fuente se abierto al publico.
Libertad(2): Mediante esta podemos hacerle las copias y distribuirlo a otras personas que
no lo posean .
Libertad(3): Podemos hacerle mejoras a este software y podemos hacerlas publicas cuando
queramos .

5. Elaborar un cuadro comparativo referente a la historia y


evolución de los sistemas Unix y Linux.

EVOLUCION UNIX EVOLUCION LINUX


La primera versión de UNIX se Su desarrollo inicio en 1991,
desarrollo en 1969, como un cuando un estudiante finlandés de
proyecto de investigación de los la universidad de Helsinki,
Laboratorios BELL de AT&T, llamado Linus Torvalds escribió
en un principio para aprovechar las
una maquina DEC PDP – 7 de primeras líneas de código del
Digital que estaba en des uso. núcleo de este nuevo sistema
para el procesador 80386.

El ingeniero Dennis Ritchi, trabajo Linus Torvalds empezó como una


en el proyecto del sistema afición el desarrollo del
MULTICS. A partir de 1964 en el proyecto, sin llegar a imaginarse
desarrollo de este sistema el gran impacto y popularidad
participaron diversos organismos que tendría este sistema operativo
estadounidenses como el llamado GNU/LINUX.
MIT (Massachussets Institute of
technology), que se pusieron Esta primera versión, tenia un
en la tarea de diseñar un sistema soporte de drivers muy limitado,
operativo robusto y potente el subsistema de memoria virtual
capaz de almacenar y compartir también era muy básico. El
grandes cantidades de único sistema de archivos que se
información. reconocía era el de MINIX.

Una tercera versión del sistema Durante sus desarrollo el código


UNIX aparece después de fuente de LINUX se ofrecía
escribir la mayor parte del sistema gratuitamente en Internet, por
operativo en un lenguaje esta razón su evolución como
de programación de alto nivel sistema ha tenido la colaboración
llamado C, en lugar de lenguaje de muchos usuarios y
ensamblador o lenguaje maquina. programadores del mundo, que
El lenguaje de programación han hecho sus aportes en el
C fue desarrollado por los mejoramiento del sistema.
laboratorios Bell para ser Linux se baso en el sistema
implementado en el desarrollo de operativo MINIX, un pequeño
UNIX. sistema UNIX desarrollado por
Andy Tannenbaum,

En 1978 aparece la versión 7 de


UNIX, esta versión se empezó El 14 de marzo de 1994 aparece la
a utilizar en las maquinas PDP – segunda versión LINUX 1.0
11/70 y el interdata 8/32. la característica mas importante
posteriormente este sistema se fue el trabajo con redes.
utilizo en otros modelos PDP – LINUX 1.0 incluía soporte de los
11 y el los computadores VAX, el protocolos de red TCP/IP
sistema operativo de estas estándar de UNIX, así como una
maquinas se llamo v32. La versión interfaz de sockets compatible
7 de UNIX es el antepasado con BSD para la programación con
de la mayoría de estos sistemas. redes. Se añadió soporte de
drives de dispositivos para
ejecutar IP

En 1986 aparece la versión La versión 1.0 incluía una amplia


4.3BSD esta versión es muy gama de soporte para
similar hardware, soportando dispositivos
a la 4.2BSB. La ultima versión de de disco flexible, CD-ROM,
Berkeley es la 4.4BSD, la cual tarjetas de sonido, mouse y
se termino en junio de 1993. Esta teclados internacionales.
Versión soporta el estándar Implemento comunicación entre
X.25 para el trabajo con redes, procesos (IPC), al estilo del
Una nueva organización de sistema UNIX System V
archivos.

6. Hacer una breve descripción sobre 5 distribuciones GNU/Linux


populares.

Distribuciones del sistema LINUX:

A continuación podemos encontrar informacion sobre las distribuciones mas importantes de


Linux (aunque no las unicas).
REDHAT ENTERPRISE
Esta es una distribucion que tiene muy buena calidad, contenidos y soporte a
los usuarios por parte de la empresa que la distribuye. Es necesario el pago
de una licencia de soporte. Enfocada a empresas.

 Pagina Web de Red Hat

FEDORA
Esta es una distribucion patrocinada por RedHat y soportada por la
comunidad. Facil de instalar y buena calidad.

 Pagina Web de Fedora

DEBIAN
Otra distribucion con muy buena calidad. El proceso de instalacion es quizas
un poco mas complicado, pero sin mayores problemas. Gran estabilidad
antes que ultimos avances.

 Pagina Web de Debian

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

 Pagina Web de OpenSuSE

SuSE LINUX ENTERPRISE


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

 Pagina Web de SuSE Linux Enterprise


SLACKWARE
Esta distribucion es de las primeras que existio. Tuvo un periodo en el cual
no se actualizo muy a menudo, pero eso es historia. Es raro encontrar
usuarios de los que empezaron en el mundo linux hace tiempo, que no hayan
tenido esta distribucion instalada en su ordenador en algun momento.

 Pagina Web de Slackware

GENTOO
Esta distribucion es una de las unicas que han incorporado un concepto
totalmente nuevo en Linux. Es una sistema inspirado en BSD-ports. Podeis
compilar/optimizar vuestro sistema completamente desde cero. No es
recomendable adentrarse en esta distribucion sin una buena conexion a
internet, un ordenador medianamente potente (si quereis terminar de
compilar en un tiempo prudencial) y cierta experiencia en sistemas Unix.

 Pagina Web de Gentoo

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

 Pagina Web de Ubuntu

KUBUNTU
Distribucion basada en Ubuntu, con lo que esto conlleva y centrada en el
usuario final y facilidad de uso. La gran diferencia con Ubuntu es que el
entorno de escritorio por defecto es KDE.

 Pagina Web de Kubuntu

MANDRIVA
Esta distribucion fue creada en 1998 con el objetivo de acercar el uso de
Linux a todos los usuarios, en un principio se llamo Mandrake Linux. Facilidad
de uso para todos los usuarios.

 Pagina Web de mandriva

7. Defina las características del sistema GNU/Linux, en cuanto su


estructura. Que sean comunes con la de los primeros sistemas
Unix.

El diseño del sistema GNU/LINUX se asemeja a cualquier


implementación del sistema UNIX, Linux es un sistema multiusuario y
multitarea, con un conjunto de herramientas compatibles con UNIX.
El sistema de archivos de LINUX, se asemeja a la semántica del sistema
UNIX manteniendo una estructura jerárquica o de árbol, así como el
modelo estándar para el trabajo con redes. LINUX se ejecuta en gran
variedad de plataformas, aunque en sus inicios fue diseñado para una
arquitectura especifica.

La interfaz del programador y del usuario LINUX, son muy similares a


la de el sistema UNIX, por esta razón no deberá ofrecer muchas
sorpresas a una persona que conozca UNIX.

El sistema LINUX tiene mucha similitud con la estructura del sistema


UNIX, entre sus características mas importantes encontramos:
 Es un sistema multiusuario, multitarea, multiplataforma y
multiprocesador.
 Carga de ejecutables por demanda, lee del disco las partes
del programa que están siendo utilizadas.
 Manejo de memoria virtual usando paginación e intercambio
con el disco.
 Librerías compartidas de carga dinámica y librerías
estáticas.
 Todo el código fuente esta disponible.
 Implementa la mayoría de protocolos estándar de
comunicación para facilitar el intercambio de información y
recursos.

8. Cuales son los tipos de ficheros que encontramos en el


sistema GNU/Linux, defínalos y de ejemplo de cada uno de ellos.

Tipos de ficheros: En un sistema operativo GNU/LINUX, existen tres tipos


de ficheros, estos son: los archivos planos, directorios y ficheros
especiales.
 Archivos planos: Poseen información generada durante una sesión
de cualquier usuario, pueden ser ejecutables,
programas o documentos.
Ejemplo:
Al principio, tenemos ‘-’
-rw-r-xr-x 1 luis codigo 155 Nov 2 03:49 Trabajo
-rwxr-xr-x 1 luis codigo 349 Oct 3 05:14 Carta

 Directorio: Un directorio es un conjunto de archivos manipulados


por el S.O, para manejar la estructura arbolecente del sistema de
archivos, para nosotros un directorio es un fichero que contiene
archivos de todo tipo:
planos, otros directorios y directorios especiales. Están
almacenados en el disco con un formato especial y forman la
columna vertebral del sistema de archivos. Este tipo de archivo
solamente puede ser referenciado a través de las
llamadas al sistema específicas para directorios.

Ejemplo:
drwxr-xr-x 2 luis codigo 1024 Oct 26 15:18 .pgp/
drwxr-xr-x 2 luis codigo 1024 Oct 26 17:11 programacion/

 Ficheros espécieles: Pueden ser de varios tipos, en primer Lugar


encontramos los archivos de dispositivos relacionados
con dispositivos como: discos, cintas, tarjetas, memorias o
cualquier otra parte relacionada con el hardware. Los archivos
de dispositivos son orientados a bloque y a caracteres. Otro tipo de
archivo especial es el Link o enlace, este copia un archivo determinado
en otro lugar del almacenamiento. Existen otros tipos de archivos
especiales como los relacionados con mecanismos de comunicación
entre procesos, tales como pipes (FIFO) y sockets. Los sockets son
agujeros negros que reciben y dan información, en los pipes los datos
entran por un extremo y salen en el mismo orden por el otro extremo.

Ejemplo;
crw-r-xr-x 1 luis codigo 0 Nov 2 06:29 caractest
brwxr-xr-x luis codigo 0 Oct 2 08:14 blocktest

 Archivo ejecutable: Es simplemente un programa que puede


procesarse en la computadora. En Unix y Linux encontramos dos
tipos de ejecutables: shellscripts, que no son mas que archivos en
los que hemos especificado una serie de instrucciones del
sistema para que se ejecuten en orden, y binarios, que son
ficheros planos con código maquina interpretado directamente
por el procesador (generados a partir de un código fuente, un
compilador y un
montador o linker).

10. Además de los comandos básicos explicados, elabore una list


b con mínimo 5 comandos utilizados en Linux, su sintaxis y
ejemplos de uso.

addgroup
Se utiliza para crear un grupo nuevo.
Sintaxis: addgroup nom_grupo

adduser
Se utiliza para añadir un usuario. En ese momento, no solo se creará la
cuenta del usuario sino también su directorio de trabajo, un nuevo
grupo de trabajo que se llamará igual que el usuario y añadirá una
serie de ficheros de configuración al directorio de trabajo del
nuevo usuario.
Sintaxis: adduser nom_usuario [nom_grupo]

alias
En ciertas ocasiones se suelen utilizar comandos que son difíciles de
recordar o que son demasiado extensos, pero en UNIX existe la
posibilidad de dar un nombre alternativo a un comando con el fin de
que cada vez que se quiera ejecutar, sólo se use el nombre
alternativo.
Sintaxis: alias nom_alias=’comando’

apt-cache search (texto)


Muestra una lista de todos los paquetes y una breve descripción
relacionado con el texto que hemos buscado.

apt-get dist-upgrade
Función adicional de la opción anterior que modifica las dependencias por
la de las nuevas versiones de los paquetes.

apt-get install (paquetes)


Instala paquetes.

apt-get remove (paquete)


Borra paquetes. Con la opción –purge borramos tambien la configuración de
los paquetes instalados.

apt-get update
Actualiza la lista de paquetes disponibles para instalar.

apt-get upgrade
Instala las nuevas versiones de los diferentes paquetes disponibles.

at
Realiza un tarea programada una sola vez.
Sintaxis: at [-lr] hora [fecha].

11.

El modo en octal es un número en base 8 (octal) que especifique el permiso. Los


números en octal se especifican empezando el número por un 0. Por ejemplo, 0777 es
indica todos los permisos posibles para todos los tipos de usuario. 0666 indica que se
dan permisos de lectura y escritura, pero no de ejecución. 0766 indica que se dan
permisos de lectura y escritura, pero sólo tienen permiso de ejecución para los
usuarios que son dueños del archivo. 0755 indica permisos para lectura y ejecución,
pero escritura sólo para el usuario que es dueño del archivo.

Por ejemplo:

chmod 0777 archivo.txt


Asigna todos los permisos al archivo archivo.txt
chmod 0666 *
Asigna permisos de lectura y escritura, no de ejecución a todos los archivos y
directorios del directorio donde ejecutamos el comando.

chmod -R 0644 *
Esto da permisos a todos los archivos y directorios del directorio donde se invoca el
comando y de todos los directorios que cuelgan de él. Los permisos asignados son de
lectura a todos los usuarios, de escritura sólo al dueño del archivo y de ejecución a
nadie.

12

kill

Hay veces en las que un programa colapsa y se produce un error, esto implica que el
programa afectado deje de funcionar o afecte el correcto funcionamiento del sistema,
ademas este es muchas aveces necesario para realizar una labor. Es por esto que nosotros
tenemos a nuestra disposición la opción de matar o reiniciar un proceso gracias al comando
kill. Este pequeño gran programa sencillamente se encarga de matar un proceso o de
reiniciarlo si esque hemos efectuado algunos cambios en el sistema o en el programa en sí.

La señal por default usada por el comando kill es TERM ( de terminar). La forma de
especificarlas junto al comando kill son tres: -9 , -SIGKILL y -KILL, esto en el caso claro
está de si deceamos matar un procesos. Por ejemplo, para matar un proceso nosotros
necesitamos saber su PID ( que es el número que lo identifica entre todos los procesos que
se ejecutan en el sistema y que además es único ) lo que se logra gracias al comando ps
como se explicaba anteriormente o de algún otro comando alternativo como top. Su
poniendo que vamos a matar el proceso vim que tiene el PID 345 el resto es simplemente
teclear esto:

   $ kill -9 345
o
   $ kill -KILL 345
o
   $ kill -SIGKILL 345

Cualquiera de estas formas es válida para matar el proceso 345. Obviamente nosotros
debemos ser dueños del procesos que estamos matando o reiniciando, ya si cualquier
usuario pudiera matar o reiniciar el proceso que se le antoje significaría un gran error de
seguridad, pero claro está que root puede matar el procesos que decee sea suyo o no.

Nos encontramos con que también existe la posibilidad de matar un proceso usando su
nombre como referencia. Para esto usamos el comando killal(1) que mata procesos a partir
del nombre. Por ejemplo, si deceamos matar todos los procesos ejecutados por el comando
vim tecleamos :

   $ killall vim
 
Ahora todos los procesos que fueron ejecutado a partir de vim se encuentran muertos. Esto
claro está si lo ubieramos hecho como un usuario normal, pero si los hace root lo que
ocurre es que, todos los procesos vim en el sistema son matados, sin diferenciar usuarios.

También podríamos llegar a encontrarnos de que un procesos no es terminado por el


comando kill, entonces necesitamos usar la opción -9 ( para matar el procesos) que causará
la muerte del procesos de una forma certera. Por ejemplo:

   $ kill -9 <PID>
 
Para conseguir un listado de todos los tipos de señales disponibles para el comando kill
debemos teclear:
 
# kill -l
 1) SIGHUP                 2) SIGINT               3) SIGQUIT               4) SIGILL
 5) SIGTRAP               6) SIGABRT           7) SIGBUS                8) SIGFPE
 9) SIGKILL              10) SIGUSR1          11) SIGSEGV            12) SIGUSR2
13) SIGPIPE              14) SIGALRM        15) SIGTERM           17) SIGCHLD
18) SIGCONT           19) SIGSTOP          20) SIGTSTP             21) SIGTTIN
22) SIGTTOU           23) SIGURG            24) SIGXCPU           25) SIGXFSZ
26) SIGVTALRM    27) SIGPROF           28) SIGWINCH        29) SIGIO
30) SIGPWR             31) SIGSYS             32) SIGRTMIN         33) SIGRTMIN+1
34) SIGRTMIN+2    35) SIGRTMIN+3    36) SIGRTMIN+4    37) SIGRTMIN+5
38) SIGRTMIN+6    39) SIGRTMIN+7    40) SIGRTMIN+8    41) SIGRTMIN+9
42) SIGRTMIN+10  43) SIGRTMIN+11  44) SIGRTMIN+12  45) SIGRTMIN+13
46) SIGRTMIN+14  47) SIGRTMIN+15  48) SIGRTMAX-15  49) SIGRTMAX-14
50) SIGRTMAX-13 51) SIGRTMAX-12  52) SIGRTMAX-11 53) SIGRTMAX-10
54) SIGRTMAX-9   55) SIGRTMAX-8    56) SIGRTMAX-7   57) SIGRTMAX-6
58) SIGRTMAX-5   59) SIGRTMAX-4    60) SIGRTMAX-3   61) SIGRTMAX-2
62) SIGRTMAX-1   63) SIGRTMAX   

 
El número de la señal lo podemos usar con el comando kill, pero con el comando killall es
diferente, este lo debemos usar con el nombre de la señal menos el prefijo "SIG". Por
ejemplo:
 
   $ killall -KILL xmms

Por último, pero no por eso menos importante podemos reiniciar un procesos gracias a la
señal "1) SIGHUP". Esta simplemente lo que hace es tomar la configuración del programa
en cuestión y a partir de ahí ejecutarlo. Por ejemplo, en el caso de inetd(8), si realizamos
cambios en la configuración de /etc/inet.conf debemos reiniciar le procesos de inetd para
que los cambios sea aplicados en el sistema, suponeindo que el PID de inetd sea 486 el
comando sería.

También podría gustarte