`brew link unbound`は` / usr / local / sbin is not writable`エラーを返します


0

インストールしようとしています 未結合 使う brew コマンド。

こちらの出力は brew install unbound

Warning: unbound 1.6.7 is already installed, it's just not linked.
You can use `brew link unbound` to link this version.

ご覧のとおり、私は使うように頼まれました brew link unbound アンバウンドへのリンク

しかし、次のようなエラーが表示されたため、リンクできませんでした。

Linking /usr/local/Cellar/unbound/1.6.7...
Error: Could not symlink sbin/unbound
/usr/local/sbin is not writable.

私は他のstackoverflowを持っています ここに

そして答え sudo chown -R $(whoami) /usr/local 次のエラーが発生します。

chown: /usr/local: Operation not permitted

私はmacOS High Sierraバージョン10.13.2を使っています。そして私の自作バージョンは1.4.3です。

どうすればこの問題を解決できますか?


あなたのOQにあなたの問題で心配しているMacOSのバージョンを追加してください。
daniel Azuelos

として走ってみましたか sudo
Praveen P

回答:


1

デフォルトでは/ usr / local / sbinは存在しません。フォルダはbrewをインストールすることによって作成されるべきです、所有者/パーミッションは$(whoami):admin / 775に設定されます。 / usr / local /内のほとんど/すべてのフォルダは、brewをインストールしたユーザが所有しています - これはデフォルトのインストールと設定の一部です。

一方、サードパーティ製のツールがこのフォルダに以前にインストールされている場合があります(例:AFAIR) procexp またはSmartmontoolsをそこにインストールする必要があります。 その場合、所有者/パーミッションはおそらくroot:wheel / 755またはroot:wheel / 775に設定されます

問題を解決するには、/ usr / local / sbinが存在するかどうか、およびそのフォルダのアクセス権を確認してください。

次のコマンドは、このフォルダが存在しない場合は作成し、それを書き込み可能にしますが、owner:groupは変更しません。

if [ ! -d /usr/local/sbin ]; then sudo mkdir /usr/local/sbin; fi && sudo chmod 777 /usr/local/sbin

これで、バインド解除されたリンクを作成できます。

brew link unbound

あなたは世界の書き込み可能なステップを元に戻すことができます。

sudo chmod 775 /usr/local/sbin

フォルダを〜/ .bash_profile内のユーザーのPATHまたは/ etc / paths内のシステムのPATHに追加することを忘れないでください。


エラーが発生した場合

Error: Could not symlink sbin/unbound
/usr/local/sbin is not writable.

ユーザーは、実際に実行されたコマンドでフォルダに書き込む権限を持っていません。

コマンド sudo chown -R $(whoami) /usr/local エラーにもかかわらず、すべてのサブフォルダとその内容の所有者を$(whoami)に変更します。 chown: /usr/local: Operation not permitted。唯一の例外は、/ usr / local /内のSIP保護項目です。ただし、デフォルトでは、どのファイルやフォルダも保護されていません。

したがって、エラーメッセージは誤っており、あなたはおそらくあなたの sudo chown -R ... コマンドとあなたは単にリンクしようとしたはずです 未結合 もう一度。

次のように入力してフォルダのアクセス許可を確認できます。

ls -lae /usr/local/sbin

あなたはのサブディレクトリにすべての保護されたアイテムを取得することができます 地元 次のように入力してください。

ls -lae -R /usr/local | grep restricted
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.