Ubuntuのprofile.localに追加しますか?

Ubuntuのprofile.localに追加しますか?

/etc/profile.local(ルートとして)調整するには、次の行を使用するように指示されました。

export PATH=$PATH:~/cmds:.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/lib
export LIBRARY_PATH=$LIBRARY_PATH:~/lib
export ALLOW=1

しかし、ファイルが見つからないようですprofile.local。 Ubuntu 14.04を使用しています。とにかく、これを実行するために必要なプログラムはコマンドを見つけることですので、cmdsこれは私のパスを更新するだけだと思いますか?

私はLinuxに初めて触れたので、助けてくれてありがとう。グローバルアップデートを試しましたが、/etc/profile何も実行できませんでした。

答え1

存在しない場合は、/etc/profile.local単に作成してテキストエディタで次の行を作成するか、次の行をコピーして貼り付けることができます。

cat <<EOF>/etc/profile.local
export PATH=$PATH:~/cmds:.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/lib
export LIBRARY_PATH=$LIBRARY_PATH:~/lib
export ALLOW=1
EOF

入れようとする理由/etc/profile.localは、ファイルを上書きせずに/etc/profileシステム更新時に更新されるためです。

答え2

に記載された方法の代替として@jimmijからの返信/etc/profile.local、これらの変更を以下のファイルに保存することもできます/etc/profile.d

このディレクトリのファイルは、アカウントがログインしたときに取得されます。たとえば、

$ ls -l /etc/profile.d/ | head -5
total 120
-rw-r--r--. 1 root root  771 Mar 26  2014 256term.csh
-rw-r--r--. 1 root root  841 Mar 26  2014 256term.sh
-rw-r--r--. 1 root root 2864 Apr 23 04:28 autojump.bash
-rw-r--r--. 1 root root  619 Apr 23 04:28 autojump.sh

zshユーザーがまたはまたはbashなどのBourneスタイルのシェルを使用している場合csh

これらのファイルにはエクスポートが含まれており、次のようになります。

$ more /etc/profile.d/lithograph_software.sh
export PATH=$PATH:$HOME/cmds:.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/lib
export LIBRARY_PATH=$LIBRARY_PATH:$HOME/lib
export ALLOW=1

答え3

同じ問題がありますが、どこでもこの簡単な解決策を見つけることができませんでした。カスタムコマンドを追加してファイルを生成したら、ユーザーファイルに/etc/profile.local次の文字列を追加する必要があります。.profile

test -s /etc/profile.local && . /etc/profile.local

すべてのユーザーには2つのシナリオがあります。

  1. ユーザーが存在しない場合は、次の行を追加します。

    /etc/skel/.profile
    

    ~/.bash_profileユーザーがすでにSKELディレクトリまたはファイルを持っている場合、デフォルトではSKELディレクトリが見つからない可能性があります~/.bash_login。そして、既存のユーザーには機能しません。

  2. 既存のユーザー(ルートの場合など)の場合は、手動で追加するか、または追加 /root/.profileユーザーを追加する必要があります。この手順の後にもう一度ログインしてください。~/.profile~/.bash_profile

この推奨事項は、Ubuntuなどのオペレーティングシステムに適用されます。他のオペレーティングシステムにはこれに対するソリューションが組み込まれている可能性があります。たとえば、SUSE Linuxです。

関連情報