3 votes

La commande ln du terminal génère une erreur : Système de fichiers en lecture seule

J'essaie de créer un lien symbolique vers un fichier afin d'activer la complétion Docker CLI, en suivant ces instructions.

https://docs.docker.com/desktop/mac/#zsh

 > etc=/Applications/Docker.app/Contents/Resources/etc
 > ln -s $etc/docker.zsh-completion /usr/share/zsh/site-functions/_docker

ln: /usr/share/zsh/site-functions/_docker: Read-only file system

J'ai essayé sudo . C'est MacOS Monterey. Je suis nouveau sur Mac et ancien sur PC. Il semble que Zsh sur ma machine se trouve dans un répertoire étrange, c'est-à-dire pas dans /usr/local/ .

Le nouveau système de protection m'empêchait à l'origine de faire mon lien en donnant Operation not permitted mais j'ai désactivé la protection en utilisant csrutil en mode récupération et j'ai maintenant cette nouvelle erreur.

  • Ai-je maintenant touché un deuxième système de protection ?
  • Je peux éteindre le deuxième aussi ??
  • Y a-t-il un boss de fin de niveau ?
  • Sinon, comment faire pour que Zsh soit installé dans le répertoire qui n'est pas verrouillé ?
  • Comment puis-je éviter que d'autres choses soient installées dans le "mauvais" répertoire ?

7voto

Adi Points 1105

Les Macs modernes divisent le disque en deux volumes (un "volume" est similaire à une partition, mais différent à plusieurs égards). Par défaut, les volumes sont nommés Macintosh HD y Macintosh HD - Data .

La façon dont les disques/volumes/partitions/etc fonctionnent sur Mac OS ou tout autre système UNIX est de "monter" le volume sur un chemin dans le système de fichiers. Macintosh HD est "monté" au chemin / . Et Macintosh HD - Data est monté sur le chemin /System/Volumes/Data .

Le site Macintosh HD (ou / ) est monté en lecture seule et il ne peut être modifié que lors de l'installation d'une mise à jour du système d'exploitation. Il n'y a pas de sudo ou d'escalade de privilèges - considérez-le comme un CD-ROM (à quelques exceptions près).

C'est un peu le bordel, par exemple. /Applications existe à la fois sur ce chemin et sur /System/Volumes/Data/Applications . Ce dernier est le chemin réel, le premier est une commodité et existe également pour la rétrocompatibilité.

La plupart de ces éléments sont invisibles lors de l'utilisation ordinaire d'un Mac, mais vous pouvez vous y heurter en travaillant en ligne de commande.

Comment éviter que d'autres choses soient installées dans le "mauvais" répertoire ?

Parce que / est en lecture seule, rien ne peut y être installé, donc tout va bien :-) Tout ce que vous installerez se trouvera sous /System/Volumes/Data ou un chemin qui y mène.

5voto

Jose Chavez Points 645

Les instructions que vous utilisez sont pour zsh faites par Homebrew - pas les zsh qui est fournie avec MacOS. C'est pourquoi les chemins sont différents. Vous pouvez installer zsh de Homebrew et les instructions seront alors valables.

Et oui, dans un certain sens, vous avez touché un autre "système de protection", si vous voulez l'appeler ainsi. Le système de fichiers que vous essayez de modifier est simplement monté en lecture seule, ce qui signifie qu'il ne peut pas être modifié. Il est possible d'obtenir un accès en lecture-écriture à ces fichiers et d'y apporter des modifications, mais je vous déconseille fortement de le faire. Il est presque certain que cela vous posera plus de problèmes à long terme.

LesApples.com

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.

Powered by:

X