Vous êtes sur la page 1sur 26

NOMBRE: VILLAGRAN VELAZQUEZ ELMER

ALEJANDRO

MATRICULA: 94520

GRUPO: K050

ACTIVIDAD DE APRENDIZAJE …4 IMPLANTACIÓN


DE SISTEMAS DE SOFTWARE LIBRE

MATERIA: SISTEMAS ABIERTOS DE


SOFTWARE

DOCENTE: JUAN RAYMUNDO


RODRÍGUEZ VAN SCOIT
CIUDAD DE MEXICO A 22 DE ABRIL 2019
Esta actividad deberás realizarla en una máquina virtual que tenga instalada cualquier
distribución del sistema operativo GNU/Linux, o en caso de no desear utilizar máquina
virtual, tendrás que tener instalada en tu computadora cualquier distribución, para
poder realizar lo siguiente:

Ubuntu 64 bits instalado en una máquina virtual VMware player.

1. Desarrolla un tutorial que muestre la instalación y configuración de los


siguientes programas libres:
a. Software gestor de base de datos: MySQL
2. De cada programa, deberás mostrar paso a paso en tu computadora o en tu
máquina virtual, cuál es el proceso completo de instalación, configuración y
prueba. Por tal motivo, presenta pantallas y texto de la siguiente información:

a. Sitio de descarga del programa.


b. Requerimientos e Instrucciones de descarga.
c. Instrucciones de instalación paso a paso.
d. Instrucciones de configuración paso a paso.
e. Descripción del funcionamiento de cada programa realizando alguna prueba,
dependiendo del programa; por ejemplo, para el entorno gráfico de desarrollo
escribir algún programa tipo “Hola mundo”, mostrando su funcionamiento,
para el sistema gestor de base de datos diseñando alguna base de datos y
mostrando la creación de una tabla.
Link de descarga MySQL

Instalación
1. En la consola de comandos (shell) ejecutar el siguiente comando:

1 sudo apt-get install mysql-server

NOTA: de preferencia antes de correr el comando apt-get install, actualizar la


lista de
paquetes disponibles usando el comando:

1 sudo apt-get update

2. Seguir con los pasos del asistente de instalación y no olvidarse la clave


asignada al superusuario
root. Una vez instalado el servidor MySQL verificamos que el servidor se
haya levantado a
través del siguiente comando:

1 sudo netstat -tap | grep mysql

El comando mostrará algo similar a lo siguiente, indicando el nombre de


proceso asignado y que el
servidor se encuentra escuchando (LISTEN).

tcp 0 0 UbuntuSrv:mysql
1
*:* LISTEN 667/mysqld

3. El archivo de configuración del servidor MySQL se crea en el


directorio /etc/mysq/my.cnf
En éste archivo descomentar la línea:

1 bind-address = 127.0.0.1

Y colocar la IP asignada al servidor, esto sirve para que el servidor acepte


conexiones de clientes
externos. Por ejemplo:

1 bind-address = 192.168.90.100
4. Reiniciar el servidor MySQL usando el comando:

1 sudo /etc/init.d/mysql restart

5. En la consola de comandos acceder a la consola de administración


de MySQL usando:

1 mysql -u root -p

NOTA: recordar la contraseña que se colocó para el usuario root en el paso


1.

6. Crear un usuario para realizar tareas administrativas.

mysql>use mysql;
1
mysql>GRANT ALL PRIVILEGES ON *.* TO admin@"%" IDENTIFIED BY
2
'manager' WITH GRANT OPTION;
3
mysql>FLUSH PRIVILEGES;
4
mysql>QUIT;

NOTA: en este caso la contraseña para el usuario creado es manager, de


preferencia cambiarla
a una más segura.

7. Instalar un cliente de administración gráfico para conectarse al


servidor MySQL con el usuario
creado en el paso 6. En mi caso instalé la versión para Windows de la
herramienta MySQL GUI
Tools descargando la aplicación del siguiente link:

http://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-gui-tools-5.0-r17-
win32.msi/from/pick

Gestión de los servicios [Iniciar | Detener | Reiniciar]

Para detener el servicio de MySQL ejecutar el siguiente comando:


1 /etc/init.d/mysql stop

Para iniciar el servicio ejecutar el comando:


1 sudo sudo /etc/init.d/mysql start

Para reiniciar el servicio ejecutar el comando:


1 sudo /etc/init.d/mysql restart

Cambiar la contraseña de los usuarios del servidor MySQL

