最近、Debianマシンに brew
コマンドをインストールして、システムに tldr
manページをインストールしました。このコマンドは、Debianによってパッケージ化されていないプログラムをインストールするのに役立つように見えます。また、パッケージをインストールするためにSudo
を必要としません。ただし、制限があります。コマンドbrew
を使用してインストールできるパッケージはごくわずかです。
Debianリポジトリからパッケージをインストールするようにbrew
を設定することは可能ですか?
出来ますか?はい。どちらのプログラムもオープンソースです。便利ですか?あんまり。
パッケージマネージャーは多かれ少なかれ次のように機能します。
これが、パッケージマネージャーをほとんど使用しないシステムを持つことが最善のアイデアではない理由です。
brew
はfirefox
をインストールしたことを知る必要があり、apt
はtldr
をインストールしたことを知る必要があります)ncurses
が必要ですが、apt
はすでにncurses
をインストールしているので、プルする必要はありません!」)。ご覧のとおり、2
の問題は、パッケージマネージャーが基盤となるリポジトリの抽象化であるということです。 Debianの人々のような人々は、ユーザーに使用してもらいたいパッケージを選択し、他の人が利用できるようにします。ただし、システムの一貫性を保つために、これらのパッケージも選択します。彼らは、最小限のパッケージで最大限の機能を提供することを望んでいます。すべてをバージョン2で動作させることができるのに、なぜncursesバージョン1、2、および3をインストールするのですか?
最初の問題も悪いニュースです。パッケージマネージャーは、自分が何をしているのかを互いに通知する必要があります。そうしないと、衝突する可能性があります(brew
はncurses
が既にインストールされていることを知りません)。
これは事実上、2つのパッケージマネージャーで構成されるパッケージマネージャーが必要になることを意味します。新しいプログラムが必要になります。
まず、「どうしてこんなことをしたいの?」と自問します。正直なところ、ディストリビューションはたくさんのパッケージを提供するはずです。パッケージの数に満足できない場合は、必要なパッケージが多い他のディストリビューションに切り替えることを検討してください。
もしあなたが本当にこのbrew
を機能させるのに必死なら、私は次の解決策を提案しますが、これが完全に可能かどうかはわかりません:
brew
のソースを取得します。brew
を変更して、実行するたびにプログラムを呼び出してレシピを.deb
パッケージに変換し、ディストリビューションのリポジトリ内のプログラムを検索してから、apt
を呼び出してこのパッケージをインストールします。このような変更を行うには、おそらく多くの時間がかかり、簡単なことではありません。代わりに、ディストリビューションを変更するか、パッケージマネージャーに固執することをお勧めします。
はい、しかしそれは努力の取るに足らない無駄でしょう。 tldrに対して ppa を作成するか、メインのDebianリポジトリに受け入れられるようにするか、 https://tldr.ostera.io を使用する方が理にかなっています。