すべてのLinuxディストリビューションで必要なパッケージセットをインストールできるスクリプトを作成し(元のUbuntuで実行するように作成し、それらのいずれかに拡張します)、デフォルトでは環境設定として機能します。そのようなパッケージの例は次のとおりです。zsh、omz、fzf、オートコンプリートちょっと...
私の質問は、パッケージマネージャ()が必要なapt-get
パッケージをインストールしてからスクリプトを介して呼び出す必要がありますか、手動でwget
ソースファイルを呼び出してインストールを続行する必要がありますか?どちらが一番良いと思いますか?
答え1
システムライブラリに接続する必要がある項目、またはターゲットシステムの他の項目に接続できる項目については、常にデフォルトのパッケージマネージャをお勧めします。それ以外の場合は、ターゲットとする各プラットフォームのデプロイメント特性に合わせて動作するように努力する必要があります。これにより、ユーザーが自分がインストールするパッケージのバージョンでバージョンを使用しようとすると問題が発生する可能性があります。
@ArtemS.Tashkinovが言ったように、各目標を個別に処理する必要があります。これは実際には拡張されません。 GNU Radioコミュニティには、少数のプラットフォームでこれを試すPyBOMBSというツールがあります。これはメンテナンスの悪夢です。ユーザーが実際にプレフィックスを分離したいユースケースでは、最初からcondaなどの既存のプレフィックスマネージャを使用する必要があります。傾けなければなりません。新興、zypper...実際に完璧に動作します。
特に、ソフトウェアに関しては、いかなる状況でも直接コンパイルしたzshをシステムパスにインストールしないでください。これが悪夢のような非互換性の原因です。ディストリビューションに付属のzshをインストールするだけです。
Linuxディストリビューションはソフトウェアの競合防止メカニズムです。可能であれば使用する必要があります。ソースから何かをビルドし、ユーザーが夜間にパッケージマネージャを介して合法的にインストールしたものをインストールすると、競合が発生してユーザーシステムが破損する可能性があります。
1 これは私の個人的な意見です。 PyBOMBS1とPyBOMBS2はまだ多くの素晴らしいアプリケーションを可能にします!持っていることは確かに素晴らしいことです。これは、大規模なコミュニティがすでに行っている作業を複製するための大きな努力です。
答え2
多数のLinuxディストリビューションがあり、各ディストリビューションには異なるパッケージマネージャを使用できる複数のバージョン(過去、現在、未来)があるため、このプロジェクトは非現実的です。 (この最後の点については、Red Hatの、、およびrpm
をyum
考慮してくださいdnf
。)
パッケージ管理ツールを使用することにした場合がこれに該当します。
一方、各ツールのソースコードをダウンロードし、ローカルでコンパイル(したがってスーパーGentooに似たディストリビューションを作成する)したい場合は、互換性のない依存関係のために無限に厄介なことが起こります。
簡単に言えば、このプロジェクトは巨大で実現不可能です。