Ingresar a la consola del servidor MySQL usando el comando mysql -u root -p


mysql>use mysql;
1
mysql>UPDATE user SET password=PASSWORD('nuevaClave'),
2
host='%' WHERE user='nombreUsuario';
3
mysql>FLUSH PRIVILEGES;
4
mysql>QUIT;

f. Servidor Web: Apache


Para nuestros propósitos, podemos iniciar escribiendo los siguientes comandos:

 sudo apt -get update



 sudo apt -get install apache2

Ya que estamos utilizando el comando sudo, estas operaciones son ejecutadas con
privilegios de administrador, por lo que le pedirá la contraseña para verificar sus
intenciones.

Una vez que haya ingresado su contraseña, apt le dirá qué paquetes planea instalar y
cuánto espacio adicional ocuparán en su disco. Ingrese Y y presione Enter para
continuar, y la instalación continuará.

Establecer ServerName para Suprimir los Errores de Sintaxis

A continuación, agregamos una sola línea al archivo /etc/apache2/apache2.conf para


suprimir un mensaje de advertencia. Si no se define ServerName globalmente, recibirá
la siguiente advertencia cuando compruebe la configuración de Apache para los
errores de sintaxis:

 sudo apache2ctl configtest


Output
AH00558: apache2: Could not reliably determine the server's fully qualified domain
name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this
message
Syntax OK
Abra el archivo de configuración principal con su editor de texto:

 sudo nano /etc/apache2/apache2.conf

Dentro, en la parte inferior del archivo, agregue una directiva ServerName, apuntando
a su nombre de dominio principal. Si no tiene un nombre de dominio asociado con su
servidor, puede utilizar la dirección IP pública de su servidor:

Nota: Si no conoce su dirección IP del servidor, vaya a la sección sobre cómo


encontrar la dirección IP de su servidor para encontrarla.

/etc/apache2/apache2.conf

...
ServerName dominio_del_servidor_o_IP
Guarde y cierre el archivo cuando termine.
Después, revise los errores de sintaxis escribiendo:

 sudo apache2ctl configtest

Puesto que hemos añadido la directiva global ServerName, todo lo que debe ver es:

Output
Syntax OK
Reinicie Apache para implementar los cambios:

 sudo systemctl restart apache2

Ahora puede comenzar a ajustar el firewall.

Ajustar el Firewall para Permitir el Tráfico Web

Ahora, asumiendo que ha seguido las instrucciones iniciales de configuración del


servidor para habilitar el firewall UFW, asegúrese de que el firewall permita el tráfico
HTTP y HTTPS. Puede asegurarse de que UFW tiene un perfil de aplicación para
Apache así:

 sudo ufw app list


Output
Available applications:
Apache
Apache Full
Apache Secure
OpenSSH
Si observa el perfil Apache Full, debería mostrar que habilita el tráfico a los puertos 80
y 443:

 sudo ufw app info "Apache Full"


Output
Profile: Apache Full
Title: Web Server (HTTP,HTTPS)
Description: Apache v2 is the next generation of the omnipresent Apache web
server.

Ports:
80,443/tcp
Permitir el tráfico entrante para ese perfil:

 sudo ufw allow in "Apache Full"


Usted puede hacer un chequeo inmediato para verificar que todo salió según lo
planeado visitando la dirección IP pública de su servidor en su navegador web (vea la
nota en el siguiente encabezado para averiguar cuál es su dirección IP pública si no
tiene esta información ya):

http://la_ip_de_su_servidor
Verá la página web predeterminada de Apache y Ubuntu 16.04, que está disponible
para fines informativos y de prueba. Debe ser algo como esto:
Si usted ve esta página, entonces su servidor web está correctamente instalado y
accesible a través del firewall.
g. Lenguaje de desarrollo Web: PHP
HP es el componente de nuestra configuración que procesará código para mostrar
contenido dinámico. Puede ejecutar secuencias de comandos, conectarse a nuestras
bases de datos MySQL para obtener información, y entregar el contenido procesado a
nuestro servidor web para mostrarlo.

Una vez más podemos aprovechar el sistema apt para instalar nuestros componentes.
Vamos a incluir algunos paquetes de ayuda, así, por lo que el código PHP se puede
ejecutar en el servidor Apache y hablar con nuestra base de datos MySQL:

 sudo apt-get install php libapache2-mod-php php-mcrypt php-mysql

Esto deberá instalar PHP sin ningún problema. Vamos a probar esto en un momento.

