Unidad1 Paso2 Andres Ardila

ACTIVIDAD INDIVIDUAL IMPLEMENTAR EL USO DE APLICACIONES ORIENTADOS A LA VIRUALIZACION DE SISTEMAS OPERATIVOS Andrés Ard

Views 160 Downloads 57 File size 7MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

ACTIVIDAD INDIVIDUAL IMPLEMENTAR EL USO DE APLICACIONES ORIENTADOS A LA VIRUALIZACION DE SISTEMAS OPERATIVOS

Andrés Ardila Pinto Cod: 80844504

Tutor Daniel Andrés Guzmán Curso: 201494_7

INGENIERIA DE SISTEMAS UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELAS DE LAS CIENCAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 2018

INTRODUCCIÓN

El siguiente trabajo muestra de forma explicativa por medio de unos ejercicios la forma de implementar el sistema operativo Ubuntu de manera virtual utilizando todas las herramientas y configuraciones necesarias para que cumplan con el objetivo del estudio de caso propuesta para la actividad. Adicionalmente se van realizar una serie de ejercicios complementarios para identificas aspectos importantes como el sistemas de archivos, particiones, cuotas y gestión de volúmenes, todo manejado por medio de la terminal o consola.

OBJETIVOS

 Configurar de manera eficiente un computador para todo el proceso de virtualización e implementación de nuestro sistema operativo Ubuntu, buscando solucionar el estudio de caso expuesto en la guía.

DESARROLLO DE LA ACTIVIDAD 1. Descarga e instalación de VirtualBox. Para iniciar este proceso es importante definir como primera medida las características de hardware y software del computador anfitrión al cual se va instalar el programa. Utilizando la herramienta CPU-ID que podemos encontrar en el siguiente link https://www.cpuid.com/, lograremos especificar de manera sencilla cuales son las características de nuestro computador. De acurdo con esta herramienta la configuración del computador es: Procesador:

Memoria:

Mainboard:

De acuerdo con la configuración contamos con un procesador Intel Core i7 4770K 3.5Ghz (Cuarta generación) de cuatro núcleos y 8 theards, apta para la instalación de un S.O virtualizado de 64bits. Contamos con una board Asus B85M-E y con 8Gb de memoria RAM DD3, que es apenas suficiente para dejarle hasta 4Gb de memora ram a nuestro sistema operativo virutalizado. Adicionalmente el computador cuenta con un sistema operativo Windows 10 Pro de 64Bits:

Sabiendo la configuración del equipo anfitrión continuamos con el proceso de descarga e instalando la última versión VirtualBox: Nos vamos a la página oficial de VirualBox https://www.virtualbox.org/wiki/Downloads y descargamos la versión más actual que en este caso es la 5.2.18 para Windows:

Antes de instalar verificamos que la BIOS del computador se encuentre habilitada la opción de virtualización para poder correr S.O de 64bits en el VirutalBox.

Una vez configurada la BIOS y conociendo las especificaciones del computador continuamos con la instalación de VirtualBox: Ejecutamos el instalador y continuamos con el proceso:

Instalamos todas sus características incluyendo el soporte USB:

Iconos en el Inicio y en el escritorio:

Aceptamos la desconexión temporal de la tarjeta de red:

Continuamos con la instalación:

Instalamos los dispositivos adicionales:

Finalizamos nuestra instalación:

A pesar de que se instaló el soporte para USB voy a instalarle el Extension Pack para agregarle todos los controladores y archivos de configuración necesarios para el correcto uso del S.O. Volvemos nuevamente a la página oficial y descargamos el Extension Pack:

Una vez lo descargamos lo implementamos en el VirtualBox. Entramos a la opción de preferencias y nos ubicamos en la opción de “Extensiones”:

En este punto adicionamos el Pack descargado y continuamos con la implementación:

De esta forma vamos a tener soporte para el uso de USB 2.0 y 3.0, webcam, VirtualBox RDP, PXE ROM, Disk Encryption y NVMe.

2. en maquina virtual

Descarga e instalación de Ubuntu

Para este procedimiento es muy importante tener en cuenta las condiciones previas a la instalación como los requerimientos del S.O Ubuntu, que en este caso es la versión 16.04 de 64bits para escritorios, y sus requisitos son los siguientes: Procesador Dual Core 2Gb de memoria RAM 16Gb de discuo dura Tarjeta gráfica con una resolución mínima de 1366 x 768 píxeles. Teniendo en cuenta la configuración previa del computador anfitrión (Previamente expuesto en el punto 1), Procesador Intel i7 3.5Ghz de cuarta generación, Memoria RAM de 8Gb y disco duro 1.62Tb, tenemos recursos suficientes para su óptima instalación. Sabiendo cual es la configuración del computador anfitrión y los requerimientos mínimos de instalación del S.O Ubuntu 16.04 Desktop empezamos con la descarga, configuración e instalación de Ubuntu en el VirtualBox.  Descarga de Ubuntu 16.04 Desktop: El programa lo encontramos en la página oficial de Ubuntu en el siguiente link: http://releases.ubuntu.com/xenial/.

En este caso descargamos la Imagen de escritorio de 64bits para PC y procedemos a continuar con la instalación.

 Instalación de Ubuntu 16.04 Desktop en VirutalBox:

Comenzando el proceso nos vamos a VirualBox y creamos una nueva máquina virtual a la que voy a llamar “Diplomado”. Su tipo debe ser “Linux” y su versión “Ubuntu (64bit)”:

Continuamos con la asignación de memoria RAM. En este caso como el equipo anfitrión tienen 8Gb vamos a dejar la instalación con 3Gb de las 2Gb recomendadas para su instalación.

Continuamos con la creación del disco duro. En este caso voy a crear un disco duro virtual VDI (VirtualBox Image) y voy a dejar a un tamaño reservado dinámicamente por el programa para que se vaya llenando a medida que se va trabajando y con un tamaño fijo de 30Gb, teniendo en cuenta las 20Gb mínimas para su instalación y el espacio que tengo actualmente en mi disco: Creamos el disco duro virtual:

Seleccionamos VirutalBox Disk Image:

