J'ai constaté qu'il y a quelques différences entre la commande utilitaire que j'ai utilisée sur mac OSX et linux. Je veux rendre mon expérience unie.
Comment pourrais-je remplacer tous mes utilitaires mac par des utilitaires GNU ?
J'ai constaté qu'il y a quelques différences entre la commande utilitaire que j'ai utilisée sur mac OSX et linux. Je veux rendre mon expérience unie.
Comment pourrais-je remplacer tous mes utilitaires mac par des utilitaires GNU ?
Ceci ajoute des liens symboliques pour les utilitaires GNU avec le préfixe g à /usr/local/bin/
:
brew install coreutils findutils gnu-tar gnu-sed gawk gnutls gnu-indent gnu-getopt grep
Voir brew search gnu
pour les autres paquets. Si vous voulez utiliser les commandes sans le préfixe g, ajoutez par exemple /usr/local/opt/coreutils/libexec/gnubin
avant les autres répertoires de votre PATH
.
$ brew info coreutils
coreutils: stable 8.21
http://www.gnu.org/software/coreutils
Depends on: xz
/usr/local/Cellar/coreutils/8.20 (208 files, 9.4M)
/usr/local/Cellar/coreutils/8.21 (210 files, 9.6M) *
https://github.com/mxcl/homebrew/commits/master/Library/Formula/coreutils.rb
==> Caveats
All commands have been installed with the prefix 'g'.
If you really need to use these commands with their normal names, you
can add a "gnubin" directory to your PATH from your bashrc like:
PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
Additionally, you can access their man pages with normal names if you add
the "gnuman" directory to your MANPATH from your bashrc as well:
MANPATH="/usr/local/opt/coreutils/libexec/gnuman:$MANPATH"
Outre brew install coreutils
vous devrez peut-être aussi installer d'autres paquets, tels que gnu-sed
, grep
:
brew install findutils
brew install gnu-indent
brew install gnu-sed
brew install gnutls
brew install grep
brew install gnu-tar
brew install gawk
Notez que le --with-default-names
L'option est supprimé depuis janvier 2019, de sorte que chaque binaire doit être ajouté au chemin s'il doit être utilisé sans l'option g
préfixe.
Ancienne référence (lorsque --with-default-names
était disponible) : http://www.topbug.net/blog/2013/04/14/install-and-use-gnu-command-line-tools-in-mac-os-x/
Je ne suis pas sûr que je recommanderais remplacement de Cependant, vous pouvez les installer sur un chemin différent et les utiliser de cette façon. Dans l'ensemble, si vous venez de Linux et que vous souhaitez accéder à des utilitaires *nix plus "génériques", et un système similaire à apt, alors je vous recommande de regarder dans Macports : http://www.macports.org
Il permet, par exemple, d'utiliser le dernier GCC "générique", par opposition/en plus du GCC inclus par Apple, juste à titre d'exemple.
J'ai écrit un script qui transforme de manière transparente le CLI de MacOS en une expérience fraîche de CLI GNU/Linux en
https://github.com/fabiomaia/linuxify
git clone https://github.com/fabiomaia/linuxify.git
cd linuxify/
./linuxify install
Il vous permet également de tout défaire facilement.
./linuxify uninstall
Au lieu de définir les variables d'environnement PATH et MANPATH (ce que je recommande), il est également possible d'établir un lien symbolique entre les binaires et un emplacement PATH existant, comme ceci :
Vous devez savoir où Homebrew s'installe. coreutils
binaires.
/usr/local/opt/coreutils/bin
Le site /usr/local/opt
est l'endroit où Homebrew stocke des fichiers relativement statiques qui sont peu susceptibles de changer entre les mises à jour.
Vous pouvez ensuite créer des liens symboliques à partir de là vers un emplacement qui se trouve déjà dans votre PATH. Il doit s'agir d'un chemin qui est chargé tôt dans le PATH, car le PATH est recherché selon le principe du premier arrivé, premier servi. /usr/local/bin
est un bon choix basé sur l'examen de echo $PATH
.
which sha256sum # prove it is not on PATH
ln -s /usr/local/opt/coreutils/bin/sha256sum /usr/local/bin/
which sha256sum # prove it is on PATH
De cette façon, il serait presque aussi facile de créer des liens symboliques. Dans certains cas, comme lorsque vous souhaitez un contrôle plus strict, c'est une bonne option plutôt que d'ajouter un répertoire entier à votre PATH et MANPATH.
LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.