En la mayoría de los casos, vamos a querer modificar la forma en que Apache sirve
archivos cuando se solicita un directorio. Actualmente, si un usuario solicita un
directorio del servidor, Apache buscará primero un archivo llamado index.html.
Nosotros queremos decirle a nuestro servidor web que elija los archivos PHP de
preferencia, por lo que vamos a hacer Apache busque un archivo index.php primero.

Para ello, escriba éste comando para abrir el archivo dir.conf en un editor de texto con
privilegios de root:

 sudo nano /etc/apache2/mods-enabled/dir.conf

Se verá de forma similar a esto:

/etc/apache2/mods-enabled/dir.conf
<IfModule mod_dir.c>
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>
Queremos mover el índice del archivo PHP destacándolo a la primera posición
después de la especificación del DirectoryIndex, así:

/etc/apache2/mods-enabled/dir.conf
<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>
Cuando haya terminado, guarde y cierre el archivo presionando "CTRL-X". Va a tener
que confirmar el guardado ingresando "Y" y luego pulsando "Enter" para confirmar la
ubicación de almacenamiento de archivos.
Después de esto, tenemos que reiniciar el servidor web Apache para que nuestros
cambios sean reconocidos. Puede hacerlo hacerlo ejecutando esto:

 sudo systemctl restart apache2

También podemos comprobar el estado del servicio de apache2 a través de systemctl:

sudo systemctl status apache2


Sample Output
● apache2.service - LSB: Apache2 web server
Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: active (running) since Wed 2016-04-13 14:28:43 EDT; 45s ago
Docs: man:systemd-sysv-generator(8)
Process: 13581 ExecStop=/etc/init.d/apache2 stop (code=exited,
status=0/SUCCESS)
Process: 13605 ExecStart=/etc/init.d/apache2 start (code=exited,
status=0/SUCCESS)
Tasks: 6 (limit: 512)
CGroup: /system.slice/apache2.service
├─13623 /usr/sbin/apache2 -k start
├─13626 /usr/sbin/apache2 -k start
├─13627 /usr/sbin/apache2 -k start
├─13628 /usr/sbin/apache2 -k start
├─13629 /usr/sbin/apache2 -k start
└─13630 /usr/sbin/apache2 -k start

Apr 13 14:28:42 ubuntu-16-lamp systemd[1]: Stopped LSB: Apache2 web server.


Apr 13 14:28:42 ubuntu-16-lamp systemd[1]: Starting LSB: Apache2 web server...
Apr 13 14:28:42 ubuntu-16-lamp apache2[13605]: * Starting Apache httpd web server
apache2
Apr 13 14:28:42 ubuntu-16-lamp apache2[13605]: AH00558: apache2: Could not
reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the
'ServerNam
Apr 13 14:28:43 ubuntu-16-lamp apache2[13605]: *
Apr 13 14:28:43 ubuntu-16-lamp systemd[1]: Started LSB: Apache2 web server.

Instalación de Módulos de PHP

Para mejorar la funcionalidad de PHP, podemos instalar opcionalmente algunos


módulos adicionales.
Para ver las opciones disponibles para los módulos de PHP y bibliotecas, se puede
canalizar los resultados de la búsqueda apt-cache dentro de less, un localizador que le
permite desplazarse a través de la salida de otros comandos:

 apt-cache search php- | less

Use las teclas de flecha para desplazarse hacia arriba y hacia abajo, y q para salir.

Los resultados son todos los componentes opcionales que se pueden instalar. Se le
dará una breve descripción de cada uno:

libnet-libidn-perl - Enlaces de Perl para GNU Libidn


php-all-dev - Paquete que depende de todos los paquetes de desarrollo de PHP
soportados
php-cgi - Del lado del servidor, lenguaje de scripting embebido en HTML (CGI binario)
(Por defecto)
php-cli - Intérprete de línea de comandos para el lenguaje de scripting PHP (Por
defecto)
php-common - Archivos comunes para paquetes construidos desde fuente PHP
php-curl - Módulo CURL para PHP [Por defecto]
php-dev - Archivos para el módulo de desarrollo PHP (Por defecto)
php-gd - Módulo GD para PHP [Por defecto]
php-gmp - Módulo GMP para PHP [Por defecto]

:
Con el fin de probar que nuestro sistema se ha configurado correctamente para PHP,
podemos crear un script PHP muy básico.