Determinamos un almacenamiento dinámico:

Y dejamos un límite de almacenamiento de 30Gb:

Una vez terminada esta primera configuración continuamos con el proceso configurando las unidades lógicas y adicionando la imagen del S.O Ubuntu que descargamos previamente: Entramos a configuración a la opción de sistema. En esta parte configuramos la unidad óptica como la primera en arrancar seguida del disco duro y deshabilitando la unidad de disquete:

Luego en la opción de almacenamiento en el controlador IDE del disco óptico adjuntamos la imagen de Ubuntu y guardamos la configuración:

Luego configuramos el adaptador de red dejando en configuración NAT para que el VirtualBox tome la configuración del Internet del equipo anfitrión y lo comparta a la maquina virtual:

Más adelante tenemos que configurar aspectos como la configuración de red si necesitamos crear una red interna. Luego de la configuración continuamos el proceso de instalación iniciando nuestra máquina virtual:. Empezamos escogiendo el idioma y tipo de instalación. En este caso seleccionamos instalar:

Luego nos pregunta si queremos que se instalen las actualizaciones. Como queremos que nuestro sistema operativo tenga todas las herramientas actualizadas le damos la opción correcta:

Luego seleccionamos la opción de “más opciones” para poder configurar nuestras particiones necesarias para los ejercicios propuestos:

Nos aparece un panel donde podemos configurar nuestras particiones.

Creamos una nueva tabla de particiones.

Luego empezamos con la creación de las particiones. La idea es crear las particiones necesarias para el desarrollo de los ejercicios de la guía. Empezamos con la partición Swat, la cual se va usar para recurso alterno de memoria RAM en disco. Dejamos esta partición como lógica y le asignare 5Gb de espacio pues tengo un disco duro de 30Gb y la memoria RAM que le asigne fue tan solo de 3Gb. Para que quede Swap le asignamos la utilización como área de intercambio.

Continuamos con la creación de particiones y en este caso con el /home. También la dejamos como una partición lógica de 3Gb de espacio en disco y con un sistema de ficheros ext4 transaccional.

Luego seguimos con la creación de la partición /var. Para esta partición le asigne 3Gb de espacio en disco, la deje como una partición lógica y con un sistema de ficheros ext4 transaccional.

Continuamos con la última partición y la más importante, la de la carpeta raíz. En esta partición es importante especificar que sea primaria. En este caso le asigne 10Gb y un sistema de ficheros ext4 transaccional.

Después de crear las particiones continuamos con el proceso de instalación. El espacio libre que deje lo vamos a utilizar para realizar un punto específico de la guía, para la reasignación de espacio en disco. Para continuar es importante especificar que el sitema operativo se va instalar en la partición donde dejamos la carpeta raíz y en esta se debe dejar el cargador de arranque del sistema.

De esta forma las particiones quedarían así:

Luego nos pregunta la ubicación:

Continuamos con la distribución del teclado:

Continuamos configurando los datos de usuario. En la guía nos recomienda que el nombre de usuario debe de cumplir con el formato nombre.apellido, sin embargo en el proceso de creación del usuario el sistema no permite el uso de puntos en el nombre de usuario, por tal motivo vamos a dejar el nombre del equipo como diplomado y el nombre de usuario andresardila:

Completamos la instalación y reiniciamos la máquina virtual:

Después de reiniciar entramos a nuestro usuario:

Y podemos visualizar el escritorio de Ubuntu:

Entramos a la terminar para verificar que este bien creado el usuario:

Continuando con el proceso es necesario instalar una serie de controladores de software y programas de optimización en nuestra máquina para que esta funcione adecuadamente. Para esto instalamos el Guest Additions de la siguiente manera: Nos vamos a dispositivos en virtualbox y entramos en la opción “Insertar Imagen de CD de las Guest Additions”:

Luego nos pide si deseamos ejecutarlo y de decimos que si:

Nos pide la contraseña:

Y empieza el proceso de instalación desde la terminal. Nos confirma que quedo instalado y que se ha iniciado. Para que funcione adecuadamente es necesario reiniciar la máquina.

Para probar la configuración podemos hacer las siguientes pruebas:

 Aumentar el tamaño de la pantalla para ver si la interfaz se acomoda a ella. Empezamos haciéndola grande:

Podemos ver que se acomoda a la forma total de la pantalla. Luego la hacemos mas pequeña:

Como vemos se acomoda igualmente a las dimensiones de la ventana.

 Compartir el porta papeles. Esta herramienta es útil cuando queremos copiar un texto en el equipo anfitrión y copiarla en la máquina virtual. Empezamos entrando en el menú de virtualbox a la opción Portapapeles Compartido y en la opción Bidireccional:

Luego copiamos un texto en el equipo anfitrión y la pegamos en un editor de texto en la máquina virtual: Computador anfitrión:

Máquina virtual:

 Compartir carpetas con el equipo anfitrión. Para esto creamos una carpeta en el escritorio del equipo anfitrión guardamos un archivo cualquiera. En mi caso cree una carpeta llamada “Ubuntu” en el escritorio de Windows y guarde un archivo de texto llamado hola.txt:

Tambien creamos una carpeta en Ubuntu. En este caso lo hago en el escritorio con el nombre de “compartida”

Luego desde el virtualbox entramos en la opcion de “Dispositivos” y “Carpetas Compartidas”:

En este punto podemos agregar una carpeta desde el computador anfitrion. Entramos agregar carpeta nueva compartida y seleccionamos la ruta de la carpeta de “Ubuntu” que creamos en el escritorio de Windows del computador Anfitrión:

Seleccionamos la carpeta, activamos la opción de automontar y hacer permanente:

Aceptamos los cambios y entramos al terminal para terminar la configuración. En el terminal debemos montar la carpeta del anfitrión en la carpeta compartida de Ubuntu para poder visualizar los archivos con el siguiente código: $ sudo mount –t vboxsf Ubuntu /home/andresardila/Escritorio/compartida En este código estamos asociando el contenido de la carpeta Ubuntu que está en Windows con la carpeta compartida que está en el escritorio de la máquina virtual por medio de las herramientas que instalamos en con el Guest Additions (vboxsf):

