Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save ingmarioalberto/83af5da3410dbb3b15e085caab793c12 to your computer and use it in GitHub Desktop.
Save ingmarioalberto/83af5da3410dbb3b15e085caab793c12 to your computer and use it in GitHub Desktop.
Notas Diplomado Linux
60 horas - ultimo viernes y sabado examen
http://diplomado.gnuin0.info
on-premise: datacenter que se encuentra en las empresas
Sistema operativo: Software que gestiona la omunicacion entre una
persona y un sistema. Conj. de progs que trabajan coord para admin de
manera optima los recursos físicos de una computadora.
Como bootea una PC BIOS->MBR->GRUB->Kernel->Init>Runlevel
BIOS:Basic Input Output System
MBR:Master Boot Record
GRUB:Grand Unified Bootloader
Kernel:/sbin/init
Init:Execs runlevels Runlevel:Execs programs /etc/rc.d/rc*.d
Entorno grafico=mayor superficie de ataque (mas servicios corriendo que
pueden ser atacados)
TAREA (Subir a moodle en PDF ) nombre_apellidos_tarea1.pdf
Que es Open Source y Free Software
diferencias Que licenciamientos hay para ambos
5 principios
Por que la licencia se considera open source o free software
TAREA: Identificar que son los primeros N digitos de la contraseña hasheada
TAREA: La contraseña en los grupos para que sirve?
---------------------
Leer noticias de Linux
--------------------------
En Linux, todo es un archivo
ls -l
-rwx------.
123456789AB
1:
d:directorio
b:hardware
c:Dispositivos de I/O
l:Enlace simbolico
s:sockets
p:tuberías
ls -lu: la fecha de acceso del archivo (atime)
ls -l: la fecha de modificación (mtime)
ls -lc: la fecha de creación (ctime)
inodo: indica donde esta la ubicacion del archivo fisicamente en el disco
chown:
chmod:
Un usuario puede tener dos tipos de grupos:
+->primarios:
siempre debe tener grupo primario
+->secundarios
opcional
usuario:pass shadow:uid:gid:Nombre:home:shell
admin:x:1000:1000:Admin:/home/admin:/bin/bash
cat /etc/shells -> muestra las shells disponibles en el sistema
admin:$6$Pnd7.../:17265:0:99999:7:
usuario
contraseña hasheada
minimo de dias poder cambiar pass
maximo de dias en que la contraseña es valida
otro que no vi
addusera
usermod
passwd
userdel
man -k "string" => Buscará todo los comandos que tengan que ver con el string.
sudo: en centos para usar sudo debemos pertenecer al grupo wheel
find . -type f -name *.php
rutas absolutas y relativas
addgroup
adduser
Umask
Permisos DAC (Discretional Access Control)
Permisos Estándard
Permiso
Valor numérico Octal
Lectura:
Archivo: Leer
Directorio: Listar contenido
Escritura
Archiuvo: Cambiar archivo
Dir: Eliminar y modificar permisos de los archivos
Ejecucion
Archivo:Ejecutar archivo
Dir: Cambiar de directorio
Permisos DAC (Discretional Access Control)
Control de acceso (Permisos Especiales)
SUID:4 u+s:
+->archivos:Usuario puede ejecutar el archivo con permisos del dueño del archivo
+->dirs: sin significado
SGID:2 g+s
+ ->archivos:Usuario puede ejecutar el archivo con permisos del grupo dueño
+->dirs:Los archivos creados en el dir obtienen el mismo grupo al que pertenece el directorio!!!
Sticky bit:1 (+t)
+->archivos:sin significado
+->dirs:Previene que los usuarios puedan borrar archivos de otros usuarios
------------------------Clase 2---------------------------
Permisos ACL
getfacl
no permitir que el usuario batman pueda leer el archivo text.txt
setfacl -m u:batman:--- text.txt
----
Permisos especiales SELINUX
Politica: colecc de reglas q definen q fuente tiene acceso a que obj
Dominio de origen: El obj q está intentnado acceder a un obj, típico user/proc
Dominio destino:Lo q se está intentado acceder típico: archivo/puerto
ls -laZ nos muestra la info de SELinux de los archivos
usuario: _u
rol: _r
tipo:_t
Se lee separado por ":"
-rw-r-----+ admin admin unconfined_u:object_r:home_root_t:s0 text.txt
se configura en:
/etc/sysconfig/selinux
setenforce <0/1>
getenforce
Cambiar el contexto de un dir
semanage fcontext -a -t public_content_t '/directorio(/.*)?'
Reetiquetar (refresh/update) el contexto del dir
restorecon -RvF /dir1
manejador de contextos:
cambiar contexto de un archivo de forma temportal
chcon -t context_type filename
Contextos más usuales:
httpd_sys_content_t:Página web estática
httpd_sys_script_ro_t:CGI script para leer archivos y directorios
httpd_sys_script_rw_t:Para una secuencia de comandos CGI incluye eliminar
httpd_sys_script_exec_t:CGI de ejecución
Listar todos los archivos del sistema con su contexto
semanage fcontext -l
Listar todos los contextos disponibles en el sistema (setools-console)
--------------
Laravel:
El archivo de configuración es: .env
el grupo de los archivos será (apache)
el usuario es el que trabajará
para que tome htaccess hay que poner AllowOverride en ALL
Si: ls -laZ nos muestra permisos que no son para apache:
probar si con setenforce 0 ?? si si, es un SELINUX por lo tanto:
semanage fcontext -a -t httpd_sys_script_exec_t '/var/www/html/proyecto(/.*)?'
restorecon -RvF /var/www/html/proyecto
------------------
Clase 3
php artisan revisar
SElinux guarda errores en: /var/log/audit/audit.log
solo lectura:
sudo semanage fcontext -a -t httpd_sys_content_t '/var/www/html/proyecto(/.*)?'
Como laravel necesita escribir en ..../.storage
lectura/escritura:
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/proyecto(/.*)?'
aplicar:
sudo restorecon -RvF /var/www/html/proyecto
no puede enviar correo por lo que:
setsebool -P httpd_can_network_connect on
setsebool -P httpd_can_sendmail on
-P: permanente
investigar Terraform
https://wiki.centos.org/HowTos/SELinux#targetText=To%20troubleshoot%20any%20issue%2C%20the,which%20is%20started%20by%20default.
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/managing_confined_services/sect-managing_confined_services-the_apache_http_server-types
semanage fcontext -l
yum install -y setools-console
seinfo -t
semanage login -l
getsebool -a
setsebool -P ..
checar selinux alertas
ausearch -c 'sshd' --raw | audit2allow -M my-sshd
semodule -i my-sshd.pp
semanage port -a -t ssh_port_t -p tcp 2222
------------clase 4
firewall-cmd --list-all
sudo firewall-cmd --zone=public --add-port=2222/tcp --permanent
sudo firewall-cmd --reload
configurar rich rules
Permitir el trafico del rango 10.0.0.0/24 a solo 192.168.0.10/32 a través de los puertos 8080 hasta 8090
comandos redes:
ping
traceroute
hostname
netstat
host
iptables:
INPUT:Todos los paquetes que se dirigen al equipo
OUTPUT:todos los paquetes que se originar en el equipo
FORWARD:routers
ACCEPT:Përmite destino
DROP:Descarta paquete
REJECT:Descarta paquete con msg "reject"
LOG:Registra paquete y continua a la sig. regla
iptables -L -n -v
iptables -L OUTPUT -n -v
iptables -L INPUT -n -v
crearon firewalld que es mas facil de configurar que iptables
firewall-cmd --get-default-zone
whois
ifconfig
nmcli
nmtui
ip
instalar
rpm -ivh asdasd.rpm
buscar el paquete que instalo un archivo de config
rpm -qf /etc/grub2.cfg
desinstalar
rpm -e awstats-6.5.1.noarch
listar repos en sistema
yum repolist
listar todos los paq instalados
yum list installed
instalar
yum install httpd
listar los grupos disponibles activos
yum grouplist
instalar un grupo especifico
yum groupinstall "Emacs"
buscar algun paquete
yum search "web server"
dpkg -i etc.deb
dpkg -L xxxx
dpkg -r paquete
apt
instalar nginx:
yum install nginx
modificar puerto 8081
vi /etc/nginx/nginx.conf
# ausearch -c 'nginx' --raw | audit2allow -M my-nginx
# semodule -i my-nginx.pp
instalar php-fpm
para configurar php-fpm se hace en el conf de nginx
location ~ .php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
createrepo
filtrador de contenidos
- bajar dansguardian de: http://blog.unleashkids.org/repos/centos/dansguardian-2.12.0.3-1.1.x86_64.rpm
- mejor de http://rpm.pbone.net/index.php3/stat/4/idpl/54123578/dir/centos_7/com/dansguardian-2.12.0.3-1.3.x86_64.rpm.html
- instalar squid con yum
- guia http://dnaeon.github.io/dansguardian-squid-freebsd/
- guia ulises: https://videlcloud.wordpress.com/2017/07/29/instalacion-y-configuracion-de-squid-con-dansguardian-rhel-7-fedora-26-24-centos-7/
- como root squid -z
Como funciona Dansguardian con Squid
Navegador->Dansguardian->Proxy->WEB
Dansguardian
+-> conf
+-> bannedsitelist
+-> bannedphraselist
buscar archivo de palabras clave a bloquear
modificar css y ner ip
ADMINISTRACION DE PROCESOS
top,htop,ps,pstree
nice,renice
SystemV (init)
init
+->proceso1
+->proceso2
+->proceso3
Upstart (by canonical)
/ | \
Proc1 Proc2 Proc3
Perfecta retrocompatibilidad, upstart puede ejecutar scripts de sysvinit sin mods
SystemD
Centos7,Fedora>19: SystemD
Debian 6,SLES11: SysVInit
RHEL,Ubuntu12.04: upstart
Niveles de ejecución SystemV:
0:hald/poweroff
1:monousuario
2:multiuser sin red
3:multiuser con red
4:
5:grafico
Cambiar a modo texto definitivo
systemctl set-default multi-user.target
Cambiar a modo texto temporal
systemctl isolate multi-user.target
Para analizar el tiempo de carga dl sistema
sudo systemd-analyze blame
sudo systemd-analyze plot >/var/tmp/plot.svg
eog /var/tmp/plot.svg --display :0
lista servicios activos:
systemctl list-units --type service
lista todos los servicios
systemctl list-units --type service --all
Ver el estado del proceso
systemctl list-unit-files --type service
timedatectl list-timezonesa
timedatectl set-timezone zone
timedatectl status
journalctl
systemd tiene un sistema de logs propio llamado journal
Variables de entorno
$SHELL
$HOME
$PATH
$PS1
$USER
$HOSTNAME
redireccionamiento
stdin
stdout
stderr
paramestros scripts
$0 nombre del script
$* conjunto de todos los args en un solo argumento
$@ conjunto de args en un solo param
$# num de parametros script
$? codigo error de ultimo comando
$$ el pid del script
$! el pid del ultimo proceso ejecutado en 2o plano
ls | xargs rm -fr
xargs pasa los argumentos de stdin al argumento
ejercicio
csv:
nombre apellido1 apellido2 fecnac
etc etc etc1 etc2 dd/mm/aaaa
1. crear nombre usuario nombre+3letras(apellido1)+3letras(apellido2)+anonac
2. contraseña aleatoria
3. crear usuario con lo anterior
4. enviar correo con la contraseña
5. solicitar cambio de pass despues de primer inicio
arrancar centos sin pass
grub, cambiar "ro" por rw init=/bin/bash
quitar "rhgb" y "quiet"
passwd root
touch /.autorelabel
exec /sbin/init
Como evitar que grub pueda ser modificado (grub con contraseña)
* con un hash
* usar comando para generar hash acorde a version de grub
Proteger GRUB con contraseña
Creamos una contraseña:
#grub2-mkpasswd-pbkdf2
Editamos el archivo de configuración de GRUB: /etc/grub2.cfg
set superusers="USUARIO"
export superusers
password_pbkdf2 USUARIO HASH_GENERADO_CON_grub2-mkpasswd-pbkdf2
info: http://elinuxbook.com/how-to-protect-grub2-bootloader-with-password-in-linux/
Respaldar BD de MySQL y PostgreSQL
la BD deberán tener el siguiente format de nombre
nombre_de_bd_dia_mes_ano.sql.tar.gz
por seguridad los respaldos deben de copiarse del server orig a un server de respaldos, con scp/rsync
1. sudo yum install -y postgresql.x86_64 postgresql-server.x86_64 postgresql-contrib
2. sudo postgresql-setup initdb
3. sudo systemctl start postgresql
4. sudo systemctl enable postgresql
5. secure:
5.1. sudo passwd postgres
5.2. su - postgres
5.2.1. psql -d template1 -c "ALTER USER postgres WITH PASSWORD 'q1w2e3r4t5';"
5.3. psql postgres
sqlDBs=$(mktemp /tmp/psqldbs.XXXXXX)
su - postgres -c "psql -c 'SELECT datname FROM pg_database;'|tail -n +3|head -n -2" >$sqlDBs
su - postgres -c "pg_dump template1"
fecha=`date '+%d_%m_%Y'`
mysql -uroot --password=123qwe -e "show databases \G" | grep Database: |awk '{print $2}'
#!/bin/bash
psqldbs=`su - postgres -c "psql -c 'SELECT datname FROM pg_database;'|tail -n +3|head -n -2"`
echo $psqldbs | while IFS= read -r db
do
su - postgres -c "pg_dump $db" >$db_$fecha.sql
tar czf $db_$fecha.sql.tar.gz $db_$fecha.sql
done
---------------------------------------------------------------
Configuracion TigerVNC
yum install tigervnc-server tigervnc
vncpasswd
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
reemplazar <USER> por admin
systemctl enable vncserver@:1.service
systemctl start vncserver@:1.service
firewall-cmd --permanent --add-service vnc-server
systemctl restart firewalld.service
por ahi en algun momento pide: systemctl daemon-reload
directorio /boot debe vivir en una particion con espacio suficiente y en particion primaria
MBR
+->4 particiones Primarias
+->1 de ellas puede ser extendida
+->que pueden contener N particiones lógicas
GUID/GPT->128 particiones
fdisk/gdisk ya soportan tanto MBR/GUID
Sistemas de archivos mas comunes:
EXT4, XFS, JFS, SWAP
EXT2->EXT3->EXT4
archivos mas grandes / directorios recursivos sin limite / mayor velocidad
EXT4->Tamaño maximo de 1 Exabyte y archivos de 16TB
XFS orig de unix, alta velocidad y cantidad de datos
Estructura de sistema de archivos:
+->Filesystem Hierarchy Standard
+->/mnt puntos de montaje
+->/proc seudo sistema de archivos como interfaz del nucleo
+->/proc/devices:dispositivos de caracter/bloque configurados actualmente
+->/proc/filesystems:lista los FS soportados
+->/proc/mdstat:???
+->/proc/mounts:FS montados
+->/root directorio inicial de usuario root
+->/sbin comandos especiales para root o superusers
+->/tmp archivos temporales
+->/usr comandos, aplicaciones, docs, libs necesarias para el SO
+->/var archivos que cambian y BD
RHEL recomienda particiones:
1 SWAP
1 /boot particion primaria independiente de 500MB
1 /
1 /home
el Prof recomienda para el examen
+->leerlo todo por que en el problema 1 y el 10 pueden tener algo q ver.
+->saber la diferencia entre GB y GiB
+->pondra problemas de ¿Como generar particiones primarias y extendidas?
Problema
1. Agregar particionde 3GB al VMware WS (reiniciar)
2. particionar
+->primaria 1GB
+->primaria 500MB
+->extendida 1.5GB
3. lsblk -> ya ve el disco
4.0. NOTA Aqui ya hicimos todo mal por que el prob pidio en MB y el fdisk trabaja en MiB, tons tenemos que hacer la conversion.
4. fdisk /dev/sdb
+->n
+->p
+-><enter>
+-><enter>
+->+1G
Partition 1 of type Linux and of size 1 GiB is set
Orden (m para obtener ayuda): p
Disk /dev/sdb: 3221 MB, 3221225472 bytes, 6291456 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Identificador del disco: 0x620431e3
Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/sdb1 2048 2099199 1048576 83 Linux
+->w
para crear las demás repetir
5. fdisk /dev/sdb
+->n
+->p
+-><enter>
+-><enter>
+->+500M
6. fdisk /dev/sdb
+->n
+->e
+-><enter>
+-><enter>
+->+1500M
(nota.. no trabajar sobre sdb3)
7. sudo fdisk /dev/sdb
pero al darle:
+->n
p primary (2 primary, 1 extended, 1 free)
l logical (numbered from 5)
+->l
..
+-><enter>
+-+500M
------------------------
mkfs, resize2fs
------------------------
sudo mkfs.ext4 /dev/sdb1
sudo mkfs.ext3 /dev/sdb2
# para instalar exfat:
yum install -y http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
yum install exfat-utils fuse-exfat
#
sudo mkfs.exfat /dev/sdb5
sudo mkfs.xfs /dev/sdb6
------------------------
Falta montarlos:
en /etc/fstab se puede configurar los FS a montar.
contenido:
<filesystem> <dir> <type> <options> <dump><pass>
<filesystem>:particion o dispositivo o disk id
<dir>:(en que directorio será montado)
<type>: ext4
<options>: indica las opciones de montake que la orden mount utilizar{a (quota)
<dump>:indica que si se hace respaldo o no al inicio
<pass>:fsck decide el orden en que los sistemas serán comprobados
------------------------
mount,partprobe
------------------------
df -Th: espacio libre
du -h : tamaño de un archivo o de un directorio / fs
------------------------
mkswap: crear un dispositivo swap (puede ser una particion o un archivo creado con dd)
swapon: activar el dispositivo swap
swapoff:desactivar
-------------------------
LVM: reune varias particiones/discos en una sola....
pro: agrega un nivel de abstracción para poder crecer los volumenes.
contra: si se jode un disco, se jode todo
+->pero si están en raid, no hay tanto problema
Disco1...DiscoN(physical volume)
+->Volume group
+->logical volume
comandos:
+->pvcreate->disco fisico
+->vgcreate->vol group
+->lvcreate->logical vol.
Herramientas para redimensioanr
vgextend lvextend
Herramientas para visualizar
pvdisplay...etc
----------
Nota: La particion boot nunca debe estar en LVM
-------------------------------------------------------------------------------
sudo pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name centos
PV Size 19.51 GiB / not usable 3.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 4994
Free PE 10
Allocated PE 4984
PV UUID XupARz-Oack-Uwaq-mWCW-ZmhH-LfZr-Xcpi3C
-------------------------------------------------------------------------------
usando el VG name: centos:
sudo vgdisplay centos
--- Volume group ---
VG Name centos
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size <19.51 GiB
PE Size 4.00 MiB
Total PE 4994
Alloc PE / Size 4984 / <19.47 GiB
Free PE / Size 10 / 40.00 MiB
VG UUID HgvOvi-rCeA-1Cto-kBRK-6zGG-285g-L3UFYu
-------------------------------------------------------------------------------
[admin@localhost ~]$ sudo lvdisplay
--- Logical volume ---
LV Path /dev/centos/swap
LV Name swap
VG Name centos
LV UUID DTbSja-OgWG-BEYy-Z1dq-euX5-7WYy-gPW6Es
LV Write Access read/write
LV Creation host, time localhost, 2017-04-08 19:01:36 -0500
LV Status available
# open 2
LV Size 2.00 GiB
Current LE 512
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:1
--- Logical volume ---
LV Path /dev/centos/root
LV Name root
VG Name centos
LV UUID Lo2lE9-L56g-QyBv-t3xm-ode3-14NO-1o4nXb
LV Write Access read/write
LV Creation host, time localhost, 2017-04-08 19:01:36 -0500
LV Status available
# open 1
LV Size <17.47 GiB
Current LE 4472
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
------------------------------------------------------------
Agregar a la VM nuevo disco de 5GB
1. sudo fdisk /dev/sdc
n
p
<enter>
<enter>
<enter>
2. sudo pvcreate /dev/sdc1
3. sudo vgcreate diplomado /dev/sdc1
# size nombre-logico nombre-grupo
# \ \ /
4. sudo lvcreate -L 3G -n gnu-linux diplomado
# FS nombre-grupo nombre-logico
# \ \ /
5. sudo mkfs.ext4 /dev/diplomado/gnu-linux
-------------------
Extender el grupo para tener 5GB
6. sudo lvextend -L +2000M /dev/diplomado/gnu-linux
--------------------
Extender el volumen a todo el tamaño disponible
7. sudo lvextend -l +100%FREE /dev/diplomado/gnu-linux
--------------------
Extender el sistema de archivos
montamos antes, para ver que mide lo que dice
mkdir /tmp/gnu
sudo mount /dev/diplomado/gnu-linux /tmp/gnu
df -H /tmp/gnu
S.ficheros Tamaño Usados Disp Uso% Montado en
/dev/mapper/diplomado-gnu--linux 3.2G 9.5M 3.0G 1% /tmp/gnu
sudo resize2fs /dev/diplomado/gnu-linux
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/diplomado/gnu-linux is mounted on /tmp/gnu; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/diplomado/gnu-linux is now 1309696 blocks long.
df -H /tmp/gnu
S.ficheros Tamaño Usados Disp Uso% Montado en
/dev/mapper/diplomado-gnu--linux 5.3G 13M 5.0G 1% /tmp/gnu
---------------------------------------
Decrecer el sistema de archivos a 1GB
Decrecer el volumen a 1GB
NOTA: Al decrecer, primero es el sistema de archivos y luego el volumen
0. sudo umount /dev/diplomado/gnu-linux
1. sudo resize2fs /dev/diplomado/gnu-linux 1G
1.1. sudo e2fsck -f /dev/diplomado/gnu-linux
2. sudo lvresize -L 1G /dev/diplomado/gnu-linux
WARNING: Reducing active logical volume to 1.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce diplomado/gnu-linux? [y/n]: y
Size of logical volume diplomado/gnu-linux changed from <5.00 GiB (1279 extents) to 1.00 GiB (256 extents).
Logical volume diplomado/gnu-linux successfully resized.
o bien:
2. sudo lvresize -l +100%FREE /dev/diplomado/gnu-linux
------------------------------------------
Agregar otro disco a la VM de 2GB y agregarlo al grupo y crecer el VG y LV y sistema de archivos
1. sudo fdisk /dev/sdd
1.1. n,p,<enter>x3
2. sudo pvcreate /dev/sdd1
3. sudo vgextend diplomado /dev/sdd1
4. sudo lvresize -l +100%FREE /dev/diplomado/gnu-linux
---------------------------------------------------------
*Hay que practicar para ver cuando el sistema toma por default GiB o GB
investigar lvresize -r
---------------------
Examen
Instalacion del sistema
usuarios y grupos
permisos mac,dac,acl
instalacion de paquetes
bases de datos conf
particionado de discos
firewall
scripts
config recusos compartidos en red recuperacion contraseña root y proteccion de grub
-----------------------------
Virtualizacion
KVM vs VMWare ESX vs HyperV vs Citrix Xen Server
caracteristica de virtualizacion debe poder aislar recursos
KVM: yum -y install qemu-kvm libvirt virt-install bridge-utils virt-manager qemu-common qemu-system-x86
->enable & start libvirtd
Docker->contenedores ligeros portables
Imagen<-parten de un SO (Centos/Debian/Ubuntu) mínimo + software (php/node/etc)
docker volumes -> persistente
docker images : lista todos tus imagenes disponibles
fisica docker daemon
\ / /
docker run -p 80:80 -d imagen
docker ps : lista%
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment