Você está na página 1de 24

LABORATORIO

Practica No. 1

Tutor Laboratorio:

Integrantes:

SISTEMAS OPERATIVOS
Bogotá D.C., septiembre de 2018
INTRODUCCIÓN

Mediante el desarrollo de este laboratorio se realizará la instalación del sistema


operativo Ubuntu Server utilizando la herramienta de virtualización Virtual Box, se
utilizan comandos para la administración de sistemas operativos Linux y algunas
herramientas para Windows.
Se hace uso de la consola de Linux, para la obtención de información del sistema,
como disco duro, memoria, cpu, etc, mediante el uso de comandos.
ACTIVIDADES A DESARROLLAR

Realizar la instalación del sistema operativo Ubuntu server en una máquina virtual
la cual permite simular una maquina con las características de hardware en un
sistema operativo base, lo que hace eficiente

COMANDOS BÁSICOS COMANDOS ADMINISTRATIVOS


ls bash top cat /proc/interrupts
ls –l pwd PS –AF cat /proc/version
mkdir cal PS –AL cat /proc/net/dev
rmdir date Kill [PID] cat /proc/mounts
cat tree kill -9 [PID] lspci
more cd killall lshw –C
mv cd .. [Nombre_proceso] free m
rm sudo xkill ifconfig
cat file kill –STOP [PID] lsusb
clear man kill –CONT [PID] lsdev
cp who pstree [-pna] lshw
w df dev lsof
cat lsmod
/proc/cpuinfo
/proc/meminfo
Cuadro 1 comandos
1. Por medio del programa VirtualBox realizar la instalación de una máquina virtual
con Sistema operativo Ubuntu Server describir el proceso de instalación.

Proceso de Instalación:

a. Se seleccionan las características, como cantidad de memoria, numero de


núcleos, tamaño de disco, dispositivos periféricos y demás, para la creación de
la máquina virtual. Asimismo, se selecciona el archivo ISO con el sistema
operativo Linux a instalar.

b. Después de arrancada la máquina virtual, una de las primeras pantallas de la


instalación de Linux Ubuntu, muestra varias opciones, entonces seleccionamos
Instalar Ubuntu server. Posteriormente, solicita la detección de teclado.
c. El siguiente paso fue la selección de la ubicación (país donde nos encontramos),
desplegamos el menú y escogimos Colombia. Luego nos solicita que, si
deseamos instalar el cargador de arranque GRUB en el registro principal, o que
si por el contrario lo instalaremos de manera manual posteriormente.

d. Programas predeterminados a instalar y actualizaciones de seguridad


automáticas del sistema una vez termine la instalación.
e. Particionado de discos, selección de una porción o todo el disco para la
instalación y pasos guiados por un asistente.

f. Se configura el reloj si esta desactualizada la zona fecho y hora, luego aparece


la configuración de usuarios y contraseñas, en la cual solicitan que si se va a
cifrar la carpeta de información personal.
g. Configuración del nombre de la máquina, y el primer nombre de usuario que
hará uso del sistema.

h. Este establece la contraseña del nuevo usuario, teniendo en cuenta que el


teclado número del pad numérico, no es activado en ese momento.
i. Por último, se muestra una pantalla donde se informa que la instalación ha
terminado y que se puede arrancar el sistema operativo, le damos continuar y el
sistema se reinicia.

2. Identifique los comandos que se encuentra en el cuadro 1 indicando para que


