Ist es möglich, „brew“ so zu konfigurieren, dass Pakete aus Debian-Repositories installiert werden?

Ist es möglich, „brew“ so zu konfigurieren, dass Pakete aus Debian-Repositories installiert werden?

Ich habe vor kurzem diebrewBefehl auf meinem Debian-Rechner zur InstallationtldrManpages auf meinem System. Der Befehl scheint nützlich zu sein, um Programme zu installieren, die nicht von Debian gepackt sind, und erfordert auch keine sudoInstallation von Paketen. Es gibt jedoch eine Einschränkung: Mit dem Befehl können nur wenige Pakete installiert werden brew.

Ist es möglich, brewdie Installation von Paketen aus Debian-Repositorys zu konfigurieren?

Antwort1

Ist das möglich? Ja. Beide Programme sind Open Source. Ist das praktisch? Nicht wirklich.

Warum?

Paketmanager funktionieren mehr oder weniger so:

  • Sie verfolgen die auf Ihrem System installierten Pakete (und deren Version)
  • Dazu geben sie ihr eigenes Paketformat an (z. B. .deb) und verwenden diese Pakete als Anweisungen zur Installation und Verfolgung des Programms.
  • Sie verfolgen auch Abhängigkeiten (z. B. „Dieses Programm benötigt OpenSSL, um zu funktionieren!“).

Aus diesem Grund ist ein System, das nur wenige Paketmanager verwendet, nicht die beste Idee:

  1. Jeder Paketmanager müsste über das zu installierende Paket informiert werden (z. B. brewmüsste er wissen, dass Sie installiert haben firefox, und aptmüsste wissen, dass Sie installiert haben tldr).
  2. Jeder Paketmanager müsste Abhängigkeiten von anderen Paketmanagern auflösen (z. B. „Brew: Dieses Programm benötigt ncurses, ist aber aptbereits installiert ncurses, daher muss ich sie nicht abrufen!“).

Das Problem dabei 2ist, dass Paketmanager eine Abstraktion der zugrunde liegenden Repositories darstellen. Leute wie Debian-Leute wählen die Pakete aus, die ihre Benutzer verwenden sollen, und stellen sie anderen zur Verfügung. Sie wählen diese Pakete jedoch auch aus, damit das System konsistent ist; sie möchten, dass möglichst wenige Pakete die größtmögliche Funktionalität bieten. Warum sollte man Ncurses Version 1, 2 und 3 installieren, wenn man mit Version 2 alles zum Laufen bringen kann?

Das erste Problem ist auch eine schlechte Nachricht. Die Paketmanager müssten sich gegenseitig darüber informieren, was sie tun, sonst könnten sie kollidieren ( brewsie wüssten nicht, dass es ncursesbereits installiert ist).

Warum ist es also schwierig?

  1. Paketmanager müssten eng zusammenarbeiten
  2. Paketmanager müssten strenge Richtlinien haben, was zu tun ist, wenn sie sich nicht auf Paketinhalte einigen können.
  3. Paketmanager müssten nahezu austauschbar sein, wobei der einzige sichtbare Unterschied die verfügbaren Programme sein müssten
  4. Paketmanager müssten in der Lage sein, im Falle von Aktualisierungen die Repositories der anderen zu verfolgen.

Dies bedeutet effektiv, dass Sie einen Paketmanager benötigen, der aus den beiden Paketmanagern besteht. Sie benötigen also ein neues Programm.

Was kann ich also tun?

Zunächst würde ich mich fragen: „Warum möchte ich das tun?“ Ehrlich gesagt sollte Ihre Distribution Ihnen viele Pakete zur Verfügung stellen. Wenn Sie mit der Anzahl Ihrer Pakete nicht zufrieden sind, sollten Sie vielleicht zu einer anderen Distribution wechseln, die mehr Pakete bietet, als Sie benötigen.

Wenn du bistWirklichda ich unbedingt versuche, dies zum Laufen zu bringen brew, würde ich die folgende Lösung vorschlagen, obwohl ich nicht sicher bin, ob das wirklich möglich ist:

  1. Besorgen Sie sich die Quellen von brew.
  2. Lernen Sie das Format der Braurezepte kennen.
  3. Schreiben Sie ein Programm, das Rezepte automatisch in Debian-Pakete übersetzt.
  4. Ändern Sie brewes so, dass bei jeder Ausführung das Programm zum Übersetzen von Rezepten in .debPakete aufgerufen wird bzw. in den Repos Ihrer Distribution nach den Programmen sucht und dann aptzum Installieren dieses Pakets aufgerufen wird.

Solche Änderungen würden wahrscheinlich viel Zeit in Anspruch nehmen und sind nicht einfach. Ich schlage vor, die Distribution zu wechseln oder stattdessen bei Ihrem Paketmanager zu bleiben.

Antwort2

Ja, aber es wäre eine nicht unerhebliche Verschwendung von Aufwand. Es wäre sinnvoller, eineppafür tldr oder es in die wichtigsten Debian-Repositories aufnehmen zu lassen, oder einfach zu verwendenhttps://tldr.ostera.io.

verwandte Informationen