Bases del sistema operativo

1

Aviso de renovación del curso

2

Lo que aprenderás sobre la administración de servidores linux

3

Distribuciones más utilizadas de Linux

4

Instalación de Ubuntu Server

5

Instrucciones para instalar CentOS

6

Gestión del árbol de directorios

7

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

8

Interacción con archivos y permisos

9

Conociendo las terminales en linux

10

Manejo y monitoreo de procesos y recursos del sistema

11

Monitoreo de recursos del sistema

Instalación y manejo de software en Linux

12

Análisis de los parámetros de red

13

Administración de paquetes acorde a la distribución

14

Manejo de paquetes en sistemas basados en Debian

15

Administración de software con YUM y RPM para CentOS

16

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

Administración de usuarios

17

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

18

Creando y manejando cuentas de usuario en el sistema operativo

19

Entendiendo la membresía de los grupos

20

Usando PAM para el control de acceso de usuarios

Servicios en el sistema operativo

21

Autenticación de clientes y servidores sobre SSH

22

Configurando DNS con bind

23

Arranque, detención y recarga de servicios

24

NGINX y Apache en Ubuntu server

25

Instalación y configuración de NGINX

26

¿Qué es NGINX Amplify?

27

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

28

Monitoreo de MySQL con Nagios

29

Configuración de Nagios

30

Los logs, nuestros mejores amigos

31

Otros servicios de logs

Bash scripting

32

Las bases de bash

33

Las variables y su entorno de ejecución

34

Automatizando tareas desde la terminal

35

Automatizando la copia de seguridad

36

Crontab

Asegurando tu servidor

37

Entendiendo la gestión de vulnerabilidades

38

¿Qué es una superficie de ataque? Principio del menor privilegio

39

El firewall y sus reglas

40

Escaneo de puertos con NMAP y NIKTO desde Kali Linux

41

Lynis: Herramientas de auditoria de seguridad en Linux

Proyecto

42

Configuración de Node.js en un ambiente productivo

43

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

Bonus: Linux en Azure

44

Aprende sobre Linux en Azure

45

Despliegue de una aplicación web MEAN

46

Crea una máquina virtual en la nube de Azure

Conclusiones

47

Lo que aprendiste sobre servidores linux

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Aprende todo un fin de semana sin pagar una suscripción 🔥

Aprende todo un fin de semana sin pagar una suscripción 🔥

Regístrate

Comienza en:

5D
13H
17M
3S

Arranque, detención y recarga de servicios

23/47
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 56

Preguntas 9

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

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

¿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.

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

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.

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

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

Los tipos de prioridad en ubuntu actualmente son:

“emerg” (0), “alert” (1), “crit” (2), “err” (3), “warning” (4), “notice” (5), “info” (6), “debug” (7)

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’t operate.
Failed to connect to bus: Host is down

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’t operate.
Failed to connect to bus: Host is down

Uso ubuntu de windows 10

Alguna ayuda?? Saben por que puede ser?

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

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

Más info sobre journalctl

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

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!

# 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

Arranque, detención y recarga de servicios
https://platzi.com/clases/1667-linux/22842-arranque-detencion-y-recarga-de-servicios/

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.

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.

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’t operate.

Para aquellos que a pesar de la clase anterior continuaron viendo el curso

¡Felicitaciones cracks!
Nunca pararemos de aprender (aunque a veces sea difícil)

Es tanta informacion, ya llevo 3 veces repitiendo esta clase.

Para las personas que estan desarrollando el curso con la WSL pueden usar los siguientes comandos.

  • sudo service apache2 status
  • sudo service apache2 start
  • sudo service apache2 restart
  • sudo service apache2 stop
  • sudo service apache2 enable

De igual forma para cualquier servicio, como lo es nagios o ssh.

Les dejo esta paguina para los que usen wsl ami me sirvio porque no podia usar systemd y averiguando un poco encontre la falla

me encanta aprendemos mucho

es un curso muy explicado

anda muy lento. tengo 50mb de bajada y las clases se traban, podrian ver que pasa?

journalct

Si haz intentado

sudo systemctl status apache2

Y el terminal te ha devuelto un “Not 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?

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

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 “logs”.
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!