sirve cada uno de ellos.
COMANDOS BÁSICOS
Comandos Descripción
Permite listar el contenido y la información opcional de los
directorios y archivos. (Unas de las opciones son: -r orden
inverso, -t ordena por fecha, -a muestra archivos ocultos, -s
ls
ordena por tamaño, -R lista los directorios y subdirectorios de
forma recursiva) Sin opciones solo enumera el directorio actual
de forma alfabética.ls
el comando ls con una opción adiciona que permite listar los
ls –l
archivos en formato largo y mostrando los premisos de acceso.
Crea un directorio o subdirectorio único o varios al tiempo, como
mkdir opciones se puede asignar permisos a las carpetas con -mode,
crear directorios principales con –p.
Permite borrar un directorio. interpreta los argumentos como
nombres de directorios que debe suprimir y los elimina en el
rmdir orden en el que fueron especificados. Si un directorio no está
vacío o bien no existe, no puede ser borrado, también admite
rutas absolutas o relativas.
Sirve para concatenar varios archivos para posteriormente
cat desplegarlos en pantalla. Admite como argumentos la lista de
ficheros que hay que enlazar.
Permite visualizar archivos haciendo una pausa entre pantallas
more puede recibir uno o más ficheros. Si se especifica mas de
more
uno, estos se mostrarán en el mismo orden, haciendo pausas y
mostrando un título antes de comenzar cada archivo.
sirve para modificar el nombre de archivos y directorios o para
trasladarlos a alguna otra ubicación dentro del árbol de
directorios.
se deben especificar uno o varios archivos de origen y una ruta
mv
de destino.
El mv comando no controla si el archivo ya existe y borrará
cualquier archivo que hubiera con el nombre de destino. -i con
este parámetro realiza una pregunta antes de sobrescribir.
rm (remove) sirve para borrar archivos o directorios. Admite
como argumentos una lista de rutas para ser suprimidas.
rm Se utiliza escribiendo el comando seguido de sus parámetros y
nombre de lo que se quiere borrar. Con -r se borran archivos
con su directorio contenedor.
Con este comando se limpia la pantalla del terminal. No recibe
clear
ningún argumento.
Copia un archivo o directorio origen a un archivo o directorio
destino. Se especifica primero el origen y luego el destino. Si
indicamos un nombre de destino diferente, cp copiará el archivo
cp
o directorio con el nuevo nombre. Con la opción -r que copia no
sólo el directorio especificado sino todos sus directorios internos
de forma recursiva.
Muestra información sobre los usuarios que están conectados en
ese momento a la máquina y sobre sus procesos. Para cada
w usuario se muestran los siguientes datos: nombre de login,
nombre de tty, nodo remoto, tiempo de conexión, tiempo inactivo,
JCPU, PCPU y la línea de comando del proceso en curso.
Inicia el interprete de comandos o instrucciones bash con el cual
bash se pueden automatizar tareas mediante pequeños programas o
scrip, con extención .sh
Devuelve la ruta en la que estas situado, se suele utilizar para
pwd saber en que parte de la estructura de directorios se encuentre
el usuario. El comando pwd no toma en cuenta argumentos.
Muestra un calendario visual en la salida standard de la consola,
recibe varios parámetros para permitir visualizar meses, años y
cal
fechas especificas. -j permite visualizar en formato juliano. -y
muestra todos los meses.
Este comando tiene dos funciones: una es la de mostrar en
pantalla la fecha del sistema (en varios formatos, como veremos
date a continuación), la otra es la función de configurar la hora del
sistema, pero para que esta funcionalidad se cumpla, se debe
ejecutar el comando desde una sesión de root
El comando tree lista los contenidos de un directorio en el formato
de árbol. Podemos saber qué hay en el nivel de profundidad
tree mostrándonos de forma grafica la estructura de directorios y
archivos. Con -L podemos visualizar el nivel de profundidad que
necesitemos, -d muestra solo directorios.
Cd; change directory, se utiliza para acceder a los directorios del
sistema pasando como parámetro el nombre del directorio, si
cd ningún parámetro nos dirige al directorio por default del usuario,
es decir a /home/usuario donde «usuario» es el nombre de
usuario con que ingresaste a tu sistema.
cd.. Cambia al directorio un nivel más bajo que el actual
Este comando permite a los usuarios ejecutar programas con
sudo
los privilegios de seguridad de otro usuario, normalmente el
usuario root, de manera segura. Requiere que los usuarios se
autentifiquen a si mismos a través de su contraseña
Este comando permite detectar el tipo y formato de un archivo.
file Para lograrlo, analiza el encabezado, el número mágico o bien el
contenido que el archivo posea.
Permite leer las páginas del manual de otros comandos o
man
programas.
Nos sirve para conocer diferentes datos de las sesiones activas
en un SO Linux. Como parámetros para el comando.
-b, tiempo transcurrido desde el inicio del sistema (boot).
who
-q, conteo de usuarios logueados al sistema.
-r, runlevel actual del sistema.
-u, usuarios logueados.

