Mc: Konflikt mit Mitternachtskommandant

Erstellt am 9. Sept. 2016  ·  7Kommentare  ·  Quelle: minio/mc

Binärname steht in Konflikt mit Midnight Commander.

Ich habe die vorherigen Tickets zu diesem Thema gelesen und Ihre Meinung bewertet. Dennoch glaube ich, dass Sie vermeiden sollten, denselben Namen wie mc . Es ist schön, dass Sie hier nach kürzeren Namen gesucht haben, aber Kollisionen mit anderen Namen sind inakzeptabel. Wenn der _user_ einen kürzeren Namen wünscht, kann er in der Shell einen Alias ​​einrichten. Es gibt Tausende (https://qa.debian.org/popcon.php?package=mc) von Benutzern, die bereits Midnight Commander verwenden.

Tatsächlich führt dieser Fall zu einer Situation, in der es nicht möglich ist, minio-mc und Mitternachtskommandant über Homebrew gemeinsam zu installieren. Siehe https://github.com/Homebrew/homebrew-core/commit/badeeeb5aced1cf9ef0cc9332453ac56a0db9df8#diff -c021a0c2c90326616e8d0c422a20d4fdR11

Ich fordere Sie auf, den Namen dieses Projekts zu überdenken.

wontfix

Hilfreichster Kommentar

POSIX ist für die heutigen Bedürfnisse irrelevant.

Sie und ich und alle anderen benutzen es jeden Tag. Wie ist das irrelevant?

Moderne Betriebssysteme sollten vom Benutzer installierte Binärdateien in ihrem eigenen Namensraum unterstützen

Sie sind es bereits, aber dies löst nicht den Fall, wenn zwei Binärdateien in $PATH mit demselben Namen vorhanden sind. Leider wird Ihr Wunschdenken dies jetzt und in Zukunft nicht lösen.

Aus diesem Grund haben sich nodejs, Go und Python von den von der Distribution bereitgestellten Paketmodulen entfernt.

Du verwechselst die Dinge. Programmiersprachen haben nie verteilungsspezifische Pakete verwendet. Downstream verpackt sie neu, damit sie den bestehenden Richtlinien entsprechen. Dies ermöglicht es dem Endbenutzer, jedes Paket einfach zu installieren, ohne die Entwicklungsumgebung einrichten und alles von Grund auf neu erstellen zu müssen.

Es ist auch unwahrscheinlich, dass Benutzer von Mitternachts-Commandern auch mc verwenden.

Was? Ich bin seit 12 Jahren ein aktiver mc-Benutzer. Jede einzelne Instanz von Mindnight Commander da draußen verwendet mc für den Binärnamen. Deine Aussage macht keinen Sinn.

Es ist in Ordnung, dass Binärpakete zum Zeitpunkt der Installation in Konflikt geraten.

Du hast den ganzen Punkt übersehen. Es ist nicht in Ordnung, unter $PATH zwei verschiedene Binärdateien mit demselben Namen zu haben. Dies führt bereits zu Konflikten, siehe Homebrew-Link.

Ich wünsche mir wirklich, dass es hier eine einfache Lösung gibt.

Es gibt. Ändern Sie den Namen dieser Binärdatei. Ermutigen Sie nicht alle anderen, dies für Sie zu tun. Ihr passiv-aggressives Verhalten ist nicht der Weg, dieses Problem zu lösen. Es ist nicht das letzte Mal, dass Ihnen diese waghalsige Frage gestellt wird.

Alle 7 Kommentare

Es gibt auch eine gute Lektüre über einen ähnlichen Fall von Namenskollisionen zwischen node.js und node (Amateur Packet Radio Node Program), siehe https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=614907#108 .

Ihre Unkenntnis über diese Namenskollision wird den nachgeschalteten Betreuern viel Kopfzerbrechen bereiten.

Verpacker können einen anderen Namen wählen, wenn sie möchten. Unix-ähnliche Betriebssysteme müssen erwachsen werden. Ich verstehe nicht, warum Benutzer root sein müssen, um ein Paket in ihrem eigenen Namensraum zu installieren.

Wir 'go get' oder kopieren die mc-Binärdatei nach ~/bin und führen sie aus. Wir sind nicht wirklich auf rpm oder dpkg angewiesen, um Go-Pakete zu installieren.

Wenn Sie Downstream-Betreuer ermutigen, Ihre Binärdatei umzubenennen und den Namen mc in der Dokumentation beizubehalten, müssen Sie sich auf den Sturm von Fragen einstellen wie:
https://askubuntu.com/questions/235655/node-js-conflicts-sbin-node-vs-usr-bin-node
https://stackoverflow.com/questions/21168141/cannot-install-packages-using-node-package-manager-in-ubuntu

Meine Frage bezieht sich nicht auf rpm, deb, go get . Benutzer ziehen es vor, das vom Repository bereitgestellte Paket zu installieren, anstatt die Binärdatei selbst zu erstellen. Die Frage betrifft zwei Binärdateien mit dem Namen mc unter $PATH.

Hier ist ein kleiner Ausschnitt aus dem verlinkten Debian-Bug, der hier sehr relevant ist:

  The Technical Committee notes that the namespace of executable
  commands on $PATH is a resource shared among everyone writing software
  for POSIX-compatible systems, and that the combinations of packages
  that users may choose to install on a given system can easily surprise
  the authors of those packages.

  The Committee advises anyone writing widely-deployed software to
  consider its command name carefully at an early stage.  It is a good
  idea to search the web for your proposed name and try to ensure that
  it is unique.  It is likely to be a bad idea to use excessively short
  names or common words.  The conflict between LinuxNode and Node.js
  demonstrates that taking a little time early on can avoid a great deal
  of tedium later.

POSIX ist für die heutigen Bedürfnisse irrelevant. Moderne Betriebssysteme sollten vom Benutzer installierte Binärdateien in ihrem eigenen Namensraum unterstützen. Aus diesem Grund haben sich nodejs, Go und Python von den von der Distribution bereitgestellten Paketmodulen entfernt.

Es ist auch unwahrscheinlich, dass Mitternachts-Commander-Benutzer auch mc . Es ist in Ordnung, dass Binärpakete zum Zeitpunkt der Installation in Konflikt geraten.

Ich wünsche mir wirklich, dass es hier eine einfache Lösung gibt.

POSIX ist für die heutigen Bedürfnisse irrelevant.

Sie und ich und alle anderen benutzen es jeden Tag. Wie ist das irrelevant?

Moderne Betriebssysteme sollten vom Benutzer installierte Binärdateien in ihrem eigenen Namensraum unterstützen

Sie sind es bereits, aber dies löst nicht den Fall, wenn zwei Binärdateien in $PATH mit demselben Namen vorhanden sind. Leider wird Ihr Wunschdenken dies jetzt und in Zukunft nicht lösen.

Aus diesem Grund haben sich nodejs, Go und Python von den von der Distribution bereitgestellten Paketmodulen entfernt.

Du verwechselst die Dinge. Programmiersprachen haben nie verteilungsspezifische Pakete verwendet. Downstream verpackt sie neu, damit sie den bestehenden Richtlinien entsprechen. Dies ermöglicht es dem Endbenutzer, jedes Paket einfach zu installieren, ohne die Entwicklungsumgebung einrichten und alles von Grund auf neu erstellen zu müssen.

Es ist auch unwahrscheinlich, dass Benutzer von Mitternachts-Commandern auch mc verwenden.

Was? Ich bin seit 12 Jahren ein aktiver mc-Benutzer. Jede einzelne Instanz von Mindnight Commander da draußen verwendet mc für den Binärnamen. Deine Aussage macht keinen Sinn.

Es ist in Ordnung, dass Binärpakete zum Zeitpunkt der Installation in Konflikt geraten.

Du hast den ganzen Punkt übersehen. Es ist nicht in Ordnung, unter $PATH zwei verschiedene Binärdateien mit demselben Namen zu haben. Dies führt bereits zu Konflikten, siehe Homebrew-Link.

Ich wünsche mir wirklich, dass es hier eine einfache Lösung gibt.

Es gibt. Ändern Sie den Namen dieser Binärdatei. Ermutigen Sie nicht alle anderen, dies für Sie zu tun. Ihr passiv-aggressives Verhalten ist nicht der Weg, dieses Problem zu lösen. Es ist nicht das letzte Mal, dass Ihnen diese waghalsige Frage gestellt wird.

Es ist auch unwahrscheinlich, dass Benutzer von Mitternachts-Commandern auch mc verwenden.

Bitte lesen Sie dies noch einmal.

the combinations of packages that users may choose to install
on a given system can easily surprise the authors of those packages
War diese Seite hilfreich?
0 / 5 - 0 Bewertungen