Vamos a llamar a este script info.php. Para que Apache pueda buscar el archivo y lo
trabaje correctamente, se debe guardar en un directorio muy específico, al cual se le
conoce como "raíz".

En Ubuntu 16.04, este directorio se encuentra en /var/www/html/. Podemos crear el


archivo en esa ubicación ejecutando:

 sudo nano /var/www/html/info.php

Esto abrirá un archivo en blanco. Queremos poner el texto siguiente, que es el código
PHP válido, dentro del archivo:

info.php
<?php
phpinfo();
?>
Cuando haya terminado, guarde y cierre el archivo.

Ahora podemos probar si nuestro servidor web puede visualizar correctamente el


contenido generado por un script PHP. Para probar esto, sólo tenemos que visitar esta
página en nuestro navegador web. De nuevo necesitará la dirección IP pública del
servidor.

La dirección que desea visitar será:

http://dirección_IP_del_servidor/info.php
La página que verá debe ser algo como esto:

Esta página básicamente le da información sobre el servidor desde la perspectiva de


PHP. Es útil para la depuración y para asegurarse de que los ajustes se están
aplicando correctamente.
Si esto fue un éxito, entonces su PHP está funcionando como se esperaba.

h. Entorno gráfico de desarrollo web: Monodevelop

Lo primero que haremos será instalar la versión 3 de mono:

Ingresa a orígenes del software y añade el siguiente origen:

deb http://debian.meebey.net/experimental/mono /

Luego abre la consulta y ejecuta:


apt-get update
apt-get install mono-complete
Ahora para instalar MonoDevelop 4 de forma fácil en Ubuntu o Mint pueden descargar
el siguiente script:

monodevelop4-build.sh
Abrir la terminal y desplazarse hasta la carpeta donde descargaron el script, por
ejemplo, en mi caso:

cd ~/Descargas
Luego ejecuta:

sudo sh monodevelop4-build.sh
y listo, ya tenemos instalado la versión 4 de MonoDevelop

Nota: Si al ejecutar un proyecto asp.net te sale un error de mono-xsp:


Descargar el código de este desde el repositorio https://github.com/mono/xsp/
cd xsp
./autogen.sh
./configure –prefix=/usr
sudo make
sudo make install

Abrimos MonoDevelop, vamos a Archivo–>Nuevo–>Solución, elegimos C#


nuevamente a la izquierda y a la derecha elegimos proyecto GTK# 2.0, le damos un
nombre a proyecto y luego apretamos siguiente, en la siguiente ventana no hacemos
nada, solo le damos al boton OK para que MonoDevelop se encargue de crear todos
los archivos necesarios para comenzar a trabajar.

Click para agrandar


De todos los archivos creados son 2 los más importantes, Main.cs y MainWindow.cs
estos se pueden ver en la ventana solución

Para empezar a trabajar con el trabajo de diseño, se debe hacer doble click sobre
MainWindow.cs y seleccionar ‘diseñador’ que se encuentra en la parte inferior. De esta
manera podremos ver la ventana sobre la cual podremos empezar a trabajar

Click para agrandar


A lo que me refiero es que los controles o componentes deben estar dentro de alguno
de estos u otros contenedores. Para ser más gráfico, en este ejemplo quiero usar dos
controles; un “Label” y un “Button” y quiero que al pulsar sobre el botón aparezca en la
etiqueta un “Hola Mundo”. Por lo tanto, necesito pensar en el orden en que estarán los
controles, por lo que para esta pequeña prueba solo necesito una tabla de una
columna y dos filas usando el “VBox” y después incluyendo los controles en su fila
correspondiente.

Todos los componentes se encuentran en la barra de herramientas a la derecha, el


Vbox se encuentra dentro de los llamados ‘Containers’ y el label y el button dentro de
los ‘Componentes’. Ahora es necesario ponerles nombre a los controles, esto se logra
usando la pestaña de “Propiedades” a la derecha, es tan simple como seleccionar el
control y modificar sus propiedades de forma muy fácil. Para los que usaron Visual
Basic alguna vez (calculo que todos) esto es lo mismo.
En este proyecto uso los siguientes valores:
Para el “MainWindow”
Windows Title: Proyecto Hola Mundo
Window Position: Centered
Para el “label”
Widget name: texto
Label: Presiona el botón
Justificación: Center
Para el “button”
Widget name: boton
Buton Type: Text and Icon
Icon: gtk-yes
Label: Aceptar
El siguiente paso a seguir es declarar la acción del botón, que cuando se dé un click
este haga algo, para realizar esta declaración es necesario seleccionar el botón y
después ir a la pestaña “señales” en las “Propiedades del componente”. Ahí podremos
ver un listado de comportamientos de control, buscamos el que se usa al pulsar el
botón que se llama “Clicked”. Al lado de este evento veremos un mensaje que dice
“Click here to add a new handler”, así que le hago caso y le doy un click para ponerle
un nombre… se me ocurre, por ejemplo: “boton_Clicked”, ósea “botón” ya que es el
nombre del control y agregarle el sufijo del nombre del evento, para que nuestro
código tenga coherencia.

