Professional Documents
Culture Documents
LINUX
Índice:
1- INTRODUCCION A LINUX:
5- Administración:
6- Contenido Bonus:
GNU /Linux, es un sistema operativo que está enfocado por 2 partes; La parte principal que es
el kernel desarrollado por la fundación Linux y los compiladores desarrollados por la
comunidad GNU
Hoy las personas usan Linux directa e indirectamente en muchos dispositivos y maquinas
como locomotoras, celulares, cohetes, computadoras, GPS, autos-inteligentes y los servidores
que ejecutan los servicios de empresas como Facebook, Google, Youtube.
-Costos: Cualquier usuario puede tener acceso al código fuente, modificarlo de manera
gratuita, instalarlo en computadoras o servidores.
Recuerda debes tener instalado VirtualBox y dentro del programa darle la opción de File
import y seleccionar la imagen de Ubuntu que hayas descargado. El usuario: Ubuntu |
Contraseña: ubuntu123
Una vez tengas conexión entre las 2 máquinas (Puedes hacer un ping IP_ASIGNADA para
comprobar que hay conexión) podemos configurar para conectarnos vía SSH.
Autenticarse:
Una opción es iniciar con el usuario ubuntu usando el comando # ssh ubuntu@IP_A_Conectar
Crear llaves:
Dentro del Host debemos crear una llave para podernos conectar, lo hacemos con el
comando #ssh-keygen -b 4096 -> (Donde la opción de -b es la cantidad de bits a usar),
esta instrucción creara llaves en RSA.
Al crear esto se crean dos imágenes, una pública y una privada, NUNCA COMPARTAS LA
PRIVADA.
Ahora debemos subir la imagen pública al servidor, esto lo podemos hacer con # ssh-copy-
id -i .ssh/id_rsa.pub ubuntu@192.168.56.101 es hora de volver a conectarte al
servidor.
Dejamos seleccionada la instancia por defecto. igual que en la configuración de los detalles.
Al configurar el Security Group, debes crear un nuevo grupo, seleccionando los puertos a
usar, en este caso serán los puertos: 22, 80, 443, 8080.
Conectarse a la instancia:
Las llaves nos permiten conectarnos al servidor, al lanzar la instancia nos da la opcion de
crear una nueva llave y descargarla al ordenador.
Al conectarte por primera vez te pedirá aceptar una verificación y mostrará una alerta de
seguridad relacionadas con permisos de la llave, para solucionar esto debemos buscar la llave
y cambiarle los archivos con # chmod 600 Llave.pem
Host EJEMPLO_Platzi_Escuela
Una vez iniciado podemos usar el comando Ctrl + B y la opcion que queramos:
RECUERDA: EN LINUX LAS CARPETAS QUE INICIEN CON .carpeta SON CARPETAS
OCULTAS!
GNU/Linux se caracteriza por tener muchas alternativas para hacer ciertas tareas. En el caso
de edición de texto hay muchas opciones tanto gráficas como a nivel de consola, las más
famosas: VI y Nano.
VI / VIM
Es un editor de texto desarrollado por Bill Joy (Co-fundador de Sun Microsystem) en 1976; VI
está en casi todos los sistemas operativos *NIX y funciona a través de la consola. Por su
gran aceptación tiene un fork (un software derivado) llamado VIM (Vi IMProved) que mejora
sustancialmente sus características, por ejemplo, en VIM se agrega soporte de coloreado de
sintaxis, plugins, soporte a múltiples lenguajes, multi ventana, editor gráfico (gVim o kVim).
Ambos editores (se distribuyen por separado) están disponibles en la mayoría de los
repositorios de GNU/Linux, VI viene pre-instalado e instalar VIM es super fácil desde los
repositorios.
Modos de VI/VIM:
Tanto VI como VIM tienen dos modos que funcionan para interactuar con el editor sin el uso
del ratón. El primer modo, el “modo de comandos”, permite al usuario insertar un comando,
ya sea para guardar el archivo, abrir otro archivo o cerrar el programa, y el segundo es el
“modo de insertar” y permite al usuario ingresar contenido al archivo que está editando
actualmente. VIM tiene cuatro modos de trabajo adicionales en comparación a VI:
Nano
Es un editor de texto más sencillo de usar en comparación a VI/VIM pero con menos
características, no viene incorporado a ningún sistema operativo *NIX, pero su instalación es
muy sencilla. Nano es un clon de Pico (editor de texto para UNIX, con licencia propietaria),
en su web oficial puede verse cómo es su interfaz.
Instalación de VIM y de Nano en Fedora / CentOS:
Los dos editores pueden estar instalados al tiempo, con el gestor de paquetes podemos
instalarlos con un solo comando:
También con Fedora / CentOS es posible tener instalados los dos editores.
Comandos de inserción:
/ - Buscar una cadena de caracteres a partir del cursor hacía el fin del
archivo.
? - Buscar una cadena de caracteres a partir del cursor hacía el inicio del
archivo.
n - Ir a la siguiente cadena que coincida con la que se busca en el
archivo.
Comandos para guardar y salir:
Arquitectura:
Una de las cosas más importantes que debes entender es la estructura de archivos, el
directorio raíz /
Directorios importantes:
/bin archivos binarios de los usuarios del sistema.
/boot guarda los archivos del arranque del sistema.
/dev guarda las definiciones de todos los dispositivos.
/etc archivos de configuración del sistema.
/home se almacenan los archivos de cada usuario.
/lib, almacena las librerías del sistema.
/lib64 almacena las librerías del sistema de 64 bits.
/lost+found espacio temporal donde se guardan datos que se recuperan despues de la
caída del sistema.
/media cuando montamos en el sistema dispositivos, los podemos ver en esta carpeta.
/mnt cuando montamos en el sistema dispositivos, los podemos ver en esta carpeta.
/opt almacenas los programas instalados de terceros.
/proc sistema de archivo virtual que lo crea y destruye el sistema. Contiene informacion
del mismo. (forma anárquica)
/root almacena los archivos del super usuario Root.
/run datos variables en tiempo de ejecución. Informacion del sistema desde el ultimo
booteo.
/sbin archivos binarios del administrador.
/srv archivos de datos específicos para cada servicio instalado en el sistema.
/sys evolución de /proc pero localizado de forma jerarquica.
/tmp almacenamiento de archivos temporales .
/usr programas instalados por defecto.
/var se utiliza para guardar archivos de logs, backups, servidor web.
Recuerda: Todo en Linux es un Archivo
3-2 Administrar discos y particiones Linux
Todos los discos duros tienen particiones, puedes pensar en esto como una torta que se
divide en pedazos físicos.
Las particiones nos permiten segmentar un disco, asignando cada espacio para una labor en
particular.
Crear disco duro en Amazon:
En Amazon puedes crear un nuevo volumen que asignamos al servidor que creamos.
Para asignarlo con click derecho le damos la opción attach y podemos dejar la configuración
por defecto.
Recuerda seleccionar la misma zona al crear el volumen.
Verificar el montaje del disco:
Ingresa como super usuario con el comando sudo su
Podemos usar el comando # dmesg para verificar que se montó el disco duro que creamos.
Listar discos y particiones:
Podemos usar el comando # fdisk y nos va a listar todos los discos.
También podemos utilizar # fdisk /dev/xvd para ingresar a un disco en específico.
Recuerda, los discos son los que no tienen un número.
Tipos de particiones: Existen dos tipos de tablas de particiones:
La tradicional: Que permite 4 particiones primarias y muchas lógicas (las particiones
lógicas sirven como contenedores para más particiones).
Gpt: Que permite tener muchas más particiones.
Crear partición:
Ejecutamos # fdisk /dev/xvd para ingresar al disco.
Creamos una nueva partición con N
Sí es la primera partición debemos crear una primaria, usamos el comando p
Seleccionamos el tamaño de la partición, diciéndole +20G
Cambiar tipo de partición
Ejecutamos fdisk /dev/xvd para ingresar al disco.
Seleccionamos el número de la partición.
Seleccionamos t
Elegimos el número del tipo de partición.
Eliminar partición
Entramos a fdisk especificando el disco duro.
Usamos el comando d
Seleccionamos la partición.
Guardamos cambios con w
Guardar los cambios:
Con w guardamos los cambios que realizamos, si salimos sin guardar la configuración que
hacemos no se va a escribir en el disco.
Ver tabla de particiones
Con el comando # fdisk -l podemos ver cómo están distribuidas las particiones.
Formatear particiones
El comando mkfs nos permite formatear una partición usando el sistema de archivos que
queramos.
Formato con FAT32:
Podemos ejecutar el comando # mkfs.vfat /dev/xvdf1 para formatear la partición xvdf1 con
FAT32.
Formato con EXT3:
Podemos ejecutar el comando # mkfs.ext3 /dev/xvdf5 para formatear la partición xvdf5 con
EXT3.
Formato con EXT4:
Podemos ejecutar el comando # mkfs.ext4 /dev/xvdf6 para formatear la partición xvdf6 con
EXT4.
Formato con XFS:
Podemos ejecutar el comando # mkfs.xfs /dev/xvdf6 para formatear la partición xvdf6 con
XFS.
Montar las particiones
Debemos crear un directorio por cada partición que deseamos montar, en este caso usamos
tmp dentro de esta carpeta podemos ejecutar:
mkdir xvdf1
mkdir xvdf3
mount /dev/xvdf1 /tmp/xvdf1
mount /dev/xvdf3 /tmp/xvdf3
Desmontar una partición
Para poder desmontar una partición, debes no estar sobre la partición.
Puedes ejecutar el comando:
unmount /tmp/xvdf1
En este caso /tmp/xvdf1 es donde tenemos montada la partición.
$ nslookup www.google.com
nslookup www.google.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: www.google.com
Address: 172.217.8.100
Name: www.google.com
Address: 2607:f8b0:4008:811::2004
Para ver los DNS que tiene el servidor o la maquina ejecutamos nslookup sin parámetros y
nos va a presentar un prompt. En ese prompt escribimos la palabra server y nos devolverá
las IP’s de nuestros DNS
> server
Defaultserver: 8.8.8.8
Address: 8.8.8.8#53
Defaultserver: 8.8.4.4
Address: 8.8.4.4#53
Tambien es posible visualizar información específica indicando el tipo de búsqueda (Query)
que queremos realizar, por ejemplo, si queremos localizar el servidor de correo de Gmail, en
el prompt del nslookup escribimos set Q=MX y luego el dominio, en este caso gmail.com
> set Q=MX
> gmail.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
gmail.com mail exchanger = 20 alt2.gmail-smtp-in.l.google.com.
gmail.com mail exchanger = 30 alt3.gmail-smtp-in.l.google.com.
gmail.com mail exchanger = 5 gmail-smtp-in.l.google.com.
gmail.com mail exchanger = 40 alt4.gmail-smtp-in.l.google.com.
gmail.com mail exchanger = 10 alt1.gmail-smtp-in.l.google.com.
Non-authoritative answer:
Name: google.com
Address: 172.217.2.142
Name: google.com
Address: 2607:f8b0:4008:811::200e
google.com nameserver = ns3.google.com.
google.com nameserver = ns1.google.com.
google.com mail exchanger = 20 alt1.aspmx.l.google.com.
google.com mail exchanger = 40 alt3.aspmx.l.google.com.
google.com nameserver = ns4.google.com.
google.com mail exchanger = 50 alt4.aspmx.l.google.com.
google.com text = "v=spf1 include:_spf.google.com ~all"
google.com rdata_257 = 0 issue "pki.goog"
google.com mail exchanger = 30 alt2.aspmx.l.google.com.
google.com nameserver = ns2.google.com.
google.com mail exchanger = 10 aspmx.l.google.com.
google.com
origin = ns1.google.com
mail addr = dns-admin.google.com
serial = 178412874
refresh = 900
retry = 900
expire = 1800
minimum = 60
Authoritative answers can be found from:
>
Eso es muy útil para realizar una revisión de nuestro dominio si, por ejemplo, estamos
implementando un servidor de correo electrónico o un servidor web para nuestra aplicación o
página web. Esto también es posible realizarlo con dig