Luego vamos al escritorio de la máquina virtual y verificamos que efectivamente este el archivo de texto hola.txt creado en la carpeta Ubuntu en el escritorio de Windows:

Como podemos ver el archivo se compartió desde el computador anfitrión de Windows a la máquina virtual Ubuntu gracias a las herramientas que nos dio el Guest Additions.

3. Administración y control del sistema a través de líneas de comando. a. 5 comandos de manipulación de archivos y directorios Para este proceso es importante estipular varios comandos necesarios para la administración básica de los archivos y directorios los cuales voy agregar en un solo punto para poder especificar otros importantes que influyen en la manipulación de los mismos.  Comandos básicos para la administración de archivos: Comando pwd: Este comando es importante para podernos ubicarnos en la consola terminal:

Comando ls: Este comando es importante para poder saber cuáles son los directorios o archivos que están en cierta ubicación, en este caso los directorios y archivos del directorio de mi usuario andresardila. ls: muestra los directorios que posee:

ls -a: incluye archivos y directorios ocultos

ls -t: ordena los archivos por fecha de modificación

ls –x: ordena los archivos por extensión

ls –l: muestra información como el usuario, grupo, permisos, tamaño, fecha y hora de creación.

ls –lh: muestra información con el tamaño de los archivos.

ls –R: muestra el contenido de subdirectorios

Comando cd: Este comando es importante para poder navegar entre directorios en el terminal del sistema. cd ..: este comando nos ubica un directorio anterior al que estamos ubicados. Por ejemplo estamos en el directorio de usuario /andresardila y queremos ir al directorio /home y después al directorio raíz:

cd nombre_del_directorio: Especificando el nombre del directorio podemos ir directamente al mismo. Por ejemplo al directorio var:

 Comando mkdir y rmdir: Este primer comando mkdir se utiliza para crear directorios y el comando rmdir para eliminar directorios. Por ejemplo vamos a crear un directorio llamado /andres en el escritorio y luego lo vamos a eliminar: Crea el directorio:

Elimina el directorio:

 Comando cat: este comando lo usamos para mostrar el contenido de un archivo por pantalla. También lo podemos utilizar para crear rápidos archivos de texto. Por ejemplo vamos a crear un directorio llamado /andres en el escritorio y después un archivo de texto llamado prueba.txt: Creamos el directorio, después el archivo, agregamos texto y con tecla “Ctrl+z” lo guardamos:

Verificamos que el archivo este en el escritorio y tenga el contenido que se le agrego:

El comando cat por medio del uso de unas opciones podemos identificar lo siguiente: cat: muestra el contenido del archivo.

cat –b: muestra el número de líneas que no están en blanco.

cat –e: muestra el final de una línea y todos los caracteres no imprimibles.

cat –n: muestra todas las líneas de salida.

cat –s: cambia las líneas en blanco por una sola.

cat –t: muestra todas las tabulaciones.

cat –v: muestra los caracteres no imprimibles.

cat –A: muestra todos los caracteres.

 Comando chmod: este comando se usa para cambiar los permisos de un archivo o directorio. Para cambiar los permisos de un archivo utilizamos el código $ chmod 666 donde el número es el identificador del permiso que se le está dando a cada uno de los usuarios de propietario, grupo y el resto en su respectivo orden. Los números del 0 al 7 identifican el tipo de permiso mientras que su posición identifica el tipo de usuario de la siguiente forma: Primero número: usuario propietario. Segundo número: usuario grupo. Tercer número: resto de usuarios. Binario 000 001 010 011 100 101 110 111

Número 0 1 2 3 4 5 6 7

Permiso ----x -w-wx r-r-x rwrxw

Característica Ninguno Ejecución Escritura Escritura y ejecución Lectura Lectura y ejecución Lectura y escritura Lectura, escritura y ejecución

Para este caso vamos a darle todos los permisos a todos los usuarios al archivo prueba.txt que creamos anteriormente. Primero verificamos que permisos tienen el archivo utilizando el código “ls-l”:

Como podemos ver el archivo prueba.txt tiene permisos de lectura y escritura en el usuario propietario y el usuario grupo, y en el resto de usuarios tienen el permiso de lectura solamente. Si queremos cambiar para darle todos los permisos a todos los usuarios hacemos lo siguiente:

Como podemos ver le dimos todos los permisos de lectura, escritura y ejecución a todos los usuarios.

 Comando mv y rm: el comando mv se utiliza para modificar el nombre de archivos y directorios y cambiarlos de una ubicación a otra. El comando rm se utiliza para eliminar archivos. Comando mv: para el ejemplo se crea una carpeta nueva con el nombre de /ardila. Tomamos el archivo prueba.txt creado anteriormente en la carpeta /andres y le cambiamos el nombre a prueba2.txt y luego lo ubicamos en la carpeta /ardila:

El comando mv tienen las siguientes opciones: mv –b: se usa para hacer un backp de los archivos que se van a mover o a cambiar de nombre:

mv –f: se usa para eliminar el archivo y remplazarlo por otro nombre sin preguntar confirmación:

mv –v: se usa para preguntar antes de mover o sobre escribir un archivo:

Comando rm: para el ejemplo vamos a eliminar el archivo prueba.txt de la siguiente manera:

El comando rm tiene las siguientes opciones: rm –f: elimina todos los archivos sin preguntar:

rm –i: pregunta antes de eliminar el archivo:

rm –r: elimina todos los archivos de un subdirectorio incluyéndolo: creamos un subdirectorio sobre la carpeta /ardila llamado /subdirectorio y la eliminamos:

b. 5 comandos de administración de procesos.  Comando ps: este comando se utiliza para poder visualizar los procesos que se están llevando en tiempo real en el sistema. Cuando visualizamos los procesos del sistema podemos reconocer sus elementos identificando la asignación que hace el kernel a cada proceso. En su reconocimiento encontramos el PID que es el identificador del procesos, el PPID que identifica el proceso principal y el PGID que identifica el grupo principal del proceso Como lo podemos ver en este ejemplo:

En este caso solamente utilizando el comando ps vemos los procesos que se están ejecutando en el terminal o consola del sistema. Este comando posee versiones propias de System V (caracterizada por estar precedidas por un guion) de BSD (caracterizada por no tener guiones) y GNU (caracterizada por tener dos guiones). Las referencias de las columnas que muestra el comando dan información específica sobre los procesos en ejecución. Entre las columnas mas importantes tenemos USER que hace referencia al usuario donde se esta ejecutando el proceso, el PID que es un identificador, %CPU que es el porcentaje del tiempo de duración del proceso, %MEN que es porcentaje de memoria utlizada, VSZ que es la memoria virtual del proceso, RSS que es la cantidad de memoria física no usada en disco, TT que es la terminal que controla el proceso, STAT que es el código de estado del proceso, STARTED que es la fecha del inicio del proceso, TIME que es el tiempo de CPU acumulado y COMMAND que es el comando con todos sus argumentos. Las opciones que tienen este comando son: ps –A: muestra en pantalla información de todos los procesos.

ps –j: muestra información del PGID y el SID

ps l: muestra información más detallada sobre los procesos

ps –f: muestra los parámetros con los que se levantó el proceso

ps –a: muestra los procesos de otros usuarios

ps –u: muestra información de procesos de otros usuarios. En este caso el usuario root.

ps –ef: muestra todos los procesos del sistema.

ps –eLf: muestra procesos especificando sus hilos

ps aux: muestra los procesos en estilo BSD

ps axo user, stat, pid, pcpu, comm: muestra los procesos con parámetros específicos que necesitemos visualizar.

 pstree: este comando muestra un árbol de procesos especificando la relación que hay entre proceso padre y proceso hijo:

Entre sus opciones más importantes encontramos las siguientes: pstree –a: muestra la línea de comandos utilizada. Por si el proceso viene de un fichero especifico.

pstree –c: muestra todo el árbol sin omitir nombres repetidos.

pstree –H: este comando nos mostrara el árbol de un procesos especifico. En este caso el PID 2.

pstree –g: se utiliza para ver el árbol de procesos agrupados por grupo.

 Comando top: muestra los recursos que se están utilizando en tiempo real en el sistema. Este comando se usa para identificar que procesos están consumiendo más recursos con el objetivo de optimizar el sistema.

Dentro de las columnas que muestra este código encontramos el PID como identificador del proceso, el USUARIO que identifica el usuario que está ejecutando el proceso, el PR que identifica la prioridad del proceso, el NI que es el valor que establece una prioridad para el proceso, el VIRT que es la memoria virtual utilizada, el RES que es el tamaño de tarea residente, el SHR que identifica el estado actual del proceso (S, D, R, Z, T), %CPU que es el porcentaje de CPU utilizada en cada proceso.  Comando pgrep: es utilizado para mostrar el ID de un proceso especifico y es una combinación del comando ps y grep. Es necesario especificar el proceso para identificar su ID:

 Comando kill, pkill y killall: el comando kill lo usamos para matar un proceso específico. El comando pkill lo usamos para matar los procesos que estén asociados al parámetro establecido. El comando killall mata un proceso con todas sus instancias. kill: vamos a matar un proceso especifico. Buscamos que procesos se están ejecutando en el usuario primero con el comando ps –u andresardila:

Podemos ver que el proceso 2822 que hace referencia a las notificaciones de actualizaciones. Procedemos a eliminar el proceso:

Y verificamos si se terminó el proceso:

Como podemos ver ya no aparece el proceso 2822. pkill: en este caso vamos abrir el openoffice y buscamos la referencia del proceso que se está ejecutando: Como podemos ver se abren los procesos oosplash (4183) y el proceso soffice.bin (4202).

Ahora vamos a terminar el proceso oosplash:

Y verificamos:

Podemos ver que el programa se cerró terminando el proceso. killall: identificamos primero el proceso que deseamos terminar en este caso el gvfsd:

Podemos ver que en este proceso se ejecutan varias instancias. Procedemos a terminal todo el proceso:

Podemos ver que termino dos procesos asociados a dicho proceso.

c. 5 comandos de gestión (instalación, actualización y eliminación) Para gestionar procesos de instalación, actualización y eliminación de programas se tienen en cuenta estos comandos básicos para dichos procesos.  sudo apt-get install: Este código inicia con el código sudo el cual le da propiedades de administrador al usuario que lo está ejecutando. El comando apt(Avanced Packaging Tool)-get nos permitirá gestionar paquetes desde la terminal o consola del sistema operativo. En este caso el comando install nos va permitir instalar un paquete específico:

Como podemos ver queremos ejecutar el comando htop el cual nos permite tener una vista de los procesos que se están ejecutando de manera más detallada. Como el programa que controla este comando no está instalado procedemos a instalarlo:

Después de la instalación podemos corroborar si está instalado:

Como podemos ver el programa quedo instalado. Desde la interfaz gráfica de Ubuntu también podemos administrar nuestras aplicaciones ingresando al gestor de aplicaciones:

 sudo apt-get remove: utilizamos este código para eliminar una aplicación. Como acabamos de instalar la aplicación htop podemos desinstalarla con este mismo código:

De esta forma eliminamos la aplicación.  sudo apt-get update: es utilizado para reorganizar las fuentes de los paquetes disponibles. Es importante para saber que paquetes tenemos a nuestra disposición para instalar:

 sudo apt-get upgrade: se utiliza para actualizar aplicaciones y paquetes instalados a sus últimas versiones:

 sudo apt-get help: este comando nos permitirá tener una visión más amplia de lo que podemos hacer con este comando informándonos desde consola todas sus posibles aplicaciones y como debemos usarla:

d. 5 comandos de gestión en un entorno de red Dentro de un proceso de configuración de red podemos encontrar una gran cantidad de herramientas y comandos especiales para identificar y configurar la red de cómputo. Dentro de los comandos más comunes encontramos los siguientes:  ifconfig: es utilizado para identificar las características de las tarjetas de red instaladas en el sistema. Es importante porque nos evidencia aspectos como la referencias de las tarjetas y la configuración que tienen como sus ips asignadas:

 ping: es utilizado para poder identificar si tenemos conexión con un equipo o servidor. Lo ejecutamos especificando la ip o el host del servidor:

