gioser

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 815Rust 56Shell 37Markdown 291229 Definiciones

plan: botar busybox — 401 applets repartidos, y el trabajo real son 23

Medido contra el artefacto sellado (401 symlinks) cruzado con build-state.json:
148 applets ya tienen dueño sellado Y en perfil, 125 tienen dueño sellado que no
viaja en ninguna imagen (uutils, brush, findutils, diffutils, arje-zero, hammerd),
y de los 128 sin dueño 105 son basura que se borra.

Dos hallazgos que cambian el plan: busybox entra a los 7 perfiles como dep de BUILD
de 24 recetas, no como raíz de producto en targets.toml; y brush (shell Rust) ya
está sealed, sin validar y sin perfil.

docs/state/busybox-applets.tsv es la tabla applet-por-applet (generada), con 24
parejas marcadas NO-drop-in.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

63397e278a5ef64a6f6a0ef9811c99afa63c3b26 · por Sergio · (hace 1 mes) · padre 0bffb4092 · ver el árbol en este commit

Delta semántico

Ninguna definición cambió: el cambio es de texto, documentación o datos.

2 archivos · +578 −0

diff --git a/docs/plan-botar-busybox.md b/docs/plan-botar-busybox.md
new file mode 100644
index 00000000..cea9c13c
--- /dev/null
+++ b/docs/plan-botar-busybox.md
@@ -0,0 +1,176 @@
+# Plan — botar busybox, MEDIDO
+
+**Fecha:** 2026-09-21 · **Instrumento:** los 401 symlinks de applet del artefacto sellado
+`2a2b1280…-busybox` (contados en el store del worker), cruzados con el estado y la membresía de
+perfil de cada receta en `docs/state/build-state.json` y con `grep '[deps]' recipes/*.toml`.
+**Tabla applet-por-applet:** `docs/state/busybox-applets.tsv` (401 filas, generada, no escrita a mano).
+
+## Por qué existe este documento
+
+La pregunta fue «¿qué hay que hacer para botar busybox?», con la sospecha de que faltaba escribir
+mucho userland en Rust. **El número dice lo contrario, y el hueco está en otro lado:**
+
+> De los 401 applets, **148 ya tienen dueño sellado Y en perfil** (el applet es redundante en la
+> imagen), **125 tienen dueño sellado que NO viaja en ninguna imagen** (trabajo hecho y no cobrado),
+> y de los **128 sin dueño, 105 son basura que se borra**. El trabajo de escritura real son
+> **23 applets** repartidos en 8 piezas.
+
+Es la lección de `foot` y del §D de `plan-barrido-perfiles-y-servicios.md` otra vez: `uutils`,
+`findutils`, `findutils-xargs`, `diffutils` y **`brush`** están todos `sealed` con `perfiles: []`.
+Se construyeron, se sellaron, y ninguna imagen los lleva.
+
+## Son TRES frentes, no uno — y esto es lo que hace que «botar busybox» se lea como imposible
+
+Mezclarlos es el error que cuesta el trabajo. Tienen dificultad, dueño y riesgo distintos:
+
+| frente | qué es busybox ahí | dificultad |
+|---|---|---|
+| **A · Sandbox de build** | `[deps] build = [… "busybox" …]` en **24 recetas** — es el `sh`+coreutils que el sandbox del lab trae (`recipes/jq.toml:5-7`, `recipes/zlib-ng.toml:11`). Más el `/toolchain` mixto de Alpine con el swap de `docs/11-bootstrap.md:234-240` | media — no es runtime, no toca el producto |
+| **B · Runtime del producto** | los applets de `/bin` y `/sbin` de las imágenes. `USERLAND_COMPONENTS` (`crates/takana-bootstrap/src/lib.rs:406`) ya los ensombrece con los binarios Rust y retira el homónimo de los otros dirs (`lib.rs:676`) | **baja — la máquina ya está construida, falta munición** |
+| **C · Stage 1 / self-host / atestación** | `STAGE1_COMPONENTS` (`lib.rs:172`, el 4/4), `ATTEST_PATHS` como raíz-de-confianza (`lib.rs:465`), y el `exec` de las cards de `getty` y `sshd` (`lib.rs:429`, `:240`) | **alta — es el ADR 0008, y toca la evidencia de reproducibilidad `of_tree=9adefb82…`** |
+
+⚠ **La membresía de perfil de busybox es del frente A, no del B.** `busybox` figura en `cli`,
+`servidor`, los cuatro escritorios y `metal-tigerlake`, pero **no está declarado como raíz en
+`docs/state/targets.toml`** (los únicos hits ahí son comentarios). Llega por la clausura, porque 24
+recetas lo declaran build-dep: `abseil-cpp chrony cronie crun dwarves firmware-tigerlake
+ia-modelo-embeddings intel-ucode jq libmnl libnftnl linux linux-firmware llama-cpp logrotate
+nftables opensmtpd popt protobuf qdrant sof-firmware valkey wireless-regdb zlib-ng`. **Sacarlo de
+las imágenes empieza por ahí y no requiere escribir ni una línea de userland.**
+
+## El reparto de los 401
+
+| estado del dueño | n | qué significa |
+|---|---|---|
+| **sellada + en perfil** | 148 | el reemplazo ya viaja en la imagen: el applet es redundante hoy |
+| **sellada, sin perfil** | 125 | construido, sellado, y no viaja: falta declararlo |
+| **sin dueño** | 128 | de los cuales **105 son `BORRAR`** y **23 son trabajo real** |
+
+### 148 · Ya cubiertos y en la imagen — el applet sobra
+
+`util-linux` 48 · `iproute2` 19 · `procps-ng` 12 · `shadow` 14 · `kbd` 12 · `xz` 6 · `iputils` 5 ·
+`e2fsprogs` 5 · `bzip2` 3 · `cronie` 3 · `dhcpcd` 3 · `ncurses` 2 · `dosfstools` 2 · `chrony` 2 ·
+`vim` 2 · `less` `lsof` `pciutils` `usbutils` `mandoc` `socat` `patch` `binutils` `tar` `wget` 1 c/u.
+
+⚠ **24 de estos 148 NO son drop-in**, y están marcados en el TSV. El caso grande es la red:
+`iproute2` da `ip`/`ss`, **no** `ifconfig`/`route`/`arp`/`netstat` — eso es net-tools, que no está en
+el corpus. Igual con `addgroup`/`adduser` (shadow da `groupadd`/`useradd`), `udhcpc` (dhcpcd es otro
+cliente con otro contrato de hooks) y `nc` (socat tiene otra sintaxis). **Cada uno de esos 24 es una
+migración de llamadores, no un borrado.** Mirar quién los invoca en `scripts/` y en las cards antes.
+
+### 125 · Sellados y sin viajar — la munición que ya está fabricada
+
+| dueño | n | qué cubre |
+|---|---|---|
+| `uutils` | 90 | todo el núcleo POSIX: `ls cp mv rm cat head tail sort cut tr wc stat date dd chmod chown …` |
+| `arje-zero` | 20 | `init linuxrc runlevel halt poweroff reboot run-init switch_root` + los 12 de runit (`runsv sv svc svlogd chpst envdir setuidgid softlimit start-stop-daemon …`) |
+| `hammerd` | 4 | `syslogd klogd logger logread` |
+| `brush` | 3 | **`sh ash hush`** |
+| `gzip` | 3 | `gzip gunzip zcat` |
+| `diffutils` | 2 | `diff cmp` |
+| `findutils` / `findutils-xargs` / `libarchive` | 3 | `find` · `xargs` · `cpio` |
+
+**Los 24 de `arje-zero` y `hammerd` no cuestan nada**: el reemplazo ya corre en el producto. Son
+applets instalados que nadie ejecuta. Salen del `defconfig` y se prueba que la imagen arranque igual.
+
+### 128 · Sin dueño
+
+**105 se borran** (no se reemplazan, salen del `defconfig`): `dpkg dpkg-deb rpm rpm2cpio httpd ftpd
+ftpget ftpput tftp tftpd telnet telnetd inetd dnsd sendmail popmaildir lpd lpq lpr ubi* nand*
+nbd-client i2c* hdparm fdformat setserial powertop bootchartd fbsplash conspy ether-wake udhcpd
+udpsvd tcpsvd watchdog whois tree which unzip …` (lista completa en el TSV).
+
+**23 son el trabajo real:**
+
+| pieza | applets | qué es |
+|---|---|---|
+| **kmod** | `insmod rmmod lsmod modprobe depmod modinfo` (6) | no hay receta kmod en el corpus. En Rust: `finit_module` + parseo de `modules.dep`. Bien acotado |
+| **psmisc** | `killall killall5 pstree fuser` (4) | **`procps-ng` NO los trae.** Traer receta psmisc (C) o escribir |
+| **grep POSIX** | `grep egrep fgrep` (3) | `grep` GNU está sellado (sin perfil) como puente. El Rust nativo se escribe sobre `grep-matcher`/`grep-regex`/`grep-searcher` |
+| **gestor de /dev** | `mdev makedevs uevent` (3) | decisión: lo absorbe arje, o entra una receta eudev/mdevd |
+| **bc** | `bc dc` (2) | traer receta |
+| **getty** | `getty cttyhack` (2) | hoy la card de getty ejecuta `/bin/busybox` (`lib.rs:429`) |
+| **awk** | `awk` (1) | decisión abierta, ver abajo |
+| **sed** | `sed` (1) | `sed` GNU sellado y en los 7 perfiles; el Rust nativo está por escribir |
+| **dns** | `nslookup` (1) | traer receta bind-tools/doggo |
+
+## Las tres clases de reemplazo — y cuándo forkear (nunca)
+
+La pregunta era si hay que forkear los que «existen pero no son exactos». **No, y hay tres clases
+distintas que conviene no mezclar:**
+
+**1 · Adopción exacta.** `uutils/coreutils`, `uutils/findutils`, `uutils/diffutils`: reimplementación
+madura, MIT, receta Cargo con commit pinneado (ADR 0006), multicall. El patrón está probado y
+documentado en la cabecera de `recipes/uutils.toml`. Lo que falta de esta clase es
+**`uutils/procps`** y **`uutils/util-linux`** — receta calcada, coste bajo. ⚠ **Verificar su estado
+upstream antes de prometer los 60 applets que cubrirían**: `util-linux` en Rust era embrionario.
+
+**2 · «Existe pero no es exacto» — y forkear es la trampa.** `ripgrep` no es `grep` POSIX, `sd` no es
+`sed`, `fd` no es `find` (por eso la receta buena es `uutils/findutils` y no `fd`), `procs` no es
+`ps`, `bottom` no es `top`, `helix` no es `vi`. Todas están selladas y en los 7 perfiles, y **ninguna
+sirve de reemplazo**: cambian las banderas. Forkear ripgrep para que hable POSIX es peor que
+escribir — heredás su arquitectura de recursión+ignore y peleás contra ella para siempre. Lo correcto
+es usarlas **como librerías**: `grep-matcher`/`grep-regex`/`grep-searcher` están publicadas
+justamente para eso, y un `grep` POSIX encima son unos cientos de líneas.
+
+**3 · `awk` es el caso feo, y hay que decidirlo, no resolverlo de paso.** `recipes/goawk.toml` existe
+y está sellada, pero **goawk es Go, no Rust** — no cumple la premisa de soberanía de cadena de la
+Etapa C. `frawk` es Rust pero es otro dialecto (JIT, semántica propia). `gawk` es C con extensiones
+GNU que los `configure` del corpus sí usan. Las tres opciones son legítimas y ninguna es gratis.
+
+## El bloqueante, y la buena noticia
+
+**Sin `sh` POSIX no se bota busybox en ningún frente**: es el `exec` de las cards, el `/bin/sh` del
+producto y el shell del sandbox. Lo esperado era que fuera un proyecto de meses.
+
+**`recipes/brush.toml` (0.4.0, reubeno/brush, MIT, Rust, compat bash) está `sealed`.** Compila
+estático musl con zig cc y produce `/usr/bin/brush`.
+
+⚠ **Y está sin validar como `sh`.** La receta es un import crudo de nixpkgs y lo dice en su primera
+línea: «PUNTO DE PARTIDA, no final». No está en ningún perfil, nadie lo ejecutó como `/bin/sh`, y el
+sandbox de build es el consumidor más duro que existe (`configure` de autotools). **La unidad de
+trabajo #1 es medirlo, no adoptarlo.**
+
+## Orden de ataque
+
+Cada paso es una unidad de trabajo con su criterio de terminado. Los tres primeros **no tocan el
+frente C** y se pueden hacer hoy.
+
+1. **Recortar el `defconfig`.** Sacar los 105 de `BORRAR` + los 24 que `arje-zero`/`hammerd` ya
+   reemplazan = **129 applets menos, cero código escrito**. Terminado cuando la imagen arranca, el
+   E2E de QEMU pasa y `find . -type l | wc -l` baja de 401 a ~272.
+2. **Declarar la munición que ya existe.** `uutils`, `findutils`, `findutils-xargs`, `diffutils`,
+   `brush`, `gzip`, `libarchive` a los perfiles de `targets.toml`. Terminado cuando `build-state.py`
+   los marca con perfil y la imagen los lleva.
+3. **Medir `brush` como `/bin/sh`.** Correr con él los `configure` de tres recetas autotools del
+   corpus y el `product-boot-test.sh`. Terminado con un veredicto escrito: sirve, o falla en X.
+4. **Las dos recetas de adopción baratas** (`uutils/procps`, `uutils/util-linux`), previa
+   verificación de madurez upstream. Cubren ~60 applets de los 148 «ya cubiertos por C».
+5. **`grep` y `sed` POSIX en Rust.** Es la escritura de mejor relación coste/beneficio y desbloquea
+   el `/toolchain` del frente A.
+6. **Migrar los 24 build-deps.** Cambiar `busybox` por el conjunto real en `[deps] build` de las 24
+   recetas. Terminado cuando `busybox` sale de los 7 perfiles.
+7. **La cola larga:** kmod, psmisc, gestor de /dev, getty, bc, dns. Después del shell, no antes.
+8. **ADR — `awk`**, y **ADR — el frente C** (sustituir busybox en `STAGE1_COMPONENTS` y
+   `ATTEST_PATHS`). No antes de que 1–7 estén cerrados.
+
+## La métrica, y el guardián que falta
+
+`docs/state/busybox-applets.tsv` convierte esto en un número que baja: **401 → 272 → … → 0**.
+Regenerarlo es contar los symlinks del artefacto sellado y cruzarlos con `build-state.json`.
+
+**Falta un guardián**, y sin él el paso 1 se deshace solo: un script que falle si alguna receta,
+script o card invoca un applet que ya salió del `defconfig`. Hoy nada lo detectaría — el fallo
+aparecería en boot, en otra máquina, semanas después.
+
+## Lo que este documento NO midió (y hay que decirlo así)
+
+- **El reparto applet→destino es juicio, no medida.** Lo medido son los 401 symlinks, el estado
+  `sealed`/perfiles de cada receta y las 24 recetas con `busybox` en `[deps] build`. La asignación de
+  dueño la escribí yo y hay que revisarla receta a receta.
+- **No se verificó la equivalencia de banderas de ninguna pareja.** Los 24 marcados `NO-drop-in` son
+  los que sé que difieren; el resto dice `sin-verificar` y eso es literal, no una forma de decir «va
+  a andar».
+- **No se midió qué applets usa el producto de verdad.** El `defconfig` instala 401 porque nadie
+  eligió; cuáles se ejecutan en una imagen viva no está medido. Eso abarataría el paso 1.
+- **`uutils/procps` y `uutils/util-linux` no se verificaron upstream.** Los ~60 applets que les
+  atribuyo son una hipótesis de trabajo.
diff --git a/docs/state/busybox-applets.tsv b/docs/state/busybox-applets.tsv
new file mode 100644
index 00000000..0b5948d1
--- /dev/null
+++ b/docs/state/busybox-applets.tsv
@@ -0,0 +1,402 @@
+applet	destino	estado_del_dueño	equivalencia	nota
+[	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+[[	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+acpid	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+add-shell	shadow	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+addgroup	shadow	sellada+perfil	NO-drop-in	shadow da groupadd
+adduser	shadow	sellada+perfil	NO-drop-in	shadow da useradd
+adjtimex	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+arch	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+arp	iproute2	sellada+perfil	NO-drop-in	iproute2 da `ip neigh`
+arping	iputils	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+ascii	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+ash	brush	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+awk	awk-DECISION	—	n/a	DECIDIR — gawk (C) y goawk (Go) sellados sin perfil; ninguno es Rust
+base32	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+base64	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+basename	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+bc	bc-TRAER	—	n/a	TRAER — no hay receta bc
+beep	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+blkdiscard	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+blkid	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+blockdev	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+bootchartd	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+brctl	iproute2	sellada+perfil	NO-drop-in	iproute2 da `ip link ... type bridge`
+bunzip2	bzip2	sellada+perfil	sin-verificar	cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+bzcat	bzip2	sellada+perfil	sin-verificar	cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+bzip2	bzip2	sellada+perfil	sin-verificar	cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+cal	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+cat	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+chat	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+chattr	e2fsprogs	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+chgrp	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+chmod	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+chown	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+chpasswd	shadow	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+chpst	arje-zero	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+chroot	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+chrt	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+chvt	kbd	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+cksum	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+clear	ncurses	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+cmp	diffutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+comm	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+conspy	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+cp	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+cpio	libarchive	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+crc32	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+crond	cronie	sellada+perfil	sin-verificar	servidor
+crontab	cronie	sellada+perfil	sin-verificar	servidor
+cryptpw	shadow	sellada+perfil	NO-drop-in	shadow no lo trae
+cttyhack	getty-ESCRIBIR	—	n/a	ESCRIBIR — hoy la card de getty ejecuta /bin/busybox (lib.rs:429)
+cut	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+date	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+dc	bc-TRAER	—	n/a	TRAER — no hay receta bc
+dd	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+deallocvt	kbd	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+delgroup	shadow	sellada+perfil	NO-drop-in	shadow da groupdel
+deluser	shadow	sellada+perfil	NO-drop-in	shadow da userdel
+depmod	kmod-ESCRIBIR	—	n/a	ESCRIBIR — no hay receta kmod; Rust sobre finit_module + modules.dep
+devmem	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+df	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+dhcprelay	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+diff	diffutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+dirname	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+dmesg	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+dnsd	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+dnsdomainname	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+dos2unix	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+dpkg	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+dpkg-deb	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+du	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+dumpkmap	kbd	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+dumpleases	dhcpcd	sellada+perfil	NO-drop-in	dhcpcd no lo trae
+echo	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+ed	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+egrep	grep-posix	—	n/a	ESCRIBIR — CLI POSIX sobre grep-searcher/grep-regex de ripgrep; `grep` GNU (sellado, sin perfil) como puente
+eject	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+env	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+envdir	arje-zero	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+envuidgid	arje-zero	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+ether-wake	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+expand	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+expr	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+factor	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+fakeidentd	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+fallocate	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+false	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+fatattr	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+fbset	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+fbsplash	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+fdflush	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+fdformat	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+fdisk	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+fgconsole	kbd	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+fgrep	grep-posix	—	n/a	ESCRIBIR — CLI POSIX sobre grep-searcher/grep-regex de ripgrep; `grep` GNU (sellado, sin perfil) como puente
+find	findutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+findfs	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+flock	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+fold	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+free	procps-ng	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+freeramdisk	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+fsck	e2fsprogs	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+fsck.minix	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+fsfreeze	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+fstrim	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+fsync	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+ftpd	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+ftpget	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+ftpput	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+fuser	psmisc-TRAER	—	n/a	TRAER — no hay receta psmisc; procps-ng NO trae killall/pstree
+getopt	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+getty	getty-ESCRIBIR	—	n/a	ESCRIBIR — hoy la card de getty ejecuta /bin/busybox (lib.rs:429)
+grep	grep-posix	—	n/a	ESCRIBIR — CLI POSIX sobre grep-searcher/grep-regex de ripgrep; `grep` GNU (sellado, sin perfil) como puente
+groups	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+gunzip	gzip	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+gzip	gzip	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+halt	arje-zero	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+hd	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+hdparm	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+head	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+hexdump	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+hexedit	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+hostid	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+hostname	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+httpd	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+hush	brush	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+hwclock	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+i2cdetect	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+i2cdump	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+i2cget	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+i2cset	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+i2ctransfer	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+id	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+ifconfig	iproute2	sellada+perfil	NO-drop-in	iproute2 da `ip addr`, no ifconfig (eso es net-tools)
+ifdown	iproute2	sellada+perfil	NO-drop-in	no existe en iproute2
+ifenslave	iproute2	sellada+perfil	NO-drop-in	iproute2 da `ip link ... type bond`
+ifplugd	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+ifup	iproute2	sellada+perfil	NO-drop-in	no existe en iproute2
+inetd	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+init	arje-zero	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+insmod	kmod-ESCRIBIR	—	n/a	ESCRIBIR — no hay receta kmod; Rust sobre finit_module + modules.dep
+install	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+ionice	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+iostat	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+ip	iproute2	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+ipaddr	iproute2	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+ipcalc	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+ipcrm	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+ipcs	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+iplink	iproute2	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+ipneigh	iproute2	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+iproute	iproute2	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+iprule	iproute2	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+iptunnel	iproute2	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+kbd_mode	kbd	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+kill	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+killall	psmisc-TRAER	—	n/a	TRAER — no hay receta psmisc; procps-ng NO trae killall/pstree
+killall5	psmisc-TRAER	—	n/a	TRAER — no hay receta psmisc; procps-ng NO trae killall/pstree
+klogd	hammerd	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+last	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+less	less	sellada+perfil	sin-verificar	cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+link	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+linux32	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+linux64	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+linuxrc	arje-zero	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+ln	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+loadfont	kbd	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+loadkmap	kbd	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+logger	hammerd	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+login	shadow	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+logname	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+logread	hammerd	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+losetup	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+lpd	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+lpq	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+lpr	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+ls	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+lsattr	e2fsprogs	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+lsmod	kmod-ESCRIBIR	—	n/a	ESCRIBIR — no hay receta kmod; Rust sobre finit_module + modules.dep
+lsof	lsof	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+lspci	pciutils	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+lsscsi	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+lsusb	usbutils	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+lzcat	xz	sellada+perfil	sin-verificar	cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+lzma	xz	sellada+perfil	sin-verificar	cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+lzop	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+makedevs	dev-ESCRIBIR	—	n/a	ESCRIBIR/DECIDIR — gestor de /dev (arje o eudev); no hay receta
+makemime	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+man	mandoc	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+md5sum	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+mdev	dev-ESCRIBIR	—	n/a	ESCRIBIR/DECIDIR — gestor de /dev (arje o eudev); no hay receta
+mesg	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+microcom	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+mim	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+mkdir	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+mkdosfs	dosfstools	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+mke2fs	e2fsprogs	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+mkfifo	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+mkfs.ext2	e2fsprogs	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+mkfs.minix	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+mkfs.vfat	dosfstools	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+mknod	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+mkpasswd	shadow	sellada+perfil	NO-drop-in	shadow no lo trae con ese nombre
+mkswap	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+mktemp	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+modinfo	kmod-ESCRIBIR	—	n/a	ESCRIBIR — no hay receta kmod; Rust sobre finit_module + modules.dep
+modprobe	kmod-ESCRIBIR	—	n/a	ESCRIBIR — no hay receta kmod; Rust sobre finit_module + modules.dep
+more	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+mount	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+mountpoint	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+mpstat	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+mt	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+mv	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+nameif	iproute2	sellada+perfil	NO-drop-in	no existe en iproute2
+nanddump	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+nandwrite	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+nbd-client	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+nc	socat	sellada+perfil	NO-drop-in	socat tiene otra sintaxis
+netstat	iproute2	sellada+perfil	NO-drop-in	iproute2 da `ss`
+nice	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+nl	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+nmeter	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+nohup	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+nologin	shadow	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+nproc	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+nsenter	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+nslookup	dns-TRAER	—	n/a	TRAER — no hay receta bind-tools/dog/doggo
+ntpd	chrony	sellada+perfil	NO-drop-in	chrony es otro daemon y otro config
+od	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+openvt	kbd	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+partprobe	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+passwd	shadow	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+paste	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+patch	patch	sellada+perfil	sin-verificar	cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+pgrep	procps-ng	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+pidof	procps-ng	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+ping	iputils	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+ping6	iputils	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+pipe_progress	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+pivot_root	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+pkill	procps-ng	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+pmap	procps-ng	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+popmaildir	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+poweroff	arje-zero	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+powertop	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+printenv	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+printf	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+ps	procps-ng	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+pscan	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+pstree	psmisc-TRAER	—	n/a	TRAER — no hay receta psmisc; procps-ng NO trae killall/pstree
+pwd	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+pwdx	procps-ng	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+raidautorun	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+rdate	chrony	sellada+perfil	NO-drop-in	chrony da chronyd/chronyc
+rdev	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+readahead	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+readlink	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+readprofile	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+realpath	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+reboot	arje-zero	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+reformime	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+remove-shell	shadow	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+renice	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+reset	ncurses	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+resize	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+resume	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+rev	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+rm	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+rmdir	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+rmmod	kmod-ESCRIBIR	—	n/a	ESCRIBIR — no hay receta kmod; Rust sobre finit_module + modules.dep
+route	iproute2	sellada+perfil	NO-drop-in	iproute2 da `ip route`
+rpm	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+rpm2cpio	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+rtcwake	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+run-init	arje-zero	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+run-parts	cronie	sellada+perfil	sin-verificar	servidor
+runlevel	arje-zero	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+runsv	arje-zero	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+runsvdir	arje-zero	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+rx	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+script	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+scriptreplay	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+sed	sed-rs	—	n/a	DECIDIR — `sed` GNU ya sellado y en 7 perfiles; el Rust nativo está por escribir
+seedrng	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+sendmail	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+seq	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+setarch	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+setconsole	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+setfattr	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+setfont	kbd	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+setkeycodes	kbd	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+setlogcons	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+setpriv	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+setserial	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+setsid	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+setuidgid	arje-zero	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+sh	brush	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+sha1sum	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+sha256sum	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+sha3sum	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+sha512sum	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+showkey	kbd	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+shred	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+shuf	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+slattach	iproute2	sellada+perfil	NO-drop-in	sin equivalente en iproute2
+sleep	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+smemcap	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+softlimit	arje-zero	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+sort	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+split	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+ssl_client	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+start-stop-daemon	arje-zero	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+stat	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+strings	binutils	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-mirada,escritorio-sway,servidor
+stty	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+su	shadow	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+sulogin	shadow	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+sum	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+sv	arje-zero	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+svc	arje-zero	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+svlogd	arje-zero	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+svok	arje-zero	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+swapoff	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+swapon	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+switch_root	arje-zero	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+sync	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+sysctl	procps-ng	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+syslogd	hammerd	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+tac	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+tail	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+tar	tar	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+taskset	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+tcpsvd	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+tee	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+telnet	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+telnetd	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+test	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+tftp	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+tftpd	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+time	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+timeout	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+top	procps-ng	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+touch	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+tr	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+traceroute	iputils	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+traceroute6	iputils	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+tree	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+true	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+truncate	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+ts	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+tsort	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+tty	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+ttysize	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+tunctl	iproute2	sellada+perfil	NO-drop-in	iproute2 da `ip tuntap`
+ubiattach	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+ubidetach	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+ubimkvol	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+ubirename	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+ubirmvol	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+ubirsvol	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+ubiupdatevol	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+udhcpc	dhcpcd	sellada+perfil	NO-drop-in	dhcpcd es otro cliente y otro contrato de hooks
+udhcpc6	dhcpcd	sellada+perfil	NO-drop-in	ídem
+udhcpd	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+udpsvd	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+uevent	dev-ESCRIBIR	—	n/a	ESCRIBIR/DECIDIR — gestor de /dev (arje o eudev); no hay receta
+umount	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+uname	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+unexpand	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+uniq	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+unix2dos	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+unlink	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+unlzma	xz	sellada+perfil	sin-verificar	cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+unshare	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+unxz	xz	sellada+perfil	sin-verificar	cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+unzip	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+uptime	procps-ng	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+users	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+usleep	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+uudecode	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+uuencode	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+vconfig	iproute2	sellada+perfil	NO-drop-in	iproute2 da `ip link ... type vlan`
+vi	vim	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+vlock	kbd	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+volname	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+w	procps-ng	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+wall	util-linux	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+watch	procps-ng	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+watchdog	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+wc	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+wget	wget	sellada+perfil	sin-verificar	servidor
+which	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+who	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+whoami	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+whois	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza
+xargs	findutils-xargs	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+xxd	vim	sellada+perfil	sin-verificar	base,cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+xz	xz	sellada+perfil	sin-verificar	cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+xzcat	xz	sellada+perfil	sin-verificar	cli,escritorio-cosmic,escritorio-gnome,escritorio-kde,escritorio-sway,servidor
+yes	uutils	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+zcat	gzip	sellada SIN perfil	sin-verificar	construida y no viaja en ninguna imagen
+zcip	BORRAR	—	n/a	BORRAR — sale del defconfig, no se reemplaza