/usr/bin/ と /usr/local/bin の違い

[urlpreviewbox url=”https://teratail.com/questions/59452″/]

 

上記のteratailは完全に僕自身の質問なのですが

 

要約すると、cocoapodsをインストールする際「ルートレス機能」で /usr/bin/ にアクセスが出来ない

 

だから、 /usr/local/bin にアクセスしてルートレスの影響を受けずにcocoapodsを使おうってことなのですが

 

そもそも/usr/bin//usr/local/bin の違いってなんだろうって話で

 

エンジニアとして「なんで動いてるのかわからないけど動いてる」っていう状況は、あんまり承知したくないですよね

 

ちゃんと理解したい… ということで調べて、聞いて、考えて、納得しましょうということです

 

まあ、色々考え、僕なりに納得した結果はですね

 

teratailで回答してくださった @HiroshiWatanabe さんの回答が分かりやすいと思いますよ↓

 

/usr/bin/ はOSに標準的に最初から入っている ls とか cat とかのツール類が入ってる場所で
/usr/local/bin/ は自分が後から追加で組み込んだツール類等(apacheとか)を入れる場所

 

まあ要は、結局 /usr/bin/ /usr/local/bin /bin であることは変わらないんですよ

 

だから、 /usr/bin/ に ls コマンドがあろうが  /usr/local/bin にls コマンドがあろうが

 

実行できることに変わりはないし、実行される結果も変わらない

 

だから、別にどっちでもいいんですね別に。

 

でも、今この状況は、sudo権限でもルートレス機能が原因で

 

/usr/bin/ にアクセスできないのでインストールできないってことであり

 

ルートレス機能を無理やりリカバリモードとかで無効にするくらいだったら

 

/usr/local/bin にインストールしてしまえば、

 

ルートレスの影響を受けずにコマンドが実行できるよってことでした

藤沢瞭介(Ryosuke Hujisawa)
  • りょすけと申します。18歳からプログラミングをはじめ、今はフロントエンドでReactを書いたり、AIの勉強を頑張っています。off.tokyoでは、ハイテクやガジェット、それからプログラミングに関する情報まで、エンジニアに役立つ情報を日々発信しています!

未整理記事