私は主に独学で生物情報学博士号を取得しました。それでは、さまざまなディレクトリ構造(たとえば、私のデータ)を整理しようとしています。しかし、使用中の様々な生物情報学パッケージを保存する方法も考えています。 。正式な教育を受けたこともなく、Unixコースを1つだけ受講したので、「Unix 101」やこれと同様の言語で教えたと思うことがまだ多いです。私はいくつかのインターネット検索を試しましたが、私の質問に対する答えが見つからなかったので、ここに質問をしたいと思いました。私はMacで作業しているので、OSX(Yosemite)も重要です。
私が使用しているさまざまなパッケージをダウンロードしてインストールするときの現在の回避策は、ダウンロードディレクトリ全体をコピーしてすべてのファイルを/Users/sajber/software
含めることですmake
(該当する場合は、ダウンロードディレクトリに事前作成されたバイナリがある場合もあります)。/Users/sajber/bin
その後、どのような種類のパッケージ管理ソフトウェアも使用しないため、すべての作業を手動で実行しましたPATH
。/Users/sajber/bin
これがどれほど「間違っている」か、どのように改善できますか?人々がいつもやっていることに対する一種の基準はありますか?
すべてのパッケージを以前と同じように保持するのではなく、に示すように/Users/sajber/software
個々のパッケージを追加する方法を考えました。最初はこれをしましたが、パスがめちゃくちゃになり、間違いなく変更するのが難しく、現在のソリューションを使用しました。これを考えてみると、これが「より良い」ソリューションである場合は、各パッケージに別々の行(上記のように)を提供するように変更することができます。PATH
PATH=$PATH:/Users/sajber/software/<package>
PATH
.bash_profile
また/Users/sajber/scripts
、に追加したさまざまなPython、R、bashスクリプト用のフォルダもありますPATH
。Git
このディレクトリにはバージョン管理用のリポジトリがあります。これがあなたがやるべき方法ですか?
この質問が非常に基本的であれば申し訳ありません!私はUnix環境で働く標準的な方法が何であるかわからず、ほとんど独学しました。
ベストアンサー1
これに同意することには問題がなく、長所と短所があります。ローカルで開発したスクリプトと他の場所で得られたプログラムを区別するのが便利だと思います。
- 私のローカルで開発されたスクリプトには参照すべき変更履歴がありますが、
- 他の場所から取得したプログラムは、他の人によって管理されます(自己変更履歴があります)。
「マイ」スクリプトが実行されている場所で更新されるのが最も便利なので、複数のbinディレクトリを持つことが役立ちます(少なくとも私にとっては)。
私のプログラムのパッケージを作る前に、私は/usr/local
後者を使用しました。
./configure && make && sudo make install
そしてほとんどプログラムこのスキームをデフォルトで採用するには、autoconf 固有のスクリプトを使用します。
もちろん、他の人もそれぞれ好むものがあります。つまり、あなたに最適なものを選択してください。