Bases del sistema operativo

1

Lo que aprender谩s sobre la administraci贸n de servidores linux

2

Distribuciones m谩s utilizadas de Linux

3

Instalaci贸n de Ubuntu Server

4

Instrucciones para instalar CentOS

5

Gesti贸n del 谩rbol de directorios

6

Diferencias entre LESS, CAT, HEAD y TAIL para lectura de archivos

7

Interacci贸n con archivos y permisos

8

Conociendo las terminales en linux

9

Manejo y monitoreo de procesos y recursos del sistema

10

Monitoreo de recursos del sistema

Instalaci贸n y manejo de software en Linux

11

An谩lisis de los par谩metros de red

12

Administraci贸n de paquetes acorde a la distribuci贸n

13

Manejo de paquetes en sistemas basados en Debian

14

Administraci贸n de software con YUM y RPM para CentOS

15

Nagios: Desempaquetado, descompresi贸n, compilaci贸n e instalaci贸n de paquetes

Administraci贸n de usuarios

16

Los usuarios, una tarea vital en el proceso de administraci贸n del sistema operativo

17

Creando y manejando cuentas de usuario en el sistema operativo

18

Entendiendo la membres铆a de los grupos

19

Usando PAM para el control de acceso de usuarios

Servicios en el sistema operativo

20

Autenticaci贸n de clientes y servidores sobre SSH

21

Configurando DNS con bind

22

Arranque, detenci贸n y recarga de servicios

23

NGINX y Apache en Ubuntu server

24

Instalaci贸n y configuraci贸n de NGINX

25

驴Qu茅 es NGINX Amplify?

26

NGINX Amplify: Instalaci贸n y configuraci贸n de un servidor para producci贸n

27

Monitoreo de MySQL con Nagios

28

Configuraci贸n de Nagios

29

Los logs, nuestros mejores amigos

30

Otros servicios de logs

Bash scripting

31

Las bases de bash

32

Las variables y su entorno de ejecuci贸n

33

Automatizando tareas desde la terminal

34

Automatizando la copia de seguridad

35

Crontab

Asegurando tu servidor

36

Entendiendo la gesti贸n de vulnerabilidades

37

驴Qu茅 es una superficie de ataque? Principio del menor privilegio

38

El firewall y sus reglas

39

Escaneo de puertos con NMAP y NIKTO desde Kali Linux

40

Lynis: Herramientas de auditoria de seguridad en Linux

Proyecto

41

Configuraci贸n de Node.js en un ambiente productivo

42

Configuraci贸n de NGINX para la aplicaci贸n de Node.js

Bonus: Linux en Azure

43

Aprende sobre Linux en Azure

44

Despliegue de una aplicaci贸n web MEAN

45

Crea una m谩quina virtual en la nube de Azure

Conclusiones

46

Lo que aprendiste sobre servidores linux

A煤n no tienes acceso a esta clase

Crea una cuenta y contin煤a viendo este curso

Arranque, detenci贸n y recarga de servicios

22/46
Recursos

El comando systemctl nos permite manejar los procesos de nuestro sistema operativo. Nuestros servicios pueden estar activos (es decir, encendidos) o inactivos (apagados). Tambi茅n podemos configurar si est谩n habilitados o deshabilitados para correr autom谩ticamente con el arranque del sistema.

  • sudo systemctl status nombre-servicio: ver el estado de nuestros servicios.
  • sudo systemctl (enable, disable) nombre-servicio: activar o desactivar el arranque autom谩tico de nuestros servicios.
  • sudo systemctl (start, stop, restart) nombre-servicio: encender, apagar o reiniciar los servicios.
  • sudo systemctl list-units -t service --all: ver todos los servicios del sistema.

El comando journalctl nos permite ver los logs de los procesos de nuestro sistema operativo. Recuerda que todos ellos est谩n almacenados en la carpeta /var/log/.

  • sudo journalctl -fu nombre-servicio: ver los logs de nuestros servicios y hacer un seguimiento.
  • sudo journalctl --disk-usage: ver la cantidad de espacio que ocupan nuestros logs.
  • sudo journalctl --list-boots: muestra la lista de booteos de la computadora.
  • sudo journalctl -p (critic, info, warning, error): filtrar los logs por el tipo de mensaje.
  • sudo journalctl -o json: ver los logs en formato JSON.

Aportes 46

Preguntas 8

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

