最小限のLinuxデスクトップを構築するためのツールを探しています


13

私のLinux デスクトップを構成することは、通常、機能を追加したり調整したりする代わりに膨張を取り除くことを意味するという事実にますます不満を感じています。私は非常に最小限のものから始めてから、追加機能を提供することについて学んだパッケージを追加したいという結論に達しました。

だから私は非常に最小限のデスクトップディストリビューションか、そのようなディストリビューションを構築するためのより良いツールを探しています。または、言い換えると、パッケージマネージャーを実行前のビルドツール置き換えたいのです

パッケージマネージャーは問題ありませんが、巨大なパッケージリポジトリではなく、高度な事前設定に焦点を当てたディストリビューションを探しています

さまざまな最小限のデスクトップディストリビューションを見てきましたが、それらはすべて異なる問題を解決するようです。たとえば、古いハードウェアで実行するように設計されているか、cd / stick / ramfsから実行するように設計されています。しかし、私は古いハードウェアを持っているので、さまざまな部品がどのような目的を果たしているのかを知りたいので、最小限の配布は望みません。メインメモリから実行することもそこでは助けになりません。最小限シンプルなものが欲しいです。

どうやらミニマリズムのために設計されたディストリビューションはないように思えるので、Linux From Scratchをビルドするのは明らかな選択肢だと思います。ただし、ビルドプロセスを高度にカスタマイズしたいのですが、満足のいくシステムができるまで何度も実行する必要があるため、ビルドプロセスも自動化する必要があります。

ビルドプロセスを自動化できるlfs用のツールが存在しますが、それは本当に不可欠な部分ではありません。基本的には、ドキュメントからシステムを構築するために必要な手順を抽出し、自動的に実行します。私はもう少し堅牢で高度なものを探していますが、xmlを編集する気もありません。

少し検索した後、組み込みディストリビューションをビルドすることを目的としいるが、X11のインストールも可能にするBuildrootを見つけました。ツールチェーンを作成してからrootfsを作成する前に、Linuxと同じようにビルドを構成できます。これは、組み込みシステム用のクロスコンパイルを意図していることを除いて、私が念頭に置いていたものとまったく同じです。make menuconfig

私が現在考えているのは、buildrootを使用することですが、最初にすべての埋め込まれた特定の部分をリッピングして、それらをlfsのそれぞれの部分に置き換えます。たくさんの仕事。

また、ビルドルートにはいくつかの問題があります(私の制限テストからわかるように)追加のパッケージを有効にすると、ホールがゼロから再構築されますが、些細な変更ではそれを避けたいと思います。

その時間を投資する前に、デスクトップディストリビューションをビルドするためのbuildrootの代替/フォークであるbuildrootのようなプレインストールビルドツールを使用して、デスクトップディストリビューションの検索を続けます。

編集:これまでの回答は、私が現在使用しているGentooなどのディストリビューションを示しています。しかし、Gentoo、Arch、Debianなどのディストリビューションは最小限のものではないため、これらのディストリビューションに代わるもの探しています。また、インストール後にこれらのディストリビューションをカスタマイズする必要があります。インストール前にカスタマイズできるものが欲しい。

上記のディストリビューションはすべて素晴らしいディストリビューションですが、私が探しているものではありません。私が探しているのは「デスクトップ用のビルドルート」です。buildrootが何であるかわからない場合、おそらく私を満足させる答えを提供することはできません。

また、この質問は主観的だとは思いません。私は自分のニーズに近いものを見つけることができないので、私が必要としているものの少なくとも一部を提供する可能性のあるプロジェクトに私を向けるようお願いします。

回答:


5

Fedora、CentOS、RHELのインストーラーの機能であるKickstartのようなものanaconda、および好みに合わせてインストールを完全にカスタマイズできる派生ディストリビューションを使用できます。インストールするパッケージ、パーティションレイアウト、ネットワーク構成、パッケージリポジトリ、ルートパスワードなどを選択できます。また、インストール前およびインストール後のスクリプトを作成して、必要な処理を実行することもできます。完全に自動化されたインストールを実行するか、プロンプトを表示するものを選択できます。すべての設定は、1つの単純な(XMLではない)テキストファイルで定義されます。このテキストファイルは、手動またはグラフィカルsystem-config-kickstartツールで作成できます。

それらをまとめたら、必要に応じて独自のカスタムCDをロールしたり、キックスタートファイルにネットワークの場所を設定したりできます。これはFTP、HTTP、またはNFSを介してローカルまたはインターネットミラーにすることができます。キックスタートファイルもネットワーク上にあるため、スタブインストールディスクを1枚焼いてインストールをブートストラップし(またはバニラインストールメディアを使用)、できるだけ多くの異なる構成を使用することができます。リムーバブルメディアを完全に排除して、ネットワークブートすることもできます。

