次の設定が必要です(Ubuntu、CentOS、しかし最新のディストリビューションを使用することに興味があります)
- OSは自己完結型です(OSはOSであり、1つのアプリケーションのみを使用するOS + DB + Apache + etc +数百のライブラリの混乱ではありません)。
- ユースケースAでは、ファイルが完全に分離されています(IntelliJや他のパッケージが/ optにインストールされているなど)。
- ユースケースBでは、ファイルが完全に分離されています(例:/ optのデータベースサーバーとサポートパッケージ)。
- ユースケースC、D、...
アイデアは
- 他のすべてに副作用なしにOSバージョンを変更/アップグレードできます。
- アプリケーションは/ optにインストールされ、オペレーティングシステムに副作用はありません。たとえば、/ optでスクリプトを実行してPATHやその他の設定を調整します。
- (具体的に)ケースAファイルを/ opt / workにマウントし、Javaジョブを実行できます。
- (具体的に)ケースBファイルを/ opt / workにマウントし、SQLジョブを実行できます。
apt / yumは実際にOSと共にインストールしてはいけないファイルでOSのインストールを台無しにすることに注意してください(たとえば、異なるバージョンのライブラリを使用する必要があるため)。また、/ etcのファイルが変更されます。
スナップなどのソリューションはパッケージレベルで動作するため、PATHはかなり大きくなり、ファイルの検索と起動に時間がかかります。さらに、スナップパッケージは未知のソース/パッケージから出てくることが多く、品質とセキュリティが疑われます(PPAはセキュリティの終わりです)。アイデアは良いです(各ユースケースに別々のパスがあり、$ {BASE_PATH} / {bin、lib、etc}があります)。
全体的な目標は次のとおりです。
- オペレーティングシステムの完全な制御(セキュリティ、監査、自動アップグレード、および人の介入のないバージョン管理)
- 開発環境の完全制御(バージョン管理、アップグレード、オフラインパッケージのインストールなど)
- しかし、WaylandとGUIやその他の基本的なアクセラレーション機能へのフルアクセスが可能です。
Dockerでアプリケーションを実行できることはわかっていますが、GUIにアクセスするにはrootが必要なので、気にしません。私は根のないXに対するPodmanの経験があまりありません。 VMを起動することもできますが、これには適切なサポートを提供するプロセッサが必要です。たとえば、ほとんどの EC2 インスタンスは VM 内での VM 実行をサポートしていません。ただし、この問題はEC2に限定されません。
答え1
これらの使用パターンを念頭に置いて設計されたディストリビューションを使用することをお勧めします。シルバーブルーフェドラハット。デフォルトのオペレーティングシステムを読み取り専用システムとして維持し、必要に応じて「一括」アップグレードし、サンドボックス環境ですべてのサービスとアプリケーションを実行できます(ただし、ディスプレイサーバーへのフルアクセスを含む)。
答え2
CentOSまたはFedora - podmanをインストールします。
sudo yum -y install podman
https://podman.io/getting-started/
ボードマンとは? Podmanは、LinuxシステムでOCIコンテナを開発、管理、および実行するためのデーモンフリーコンテナエンジンです。コンテナはルートまたはルートレスモードで実行できます。簡単に言えば、エイリアスdocker = podmanです。詳しくはこちらをご覧ください。