Le nom binaire est en conflit avec Midnight Commander.
J'ai lu les billets précédents concernant ce problème et évalué votre opinion. Néanmoins, je pense que vous _devriez_ éviter d'utiliser le même nom que mc
. C'est bien que vous ayez cherché un nom plus court ici, mais le conflit avec d'autres noms est inacceptable. Si l'_utilisateur_ veut un nom plus court, il est libre de créer un alias dans le shell. Il y a des milliers (https://qa.debian.org/popcon.php?package=mc) d'utilisateurs qui utilisent déjà Midnight Commander.
En fait, ce cas conduit à une situation où il n'est pas possible de co-installer minio-mc et minuit commander via homebrew. Voir https://github.com/Homebrew/homebrew-core/commit/badeeeb5aced1cf9ef0cc9332453ac56a0db9df8#diff -c021a0c2c90326616e8d0c422a20d4fdR11
Je vous invite à reconsidérer le nom de ce projet.
Il existe également une bonne lecture sur un cas similaire de conflit de noms entre node.js et node (Amateur Packet Radio Node Program), voir https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=614907#108 .
Votre ignorance de cette collision de noms causera beaucoup de maux de tête aux mainteneurs en aval.
Les emballeurs sont libres de choisir un nom différent s'ils le souhaitent. Les systèmes d'exploitation comme Unix doivent grandir. Je ne comprends pas pourquoi les utilisateurs doivent être root pour installer un package dans son propre espace de nom.
Nous allons simplement « aller chercher » ou copier le binaire mc dans ~/bin et exécuter. Nous ne dépendons pas vraiment de rpm ou de dpkg pour installer les packages Go.
Si vous encouragez les responsables en aval à renommer votre binaire et à conserver le nom mc
dans la documentation, alors vous devez être prêt à faire face à la tempête de questions telles que :
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
Ma question ne concerne pas rpm, deb, go get
. Les utilisateurs préfèrent installer le package fourni par le référentiel plutôt que de créer eux-mêmes le binaire. La question est d'avoir deux binaires avec le nom mc
sous $PATH.
Voici un petit extrait du bogue Debian lié qui est très pertinent ici :
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 n'est pas pertinent pour les besoins d'aujourd'hui. Les systèmes d'exploitation modernes doivent prendre en charge les binaires installés par l'utilisateur dans leur propre espace de noms. C'est la raison pour laquelle nodejs, Go, Python se sont éloignés des modules de package fournis par la distribution.
Il est également peu probable que les utilisateurs de Midnight Commander utilisent également mc
. Il est normal que les packages binaires entrent en conflit au moment de l'installation.
Je souhaite vraiment qu'il y ait une solution facile ici.
POSIX n'est pas pertinent pour les besoins d'aujourd'hui.
Vous et moi et tout le monde l'utilisons tous les jours. En quoi est-ce sans importance ?
Les systèmes d'exploitation modernes doivent prendre en charge les binaires installés par l'utilisateur dans leur propre espace de noms
Ils le sont déjà, mais cela ne résout pas le cas où il y a deux binaires dans $PATH utilisant le même nom. Malheureusement, vos vœux pieux ne résoudront pas ce problème maintenant ou à l'avenir.
C'est la raison pour laquelle nodejs, Go, Python se sont éloignés des modules de package fournis par la distribution.
Vous mélangez les choses. Les langages de programmation n'ont jamais utilisé de packages spécifiques à une distribution en premier lieu. En aval les reconditionne afin qu'ils soient conformes aux politiques existantes. Cela permet à l'utilisateur final d'installer facilement n'importe quel package sans se soucier de configurer l'environnement de développement et de tout construire à partir de zéro.
Il est également peu probable que les utilisateurs de Midnight Commander utilisent également mc.
Quoi? Je suis un utilisateur mc actif depuis 12 ans. Chaque instance de Mindnight Commander utilise mc
pour le nom binaire. Votre déclaration n'a aucun sens.
Il est normal que les packages binaires entrent en conflit au moment de l'installation.
Vous avez raté l'essentiel. Il n'est pas acceptable d'avoir deux binaires différents avec le même nom sous $PATH. Cela provoque déjà des conflits, voir le lien homebrew.
Je souhaite vraiment qu'il y ait une solution facile ici.
Il y a. Changez le nom de ce binaire. N'encouragez pas tout le monde à le faire pour vous. Votre comportement passif agressif n'est pas le moyen de résoudre ce problème. Ce n'est pas la dernière fois qu'on vous posera cette question osée.
Il est également peu probable que les utilisateurs de Midnight Commander utilisent également mc.
Veuillez relire ceci.
the combinations of packages that users may choose to install
on a given system can easily surprise the authors of those packages
Commentaire le plus utile
Vous et moi et tout le monde l'utilisons tous les jours. En quoi est-ce sans importance ?
Ils le sont déjà, mais cela ne résout pas le cas où il y a deux binaires dans $PATH utilisant le même nom. Malheureusement, vos vœux pieux ne résoudront pas ce problème maintenant ou à l'avenir.
Vous mélangez les choses. Les langages de programmation n'ont jamais utilisé de packages spécifiques à une distribution en premier lieu. En aval les reconditionne afin qu'ils soient conformes aux politiques existantes. Cela permet à l'utilisateur final d'installer facilement n'importe quel package sans se soucier de configurer l'environnement de développement et de tout construire à partir de zéro.
Quoi? Je suis un utilisateur mc actif depuis 12 ans. Chaque instance de Mindnight Commander utilise
mc
pour le nom binaire. Votre déclaration n'a aucun sens.Vous avez raté l'essentiel. Il n'est pas acceptable d'avoir deux binaires différents avec le même nom sous $PATH. Cela provoque déjà des conflits, voir le lien homebrew.
Il y a. Changez le nom de ce binaire. N'encouragez pas tout le monde à le faire pour vous. Votre comportement passif agressif n'est pas le moyen de résoudre ce problème. Ce n'est pas la dernière fois qu'on vous posera cette question osée.