chore: reorganizar estructura de archivos

- tambien he puesto los documentos en `doc` directamente para evitar el
  symlink
This commit is contained in:
2026-04-16 10:32:57 +02:00
parent 6632f40ad2
commit 25ea92193a
11 changed files with 51 additions and 40 deletions

View File

@@ -4,5 +4,5 @@ Repositorio de la charla de Arch + i3wm realizada el 16 de abril de 2026
# Contenido
- Nuestro manual de arch está en [doc/manual.pdf](doc/manual.pdf).
- El guión de la presentación está en [doc/guion.md](doc/guion.md).
- El maual de de arch e i3 hecho por Javier está en [doc/i3-manual.pdf](doc/i3-manual.pdf).
- El guión de la presentación sobre arch está en [doc/guion-arch.md](doc/guion-arch.md).

View File

@@ -1,11 +1,15 @@
<!--
for vim:
set makeprg=./make-html.sh
set makeprg=html/make-html.sh
-->
# Índice de la Charla
- Filosofía
Este índice no es muy literal ni al pie de la letra.
- Filosofía (sobre como empaqueta y distribuye)
- Consecuencias (te obliga a montarlo a ti)
- ¿Por qué usar arch? (razones, sobre todo como estudiantes de la etsiit)
Te lo montas tu... Es importante conocer las partes de un SO de Linux.
- Partes de un SO:
- Kernel (linux, linux-zen)
@@ -38,7 +42,7 @@
> &mdash; <cite> <https://archlinux.org/about/> </cite>
Arch es una distribución de Linux que te deja el trabaho de configurar tu ordenador a ti.
Arch es una distribución de Linux que te deja el trabajo 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:
@@ -50,7 +54,7 @@ Arch Linux en cambio busca evitar modificar el código original, prioriza manten
## Consecuencias
Por esto mismo es un sistema que no trae nada por defecto. 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.
Por esto mismo es un sistema que no trae nada por defecto. 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.
@@ -74,7 +78,7 @@ Arch soporta oficialmente linux, pero tecnicamente podrías instalar cualquier i
<details>
<summary markdown="1">Paquetes <code>linux-cachyos</code> en el AUR actualmente.</summary>
<summary>Paquetes <code>linux-cachyos</code> en el AUR actualmente.</summary>
`linux-cachyos` `linux-cachyos-bore` `linux-cachyos-rc` `linux-cachyos-lts` `linux-cachyos-cjktty` `linux-cachyos-eevdf` `linux-cachyos-hardened` `linux-cachyos-bmq` `linux-cachyos-server` `linux-cachyos-deckify-native` `linux-cachyos-native` `linux-cachyos-native-nvidia-open` `linux-cachyos-rc-native` `linux-cachyos-rc-native-nvidia-open`
@@ -119,26 +123,27 @@ El más popular es `NetworkManager`, que es un <q>todo en uno</q> de un _daemon_
## Administrador de Paquetes
Hasta ahora hemos visto el kernel, los creutils, un bootloader, el init system y todos los servicios y _daemons_ que puede haber. Esto son muchísimos archivos y manejarlos a mano sería un desastre.
Hasta ahora hemos visto el kernel, los coreutils, un bootloader, el init system y todos los servicios y _daemons_ que puede haber. Esto son muchísimos archivos y manejarlos a mano sería un desastre.
Para esto está el concepto de un <q>package manager</q> o <q>administrador de paquetes</q>. En vez e manejar los programas como archivos independientes, los agrupamos en <q>paquetes</q> que contienen los archivos relacionados al programa, y el el administrados de paquetes el que se encarga de manejar todos estos archivos.
```txt
➜ pacman -Ql lidm
lidm-git /etc/
lidm-git /etc/lidm.ini
lidm-git /usr/
lidm-git /usr/bin/
lidm-git /usr/bin/lidm
lidm-git /usr/share/
lidm-git /usr/share/man/
lidm-git /usr/share/man/man1/
lidm-git /usr/share/man/man1/lidm.1.gz
lidm-git /usr/share/man/man5/
lidm-git /usr/share/man/man5/lidm-config.5.gz
➜ pacman -Ql lidm | treeify
[lidm-git ]
├─etc
│ └─lidm.ini
└─usr
├─bin
│ └─lidm
└─share
└─man
├─man1
│ └─lidm.1.gz
└─man5
└─lidm-config.5.gz
```
Suelen hacer más tareas, como mostrar información de cada paquete y satisfacer sus dependencias (esto con otros paquetes del que determinado paquete depende, por ejemplo por ser una librería).
Suelen hacer más tareas, como mostrar información de cada paquete y satisfacer sus dependencias (esto con otros paquetes del que determinado paquete depende, por ejemplo por ser una librería dinámica).
```txt
➜ ldd /usr/bin/lidm
@@ -150,9 +155,9 @@ Suelen hacer más tareas, como mostrar información de cada paquete y satisfacer
libcap-ng.so.0 => /usr/lib/libcap-ng.so.0 (0x00007fd93d1ff000)
➜ pacman -F /usr/lib/libpam.so.0
usr/lib/libpam.so.0 is owned by system/pam 1.7.1-1
usr/lib/libpam.so.0 is owned by core/pam 1.7.1-1
➜ paru -Qi lidm | grep Depends
➜ pacman -Qi lidm | grep Depends
Depends On : pam lidm-service
```
@@ -162,7 +167,7 @@ Este es uno de los componentes en el que las distribuciones normales no dan elec
## Repositorios
Los repositorios son los <q>sitios</q> donde se agrupan los paquetes. En arch hay dos principales, `core` para los componentes super básicos (el kernel, init system, administrador de paquetes), y `extra` para paquetes que no son principales en un sistema operativo (naevgador, interfaces, etc).
Los repositorios son los <q>sitios</q> donde se agrupan los paquetes. En arch actualmente hay dos principales, `core` para los componentes super básicos (el kernel, init system, administrador de paquetes), y `extra` para paquetes que no son principales en un sistema operativo (naevgador, interfaces, etc).
Hay repositorios extra, como puede ser `multilib` para paquetes de 32 bits, y nada te impide hacer tus propios repositorios personales con tu propia selección de paquetes.
@@ -174,7 +179,7 @@ Los espejos o _mirrors_ es simplemente una copia de los repositorios en cierto s
### AUR
El AUR (Arch User Repository) es un repositorio con _scripts_ creados por usuarios de arch con como instalar un paquete.
El AUR (Arch User Repository) es un repositorio **no oficial** con _scripts_ creados por usuarios de arch con como instalar un paquete.
Si un paquete no está oficialmente en los repositorios, es muy posible que alguien lo haya añadido ahí ya, y si no... ¡Tú puedes ser la primera persona en hacerlo!
@@ -190,15 +195,15 @@ Si un paquete no está oficialmente en los repositorios, es muy posible que algu
Os habreis dado cuenta de que habrá muchos componentes pero todavía no hemos salido de la TTY, ni una sola interfaz gráfica. Y ahora ha llegado el momento de instalar una.
Aquí tenemos dos opciones, la primera y más aburrida, instalar un entorno de escritorio (DE, Desktop Environment). GNOME o KDE, gnomo o caballero. Se llaman entornos porque suelen venir con todo incluido, traen audio, la barra, aplicaciones del sistema, aplicación de ajustes, etc.
Aquí tenemos dos opciones, la primera y más aburrida, instalar un entorno de escritorio (DE, Desktop Environment). GNOME o KDE, gnomo o caballero. Se llaman entornos porque suelen venir con todo incluido, traen audio, la barra, fondo de pantalla, aplicaciones del sistema, aplicación de ajustes, etc.
O la mas interesante, instalar un administrador de ventanas (WM, window manager) que **solo** se ocupe de manejar las ventanas y como interactuamos con ellas. No hay escritorio, no hay fondo de pantalla, no hay barra, no hay un launcher de aplicaciones, nada, es nuestro trabajo en hacer nuestra selección de componentes y configurarlo todo lo que queramos.
O la mas interesante, instalar un administrador de ventanas (WM, window manager) que **solo** se ocupe de manejar las ventanas y como interactuamos con ellas (e.g. atajos de teclado). No hay escritorio, no hay fondo de pantalla, no hay barra, no hay un launcher de aplicaciones, nada, es nuestro trabajo en hacer nuestra selección de componentes y configurarlo todo lo que queramos.
Hoy en día hay dos protocolos básicos, xorg y wayland.
Xorg es el protocolo que lleva décadas existiendo y queda poca gente queriendo tocar código tan anticuado. Pero funciona perfectamente y hay muchos administradores de ventanas escritos a lo largo del tiempo para él como `i3` (del que entraremos en detalle después) o `xmonad`.
Wayland es un protocolo nuevo que está cogiendo mucha popularidad recientemente y busca rediseñar muchos de los principios de xorg a estándares mas modernos. Pese a lo nuevo que es ya hay multitud de compositores (así se llaman los WM en wayland) para él, como `hyprland`, `niri` o `sway` (que busca ser un reemplazo literal de `i3` para wayland).
Wayland es un protocolo nuevo que está cogiendo mucha popularidad recientemente y busca rediseñar muchos de los principios de xorg a estándares más modernos. Pese a lo nuevo que es ya hay multitud de compositores (así se llaman los WM en wayland) para él, como `hyprland`, `niri` o `sway` (que busca ser un reemplazo literal de `i3` para wayland).
### Display Manager