En este caso lo hice a la propia máquina la cual mantiene una ip asignada por la configuración NAT asignada por el Virtualbox.

En este caso le realice un ping al servidor de google anotando el dominio del mismo.

 traceroute: es utilizado para determinar el camino que siguen los paquetes de red desde un equipo a otro para saber si hay inconsistencias en su comunicación:

 route: se utiliza para identificar la ruta por donde el sistema operativo a la red:

Podemos ver que la configuración del sistema está saliendo por la ip 169.254.0.0  mtr: este es utilizado para ver los saltos de los routers y ejecutarles un ping a cada uno para revisar cuál de ellos está generando congestion en la red:

En este caso solamente muestra la conexión local que tengo. e. 5 comandos de manipulación de hardware y controladores.  lspci: es utilizado para enumerar todos los buses PCI mostrando los detalles de los dispositivos conectados a nuestro sistema.

Como podemos ver nos brinda información sobre los controladores de VGA (video), Ethernet (tarjeta de red), audio, USB, SATA entre otros.  lsusb: es utilizado para mostrar información de todos los puertos USB que están siendo utilizados:

 lscpu: es utilizado para mostrar información sobre el procesador especificando su

velocidad, numero de núcleos y fabricante:

 hwinfo: es utilizado para mostrar información general y detallada de los componentes de hardware de nuestro sistema.

 free: es utilizado para saber cuánta cantidad de memoria RAM está siendo usada, cual está disponible y su total:

f. 5 comandos de compresión y descompresión de archivos. Cuando vamos a trabajar con archivos comprimidos podemos utilizar varios formatos como los ficheros tar, los ficheros gz, los ficheros bz2, los ficheros tar.gz, los ficheros tar.bz2 y los más conocidos ficheros zip y rar. Dentro de los comandos más importantes encontramos los siguientes:  tar –cvf: con este código más los parámetros que pueden ser –c(cree un archivo comprimido), -v(muestre lo que se está empaquetando), -f(determina el nombre que va llevar el archivo), más el nombre del archivo .tar y la ubicación. En este caso vamos a comprimir el directorio /andres en donde está el archivo prueba.txt con el que he estado trabajando:

 tar –xvf: con este código más los parámetros –x(ordena a tar descomprimir el archivo), -v(muestre lo que se va descomprimiendo), y f(indica el archivo que se va descomprimir). En este caso vamos a descomprimir el tar andres.tar:

 tar –tf: este código más lo parámetros –t(lista el contenido del archivo .tar), -f(indica el archivo que se desea visualizar):

 rar a: con este código podemos comprimir un archivo en formato .rar. Para eso es necesario instalar el programa con el siguiente código: sudo apt-get install rar. Una vez lo instalamos procedemos a comprimir un archivo, en este caso el archivo prueba que está en la carpeta /ardila:

 unrar x: con este código descomprimimos el archivo. Inicialmente nos pide instalar el programa unrar y lo hacemos con el siguiente código: sudo apt-get unrar. Una vez lo instalamos descomprimimos el archivo prueba.rar:

 unrar v: se utiliza para ver el contenido del archivo comprimido:

4. Establecer de forma objetiva las principales características que diferencian a los sistemas de archivos, directorios y unidades en GNU/Linux.

Sistema de archivos Ext2

Como funciona Este sistema de archivos se organiza por medio del manejo de bloques, los cuales le permiten, por medio de la estructuración de grupos lógicos, organizar los ficheros de manera independiente. Los bloques organizados en grupos están constituidos por un superbloque grupo, por el grupo de bloques de mapa de bits, por un mapa de bits inodo y por los bloques de los datos reales. En el superbloque se encuentra la información esencial para e inicio del sistema operativo por lo que lo vamos encontrar en el primer bloque solamente y el cual no es manejado por el sistema de archivos. Los siguientes bloques organizados en grupos contienen una copia de este superbloque por seguridad. El mapa de bits maneja la información relacionada a la asignación de espacio por bloques y el mapa de bits de inodo administra que bloques contienen ficheros

Características Este sistema de ficheros fue diseñado por Remy Card el cual buscaba solucionar los problemas del primer sistema de ficheros “ext” el cual tenía inconsistencias en las marcas de tiempo de acceso archivos, en los inodos de modificación y el la modificación de datos. Solucionándose estos problemas este sistema de archivos se posiciono en las distribuciones de Linux. Este sistema de archivos es muy conocido por que al almacenar los ficheros en bloques organizados ayudo a solucionar problemas en la búsqueda de datos y los procesos de fragmentación de disco no se pronunciara como si lo hacen otros sistemas de archivos.

Ext3

Ext4

teniendo en cuenta que el inodo administra información específica de los ficheros como sus permisos, el tipo de fichero, el propietario y la fecha de creación. Debido a que el sistema de archivos Ext2 no dejaba un consecutivo diario de registros, el sistema de archivos Ext3 soluciona este problema. Ext3 es un sistema de archivos muy parecido al Ext2, tanto que en el momento de pasar de un Ext2 a un Ext3 no es necesario formatear el disco. El sistema de registro diario conocido como Journaling posee tres niveles: Diario: se caracteriza por copiar metadatos y ficheros de contenido al diario, pero lo hace antes de llevarlo al sistema de archivos principal. Esto mejora procesos pero también los retrasa al tener que escribir los mismos datos dos veces. Considerado como de riesgo bajo. Pedido: guarda los metadatos en el diario pero no los contenidos. De todas formas guarda el contenido en el disco antes de asociar su metadato en el diario. Considerado de riesgo medio. Reescritura: Solo guarda los metadatos en el diario pero los contenidos no, por lo que el contenido puede estar escrito antes o después de la actualización del diario. Este proceso hace que el contenido se pueda corromper si existe una interrupción debido a que no se registra en el diario. Este nuevo sistema de archivos se caracteriza por la inclusión de nuevas mejoras tales como la posibilidad de trabajar con volúmenes más grandes de ficheros de hasta 16Tb; la incorporación de uso de extents los cuales utilizan bloques de datos contiguos; la compatibilidad con sistemas de archivos antiguos; la asignación ampliada de espacio para ficheros y la asignación retrasada de