Comandos Administrativos
Comandos Descripción
Top es una herramienta que nos proporciona información de los
procesos que se están corriendo en ese momento en tiempo real
top con valor de uso de CPU, memoria, swap y la posibilidad de
manipular procesos. Presenta una interfaz simple que cuenta con
varias partes.
El comando ps en Linux simplemente nos muestra una
instantánea de los procesos actuales en ejecución, y con los
PS -AF
modificadores –AF se seleccionan todos los procesos y se muestra
toda la información a cerda de ellos.
El comando ps en Linux simplemente nos muestra una
PS -AL instantánea de los procesos actuales en ejecución, y con los
modificadores –AL se muestra todos los hilos de los procesos.
El comando kill se usa para detener o matar procesos en segundo
Kill [PID] plano. PID es el identificador del proceso y con este seleccionamos
el proceso que se quiere terminar.
El comando kill junto con la opción -9 fuerza para terminar el
kill -9 [PID] proceso. Esto es muy útil cuando un proceso se ha quedado
bloqueado y no es posible matarlo solo con el comando kill
Utilizando este comando se terminan todos los procesos que estén
Killall [Nombre_proceso] siendo ejecutados por el programa que indiques
[Nombre_proceso].
Con este comando convierte el cursor en una "X" y con un click en
xkill
cualquier ventana abierta mata el proceso.
El comando kill con la opción –STOP [PID] Señala jal proceso con
kill –STOP [PID] numero <pid>, que pare momentáneamente y queda a la espera
de ser reactivado nuevamente.
Señala al proceso con numero <pid>, que continué, este comando
kill –CONT [PID]
se utiliza para reanudar un proceso que le fue aplicado -STOP
muestra los procesos, desde la línea de comandos, en forma de
diagrama de árbol. Facilita información sobre la finalización de una
serie de procesos relacionados entre sí, esto es, todos los
pstree [-pna]
descendientes de un proceso particular. El programa deja claro
desde un principio que proceso es el primario y cuáles son los
secundarios.
Es usado en Linux para mostrar informaciones relacionadas al
df dev uso del disco duro, las particiones disponibles y las unidades de
disco montadas en el sistema.
Información acerca del procesador: su tipo, marca, modelo,
cat /proc/cpuinfo
rendimiento, etc.
Información acerca de la utilización de la memoria física y del
cat /proc/meminfo
archivo de intercambio.
Muestra el número de interrupciones por IRQ en la arquitectura
cat /proc/interrupts
x86.
Muestra la versión del kernel de Linux y gcc en uso, incluyendo la
cat /proc/version aportación de datos de la versión en el intérprete de comandos de
registro estándar.
mostrar adaptadores de red y estadísticas. Información sobre los
cat /proc/net/dev firewall, iptables, estadísticas de red y sockets, información sobre
Wireless entre otra.
Proporciona una lista de todos los montajes en uso por el sistema,
dividiéndolo en columnas: La primera columna especifica el
cat /proc/mounts dispositivo que está montado, la segunda revela el punto de
montaje, la tercera indica el tipo de sistema de archivos y la cuarta
si está montado en modo sólo lectura
Lista todos los componentes tipo pci (Peripheral Component
Interconnec) como son las tarjetas de red, tarjetas de sonido o
lspci
tarjetas de televisión. En la siguiente imagen se muestra en dónde
se conectan dichas tarjetas.
Es una herramienta que proporciona información detallada sobre
la configuración de hardware de la máquina.
Como por ejemplo la configuración de memoria exacta, la versión
lshw –C
de firmware, Mainboard configuración, la versión de CPU y la
velocidad, la configuración de cache, la velocidad del BUS. El
parámetro sirve para acotar el listado por categorías.
Muestra la cantidad total de memoria física y de intercambio
presente en el sistema, así como la memoria compartida y los
free m
buffers usados por el núcleo. Permite el uso de modificadores para
refinar la información.
Se utiliza para comprobar y configurar las interfaces de red
utilizando el terminal o CLI de máquinas Linux. Con el comando
ifconfig ifconfig podemos comprobar la información relativa a las interfaces
de red, podemos configurarlas o también podemos habilitarlas y
deshabilitarlas.
El comando lsusb es una utilidad del sistema operativo GNU/Linux
que muestra información de los dispositivos conectados al BUS de
lsusb datos USB. No solamente dispositivos permanentes, sino también
a los extraíbles. En particular, disponemos de una utilidad para
mostrar la lista de dispositivos USB y sus buses de conexión.
Muestra información sobre los dispositivos(canales IRQ,DMA y
lsdev
puertos E/S que utilizan)
se utiliza para mostrar todos los archivos de disco que mantienen
abiertos los procesos, incluyendo los sockets de red abiertos,
Lsof tuberías, entre otros tipos. También sirve para mostrar
rápidamente cuales son los archivos que un proceso (PID) o un
usuario está utilizando.
Lista todos los módulos cargados en el sistema. Puede utilizar
parámetro f también nos permitirá visualizar el tamaño de los
lsmod
mismos y si están siendo utilizados o no. También se le puede
especificar queremos mirar en particular.
Uso de los comandos:

MKDIR

FILE, WHO, BASH, KIALL


DATE, TREE, SUDO

TOP
3. Haciendo uso del sistema Linux por medio de comandos cree una carpeta con su
nombre y dentro de ella cree, carpetas con el nombre de los cursos que está
trabajando este periodo académico en el directorio home.

4. Dentro de la carpeta de sistemas operativos por medio de comandos cree


carpetas con el nombre de 5 sistemas operativos conocidos ejecute el comando tree
desde la carpeta HOME.
5. Por medio de comandos modifique, copie y elimine directorios.
6. Utilizando la línea de comandos Linux identificar le gestión de procesos y
procesador del sistema operativo ¿Cuáles son las características de administración
de procesos en Linux?

ps –e ps –ef

7. Haciendo uso de las herramientas del sistema operativo Windows 7 verificar la


gestión de procesos, procesador y memoria del sistema.
8. ¿Qué elementos identifican un proceso y cuáles son sus características?
PID - Process ID (Identificador de Proceso): Cada proceso tiene un número único
que lo identifica (ID) que comienza en 1 y se va incrementando. Cuando un nuevo
proceso es creado el siguiente PID no utilizado es asignado a ese nuevo proceso.
El PID generalmente es de tipo enteros de 16-bits con lo que se llega a un número
tope de procesos de 32767. Esto es más que suficiente y no hay que preocuparse
por ello.
PPID - Parent process ID (Identificador de Proceso Padre): Cada proceso tiene un
proceso padre. La excepción es el proceso 1 (llamado “init”) que es la raíz de la
jerarquía de procesos y no tiene proceso padre.
PGID - Process group ID (Identificador de Grupo de Proceso): Cada proceso es
miembro de un grupo de procesos, los cuales son usados para la distribución de
señales.
SID - Session ID (Identificador de Sesión): Los Identificadores de sesión son usados
principalmente para determinar que ocurre cuando la terminal se desconecta.
TTY - Controling TTY (Terminal Controladora): La terminal controladora es
usualmente el dispositivo desde donde el proceso fue iniciado y que se utiliza para
entradas y salidas. No todos los procesos tienen una terminal controladora. KPM
busca en el directorio /dev el nombre de la terminal. Sólo se muestran los 2 últimos
caracteres del tty.
TPGID - Process Group ID of tty Owner: Un tty en uso es propiedad de un proceso.
Este es el identificador del grupo de procesos (PGID) de aquellos procesos.
USER - Process owner (Propietario del proceso): Este es el nombre (real) del
usuario propietario del proceso. Si el UID del usuario efectivo es diferente al UID
real, se indica un * o un +. El asterisco es usado cuando el usuario efectivo es el
superusuario.
NICE - Time-sharing priority (Prioridad de Tiempo Compartido): El valor de prioridad
determina cómo un proceso es definido para correr, y su duración de tiempo. Este
valor está en el rango de -20 a +20, 0 (cero) por defecto. Bajar este valor le da al
proceso más tiempo en la CPU. Sólo el superusuario puede bajar este valor.
PRI - Lenght of next time-slice (Tamaño de la siguiente ranura de tiempo): Es un
número comprendido en el intervalo de -20 a +20 que indica el tamaño de la ranura
de tiempo en la que se le permitirá correr al proceso.
PLCY - Scheduling polIcy (política de planificación): Los procesos planificados como
F y R tienen espacio una prioridad en tiempo real entre 1 y 99. Un proceso correrá
hasta que aparezca un proceso inactivo con mayor prioridad. Los procesos
planificados como R correrán durante su ranura de tiempo. Los procesos
planificados como F corren hasta entregar su tiempo en la CPU o por solicitud de
un proceso de mayor prioridad. Sólo el superusuario puede cambiar la política de
planificación.
RPRI - Realtime priority (prioridad en tiempo normal): Los procesos en tiempo real
(F y R) tienen prioridades entre 1 y 99. Un proceso solicitará ejecución a cualquier
otro proceso que tenga baja prioridad. Los procesos de tiempo compartidos (política
0) tienen todos prioridad 0. Sólo el superusuario puede cambiar la prioridad de
tiempo real.
MAJFLP - Number of major faults occured (Fallos mayores de páginas): Un fallo de
página ocurre cuando un proceso intenta leer o escribir en una página de memoria
que no está presente en la memoria RAM. Un fallo mayor de página ocurre cuando
está involucrado un acceso a disco, tal es el caso del intercambio entre memoria y
disco (swapping).
MINFLT - Number of minor faults occured (Fallos menores de páginas): Un fallo de
página ocurre cuando un proceso intenta leer o escribir en una página de memoria
que no está presente en la memoria RAM. Un fallo menor de página ocurre cuando
no hay acceso al disco o cuando se intenta escribir en una página que no es
modificable, por ejemplo: al tratar de escribir en una página compartida de tipo
"copia en modificación" (copy on write).
TRS - Text resident set size (Kbytes) - Tamaño de texto residente: Es el tamaño del
texto (código ejecutable) de un proceso que se encuentra en la RAM.
DRS - Data resident set size (Kbytes) - Tamaño de datos residentes: Es el tamaño
de los datos (código no ejecutable) de un proceso que se encuentra en la RAM.
SIZE - Virtual image size of process (en Kbytes) - Tamaño de imagen virtual de
procesos: Es el tamaño total de la imagen de un proceso. Esto incluye código, datos,
librerías compartidas usadas por los procesos. También se incluyen las páginas de
intercambio.
SWAP - Kbytes on swap device (Kbytes del dispositivo de intercambio): Esto es
simplemente la diferencia entre SIZE y RSS.
RSS - Resident set size (Kbytes) - Tamaño de proceso residente: Es el tamaño de
una parte del proceso (código y datos) que actualmente están residentes en la RAM.
Incluye las librerías compartidas. Esto da una aproximación de cuanta RAM utiliza
un proceso.
SHARE - Shared memory (Kbytes) - Memoria compartida en Kbytes: Esta es la
cantidad de memoria que los procesos comparten con otros procesos.
DT - Number of dirty pages (Número de páginas no-actualizadas): Es la cantidad de
páginas alojadas en la RAM que han sido modificadas y que aún no se han bajado
al disco.
FLAGS - Process flags (hex) - Bandera de procesos (en hexadecimal): Contiene
información adicional acerca del estado de los procesos.
WCHAN - Function where process is sleeping (proceso en espera): El proceso está
esperando que suceda algún evento para continuar. Indica la función del kernel en
la que el proceso se detuvo.