ネットワークオプションまたはカスタムスパンメディアを使用すると、「巨大なパッケージリポジトリ」が不要になりますが、何かを追加することを決めた場合でも引き続き使用できます。しかし、完全に独り占めしたい場合は、独自のリポジトリを構築し、アップストリームからRPMSを選んで、SRPMSを好みに合わせてカスタマイズし、独自ローリングするmake && make installtar -jxf、インストール後のスクリプトをハッキングすることもできます。

多くのディストリビューションは同様の機能を備えており、その一部は、Debianなどの機能セット全体を実装していなくてもキックスタートファイルを理解します。


キックスタートへのポインターをありがとう。私はそのドキュメントを簡単に見ていたので、それが私のニーズを満たすかどうかはまだわかりませんが、確かに興味深いようです。あなたは私が探しているものを理解しました、おめでとう:-)私はまだあなたの答えを「受け入れません」。私はまだ主流のディストリビューションからではなく、ミニマリストのディストリビューションから生まれたビルダーを探しています。後者もそれを正しくするかもしれませんが、私はまだ前者にもう少し信仰を持っています。再度、感謝します。
-tarsius

1

もし、Gentooのemergeが非常に多くの依存関係を引き出していると思うなら、Slackwareを試すことができます。またはその派生物の1つ。すぐに使えるSlackwareは、依存関係の解決を試みません。まったく。

Lunar Linux(CRUX)を探索することもできます。


過去にこれらの分布を聞いたことがないということではなく、過去にそれらを除外したことはありません。ただし、再検討します。新鮮な外観から、彼らは少なくともそれを行う価値があるようだ。ありがとう。
-tarsius

1

これはゲームの後半で返信するのが少し遅いことを知っていますが、http://susestudio.com/を使用してみましたか?必要なパッケージをすべて選択して、肥大化することなく、必要なだけ小さくすることができます。独自のリポジトリを作成できます。独自のパッケージをアップロードして、リポジトリ内で使用できます。希望どおりに取得するには数時間かかりますが、buildrootの手間が省けます。


1

あなたが遭遇したのLFScriptにも?

Linux From Script(または「LFScript」)は、「Automated Linux From Scratch」の非公式な代替手段です。LFScriptには、LFSおよびBLFSブックから生成された徹底的にテストされたスクリプトが含まれており、完全なLinuxオペレーティングシステムをゼロから構築できます。

さらにいくつかのベアボーンLinuxディストリビューション(ウィキペディア経由でチェックアウトするため)には次が含まれます。

  • Tiny Core Linux
  • Salix OS
  • SliTazおよびTiny SliTaz
  • くそー小さなLinux
  • ...

0

Gentoo Linuxでは、必要なものを正確に構築できます。実質的に何もない状態からフルサイズのデスクトップまで。基本的にビルドシステムであり、ビルド時の機能もカスタマイズできます。


私は何年もGentooを使用しています。また、Catalyst、Metro、および最近独自のビルドスクリプトを使用して、インストール前に独自のカスタマイズされたステージを構築しました。まだいくつかのマルチメディアアプリをインストールしていたときに、約700個のパッケージがインストールされていましたが、それらを削除すると、最大で400個になりました。そして、それは多くのuseflagsを削除し、無用の依存関係をもたらし、いくつかのパッケージを削除した後、多くの依存関係に役立ちました。最小限ではありません。
-tarsius

それで、あなたはそれで何か有用なことをすることも期待していますか?;-)
キース

1
私はむしろ、すでにインストールされているものが必要ではないことを知るためだけに何をするかを調べるのではなく、まだ欠けているものをインストールすることに時間を費やしますが、それでもディストリビューションに組み込まれているため削除できません。
タルシウス

0

これには実際に多くのオプションがあり、これは主観の領域に入ります。

私は個人的にPLD-Linuxを使用しています。これにより、約12個のコマンド(ファイルシステムのフォーマット、マウント、パッケージセットのインストール、ブートローダーの構成、ホスト名の設定など)で動作するLinuxシステムを構築できます。パッケージに関しては、必要なパッケージを1つ選択することができ、システムはそのアプリの依存関係のみを出力します。Apacheが必要な場合は、それをインストールします。システムは、実行するために必要な基本的なものだけを提供します。firefoxが必要な場合は、それをインストールし、基本的なX依存関係のセットを取得しますが、基本的に他には何もありません。特定の目的で動作する仮想システムを作成するために、これをさらに1つまたは2つのコマンドに自動化するスクリプトがいくつかあります。

ArchLinuxやGentooなど、他のいくつかのLinuxディストリビューションは、軽量であるか、ニーズに合わせてカスタマイズされています。それらのいずれかでより具体的なヘルプが必要な場合...

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.