Debido a que es muy parecido al sistema de archivos Ext2 tienen muchas deficiencias como la falta de extensiones, la localización dinámica de inodos y la sublocalización de bloques. Lo único que diferencia de la Ext2 es el sistema de registro diario de procesos.

Las características más importantes son: Extents los cuales que utilizan un sistema de bloques contiguos más eficientes que permiten el uso de ficheros más grandes y la disminución de la desfragmentación de disco.

espacio en disco antes de ser escrita; el aumento de subdirectorios; el manejo de desfragmentación sin desmontar disco; y la revisión de ficheros más rápida.

Xfs Reiserfs ifs

Btrfs

ReiserFS: utiliza un árbol B+ (estructura de datos en árbol para la inserción o borrado de datos dinámica) donde almacena los metadatos, las entradas de directorio y listas de inodos en bloques de disco llamados bloques internos y bloques de hojas formateados. Los datos de los directorios están en los bloques sin formatear. XFS: se caracteriza por ser un sistema de archivos diseñado para la administración de ficheros grandes. Soporta diarios de metadatos para una fácil recuperación de datos y utiliza un avanzado sistema de asignación por extensión que facilita una administración del espacio en disco que reduce la fragmentación, el uso de bloques contiguos y los tiempos de asignación. Busca optimizar aún más el sistema de archivos Ex4 con innovadores procesos. Utiliza un sistema de archivos llamado copy-on-write que utiliza una política de optimización usada en la programación para la administración de procesos, donde la lista de procesos que necesitan recursos iguales se les devuelven punteros a dicho recurso, creándose

La compatibilidad entre los diferentes sistemas de archivos Ext 2 y Ex3. La asignación ampliada de espacio en disco de ficheros permite por medio de Kernel (y la función preallocate()) administrar el espacio sin llenarlo con ceros y hacer los bloques contiguos. La asignación retrasada de espacio en disco no usa bloques para asignar la información que aún no ha sido escrita en el disco, mejorando considerablemente su rendimiento. Las características de este sistema de archivos son el uso de Journalin (administración diaria de metadatos que impiden la perdida de datos), el reparticionamiento sin la necesidad de desmontar el volumen cuando se necesita aumentar sus dimensiones y el tail packing para disminuir la fragmentación.

Se caracteriza por mejorar el empaquetado en espacio de archivos pequeños y directorios indexados; maneja una asignación dinámica de inodos; la utilización de subvolumenes independientes; la comprobación de datos y metadatos; la integración de device-mapper para la

Swap

copias del mismo para impedir que administración de múltiples estos afecten otros procesos. volúmenes; la comprobación de volúmenes sin desmontar unidades; compatibilidad y actualización de sistemas Ext3 y procesos de desfragmentación sin desmontar unidades. Es una zona del disco duro conocida Esta partición no es un como el espacio de intercambio el sistema de archivos pero es cual amacena los procesos que no utilizada por el mismo para pueden almacenarse en la memoria gestionar la administración RAM y los mantienen ahí hasta que de procesos utilizando el sea necesario utilizarlos. Esta disco duro. Parecido al partición permite optimizar procesos funcionamiento de la en sistema en la medida que sea memoria virtual, esta necesario, pues solo es utilizada partición le da recursos al cuando la cantidad de procesos sistema para optimizar la exceda el nivel de almacenamiento ejecución de procesos de la memoria RAM o cuando se dándole un espacio adicional desean albergar procesos que se para almacenarlos en caso de necesiten utilizar en ciertos necesitarlo. En Linux la momentos o por otros procesos que administración de esta se estén ejecutando, todo con el partición es muy eficiente ya objetivo de impedir colapsos de permite la asignación de memoria y para optimizar procesos. procesos similares por volumen, permitiendo el uso paralelo de estas particiones en cada unidad de disco.

5. Establecer la función principal de la estructura de directorios GNU/Linux con base a la siguiente tabla:

Directo rio/Car peta

Función principal

Subdirectorio/subcarpetas que lo conforman

/

bin

boot

cdroom

Es la raíz del árbol de directorios y es comúnmente llamado el directorio root. De este directorio se extienden el resto de directorios que conforman la estructura de jerarquías de directorios Linux. Es el directorio donde se guardan todos los binarios que son utilizados para garantizar las funciones básicas a nivel de usuario almacenando sus ejecutables.

Es el directorio donde se guardan todos los ejecutables y archivos que se necesitan para el proceso de arranque del sistema operativo. El Linux los dispositivos de hardware son tratados como archivos, los cuales se administran desde el directorio /dev y donde encontramos la representación del cdrom del computador.

dev

Es el directorio donde se almacenan los archivos de todos los dispositivos de almacenamiento conectados al computador como el disco duro, memorias usb, unidades de cd o dvd.

etc

Es el directorio donde se guardan los archivos de configuración de del sistema operativo. También encontramos los archivos de configuración de los programas.

home

Es el directorio donde se guardan todos los archivos de usuario como su información de documentos, fotos, audio, música etc.

lib

Es el directorio donde se aguardan las bibliotecas que controlan la ejecución de los binarios almacenados en /bin y /sbin.

lost + Este directorio se found crea después realizar un proceso de recuperación por caída de sistema o algún problema presentado. Cuando no ha habido caídas o procesos de recuperación (fsch por ejemplo) esta carpeta permanece vacía. media Es el directorio donde se montan los archivos necesarios para reconocer los volúmenes lógicos como memorias usb o discos duros.

mnt

Es el directorio donde encontramos los puntos de montaje de los distintos dispositivos de almacenamiento como discos duros

opt

proc

externos. Como no tengo nada conectado no hay archivos en esa carpeta. En este directorio encontramos los archivos de solo lectura de los programas de autocontenido. En este caso la instalación del Guest Additions Es el directorio donde se guardan temporalmente archivos virtuales (listas) utilizados en la ejecución de procesos y programas en un momento determinado.