9. Utilizando el sistema operativo Linux ejecute comandos para operar los diferentes
estados en los que puede estar un proceso. Indique cuales son y en Linux como se
ejecutan estas acciones.
10. Mostrar información de Hardware instalado en la máquina utilizando línea de
comandos Linux cpu, puertos, tarjetas.

11. Mostrar información de discos duros por medio de comandos LINUX.


12. Mostrar información de la gestión de memoria en Linux por medio de comandos.

13. Describir el sistema de archivos que tiene el sistema operativo Linux y Windows.
Linux: Soporta gran variedad de sistemas de ficheros, desde sistemas basados en
discos, como pueden ser ext2, ext3, ReiserFS, XFS, JFS, UFS, ISO9660, FAT,
FAT32 o NTFS, a sistemas de ficheros que sirven para comunicar equipos en la red
de diferentes sistemas operativos, como NFS (utilizado para compartir recursos
entre equipos Linux) o SMB (para compartir recursos entre máquinas Linux y
Windows).
Windows: Estos son los archivos necesarios para el funcionamiento interno del
Sistema Operativo, así como de los diferentes programas que trabajan en él. No
está recomendado moverlos, editarlos o variarlos de ningún modo porque pueden
afectar al buen funcionamiento del sistema.

386 --> Controlador de dispositivo virtual BFC --> Maletín


