見出し画像

Linuxのどのディレクトリに自分のプログラムを置けばいいのか調べてみた。

ダメな例 ホームディレクトリにコンパイラがあった。

Linuxの開発環境などを作ってみてみると、意外とわからないことが多く、調べてみました。自分の環境を見てみると、唐突にhomeディレクトリにpythonのコンパイラ?が置いてありました。ここでソースを解凍したからなんだろうな。すぐ消去しましたが、そこで適切な置く場所はどこだろうかと、調べてみました。

わが相棒、ChatGPTによると、

/usr/local/bin:
システムパッケージ以外の、ローカルにインストールされたプログラムやツールを配置するのに適した場所です。通常は手動でインストールしたものがここに入ります。

ChatGPT

とのことで、ここを調べてみると、Python3のコンパイラが見つかりました。ここになぜか置いてあった。いつの間にかインストールされていて不思議な気持ちです。(自分のホームディレクトリにもコンパイラがあったから、そっちだけだと思っていました。)

さて、余談ですが、先ほどGOのコンパイラをインストールしました。これはただ解凍するだけでOKのやつでしたが、/usr/localのディレクトリに置くのが公式情報に乗っていたので、そこに置いておきました。

自分が試しに作ったソースコードはどこに置いたらいいのか?


さて、それでは自分が書いたソースファイルはどこに置けばいいんでしょうか?少し古いですが、ネットでこんな情報がありました。

/home/foobar/src
自分が使う C のソース

/home/foobar/bin
自分だけが使うソースをコンパイルした自分だけが使う実行ファイル

/home/foobar/java    Javaのソース

/home/foobar/perl   Perl のソース

/home/foobar/trash    ゴミ・お宝

/home/foobar/tmp    一時的に使うファイル

/home/foobar/tgz tar + gzip で圧縮されたファイル

https://atmarkit.itmedia.co.jp/bbs/phpBB/viewtopic.php?topic=14642&forum=10

つまり、home/ユーザー/ の中で任意のフォルダを作って管理をするということですね。このやり方はかっこいい感じなので、やってみようと思いました。

ChatGPTも

/home/user/にフォルダを作成してプログラムを管理することは、一般的には問題ありません。ユーザーホームディレクトリは、各ユーザーが自分のファイルやプログラムを管理するための場所として適しています。このやり方には以下の利点があります:

ユーザー権限:
ユーザーホームディレクトリ内のファイルやフォルダは、通常、ユーザー自身が所有しており、ユーザーによってアクセスおよび管理されます。これにより、権限の問題を回避できます。
プロジェクト単位の整理:
各ユーザーが自分のホームディレクトリ内でプロジェクトごとにフォルダを作成することで、プロジェクトごとに整理された環境が提供されます。
ユーザーごとの独立性:
各ユーザーが独自のホームディレクトリを持つことで、ユーザーごとに環境が独立しており、互いの作業が干渉しにくくなります。


ただし、いくつかの注意点もあります:
パーミッションの確認:
プログラムやフォルダが正しいパーミッションを持っていることを確認してください。必要に応じて、chmodchownコマンドを使用してアクセス権を設定できます。
バックアップ:
ユーザーホームディレクトリは通常、バックアップ対象とされますが、大切なデータやプログラムが含まれている場合は、定期的なバックアップを検討することが重要です。
システム全体での競合:
プログラムやデータがユーザーホームディレクトリ内にある場合、システム全体の実行ファイルやライブラリと競合する可能性が低くなりますが、注意が必要です。特に、システムのパスにある実行可能ファイルと同じ名前のプログラムを作成しないように気をつけてください。

ChatGPT

とのことなんで、多分問題ないでしょう。

ここまで見ていただきまして、誠に有難うございました。

この記事が気に入ったらサポートをしてみませんか?