root

Es el directorio del /home pero del usuario de administración principal o superusuario del sistema operativo.

sbin

Es el directorio donde se guardan los binarios de las tareas del sistema operativo lo cuales solo pueden ser gestionados por el usuario root.

selinux

Es un sistema de control de acceso en donde el núcleo o kernel pregunta para saber si el usuario tiene o no acceso para realizar cualquier operación.

Los archivos de configuración para esta administración de seguridad se encuentran dentro del directorio /etc. En las distribuciones de Red Hat se puede configurar desde el archivo /etc/sysconfig/selinux.

srv

tmp

Es el directorio donde se guardan los archivos y directorios relacionados con el funcionamiento de servidores que pueden estar instalados en el sistema operativo. Servidores como web o FTP entre otros. En este caso como no tenemos ningún apache no aparecen archivos. Es el directorio donde se guardan todos los archivos temporales del sistema operativo incluyendo todas sus aplicaciones instaladas.

usr

Es el directorio donde se guardan todos los archivos de solo lectura de las utilidades y aplicaciones de usuario.

var

Es el directorio donde se guaran los archivos con información del sistema como los correos electrónicos de los usuarios, bases de datos, los logs, información del cache, entre otros.

6. Las cuotas de disco en un sistema operativo GNU/Linux, se administran individualmente por cada sistema de archivos y son únicas para usuarios o grupos y el objetivo de las cuotas es limitar, de forma razonable, el espacio utilizado en el sistema de archivos. Con el fin de ejercer buenas prácticas de administración de ciertos aspectos en el uso del sistema, se solicita que realice modificaciones definidos bajo su propio criterio, una configuración personalizada de cuota(s) para el sistema de archivos "/home" del usuario con el que instalo el sistema operativo huésped. La configuración de cuotas es una forma de administración de discos que nos permite asignarle cantidades específicas de espacio a grupos o a usuarios. En este caso vamos a darle un uso específico de espacio al usuario con el que instale el sistema operativo (andresardila) y en la partición donde instalamos el directorio /home. Este directorio es especial para la administración de cuotas de disco pues en esta carpeta se almacena toda la información personal de los usuarios y no queremos que esta se llene o llegue a un límite máximo. Es importante aclarar que existen dos tipos de cuota. La primera hace referencia a la asignación de espacio en disco por bloques y la otra lo hace por inodos. Teniendo en cuenta que el sistema de particiones de ext4 está organizada por bloques e inodos, podemos asignar estos últimos de acuerdo con nuestras necesidades de configuración. La asignación de espacio en disco la podemos administrar por medio de dos características que son HARD y SOFT. La configuración HARD estable una cuota que es específica y del cual no se puede sobrepasar, impidiéndole al usuario utilizar más recursos, y la SOFT funciona con un sistema de advertencia en donde se fija una cuota menor a la HARD y en el momento en el usuario llega a este límite se le avisa que dentro un tiempo o límite del HARD puede guardar información en disco. Para asignarle una cuota a la carpeta /home lo primero que tenemos que hacer es ingresar al terminal e identificarse para acceder al usuario root el cual tienen todos los permisos para realizar las operaciones que hay que hacer para la asignación de cuotas:

Dentro del usuario root tenemos que entrar al siguiente archivo: etc/fstab. En este archivo vamos habilitar la partición /home para poder administrar las cuotas.

Dentro del archivo nos muestra información sobre las particiones que tenemos configuradas en el sistema. La idea es ubicar la partición con el directorio /home y habilitar la administración por cuotas. Si deseamos administrarlas por grupo agregamos el siguiente código “grpquota” o por usuario “usrquota”:

Guardamos los cambios en el archivo. Para guardar los cambios es importante tener en cuenta que el editor vi de Linux tienen una serie de comandos para poder modificar los archivos de texto. El programa vi tienen dos estados que son estado comando y estado edición. Cuando abrimos el archivo estamos en modo comando el cual nos permite navegar dentro del archivo. Nos colocamos donde queremos editar y con la tecla “a” empezamos a editar el archivo. Una vez lo editemos utilizamos la tecla “Esc” para entrar en modo comando y desde ahí oprimimos la tecla “:” la cual por medio del comando :wq podemos guardar los cambios. Luego de guardar el archivo tenemos que aplicar los cambios. Para eso usamos un código para desmontar y montar nuevamente la partición:

Luego de esto podemos verificar como está configurada la tabla de particiones /home: Utilizando nuevamente el comando “mount” podemos ver que en la partición /home aparece la característica de “usrquota” y “grpquota” o administración de cuotras por usuario y grupo.

Después de gestionar la partición /home debemos verificar que el administrador de cuotas esté funcionando adecuadamente. Para esto utilizamos el código $ quotacheck –ugmv /home el cual por medio de unas opciones –u(examina el administrador de cuotas por usuario), -g(examina el administrador de cuotas por grupo) -m(evitar que el remonte de solo lectura) y –v(muestra el progreso del chequeo por pantalla) y el comando /home va a enfocar el chequeo solo en esa partición:

Como podemos ver las cuotas en la partición /home ya están activas. Es importante que se encuentren activas, para esto utilizamos el código “quotaon –ugv /home” para activarlas. En dado caso que queramos desactivarlas usamos el código “quotaoff –ugv /home”:

Una vez activas podemos empezar a configurar las cuotas de administración de disco. Los archivos que necesitamos configurar se encuentran en la carpeta raíz del /home y los archivos son aquota.user y aquota.group.

En este caso solamente vamos a editar el aquota.user para configurarlo al usuario que estoy usando “andresardila”. Para esto es necesario utilizar el código “edquota –u andresardila”, en donde le estamos especificando que edite el archivo de cuotas de mi usuario andresardila:

Una vez entro encuentro la siguiente información que puedo editar:

En este punto podemos editar las cuotas de administración de disco para mi usuario específicamente. En la columna blando o SOFT establezco una medida aproximada al límite para que me salga un aviso comentando que pronto se va acabar el espacio. En la columna duro o HARD establezco el límite total de uso de recursos en disco. Como la asignación se puede hacer por bloques o por inodos aparecen los dos parámetros para configurarlos. En este caso vamos a darle un límite HARD de 1100Mb y un SOFT de 900Mb en bloques, suponiendo que va existir solamente otro usuario que va utilizar la misma cantidad de recursos:

Después de guardar el archivo podemos verificar que efectivamente quedaron asignadas las cuotas. Para esto utilizamos el código “quota –u andresardila” el cual examina si el usuario especifico tienen cuotas de administración:

Podemos ver que las cuotas asignadas al usuario quedaron según lo programe.

7. Se requiere añadir más espacio de almacenamiento al volumen lógico correspondiente al sistema de archivos de los directorios “/var“y "/home" respectivamente. Esta modificación será definida bajo su propio criterio teniendo en cuenta la capacidad de disco que posea. De acuerdo con la asesoría del tutor gestione el proceso de asignación de más espacio en disco en las particiones /var y /home de la siguiente manera: Primero verifico la estructura de los discos y la forma como están montados. Para esto entro normalmente al sistema operativo y desde el terminal y el usuario root ejecuto “cfdisk”:

Después de ejecutarlo puedo identificar que cuento con una partición primaria (/dev/sda1) y una partición extendida (/dev/sda2), la cual tienen tres particiones que son sda5 (Swat), sda6 (/home) y sda7 (/var). Tengo también espacio libre en disco para gestionar el aumento de tamaño de las particiones. Para poder gestionar el proceso del aumento de tamaño en disco de estas particiones es necesario utilizar el disco de instalación de Ubuntu para poder gestionar el proceso. Inicio nuevamente la maquina pero desde el disco de instalación:

Entramos nuevamente al sistema de instalación y le damos en la opción probar Ubuntu. Una vez adentro abrimos un terminal y verificamos que el sistema de particiones coincida con el que verificamos previamente.

Como podemos ver aparecen las mismas particiones configuradas en mi sistema operativo. De acuerdo con la instalación tenemos que la partición /var hace referencia a la partición extendida sda7 y la partición /home hace referencia a la partición extendida sda6. El objetivo de este procedimiento es crear una partición nueva en el espacio libre y trasferir los archivos de la partición /var sda7 para posteriormente eliminarla. Luego de eliminarla la idea es utilizar el espacio que esta deja para ampliar la partición /home sda6. Iniciamos el proceso creando la nueva partición con el espacio libre que tenemos. La partición del /var y la del /home actualmente tienen un espacio de 3Gb, la idea es ampliar

este rango. Para eso voy a crear una partición de 4Gb teniendo en cuenta que tengo 10,5Gb de espacio libre. Desde el fcdisk vamos a crear una partición entrando en la opción “nueva”:

Le damos el tamaño de la partición, en este caso 4Gb

Y le damos en la opción “escribir” para que los cambios queden guardados en la unidad de disco:

Una vez queden los cambios salimos y procedemos a darle formato a la partición “/dev/sda3” por medio de la herramienta “mkfs.ext4”. En este procedimiento me toco reiniciar la consola porque no me corrieron los cambios. Pero apenas lo hice me dejo formatear la partición:

Después de este proceso procedemos hacer la transferencia de la partición /var sda7 a la partición que acabamos de crear sda3. Para esto utilizamos la herramienta “dd” de la siguiente manera:

De esta forma pasamos la partición /var sda7 a la partición sda3. Después de este proceso continuamos entrando al cfdisk para eliminar la partición sda7 donde estaba /var para poderle asignar más espacio a la partición home. Empezamos eliminando la partición sda7 desde el cfdisk:

Una vez eliminada la partición podemos ver que se libera espacio después de la partición /home sda6. La idea es poder tomar este espacio para asignárselo a la partición /home. Esto lo podemos hacer por medio de la utilidad “parted”:

Una vez adentro por medio del comando “print” podemos ver información sobre las particiones existentes en disco y su respectiva numeración:

En este caso podemos ver que la partición 6 corresponde a la partición /home sda6 que es la que necesitamos aumentar. Por medio del comando “resizepart” dentro de la utilidad “parted” en donde nos encontramos podemos aumentar el tamaño de nuestra partición. La idea es especificar el número de la partición (que en este caso es 6) seguido del número en el que va terminar la partición. Como la partición /var tenia 3Gb y la /home 3Gb la idea es aumentarla por lo menos 1Gb. En este caso la partición 6 empieza en 15Gb y termina en 18Gb vamos aumentar 1Gb por lo que el código quedaría de la siguiente forma:

Ejecutamos y miramos los resultados:

En este caso digite mal el numero pero rectifique y me pide reinicio.

Reiniciamos el sistema y entramos al sistema operativo. Una vez ahí iniciamos un terminal para entrar a cfdisk y corroborar que los cambios se generaron correctamente. Monto una imagen de cómo esta dimensionado el disco antes de redimensionamiento:

Y verificamos el estado actual:

De acuerdo con esta imagen corroboramos que efectivamente la partición aumento 1Gb, de 2.8Gb a 3.7Gb.

CONCLUSIONES



REFEENCIAS

https://nebul4ck.wordpress.com/comandos-para-la-administracion-de-procesos-del-sistema/ http://francisconi.org/linux/comandos/pstree https://geekytheory.com/funcionamiento-del-comando-top-en-linux

https://www.linuxito.com/gnu-linux/nivel-alto/38-ps-aux-explicado https://tuxfiles.wordpress.com/2012/01/03/entendiendo-el-comando-top/ https://www.genbeta.com/linux/linux-paso-a-paso-los-cinco-comandos-para-la-terminal-quetodo-usuario-de-ubuntu-debe-conocer

https://hipertextual.com/archivo/2014/06/comandos-informacion-sistema/

https://computernewage.com/2015/06/14/el-arbol-de-directorios-de-linux-al-detalle-quecontiene-cada-carpeta/#raiz

https://geekland.eu/estructura-de-directorios-en-linux/

https://debian-handbook.info/browse/es-ES/stable/sect.selinux.html https://www.ecured.cu/Ext2 https://www.ecured.cu/Ext3 https://www.ecured.cu/Ext4