ベストプラクティスによると、/ varの使用はsudoerに制限されるべきです。

ベストプラクティスによると、/ varの使用はsudoerに制限されるべきです。

パッケージを作成し、それを使用して/varいくつかのデータを保存したいと思います。私が保存しているデータも考慮に入れることができます/var/db

私が観察したパターンは、/var/db周囲のファイルがroot。このパッケージの主な(意図された)用途は、cronジョブをフィルタリングすることです。つまり、crontabを編集するには権限が必要です。

  1. パッケージをインストールするにはsudoを使用する必要がありますか?
  2. パッケージが/usrサブディレクトリに段階的に低下するようにする必要がありますか?それではどれですか?
  3. Sudo以外のインストールにconfigrcパスが必要だと思う場合は、パッケージ内でこの設定ファイルをどこで見つけるべきですか(共有ホスティング環境を想定しています)?
  4. 私も/usr/lib従わなければなりませんこの記事のアイデア

ところでこのバッグはルビージュエリーで、ここで見つけることができます。

答え1

パッケージがrootとしてインストールされている場合はアクセスできます/var

書き込みも書き込みもできないユーザーがインストールした場合、デフォルトの/varプロセスはスクリプトに設定されます/usr。または、ユーザーに書き込み権限がある場所にディレクトリを設定する別の方法を提供します。--prefix=$HOME/somedirconfigure

答え2

/var一種の「他の所には合わないもの」です。この構造では、個々のユーザーを階層に追加することはできません。

通常のユーザーがパッケージをインストールした場合、通常、プログラム、静的データ、および動的データはすべて、ホームディレクトリの下の1つのディレクトリに保存されます。解凍してそこで実行している場合にのみ機能するようにプログラムをパッケージ化することをお勧めします./configure && make && make install

bin/myprogram
share/static-data
man/man1/myprogram.1
data/dynamic-data

管理者がパッケージをインストールした場合、アプリケーション固有のディレクトリは次の場所にあります。/var/libユーザーに特定されていない動的データの一般的な場所です。システム全体で使用するためのパッケージは通常、配布固有のパッケージ形式(.deb、、、.rpm...)で提供されます。パッケージビルドスクリプトはパスを正しく設定します。

関連情報