¿Es posible configurar `brew` para instalar paquetes desde los repositorios de Debian?

¿Es posible configurar `brew` para instalar paquetes desde los repositorios de Debian?

Recientemente instalé elbrewcomando en mi máquina Debian para instalartldrpáginas man en mi sistema. El comando parece útil para instalar programas que no están empaquetados en Debian y además no requiere sudoinstalar paquetes. Sin embargo, existe una limitación: solo se pueden instalar unos pocos paquetes mediante el comando brew.

¿Es posible configurar brewpara 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:

  1. Cada administrador de paquetes debería estar informado sobre el paquete que se está instalando (por ejemplo, brewdebería saber que instaló firefoxy aptdebería saber que instaló tldr).
  2. Cada administrador de paquetes tendría que resolver las dependencias de otros administradores de paquetes (por ejemplo, "Brew: este programa necesita ncurses, pero aptya está instalado ncurses, ¡así que no necesito extraerlos!").

Verá, el problema es 2que 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 ( brewno sabrían que ncursesya está instalado).

Entonces, ¿por qué es difícil?

  1. Los administradores de paquetes tendrían que cooperar estrechamente
  2. Los administradores de paquetes tendrían que tener una política estricta sobre qué hacer cuando no pueden ponerse de acuerdo sobre el paquete.
  3. Los administradores de paquetes tendrían que poder funcionar casi de manera intercambiable, siendo la única diferencia visible los programas disponibles.
  4. 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 brewfuncione, propondría la siguiente solución, aunque no estoy seguro de que sea totalmente posible:

  1. Obtenga las fuentes de brew.
  2. Aprenda el formato de recetas de elaboración de cerveza.
  3. Escriba un programa que traduzca automáticamente recetas a paquetes Debian.
  4. Modifique brewpara que cada vez que lo ejecute, llame al programa para traducir recetas a .debpaquetes/busque los programas en los repositorios de su distribución, luego llame aptpara 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.

información relacionada