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.
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
Hilfreichster Kommentar
Sie und ich und alle anderen benutzen es jeden Tag. Wie ist das irrelevant?
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.
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.
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.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.
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.