RESUMEN DE LA CLASE
|
Arranque, detenci贸n y recarga de servicios
|
|
Comandos
|

  • sudo systemctl status servicio: Estado de un servicio
  • sudo systemctl enable servicio: Habilita un servicio
  • sudo systemctl disable servicio: Deshabilita un servicio
  • sudo systemctl start servicio: Enciende un servicio
  • sudo systemctl stop servicio: Apaga un servicio
  • sudo systemctl restart servicio: Reinicia un servicio
  • sudo systemctl list-units -t service --all: Lista los servicios del sistema
  • sudo journalctl -fu servicio: Muestra el log de un servicio
  • sudo journalctl --disk-usage: Muestra cuanto pesan los logs en el sistema operativo
  • sudo journalctl --list-boots: Muestra los booteos de la computadora
  • sudo journalctl -p critic|notice|info|warning|error: Muestra mensajes de determinada categor铆a de nuestros logs
  • sudo journalctl -o json: Muestra los logs en formato json

Aun sigue funcionando la vieja confiable


service [nombre servicio] [accion]

service apache2 restart




O la otra Vieja confiable /etc/init.d/apache2 restart

sudo journalctl -fu nombre-servicio: ver los logs de nuestros servicios y hacer un seguimiento.
sudo journalctl --disk-usage: ver la cantidad de espacio que ocupan nuestros logs.
sudo journalctl --list-boots: ver los logs desde el 煤ltimo arranque del sistema.
sudo journalctl -p (critic, info, warning, error): filtrar los logs por el tipo de mensaje.
sudo journalctl -o json: ver los logs en formato JSON.

Cual es la diferencia entre iniciar con init.d y systemctl

Un comando que utilizamos para ver los servicios java que corren en nuestro servidores es el siguiente: https://docs.oracle.com/en/java/javase/13/docs/specs/man/jps.html

驴Qu茅 son los Logs?
El sistema de logs de Linux (log = registro), es un mecanismo est谩ndar que se encarga de recoger los mensajes generados por los programas, aplicaciones y demonios y enviarlos a un destino predefinido.

Los tipos de prioridad en ubuntu actualmente son:

鈥渆merg鈥 (0), 鈥渁lert鈥 (1), 鈥渃rit鈥 (2), 鈥渆rr鈥 (3), 鈥渨arning鈥 (4), 鈥渘otice鈥 (5), 鈥渋nfo鈥 (6), 鈥渄ebug鈥 (7)

Para cuando tengas que depurar un servicio y necesites ver la traza con formato (utiliza -f)

  • sudo journalctl -u nombre-servicio -f
    Pero si necesitas ver las ultimas 100, 200 鈥 n l铆neas (utiliza -n)
  • sudo journalctl -u nombre-servicio -n cantidad-de-lineas
    O combina ambos para una mejor lectura:
  • sudo journalctl -u nombre-servicio -n cantidad-de-lineas -f

Tengo el siguiente error al ejecutar systemctl en la terminal ubuntu de windows

System has not been booted with systemd as init system (PID 1). Can鈥檛 operate.
Failed to connect to bus: Host is down

Cuando emito el comando system status apache 2 me dice que:
Unit apache2.service count not be found
Que puedo hacer?

Al momento de ver estatus de algun servicio me sale el siguiente error:

System has not been booted with systemd as init system (PID 1). Can鈥檛 operate.
Failed to connect to bus: Host is down

Uso ubuntu de windows 10

Alguna ayuda?? Saben por que puede ser?

Entendido

sudo systemctl status apache2
sudo systemctl enable apache2
sudo systemctl start apache2
sudo systemctl stop apache2
sudo systemctl restart apache2
sudo systemctl list-units -t services --all 
sudo journalctl -fu apache2
sudo journalctl --disk-usage
sudo journalctl --list-boots
sudo journalctl --p crit
sudo jornalctl -o json

Cuando dijo con el siguiente comando sudo systemctl -o json, vamos a ver los logs de una forma mas amigable para programadores cre铆 que iba a salir una tabla con colores, id, etc. Pero de lo que sali贸 no entend铆 nada jajajaja

Seria bueno que destacaran que el viejo sistema de arranque de servicios de linux es el esquema basado en los runlevels y el proceso raiz init

Para lo cual ser铆a bueno que explicaran que son los runlevels y como el proceso init permite cambiar de runlevel, y que un runlevel es un n煤mero entero

