Universidad de Costa Rica Facultad de Ingeniería Escuela de Ingeniería Eléctrica
Programación Bajo Plataformas Abiertas IE-0117
100 Excelente. Tarea 1
Khris Valencia Chacón A86524
I ciclo 2012
I ciclo 2012 [TAREA 1]
1.
¿Qué es Linux? Mencione 5 corporaciones o empresas internacionales utilizando Linux. Mencione 3 empresas en el mundo que brinden servicios de mantenimiento instalación y desarrollo sobre software libre.
10/10
Linux es un sistema de software libre basado en Unix, su arquitectura está compuesta por un núcleo monolítico, el cual concentra todas sus funcionalidades dentro del programa además posee controladores de dispositivos que permiten procesar correctamente interrupciones de hardware., este sistema operativo esta escrito en C junto con instrucciones en lenguaje ensamblador.
Dentro de las empresas más reconocidas que utilizan este sistema se encuentras Intel, IBM, Sony, Hp y Dell también existen otras empresas que brindan servicios de mantenimiento de sistemas operativo y de desarrollo de software como Redecom, Marasistemas, gcoop, Idesistemas entre otras.
2.
¿Qué es GNU?
10/10
Éste es al igual que Unix un sistema operativo completamente libre; esto quiere decir que, sin importar su uso es libre de reproducirse copiar, distribuir, estudiar su funcionamiento, cambiar y mejorar su software para las desarrollar diferentes aplicaciones para el usuario, GNU posee una colección de a aplicaciones, librerías, herramientas y demás que son capaces de interactuar con el hardware (kernel).
3.
¿Qué es una distribución de Linux? Mencione 10 distribuciones de Linux y comente sus principales características, además de las principales diferencias entre ellas.
15/15
Una distribución es una recopilación de programas y ficheros, organizados y preparados para su instalación. Estas distribuciones se pueden obtener a través de sitios como Internet, o comprando los discos de las mismos que contienen todo lo necesario para instalar Linux.
Algunos ejemplos de distribuciones y sus características se presentan a continuación:
Ubuntu
Basada en Debian Entorno escritorio GNOM Compatible con Windows Seguridad para usuarios Se encuentra focalizada en el usuario final para facilitarle su uso.
Redhat Enterprise
Principalmente enfocada a empresas, brinda servicio a los usuarios por parte de la empresa que la distribuye. Fácil instalación y operación
2
I ciclo 2012 [TAREA 1] Se debe adquirir licencia para su operación Desarrollada por la comunidad de desarrollo de software
Fedora
Patrocinada por RedHat Muy fácil de instalar y de buena calidad. Posee la facilidad de poder operar con varias arquitecturas y
Debian
kernel Mantenido por usuarios Facilidad de operación
Opensuse
Se debe adquirir licencia para su operación
Suse Linux Enterprise
Incluye un programa único de instalación y administración llamado YaST2 que permite realizar actualizaciones, y configuraciones la red Usa sistemas de paquetes RPM Se debe adquirir licencia para su operación Es una de las pioneras ya que fue de las primeras en
Slackware
utilizarse. Posee la facilidad de ser una base para otras distribuciones gracias a su eficiencia y solidez Posee simplicidad de diseño y eficiencia de software Basado en BSD-ports
Gentoo
Facilidad para compilar y optimizar el sistema operativo completamente desde cero. Basada en Ubuntu
Kubuntu
Entorno escritorio KDE Fácil operación
Mandrivia
Entorno escritorio KDE
4.
¿Quién es el dueño de Linux?
10/10
Linux no tiene dueño como tal, ya que es un software libre sin embargo su creador es Linus Torvalds, quien desarrolló el núcleo Linux en 1991, en Helsinki, además en enero de1992, Linus se adscribió al proyecto GNU como producto con licencia GPL (Licencia Pública General), desarrollada por la FSF (Free Software Foundation) lo cual garantiza que se puede instalar y usar un programa GPL en un ordenador o en varios, sin limitación. Al mismo tiempo se puede modificar el software o utilizar partes de él en nuevos programas de software libre; es decir, que esta licencia ofrece permiso legal para copiar, distribuir y/o modificar el software.
3
I ciclo 2012 [TAREA 1]
5.
Investigar las siguientes aplicaciones. ¿Cuál es la función de cada uno de ellos?
•
Firefox: esta aplicación es un navegador para internet
•
k3b: es una aplicación que permite quemar CD y DVD
•
kate: tiene como función la edición de texto
•
gimp: es un editor de imágenes que permite manipularlas, hacerle ajustes y retoques a las imágenes
•
xawtv: es una aplicación que permite ver y grabar programas de televisión en la computadora
•
wine: es una aplicación que permite correr programas de Windows en sistemas operativos libres
•
virtual box: es una aplicación que permite correr sistemas operativos como “guest” por ejemplo ejecutar windows,
10/10
y Linux. •
kino: es una aplicación que permite grabar, crear, editar y reproducir películas y videos
•
vlc: es un reproductor multimedia de plataforma cruzada
•
kdenlive: es una aplicación para reproducir y editar video
6.
Investigar los siguientes comandos de consola. Explicar en detalle cada uno de ellos. Mencione y explique un ejemplo de utilización para cada uno de ellos
•
cd: comando para poder cambiar de directorio.
20/20
Ahora bien para ir a alguna carpeta determina se puede hacer de la forma: cd/carpeta en la cual se podrá accesar a la dirección y ver la “carpeta” o también cd-carpeta si se quiere volver a la carpeta anterior. •
ls: comando que despliega lista archivos y directorios.
Por ejemplo ls/carpeta mostrará todos los documentos contenidos en “carpeta” y para mostrar información más detallada de la carpeta se utiliza ls-carpeta •
apt-get: comando que brinda una herramienta de actualización/instalación remota de paquetes en el sistema operativo
Por ejemplo si se quiere instalar algún programa al sistema operativo se utiliza apt-get install nombre del paquete o si se quiere instalar entonces se ejecuta apt-get update nombre del paquete. •
apt-cache: comando que permite buscar información acerca de los paquetes instalados
Por ejemplo si se quiere buscar algún paquete se ejecuta la línea de comando apt-cache search nombre del paquete
4
I ciclo 2012 [TAREA 1]
•
dpkg: este comando permite manejar paquetes en directorios para modificar o reconfigurar algún paquete ya instalado.
Por ejemplo para reconfigurar se utiliza para dpkg-reconfigure “nombre del paquete”, para listar paquetes se utiliza dpkg –l para desinstalar un paquete dpkg -r “nombre del paquete”, para instalar un paquete desde un archivo .deb. dpkg-iGEB “archivo”.deb o bien para ver el estado de un paquete instalado dpkg -s “nombre del paquete” •
aptitude: es un comando que sirve para instalar paquetes, a diferencia de apt-gt permite manejar de mejor forma la dependencia entre paquetes.
Puede ser utilizado de la forma aptitude install “nombre de paquete” para instalar algún paquete o bien aptitude remove “nombre del paquete” para desinstalarlo.
•
bash: este comando permite introducir comandos en una consola.
Algunas aplicaciones son:
bash
La ruta de acceso completa usada para ejecutar la instancia actual de bash
Bash_env
Si esta variable está definida cuando bash es llamado para ejecutar un script, su valor es expandido y
usado como elnombre del fichero leído antes de ejecutar el script. •
ssh: comando que permite conexión remoto seguro, programa del paquete openssh (protocolo de comunicación encriptado), su utilidad consiste en conectar a otro sistema Linux o Unix, que tenga un servidor ssh activo, y así poder ejecutar ordenes en él
Por ejemplo puede ser utilizado con la sintaxis ssh nombre del usuario@dirección del servidor o ip •
scp: comando que permite la copia archivos entre equipos, parte del paquete openssh
Por ejemplo se tiene: scp.fichero.zip
[email protected]:/home/admin, donde :fichero.zip es el fichero local que queremos copiar, admin es la cuenta de usuario en el sistema remoto, 122.41es el sistema remoto y /home/admin es el directorio remoto donde se va a copiar. •
lsmod: comando que muestra la lista los módulos cargados en el Kernel
Por ejemplo utilizando # lsmod se despliegan todos los archivos que están habilitados en el kernel.
5
I ciclo 2012 [TAREA 1] •
ps: comando para listar y manejar procesos
Por ejemplo con el comando ps aux se puede ver todos los procesos que están ejecutándose en la máquina. •
grep: comando que busca patrones de cadenas dentro de archivos.
Dentro de los patrones más utilizados se tiene: -c En lugar de imprimir las líneas que coinciden, muestra el número de líneas que coinciden. -e PATRON nos permite especificar varios patrones de búsqueda o proteger aquellos patrones de búsqueda que comienzan con el signo -. -r busca recursivamente dentro de todos los subdirectorios del directorio actual. -v nos muestra las líneas que no coinciden con el patrón buscado. -i ignora la distinción entre mayúsculas y minúsculas. -n Numera las líneas en la salida. -E nos permite usar expresiones regulares. Equivalente a usar egrep. -o le indica a grep que nos muestre sólo la parte de la línea que coincide con el patrón. -f ARCHIVO extrae los patrones del archivo que especifiquemos. Los patrones del archivo deben ir uno por línea. -H nos imprime el nombre del archivo con cada coincidencia.
Por ejemplo se pueden utilizar de la forma $ grep '\' archivo, entonces busca todas las líneas contengan palabras que palabra en el directorio actual y todos sus subdirectorios comiencen por a en un archivo, o bien otro ejemplo es $ grep -r palabra , va a mostrar los ficheros que contienen la palabra “palabra”. •
du: informa al usuario de la cantidad de almacenamiento utilizado por los archivos especificados.
Por ejemplo se utiliza du-s $Home/manuales va a mostrar la suma de los archivos (unidades) en la carpeta manuales o también se usa du –sh $ “dirección” para pasar el formato de numeración (megas, teras, etc)
7. •
Investigar los siguientes archivos de sistema. Explicar en detalle la función de cada uno de ellos.
15/15
/etc/sources.list : Es un repositorio que consiste en sitios web donde se encuentran almacenados los paquetes instalados, en el software de la computadora, el fichero donde se encuentran estos repositorios se puede accesar mediante /etc/sources.list.
•
/etc/fstab: Permite encontrar la información de la lista de todos los discos y particiones disponibles además que indica como montar cada dispositivo y cuales configuración utilizar.
6
I ciclo 2012 [TAREA 1] •
/etc/grub/menu.lst: permite interactuar con el cargador de arranque, con lo cual el usuario puede elegir en que sistema operativo quiere arrancar de los instalados en la máquina.
•
/etc/passwd: Determina la accesibilidad al sistema de manera legítima y que se puede hacer una vez dentro del sistema. Permite crear una línea de defensa del sistema contra accesos no deseados.
•
/etc/group: en este fichero se refleja la pertenencia de los usuarios a cada uno de los grupos creados en el sistema, dándole la oportunidad al usuario de pertenecer a varios grupos mientras tanto pertenezca al propio definido por /ect/passwd.
•
/etc/network/interfaces: permite realizar las configuraciones de las interfaces de la red y determinar la forma de conexión del sistema a la red.
•
/etc/resolv.conf: indica cuales o cuantos servidores serán utilizados para la resolución, coordina la información de cómo estos serán utilizados
•
/var/log/syslog: Estos archivos contienen la información de lo que sucede en nuestro sistema proporcionándonos una gran variedad de datos, crea un registro de mensajes del sistema y de sus programas.
•
/proc/versión: contiene un sistema de archivos imaginario o virtual. Este no existe físicamente en disco, sino que el núcleo lo crea en memoria, este indica específicamente la versión del núcleo.
•
/proc/cpuinfo: se puede obtener información como los flags de la CPU que indica los “estados o capacidades” de la CPU dentro de las cuales se encuentra la disponibilidad de virtualización.
7
I ciclo 2012 [TAREA 1]
Bibliografía
10/10
•
Comando básicos en Linux, consultado desde: http://www.gulix.cl/wiki/Comandos_b%C3%A1sicos_en_Linux#du
•
Comandos para trabajar en Linux, consultado desde: http://www.emezeta.com/articulos/10-comandos-paratrabajar-en-linux#axzz1osnOwJ1z.
•
El rincón de Linux para Hispanohablantes, consultado desde: http://www.linux-es.org
•
Empresas que usan Linux, consultados desde: http://www.aaxnet.com/design/linux2.html
•
GNU/Linux, consultado desde: http://linuxubuntuandmore.blogspot.com/2007/11/la-creacin-de-linux.html
•
GNU Operating System, consultado desde: http://www.gnu.org/
•
Guía Ubuntu, consultado desde: http://www.guiaubuntu.org/index.php?title=A%C3%B1adir_repositorios_externos
•
Lista de comandos Linux, consultado desde: http://www.esdebian.org/wiki/lista-comandos-gnulinux-i
•
Linux en Español, consultado desde: http://www.linuxespanol.com/ftopic11083.php
•
Linux Zone, consultado desde: http://www.linuxzone.es/2011/11/05/conoce-mejor-tu-sistema-a-traves-de-sus-logs/
•
Linux al poder, consultado desde: http://linuxalpoder.wordpress.com/2007/10/30/biografia-de-linus-torvalds-y-lacreacion-de-linux/
•
Linux para todos, consultado desde: http://www.linuxparatodos.net/portal/article.php?story=Flags-proc-cpuinfo
•
Redes y seguridad, consultado desde: http://www.redesyseguridad.es/ficheros-passwd-shadow-y-group/
•
Think Ubuntu, consultado desde: http://ubunturoot.wordpress.com/2007/11/06/comandos-basicos-para-linux/
•
Ubuntu mi mundo 3D-linux, consultado desde: http://scrubuntu.wordpress.com/2008/09/07/
8
I ciclo 2012 [TAREA 1]
•
Ubuntu Hispano, consultado desde: http://www.ubuntuhispano.org/wiki/comandos-sintaxis-gnulinux
•
Visión general del árbol de directorios, sistemas de archivos, consultado desde: http://www.ibiblio.org/pub/Linux/docs/LDP/system-admin-guide/translations/es/html/ch04s07.html
9