View File

@@ -1 +0,0 @@
../notas-jaime/guion-arch.md

View File

@@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Arch + i3</title>
<link href="style.css" rel="stylesheet">
<link href="res/style.css" rel="stylesheet">
</head>
<body> <!--
for vim:

16
doc/html/make-html.sh Executable file
View File

@@ -0,0 +1,16 @@
set -xeuo pipefail
MYSELF=$(realpath --relative-to=. "$0")
MYDIR=$(dirname "$MYSELF")
INPUT=${1:-"$MYDIR/../guion-arch.md"}
OUTPUT=${2:-"$MYDIR/guion-arch.html"}
HTML_TEMPLATE=${HTML_TEMPLATE:-"$MYDIR/res/template.html"}
"${PANDOC_PATH:-pandoc}" \
--template="$HTML_TEMPLATE" \
--metadata title="${HTML_TITLE:-"Arch + i3"}" \
-f gfm \
\
"$INPUT" -o "$OUTPUT"

View File

@@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>$title$</title>
<link href="style.css" rel="stylesheet">
<link href="res/style.css" rel="stylesheet">
</head>
<body> $body$ </body>
</html>

View File

@@ -1 +0,0 @@
../i3-manual.pdf

View File

@@ -1,8 +0,0 @@
set -xeuo pipefail
${PANDOC_PATH:-pandoc} \
--template="${HTML_TEMPLATE:-template.html}" \
--metadata title="${HTML_TITLE:-"Arch + i3"}" \
-f gfm \
\
"${1:-guion-arch.md}" -o "${2:-guion-arch.html}"