/usr
や/usr/local/
などのディレクトリがrootによって所有および作成されている理由は疑問です。通常、私は通常のユーザーとしてログインしており、個人的にこれらのディレクトリで使用するプログラムを保存したいと考えています。たとえば、Android Studioはそこに保存されます。更新を行うか、何らかの変更を加える必要があるときはいつでも、rootとしてログインしていないため、許可は与えられません。
ディレクトリ名「usr」は、すでに(通常の)ユーザーベースのプログラムが存在することを意味しています。
このディレクトリの背後にある概念がわかりませんでしたか?
Sudo権限がなくても、アプリケーションをローカルにインストールして実行することを妨げるものは何もありません。ローカルで、つまり:自分のホームディレクトリそれがそうであるはずです。
システム上の他の可能性のあるユーザーと共有しているディレクトリに同じアクセス許可を与えないでください。
usr
の文字通りの説明は、nixシステムリソース (からユーザーシステムリソース。ただし、後者はユーザーによってownedとしてではなく、servingユーザー、システムを提供するとは反対。 ここ/usr
について読みます:
読み取り専用ユーザーデータのセカンダリ階層。ほとんどの(マルチ)ユーザーユーティリティとアプリケーションが含まれています。
一番下の行は、すべての(現代の)説明では、「shareabble、読み取り専用データ」、および「に書き込むべきではありません "
ディレクトリ名「usr」は、すでに(通常の)ユーザーベースのプログラムが存在することを意味しています。
Unixの暗黒時代以来、そうではなかった。 「etc」および「usr」の略語の意味は何ですか?
現在、/usr
ディレクトリは管理者が処理するためのものです。ただし、/usr
のほとんどすべてのコンテンツはパッケージによって処理され、/usr/local
は管理者がパッケージ管理システムの外部でローカルソフトウェアをインストールできる場所です。 Filesystem Hierarchy Standard を調べてみましょう。
/ usr/local:ローカル階層
目的
/usr/local
階層は、ソフトウェアをローカルにインストールするときにシステム管理者が使用するためのものです。システムソフトウェアの更新時に上書きされないようにする必要があります。ホストのグループ間で共有可能であるが、/usr
にはないプログラムおよびデータに使用できます。ローカルにインストールされたソフトウェアは、
/usr/local
内のソフトウェアを置換またはアップグレードするためにインストールされている場合を除き、/usr
ではなく/usr
内に配置する必要があります。
最新のLinuxシステムの/usr
と/usr/local
の両方について、通常のユーザーには書き込み権限がありません。シングルユーザーシステムでは、確かに/usr/local
への書き込みアクセス権を与えることができますが、とにかくSudo
特権があります(これらのディレクトリに書き込む頻度はどれくらいですか?)。
このディレクトリは、管理者がグローバルにインストールするソフトウェア用です。自分でソフトウェアを自分でインストールする場合は、ホームディレクトリで実行してください。標準の場所の詳細については、 FHS を確認してください。