añadir cosas
This commit is contained in:
75
notas-jaime/toc.md
Normal file
75
notas-jaime/toc.md
Normal file
@@ -0,0 +1,75 @@
|
||||
# Índice de la Charla
|
||||
|
||||
- Filosofia
|
||||
Te lo montas tu... Es importante conocer las partes de un SO de Linux.
|
||||
- Partes de un SO?:
|
||||
- Kernel (linux, linux-zen)
|
||||
- Coreutils (GNU Core utils, uutils)[^coreutils-bins]
|
||||
- Bootloader (grub, systemd-boot, limine)
|
||||
- Init System (systemd, runit, openrc, dinit)
|
||||
- Network Manager (NetworkManager, iwd)
|
||||
- Administrador de Paquetes (pacman)
|
||||
- Repositorios (core, extra, kde-testing, custom)
|
||||
- AUR (como un pseudo-repositorio alternativo)
|
||||
- GUI
|
||||
- DE
|
||||
- GNOME / KDE
|
||||
- WM(xorg):
|
||||
- i3
|
||||
- xmonad
|
||||
- Compositor(wayland):
|
||||
- sway
|
||||
- Hyprland
|
||||
- Niri
|
||||
- Display Manager
|
||||
- GDM / SSDM
|
||||
- lidm
|
||||
- Notif daemon, sudo, etc
|
||||
- Mencion de la wiki
|
||||
- Forks de Arch (artix, black arch, alarm, cachyos, nyarch)
|
||||
- Instalación (que es el iso)
|
||||
|
||||
[^coreutils-bins]: \[ b2sum base32 base64 basename basenc cat chgrp chmod chown chroot cksum comm cp csplit cut date dd df dir dircolors dirname du echo env expand expr factor false fmt fold groups head hostid id install join link ln logname ls md5sum mkdir mkfifo mknod mktemp mv nice nl nohup nproc numfmt od paste pathchk pinky pr printenv printf ptx pwd readlink realpath rm rmdir seq sha1sum sha224sum sha256sum sha384sum sha512sum shred shuf sleep sort split stat stdbuf stty sum sync tac tail tee test timeout touch tr true truncate tsort tty uname unexpand uniq unlink users vdir wc who whoami yes
|
||||
|
||||
> [!NOTE]
|
||||
> kernel -> coreutils -> init -> network
|
||||
>
|
||||
> Hacerlo como una prograsión.
|
||||
>
|
||||
> - El kernel es lo básico, maneja los procesos y permite que estos reserven memoria, tengan un sistema de archivos, se comuniquen con periféricos, etc.
|
||||
> - Coreutils da una serie de programas básicos para interactuar con lo que ofrece el kernel (ls, cat, touch, mkdir, etc). **no son parte del kernel**
|
||||
> - Linux no esta preparado para arrancar directamente cuando el ordenador arranca (a menos que sea UEFI y esté configurado). Entonces hay un programa llamado "boot loader" que se encarga de arrancar un SO al encender el ordenador. También pueden ser "boot managers", que además ofrecen menús y opciones para configurar que SO arrancar si hay varios o incluso con que opciones.
|
||||
> - Cuando linux arranca, aunque tenga programas instalados, alguien tiene que decidir que ejecutar y que no, no tiene sentido que se ejecute "mkdir" al arrancar. A esto se le llama el "init", que es el programa que se ejecuta al arrancar y se encarga de arrancar los "servicios" en su orden correcto, como configurar el teclado, arrancar el "daemon" de red, etc, y mostrarnos nuestra interfaz de usuario cuando todo esté listo.
|
||||
>
|
||||
> Dejar "daemon" un poco en el aire y desarrollarlo en NetworkManager como ejemplo.
|
||||
|
||||
> [!NOTE]
|
||||
> En Network Manager
|
||||
>
|
||||
> Hay muchas alternativas, NetworkManger es el "todo en uno", pero hay paquetes para cosas mas pequeñas, "iwd" con "wpa_supplicant" para configurar wifi solo, etc. Incluso combinaciones, hacer que "NetworkManager" use solo "iwd" para configurar el wifi, o que use "dnsmasq" para "cache" de DNS, etc.
|
||||
|
||||
---
|
||||
|
||||
# Filosofia
|
||||
|
||||
> Arch is installed as a minimal base system, configured by the user upon which their own ideal environment is assembled by installing only what is required or desired for their unique purposes.
|
||||
|
||||
> Arch strives to keep its packages as close to the original upstream software as possible.
|
||||
|
||||
> &emph; <cite> <https://archlinux.org/about/> </cite>
|
||||
|
||||
Arch es una distribución de Linux que te deja el trabaho de configurar tu ordenador a ti.
|
||||
|
||||
Muchas otras distribuciones vienen con todas las partes de un SO incluidas, sin libertad de elegir, y muchas veces modifican el codigo de los projectos para ajustarse más a la distribución. Por ejemplo:
|
||||
|
||||
- Debian suele modificar el código de linux para ajustarse a su filosofia de estabilidad y largo soporte de hardware y software.
|
||||
- Ubuntu usa GNOME por defecto y suele modificarlo para ajustarse a la temática de debian y ajustar su comportamiento par ajustarse a su filosofía de mejorar la experiencia del usuario.
|
||||
- Fedora suele modificar los paquetes para adoptar las últimas características lo antes posible y mejorar la seguridad de la distribución.
|
||||
|
||||
Arch Linux en cambio busca evitar modificar el código original, prioriza mantenerse original al projecto. Solo lo modifica cuando es necesario para compilar correctamente o funcionar con el resto del sistema.
|
||||
|
||||
## Consecuencias
|
||||
|
||||
Por esto mismo es un sistema que no trae _casi_\* nada por defecto (una excepción). Te obliga a entender cada una de las partes de tu ordenador para poder instalarlo y eres tú el responsable de configurarlas para que cada una de las partes de tu sistema funcionen correctamente entre si.
|
||||
|
||||
Hay herramientas para instalar arch con un solo click, pero con estas es muy fácil desentendernos de los componentes que conforman nuestro sistema operativo, y luego cuando cualquier cosa cambie que requiera nuestra intervención, no entenderemos nuestro sistema para arreglarlo. Una vez entiendes tu sistema es muy dificil cargárselo, ya que sabremos que componente ha fallado, porque, como arreglarlo o incluso alternativas a ese componente.
|
||||
Reference in New Issue
Block a user