ACA --> Microsoft Agent Character BKF --> Copia de seguridad de Windows
ACG --> Vista previa de Microsoft Agent BLG --> Monitor del sistema
ACS --> Microsoft Agent Character CAT --> Catálogo de seguridad
ACW --> Configuración del asistente de CER --> Certificado de seguridad
Accesibilidad CFG --> Configuraciones
ANI --> Cursor animado CHK --> Fragmentos de archivos
BAT --> Archivo por lotes MS-DOS recuperados
CHM --> Ayuda HTML compilado NFO --> MSInfo
CLP --> Clip de Portapapeles OCX --> Control ActiveX
CMD --> Secuencia de comandos de OTF --> Fuente OpenType
Windows NT P7C --> Identificador digital
CNF --> Velocidad de marcado PFM --> Fuente Type 1
COM --> Aplicación MS-DOS PIF --> Acceso directo a programa MS-DOS
CPL --> Extensión del Panel de control PKO --> Objeto de seguridad de claves
CRL --> Lista de revocaciones de certificados públicas
CRT --> Certificado de seguridad PMA --> Archivo del Monitor de sistema
CUR --> Cursor PMC --> Archivo del Monitor de sistema
DAT --> Base de Datos PML --> Archivo del Monitor de sistema
DB --> Base de datos PMR --> Archivo del Monitor de sistema
DER --> Certificado de seguridad PMW --> Archivo del Monitor de sistema
DLL --> Librería, extensión de aplicación PNF --> Información de instalación
DRV --> Controlador de dispositivo precompilada
DS --> TWAIN Data Source file PSW --> Password Backup
DSN --> Nombre del origen de datos QDS --> Directorio de consulta
DUN --> Acceso telefónico de red RDP --> Conexión a Escritorio remoto
EXE --> Aplicación REG --> Entradas de registro
FND --> Búsqueda guardada SCF --> Windows Explorer Command
FNG --> Grupo de fuentes SCR --> Protector de pantalla
FOLDER --> Carpeta SCT --> Windows Script Component
FON --> Fuente SHB --> Acceso directo a documento
GRP --> Grupo de programas de Microsoft SHS --> Recorte
HLP --> Ayuda SYS --> Archivo de sistema
HT --> HyperTerminal THEME --> Tema de Windows
INF --> Información de instalación TMP --> Archivo temporal
INI --> Opciones de configuración TTC --> Fuente True Type
INS --> Configuración de comunicaciones de TTF --> Fuente TrueType
Internet UDL --> Vínculos a datos
ISP --> Configuración de comunicaciones de VXD --> Controlador de dispositivo virtual
Internet WAB --> Libreta de direcciones
JOB --> Objeto de tarea WMDB --> Biblioteca multimedia
KEY --> Entradas de registro WME --> Windows Media Encoder Session
LNK --> Acceso directo WSC --> Windows Script Component
MSC --> Documento de la consola común de WSF --> Windows Script File
Microsoft WSH --> Windows Script Host Settings File
MSI --> Paquete de Windows Installer ZAP --> Configuración de instalación de
MSP --> Revisión de Windows Installer software
MSSTYLES --> Estilo visual de Windows
CONCLUSIONES

Con esta práctica de laboratorio, pudimos realizar un acercamiento al sistema


operativo Linux, con la instalación desde cero en una máquina virtual del sistema
operativo Ubuntu Server. Durante la instalación tuvimos algunos inconvenientes que
fueron resueltos con la ayuda de información obtenida de internet, pero que
finalmente no fue tan complicada la instalación.

Igualmente, aprendimos los comandos básicos del sistema, para la realización de


tareas como la visualización de archivos y carpetas, conocer las características del
hardware, listado de procesos, uso de la memoria, espacio en disco duro y otros
comandos esenciales.
BIBLIOGRAFÍA

Linux al día en una hora. Susana Galán y Lino Floriano, Colección Al día en una
hora, Editorial Anaya Multimedia.

Sánchez Prieto, S., & Garcia


́ Población, O. (2008). Linux. Madrid: Ra-Ma.

10 comandos básicos para usar en la terminal de Linux. (2018). Recuperado de:


https://hipertextual.com/archivo/2014/04/comandos-basicos-terminal/

Instalacion de Linux y Comandos Básicos. Naranjo, D., Install, (2018).


Tutoriales/Manuales/Tips - Desde Linux. Recuperado de:
https://blog.desdelinux.net/tutoriales/

Você também pode gostar