trabajamos sobre el código pulsando sobre el botón “Código Fuente” del


“MainWindow.cs” y veremos lo siguiente:
using System;
using Gtk;
public partial class MainWindow: Gtk.Window
{
public MainWindow (): base (Gtk.WindowType.Toplevel)
{
Build ();
}
protected void OnDeleteEvent (object sender, DeleteEventArgs a)
{
Application.Quit ();
a.RetVal = true;
}
protected virtual void boton_Clicked (object sender, System.EventArgs e)
{
}
}
Vemos ahora que hay una función llamada boton_Clicked que MonoDevelop agrego
automáticamente, y ahora vamos a agregar el código bendito para que se muestre un
“Hola Mundo” en el label, seria asi:
texto. Text=” Hola Mundo!!”;
Ya quedó, eso fue todo, solo un consejo que quiero darles es que se fijen que es
‘texto.Text’ y no ‘texto.text’, estamos hablando de C# y este es case sensitive.
Podemos probar como funciona nuestra aplicación de forma rápida, pulsando sobre el
icono de ejecutar.

Queda asi:

i. Entorno gráfico de desarrollo: Eclipse

abrimos una terminal (en modo gráfico), o hacemos un Ctrl-ALT-F2 por ejemplo, para
irnos a una de las consolas, y nos conectarnos:

 como root, si podemos o


 con nuestro usuario, y luego desde linea de comando tecleamos “su” y tecleamos la
contraseña de root
Ahora ya estamos en una terminal con permisos, de forma que instalamos el entorno de
desarrollo Java

apt-get install openjdk-7-jdk


Nos instalara el entorno de desarrollo java (la versión Open, si no, debes descargarla
desde Oracle)

A continuación, vas a la página de descargas de Eclipse

http://www.eclipse.org/downloads/?osType=linux
y te descargas la versión que te interese (32 o 64 bits) y dejas el fichero en tu directorio
de trabajo. En el momento de escribir esto, lo podrías hacer con un:

~# wget http://eclipse.ialto.com/technology/epp/downloads/release/kepler/SR2/eclipse-
standard-kepler-SR2-linux-gtk.tar.gz

Ahora ya podemos descomprimir con el consabido

:~# tar -xzvf eclipse-standard-kepler-SR2-linux-gtk.tar.gz

Esto nos generará una carpeta “eclipse” que pasaremos a mover bajo el directorio /opt

:~# mv eclipse /opt/

Y para esta primera fase, solo nos queda crear el lanzador, por lo que primero creamos
el fichero con nano:

nano /usr/share/applications/eclipse.desktop
y tecleamos dentro:

[Desktop Entry]
Name=Eclipse
Type=Application
Exec=/opt/eclipse/eclipse
Terminal=false
Icon=/opt/eclipse/icon.xpm
Comment=Entorno de Desarrollo integrado (Eclipse)
NoDisplay=false
Categories=Development;IDE
Name[en]=eclipse.desktop
Ya puedes volver al entorno gráfico, abrir el navegador de archivos, ir
hasta /usr/share/applications/ y arrastrar eclipse.desktop hasta la barra de “unity” para
dejar accesible y comodo tu nuevo IDE

Al empezar, nos preguntará por el área de trabajo, y nos sugiere una carpeta llamada
workspace justo debajo de nuestra “home“;

La pantalla que presentará de bienvenida, será algo así:

Lo primero que hacemos a continuaciones instalar el plugin de Aptana Studio, ya que


nos aporta mejoras para la programación de PHP, y la conexión por FTP

Para ello, nos vamos al Menú Help, y escogemos “Install New Software”
En la pantalla que aparece

Añadiremos un repositorio a Eclipse, para eso:


1. Pulsamos “Add”
2. En “Name” podemos indicar por ejemplo “Aptana Studio”
3. y en Location pondremos: http://download.aptana.com/studio3/plugin/install
4. Por ultimo pulsamos OK
Como resultado, nuestra maquina se intentará conectar al nuevo repositorio; cuando lo
consiga nos mostrara una lista de los módulos disponibles:

Podemos utilizar el Select All, y pulsar en Next


Con lo que nos mostrará todos los módulos que va a instalar; un nuevo “Next”

y nos presentara el acuerdo de licencia:


1. Indicamos que lo aceptamos
2. pulsamos “Finish”
A partir de este punto, se descargan los módulos correspondientes
Hasta que vemos aparecer esta pantalla, que nos indica que hemos finalizado la
instalación de Aptana Studio, y debemos reiniciar Eclipse, pues un “Yes” lo hará
Otro plugin que puede ser interesante instalar es el que nos permite intercambiar temas,
y así cambiar los colores de la pantalla. Para poder manejar esos temas cómodamente
hay un plugin, y ahora que ya sabemos instalarlo, será un momento.

Vamos a Help->Install New Software y le añadimos un repositorio, como hemos hecho


antes, esta vez, en Nombre, podemos indicar “Gestor de Temas” y en dirección:
“http://eclipse-color-theme.github.com/update”, repetimos el proceso anterior para
descargar e instalar el plugin, y una vez esté instalado, podemos ir
a Windows > Preferences y en la sección General > Appearance >Color Theme.
tendremos un montón de temas que podemos ir seleccionando para ver su aspecto, y
cuando encontremos el que nos gusta, pulsamos OK

j. Software de diagramación UML: Umbrello

UMLet, está disponible para Linux, Windows y Mac. Su versión más reciente se puede
descargar desde aquí. También se puede instalar desde los repositorios oficiales de las
distribuciones más populares.

En Debian/Ubuntu y derivados:

sudo apt-get install umlet


En Arch y derivados:

sudo pacman -S umlet

UMLet, como su nombre indica es una herramienta para la creación de Diagramas


UML. Está basada en Java y es distribuida bajo la licencia GPL3.
Los Diagramas UML soportados son:

UMLet tiene una interfaz gráfica muy simple y utiliza un lenguaje de marcado para la
creación y edición de los elementos UML, lo cual permite una ventaja para el Modelado
avanzado.

Por ejemplo, para cambiar el color de un elemento UML, dando clic elemento y editar
en el área de Propiedades:
bg = cyan
Use Case 1

El resultado sería el siguiente:

Otra característica de UMLet es la gran cantidad de formatos que soporta para la


exportación de sus diagramas.

k. Software de animación: Blender

Lo primero de todo será agregar los repositorios de la aplicación:

 sudo add-apt-repository ppa:irie/blender

A continuación, actualizamos la lista de repositorios:

 sudo apt-get update

Para finalmente instalar Blender:

 sudo apt-get install blender


Con esto ya tendremos correctamente instalado Blender en nuestro equipo
con Ubuntu/Debian

3. Al final, presenta las conclusiones sobre la actividad reflexionando sobre la


importancia que tienen los entornos de desarrollo de software libre en
comparación con los de software propietario, así como el proceso de descarga,
instalación y configuración.

Actualmente es posible automatizar cualquier área de negocios o trabajo con un


mínimo de inversión y sin costos ocultos, ni contratos amañados que comprometan el
uso de un software por tiempo indeterminado, algo que se promete, pero no siempre
se cumple. Asimismo, existe la posibilidad de renegociar con los proveedores
comerciales los contratos bajo el ultimatum de dejarlos y cambiarse a un software
libre. Se puede afirmar que el software libre es hoy día una alternativa de competencia
real al software propietario ya que ambos tienen sus ventajas y desventajas es más
óptimo elegir cual es el más apto para el tipo de actividades.

Bibliografía

[Tan06] Tanenbaum, Andrew; Woodhull, Albert S. (2006). The Minix Book: Operating
Systems Design and Implementation (3.ª ed.). Prentice Hall.
[Cen] The Comunity ENTerprise Operatyng System. http://www.centos.org
[Fed] The Fedora Project. http://fedoraproject.org/
[LPD] The Linux Documentation Project (LDP). Colección de Howto's, manuales y guías
que
cubren cualquiera de los aspectos de GNU/Linux. Documentación general y
comunidades
de usuarios. http://www.tldp.org

[Sta02] Stallman, Richard (2002). "Discusión por Richard Stallman sobre la relación
de
GNU y Linux". http://www.gnu.org/gnu/linux-and-gnu.html