Recientemente instalé elbrew
comando en mi máquina Debian para instalartldr
páginas man en mi sistema. El comando parece útil para instalar programas que no están empaquetados en Debian y además no requiere sudo
instalar paquetes. Sin embargo, existe una limitación: solo se pueden instalar unos pocos paquetes mediante el comando brew
.
¿Es posible configurar brew
para instalar paquetes desde los repositorios de Debian?
Respuesta1
¿Es posible? Sí. Ambos programas son de código abierto. ¿Es conveniente? No precisamente.
¿Por qué?
Los administradores de paquetes funcionan más o menos así:
- Realizan un seguimiento de los paquetes instalados en su sistema (y su versión)
- Para hacer esto, especifican su propio formato de paquetes (por ejemplo, .deb) y usan estos paquetes como instrucciones sobre cómo instalar el programa y cómo rastrearlo.
- También realizan un seguimiento de las dependencias (por ejemplo, "¡este programa necesita openssl para funcionar!")
Es por eso que tener un sistema que utilice pocos administradores de paquetes no es la mejor idea:
- Cada administrador de paquetes debería estar informado sobre el paquete que se está instalando (por ejemplo,
brew
debería saber que instalófirefox
yapt
debería saber que instalótldr
). - Cada administrador de paquetes tendría que resolver las dependencias de otros administradores de paquetes (por ejemplo, "Brew: este programa necesita
ncurses
, peroapt
ya está instaladoncurses
, ¡así que no necesito extraerlos!").
Verá, el problema es 2
que los administradores de paquetes son una abstracción de los repositorios subyacentes. Personas como la gente de Debian eligen los paquetes que quieren que utilicen los usuarios y los ponen a disposición de otros. Sin embargo, también seleccionan estos paquetes para que el sistema sea consistente; Quieren la menor cantidad de paquetes para ofrecer la mayor funcionalidad. ¿Por qué instalar ncurses versión 1,2 y 3, cuando puedes hacer que todo funcione con la versión 2?
El primer problema también es una mala noticia. Los administradores de paquetes tendrían que informarse entre sí sobre lo que hacen, o podrían chocar ( brew
no sabrían que ncurses
ya está instalado).
Entonces, ¿por qué es difícil?
- Los administradores de paquetes tendrían que cooperar estrechamente
- Los administradores de paquetes tendrían que tener una política estricta sobre qué hacer cuando no pueden ponerse de acuerdo sobre el paquete.
- Los administradores de paquetes tendrían que poder funcionar casi de manera intercambiable, siendo la única diferencia visible los programas disponibles.
- Los administradores de paquetes deberían poder rastrear los repositorios de los demás en caso de actualizaciones.
Esto significa efectivamente que necesitaría un administrador de paquetes que conste de dos administradores de paquetes. Necesitarías un nuevo programa.
¿Entonces Que puedo hacer?
En primer lugar me preguntaría "¿Por qué quiero hacer esto?". Honestamente, su distribución debería proporcionarle muchos paquetes. Si no está satisfecho con la cantidad de paquetes que tiene, podría considerar cambiar a otra distribución que tenga más paquetes de los que necesita.
Si usted esen realidadDesesperado por que esto brew
funcione, propondría la siguiente solución, aunque no estoy seguro de que sea totalmente posible:
- Obtenga las fuentes de
brew
. - Aprenda el formato de recetas de elaboración de cerveza.
- Escriba un programa que traduzca automáticamente recetas a paquetes Debian.
- Modifique
brew
para que cada vez que lo ejecute, llame al programa para traducir recetas a.deb
paquetes/busque los programas en los repositorios de su distribución, luego llameapt
para instalar este paquete.
Hacer tales modificaciones probablemente llevaría mucho tiempo y no es fácil. Sugiero cambiar de distribución o seguir con el administrador de paquetes.
Respuesta2
Sí, pero sería una pérdida de esfuerzo no trivial. Tendría más sentido hacer unapapápara tldr o conseguir que lo acepten en los repositorios principales de Debian, o simplemente usarhttps://tldr.ostera.io.