私は1つのアプリケーションに合わせてカスタマイズされ、完全に軽量で最小限のシステムリソースを使用するLinuxベースのオペレーティングシステムを構築したいと思います。私は何をすべきですか?
Ubuntuなどの既存のオペレーティングシステムをアンインストールするのは良い考えですか?
答え1
欲しいなら立てるコンピュータが動作するために必要なものだけを実行するLinuxベースのオペレーティングシステム。時間がある場合は、LFSを確認してください。
http://www.linuxfromscratch.org/
この本では、Linuxカーネルのコンパイルについて知っておくべきことをすべて説明します。もちろん時間がかかりますが、最終的に一度見てみるのは常に良い考えです。カスタムLinuxディストリビューションを作成したら、Beyond Linux From Scratch(BLFS)を読み、いくつかのアプリケーションを追加できます。
Linuxディストリビューションの作成中に、起動時にアプリケーションを起動する方法がわかります。
しかし、Ubuntuをフォークするのは最悪のアイデアです。確かに軽量ではなく、起動時に多くのアプリを実行します。 Archlinuxをお勧めします。 Ubuntuよりはるかに軽いです。お役に立てば幸いです。
アーチLinuxリンク:https://www.archlinux.org/ タイトルが示すように、これはあなたが探しているものかもしれない軽量ディストリビューションです。独自のディストリビューションを構築する必要はありません。 Archを使用して、起動時にアプリケーションを実行してみてください。複雑ではありません。
答え2
また、ブラウザと同様に、セキュリティに関して大規模なアプリケーションが失敗する可能性があるため、これについて考えてきました。なぜなら、常に解決しなければならないバグ/脆弱性があるからです。
仮想マシンエミュレータ用カーネル、特定のグラフィックカード用ドライバ、イーサネットカード用ドライバ、隠しパスワード、USBサポート、Bluetooth、ワイヤレスドライバ、ファイルシステムなどを必要としないカーネルコンパイルを開始する必要があると思います。その外部のもの。
また、システムを起動するには、最小数の/bin/ /sbin/ /usr/およびディレクトリ階層ファイルが必要です。
これにより、Linuxシステム全体の複雑さなしに非常に効率的なシステムを作成できます。
実際、このようなディストリビューションが必要な方が多いと確信しており、継続して更新すれば簡単だと思い、このようなプロジェクトには必ずお金を寄付する意向があります。
大規模で危険なアプリケーションをプライマリシステムから分離し、仮想マシンで別々に実行します。
基本システムは、OpenBSDやFreeBSDなど、セキュリティがより重要なシステムである可能性があります。
また、Qemuを使用してOpenBSDでこのポケットLinuxディストリビューションを実行できるように、WORKSTATION OpenBSDディストリビューション(サーバーOpenBSDディストリビューションではない)を使用したいと思います。
なぜ? !ほとんどの場合、OpenBSDの基本システムは監査されていますが、Linuxコードは監査されていません(完全にはわかりません)。
gimp、libreoffice、さまざまなブラウザ(オープンソースおよびクローズソース)、Java IDE、さまざまなp2pアプリケーションなど、多くの大規模およびセキュリティリスクアプリケーションをこの軽量ディストリビューションで実行できます。
もう1つのことは、デフォルトのデプロイは、イメージなどの特定のアプリケーションを実行するために必要なすべてと一緒に、qemuイメージまたは他のすべての種類のVMディスクイメージフォーマットとアプリケーションイメージとして配布できることです。
これにより、カーネル、ネイティブのLinuxファイルシステムイメージ、および多くのアプリケーションイメージが完成し、すべて個別に更新できます。
ディストリビューションは、1つの仮想ドライブにプライマリLinuxディストリビューションのイメージをロードし、別の仮想ディスクドライブにアプリケーションイメージをロードできます。
サンドボックス、刑務所など、さまざまなアプリケーションを安全に実行してみてください!
答え3
これは正反対の答えかもしれません。
見てDSL(クソリトルLinux)。これがあなたに必要な場合があります。これは、ハードウェア構成が低い(メモリ不足など)システムで実際に使用するように設計されています。vim
コンバイナnano
、ブラウザ、リモートデスクトップビューア、その他の基本機能などの基本コンポーネントが付属しています。確認するこのWikiリンクより多くの情報を知りたいです。
答え4
基本的なアイデアはアプリケーションを起動することですinit
(しかし注意してください。プロセス1)。はい非常に特別です)。たぶんミニディストリビューションから始めてそこから進むことができますか?それとも、必要に応じてinitramfsを設定し、絶対に終了しませんか?
また、利用可能なユーザースペースが最も少ないために発生するコスト削減が、トラブルシューティング/調整が完全に不可能になるほど価値があることを慎重に検討してください。