para saber en que runlevel estamos corriendo podemos correr el comando

**runlevel**```

El runlevel de operaci贸n normal es el 5

No es lo mismo saber que el comando init 6 reinicia el sistema operativo, que entender que son los runlevels, y que estamos cambiando de runlevel, y entendemos la evoluci贸n de systemVinit hacia systemd y saber porque se dio y cuales eran las necesidades insatisfechas.

Eso es lo que le falta a estas clases, el enfoque hist贸rico, holistico y trascendental de saber porque estamos haciendo las cosas y como funcionan y no solo hacerlas como pericos.

Para eliminar los logs

sudo journalctl --vacuum-time=((time))

ejemplos de time = 2m (dos minutos), 5h (cinco horas), 3weeks (tres semanas), 5months (cinco meses).

Excelente!

Les dejo algunos otros comandos 煤tiles

Para recargar los archivos de configuraci贸n de un servicio SIN reiniciarlo

sudo systemctl reload <servicio>

Para reducir el tama帽o de los logs cierta cantidad

sudo journalctl --vacuum-size=100M

Para reducir el tama帽o de los logs a cierta cantidad de d铆as

sudo journalctl --vacuum-time=3days

con el comando service tambien se puede hacer casi lo mismo que con el comando systemctl

Interesante, sab铆a lo de systemctl, pero no lo de journalctl, necesito darle una revisada a mis servidores para ver esto

Para tener en cuenta, en caso en alg煤n momento necesites visualizar las ultimas 10, 20,鈥, n l铆neas del log del alg煤n servicio, puedes usar el par谩metro -n

  • sudo systemctl -u nombre-servicio -n 100 (este te mostrara las ultimas 100 l铆neas del log)
    Si deseas con formato la traza del log puedes usar el par谩metro -f
  • sudo systemctl -u nombre-servicio -f (esto te mostrara en tiempo real la traza mas reciente del log)
    O puedes combinarlas ambas opciones -n -f te mostrara las ultimas l铆neas que le pases al par谩metro -n y seguir谩 present谩ndote la informaci贸n que llegue a la traza del servicio, con formato.

Excelentes comando, corto y directo al grano!. Clase magistral. B谩sico y con mucha preguntas, pero poco a poco.

sudo systemctl status nombre-servicio: ver el estado de nuestros servicios.
sudo systemctl (enable, disable) nombre-servicio: activar o desactivar el arranque autom谩tico de nuestros servicios.
sudo systemctl (start, stop, restart) nombre-servicio: encender, apagar o reiniciar los servicios.
sudo systemctl list-units -t service --all: ver todos los servicios del sistema.

l comando systemctl nos permite manejar los procesos de nuestro sistema operativo. Nuestros servicios pueden estar activos (es decir, encendidos) o inactivos (apagados). Tambi茅n podemos configurar si est谩n habilitados o deshabilitados para correr autom谩ticamente con el arranque del sistema.

El comando journalctl nos permite ver los logs de los procesos de nuestro sistema operativo. Recuerda que todos ellos est谩n almacenados en la carpeta /var/log/.

Saludos compa帽eros

me tira este error alguien sabe que puedo hacer?

[email protected]:~$ sudo systemctl status apache2
System has not been booted with systemd as init system (PID 1). Can鈥檛 operate.

journalct

Si haz intentado

sudo systemctl status apache2

Y el terminal te ha devuelto un 鈥淣ot find鈥 necesitas instalar apache2 ejecutando el siguiente comando

sudo apt install apache2

Tambien puedes seguir esta guia que he encontrado en internet. Estoy seguro que les ayudara bastante:

https://www.digitalocean.com/community/tutorials/como-instalar-el-servidor-web-apache-en-ubuntu-18-04-es

Para limpiar los logs de journalctl ejecutamos el comando

journalctl --vacuum-time=7d

donde 7d es el n煤mero de d铆as que queremos dejar. En este caso, quiero dejar los logs de la 煤ltima semana.

Nota al pie de p谩gina que no tiene que ver con la clase pero que s铆 tiene que ver con la administraci贸n: estaba haciendo la pr谩ctica con sshd y me di cuenta que meterse con el servicio no afecta las conexiones activas. Investigu茅 un poco y resulta que si afectas el servicio sshd es s贸lo el server en escucha, pero quienes ya se encuentran loggeados por ssh no sufren desconexi贸n, ya que dichas sesiones encuentran ligadas en procesos hijos que operan aparte del daemon. No s茅 qu茅 otros servicios pudieran tener este mismo comportamiento, pero es algo a destacar, ya que en ESTE CASO, el reiniciar un servicio no causar谩 impacto en los usuarios. Y yo me pregunto, 驴eso es bueno o malo?

# Systemd command   |   Sysvinit command (alternative for WSL)
systemctl start service_name	service service_name start
systemctl stop service_name	    service service_name stop
systemctl restart service_name	service service_name restart
systemctl status service_name	service service_name status
systemctl enable service_name	chkconfig service_name on
systemctl disable service_name	chkconfig service_name off

# Monitoring OS services
sudo systemctl
## List OS units
systemctl list-unit-files --type service
sudo systemctl list-units -t services --all

# Status
- sudo systemctl status <service_name>
    enable/disable: indicates if the service will start with the server boot

# Enable/disable a service
- sudo systemctl <enable|disable> <service_name>

# General commands
- sudo systemctl stop <service_name>
- sudo systemctl start <service_name>
- sudo systemctl restart <service_name>

# Notes
- If a service config is modified, it must be restarted

# Search logs of a service
Logs Folder: /var/log/
sudo journalctl -fu <service_name>                              # Debugger for services that does not start
sudo journalctl --disk-usage                                    # Verify how much memory does the logs take up
sudo journalctl --list-reboots                                  # List reboots
sudo journalctl -p <info|notice|warning|error|crit>             # Check service failures
sudo journalctl -p <info|notice|warning|error|crit> -o json     # Output in JSON format

# Delete logs
sudo journalctl --vacuum-time=((<time>))              # time: 2m | 5h | 3weeks | 5months

En mi caso tuve que escribir el siguiente comando para que funcionara
systemctl list-unit-files --type service

Peque帽a introducci贸n a los servicios.

Un servicio (o demonio) es un programa que corre en background que tiene el prop贸sito de ejecutar tareas espec铆ficas del sistema, como por ejemplo; el servidor SSH para conexiones remotas; un servidor de correo electr贸nico; varios servidores web; la transferencia de archivos por FTP; la resoluci贸n de direcci贸n IP con DHCP, entre otros. T铆picamente, Linux ofrece un gestor de servicios llamado systemd.

Que belleza de comando:

sudo systemctl list-units -t service --all

Arranque, detenci贸n y recarga de servicios.

.
sudo systemctl status (server) Verificamos si el servidor est谩 funcionando.
sudo systemctl enable (server) Nos sirve para activar el server.
sudo systemctl list-units -t service --all Lista todas las unidades de todos los servicios.
.
sudo journalctl -fu (server) Nos permite administrar todos los 鈥渓ogs鈥.
sudo journalctl --disk-usage Nos muestra el espacio ocupado por logs
sudo journalctl --list-boots Nos muestra las veces que hemos reiniciado el PC
sudo journalctl -p crit Nos muestra la informaci贸n de los errores que se han experimentado en el OS.

Arranque , detencion y recarga de servicios:

sudo systemctl status apache2 ---->  verifica status de apache
sudo systemctl stop apache2  ---> detiene servicio
sudo systemctl start apache2 ---> inicia servicio
sudo systemctl enable apache2 ---> activa apache desde inicio del server , disable si no lo quiere desde el inicio

nota: dos servicios no pueden correr en el mismo puerto y mismo server.

sudo systemctl list-units  -t service --all      -----> ver todos los servicios
sudo journalctl -fu apache2 ---> ver los logs de un servicio , el -f es para quedarse pegado viendolos 
sudo journalctl --disk-usage  -----> ver espacio que estan ocupando los logs hasta ahora 
sudo journalctl --list-boots ---> ver todos los boots que ha tenido la maquina
sudo journalctl -p crit  ---> ver los log filtrados por tipo, en ese caso esta filtrado  por crit, pero puede ser info, notice

sudo journalctl -o json -p crit ----> igual que el otro, pero le agrego el -o json, para que el formato de saldia sea un json

systemctl
saber que servicio esta activo o en que status esta

super 馃槂 probado 馃槂

sudo systemctl <stop-start-enable-restart-status> <aplicaicon>

Hola, como hago para borrar los log麓s???

Gracias

Excelente el contenido del v铆deo.

gracias

bastante 煤til gracias

muy bien!