共有 2 これは、パート 1 ここ.
商用Unixは昔は高価だったので細心の注意を払い、実際に入札しました。 Linux は無料なので、自力で何とかしなければなりません.
Linux 自体は、それに先行する、またはそれ以前の独占的な Unix の試行錯誤された設計に感銘を受けていました。絶滅に追いやったもの。 彼らの技術のいくつかは、Linux にその定式化を提供し続けており、いくつかは一般的に球状 IP 障害を表すために再発明されています。 必要なのは、Linux の回復力を高めることです: フォールト トレラントで、自己治療的であり、頻繁に修復の価値を減らすことができます。
デスクトップ ディストリビューションは収益性の高いサーバー ディストリビューションからコア技術を交換しているため、脆弱なミッション Unix で開始された脆弱なシステムについて、またはからのツールとシステムの再実装であるため、正確です。
開始レベルは、ミッション IT の最も長く続いている部分の 1 つです: データベース。 それらはミニコンピュータよりも長く存在しており、その内容は一般的に非常に貴重であるため、より回復力のあるものを作成するために分析に何百もの時間、労力、および資金が費やされています。 中核となる特性は、トランザクション を提供することでした。 全体の流行を小さなものに絞り込みました
。 基本は、貴重な業界記録データのすべての変更をトランザクションに正しく提供することです。 理想的には、それは完全に完了しますが、そうでない場合は、以前は これから 起こることのファイルを取得しているため、可能性が高くなります。おそらく完全に元に戻すことができるので、問題を挿入することは以前と同じように機能します. 膨大な Tedd Codd による作業システムへの貢献。 特に、この方法論は ACID プロパティ: 原子性、一貫性、分離、および耐久性です。
Linux の世界では、これは最初にジャーナリング ファイル システムに注目しました。 まず、いくつかのプロプライエタリなものがエンタープライズ Unix からハッキングされていました: 1999 年に SGI の XFS 、および 2000年のIBMのJFS。 新しくジャーナリングされた
ext3 ファイルシステムは、以前は 勇気ある Reg 特派員 はすでに 早くから試していました。 Apple は翌年 HFS+ にジャーナリングを追加しました。
現在、楽器の設定にもある程度のトランザクション性を高める取り組みが進行中であり、それにより、最も必要とされる熱心なゲーマーの約 1 人によるアプローチの概要がまとめられています。
SUSE 機能: Btrfs と COW スナップショットを使用して RPM トランザクションを提供します
SUSE ファミリのディストリビューションは、主流よりもはるかに少ないディスク ファイル システムの使用に長い間与えられてきました。 技術は 1990 年代に提供され、ReiserFS の使用がデフォルトになりましたが、他のほとんどは ext2 または ext3 に脆弱です – The Reg 21 年前 に、このやや風変わりなファイル システムについて話しました。 ReiserFS は、その名を冠した主任開発者 が殺人罪で有罪判決を受けていたという叙事詩に基づいて、より整然とした必要性に変わりました。彼の妻 は 2008 年に代替 10 年前、そして に成長しました。 2014 年までにデフォルトのファイル システム 、および ファームは専用のままそれに.
それ以外 snapshot-nice ファイル システムが市場に出回っており、これは依然として Btrfs の重要な強みです: Linux での OpenZFS は であり、 はアクティブな増加 の下にあり、Linux カーネルの一部ではなくなりました。 Red Hat はまだ Stratis の開発にコミットしておらず、何年にもわたる増加にもかかわらず 新鮮な bcachefs は未完成のままです 。 今のところ、最高の Btrfs はコピー オン ライト (COW) スナップショットを提供し、Linux カーネルの一部です。 -スプリット。 実際、これにより、OS は、生きているファイルの発言の迅速なバックアップを提供できます。スナップショットが作成された瞬間から、これらのファイルへの書き込みは、接続されたファイルの真新しいコピーにリダイレクトされ、保持されます。さまざまな場所にあります。 または、もはやシステム上の他の機能からは、ぎこちなく分割されてほとんど見えなくなります。
SUSE の Snapper は、Btrfs スナップショットを機器管理に統合します。 OS の機器マネージャーが新しい機器をインストールするのに役立つたびに、最初に Btrfs スナップショットを作成します。 後で残りが機能しない場合、ユーザーは最新の交換よりも早くスナップショットに戻り、機能しているシステム サービスを再度担当することができます。 スナップショットの処理もブート マネージャーに統合されているため、これはカーネルの更新にも適用されます。 あるいは、もはや openSUSE のローリング フリー ディストリビューションである Tumbleweed の重要なセールス レベルではありません。 他のすべてのディストリビューションには、Debian ベースの完全に SpiralLinux、ローリングフリーアップ Debian sid ベースの完全な Siduction と Arch Linux のスピンオフ Garuda .
それにもかかわらず、SUSE 自体はより洗練された計画を進めています。 すぐに 英国 COBOL-Shifter マイクロ フォーカルから公平にレベル、SUSEは買収による開発を選択し、急速に は Kubernetes 商人の Rancher を買収しました。 SUSE の次世代 OS であるコンテナーに対する新たな評価を受けて、 開発された Linux プラットフォームまたは ALP というコードネームで呼ばれ、ルート ファイル システムを最高の読み取り精度にすることで、単純なスナップショットを超えて転送することで信頼性を高めることを目的としています。 アップデートをまとめてインストゥルメントをインストールするための優れた定式化は、再起動、真新しい繰り返しの使用を介して適切です、トランザクション置換 。 OS は、すべての製品と企業のアプローチがエラーなしで機能することをテストできます。失敗した場合は、古いスナップショットに戻り、それ自体を再起動します。
数百のコンテナで動作するホストのクラスタを取得しましたが、これはもはや邪魔にならないようにする必要があります: 絶え間なく叫ぶ Kubernetes は、コンテナの「ポッド」をそのマシンから移行し、更新を教育してから持ち上げることができますコンテナーは、マシンがサービスを開始してクラスターに再参加するときにサービスを提供します。 または、クラスター化されていないマシンにとってはそれほど便利ではありませんが、ツールの使用により、これを回避することが想像できることを完全に示している可能性があります
既存の Distrobox と同様に、熟成されたものを構築します。 -イミュータブル OS を実行しているマシンのコンテナーに OS インスタンスを書き込みます。
Inventもはや自尊心のファイルシステムを生まないのですか? 次に、代替手段としてトランザクション型の機器マネージャーを作成します
洗練されたファイル システムへの出資がはるかに少ない他の企業は、多様なアプローチを取っていますが、同様の最終的なニーズがあります。 計測器のセットアップをトランザクショナルに提供するためのもう 1 つの定式化は、機能を機器マネージャに転送することです。 これをある程度詳しく調べてみましょう
とはいえ、鉢植えのおさらいはご容赦ください。 よく知られている候補は Snap と Flatpak です。 Snapはプロプライエタリであるという意見のおかげでより物議を醸しており、Ubuntuの新しいリリースがUbuntuの顧客に圧力をかけているという定式化. 今では合法 Ubuntu 連帯リミックス Flatpak 強化を boot-liked に追加します。 Linux Mint は余分な機能を備えています: それ スナップ強化を完全に排除し、最高のFlatpakを提供します.
では、バリエーションは何ですか? Ubuntu: ネガティブプラットフォーム機能は単一の圧縮ファイルです
約1年前と いくつかの論争にもかかわらず 、Canonical は以前は OpenZFS の Ubuntu への統合に積極的に取り組んでいます。 それにもかかわらず、より最近では、それはUbuntu の ZSys インストゥルメントが廃止されていることを尊重しているようです.
にもかかわらず、Canonical がしっかり残るSnap パッケージング システム 、およびオファー に専念不変のディストリビューション、Ubuntu Core; 私たちは現在Ubuntu Core 22を見ました。 SUSE MicroOS にふけってください。ルート ファイル システムは読み取り精度が最も高く、古くなった機器マネージャーはずっと前のものです。 Ubuntu Core 最高級は Snap をサポートし、カーネルまでパッケージ化されています。
Ubuntu の Snap 構造は CanonicalのUbuntuの携帯・タブレットモデル、ハードウェアのクラウドファンディングに失敗しました。 すべての Snap は、バージョン管理され、デジタル署名された単一の圧縮ファイルです。 スナップは squashfs ファイルとしてマウントされます 接続されたバイナリとそのモデルに固有の合計依存関係を含む loop devices 。 これは、例として、同一の Firefox スナップが Ubuntu の複数の多様なバリエーションでスランプに陥る可能性があることを意味します。これにより、堅牢でアップデートを受け取る複数の Ubuntu バリエーション全体で Firefox を更新する際の Canonical の作業負荷が軽減されます。
そして重要なことに、Snap の叙事詩はモノリシックな単一ファイル機能で動作し、ロールバックを実装するためにその下にある自尊心ファイル システムを必要としません。 スナップが今のようにたくさんアップされている場合、機器管理者は弱いモデルを保持しているので、より新しいモデルをアンマウントして古いモデルを再マウントするだけで、セットアップがおそらくさらに巻き戻される可能性があります.
Snap は積極的に増加しており、顧客が障害を引き起こすいくつかの問題は、おそらくさらに公平でありながら変化する可能性があります。 いつ スナップ パッケージ化された Firefox は Ubuntu 22.10 で見られました。 これに対応して、Canonical は一連の圧縮アルゴリズムを追加し、Firefox をより迅速に解凍できる圧縮方式に移行しました。 すべての Snap ファイルは、起動時に直接ループ マウントされるため、システムの起動が少し遅くなります。 Reg FOSS デスクは、以前の Canonical の boffins をセットアップせず、システムの起動に不要になったスナップをマークする unbiased を将来追加します。そのため、所有するアプリが最初に起動されるたびに質問を設定することで、さらにマウントされる可能性があります.
GNOME 機能: Git に似た技術を使用してバイナリを配布する
An屋外の世界からほとんど見えない Linux 技術の一部の側面は、コミュニティが機器自体を製造するために使用するツールの広範な影響です。 例として、多くの FOSS 製品の ドキュメント は、 として識別される機能の使用法を記述、編集、フォーマット、および出力します。 ドクターズ・アズ・コード。 ツールはもはや仕事に適していません。しかし、それらは賢明であり、通常の優れたツールから外れており、無料であり、おそらくほとんどの場合、同一のチームによって賢明に識別され、デバッグされ、最適化されています。製品自体を構築している人。 いずれにせよ、ドキュメンテーション ライターはこれらのチームと緊密に連携するに値するため、ツールの窮屈さや扱いにくさよりも利点の方が重要です。 テクニカル ライターの担当者は、同じツールを知っているため、開発者との協議や作業がより簡単になります
Git は、この中核部分です。 または、もはや非常に上品ではなく、信じられないほどの問題を設計することができ、もはや簡単ではありません 把握。 2005 年には、Linux カーネルの供給コードはすでに扱いにくく、その作成者である Linus Torvalds のレベルに達していました。 独自のツールである Bitkeeper を採用して、それを管理しました。 これは物議をかもし、彼は後に は、それを交換するために彼のbeget楽器を書きました。 もうイギリス英語を話せない読者のために、この楽器の名前は git は、迷惑な、または非協力的な特定の人を表す英国のスラングです。
親切な Linux の方が安全… さもないと死ぬか 野生の中で気づいた: Chimera – もはや存在しない Linux事実 GNU/Linux Invent はもはや私たちを退屈させません。 WINE Windows の翻訳レイヤーが成熟セクシーを尊重してください...あなたは声を担当します
Git が行うことは、要するに、さまざまな場所にあるさまざまなコンピューター全体で、ディレクトリ ツリー全体のファイル全体を同期することです。 ある開発者が 1 つまたは複数のファイルのネイティブ コピーを変更すると、push
これらの変更は、担当者を介して少なくとも 1 つの他のリポジトリに変更されます。 それから、そのファイルの生活と一緒に働いている私たちの合計 pull変更は、Git で管理されたネイティブ コピーに反映されます。 Git は以前は分散化されるように設計されていましたが、適切なライフスタイルでは、私たちのほとんどは山のような公開 Web サイトを使用して有名なコピーを保護しています。 現在、Microsoft が所有する GitHub は最高です.
Git は賢明な名前です: 非常に 利用するようになった - 強力な開示の定式化により、このハゲワシは何年もの間毎日それを弱め、嫌悪しています。 Isaac Wolkerstorfer 皮肉:
(私たちは、これが有名な 面白い叙事詩 Haskell プログラミング言語に関して: "モナドは正しい a エンドファンクターのクラス内のモノイド、どうしたの?」)
それにもかかわらず、偏りのないコアは、1 台のコンピューターが現在と同じくらい多くのファイルのコピーを取得できることです。 、およびGitの正しい種類を確実に送信し、最高の変更部分を送信します。 どのレベルでも、おそらく revert する可能性が高いです。特定の古いモデルにファイルを挿入すると、ツールは魔法のようにファイルを挿入して、以前と同じように機能します。一般的に求められていた、偏りのないトランザクションロールバックです。
Git はかつて設計されていました。供給コードを処理するためのものであり、否定できないテキストコマンドで最高に機能します。 それにもかかわらず、Red Hat は、トランザクション インストルメント パッケージを検索します 現在、RHEL でサポートされている COW ファイル システムはありません、 発展した OStree、これ は、 自体を と記述します。 「稼働中のシステム バイナリの git」
Flatpak は OStree を使用して、実行可能な make でインストゥルメントを配布します。 バイナリ、ライブラリ、構成ファイルなどを 1 つのフォルダー ツリーに配置し、よく知られたインスタンスをサーバー上にセットアップします。 (よく知られているのは Flathubなのに完全にFlatpak 愛好家は、適切な正規の小売業者が Canonical の Beget である Snap よりも利益があるとして、これを擁護します。 Ubuntu Solidarity の開発者が 1 年前にデモを行いました。)
顧客のコンピュータは、特別な Flatpak クライアントを使用してアプリの複製をクイズし、基盤となるインフラストラクチャは必要なものを送信します: 全体のもの、または変更されたファイルの修正の両方。 どちらのフォーミュレーションでも、インストルメントはコンポーネント パーツ全体のバリエーションを追跡するため、サーブを古いモデルに簡単に戻すことができます。 )すべての Flatpak アプリは正しいディレクトリ ツリーです。 Flatpak をループ マウントする価値はないため、Snap との非互換性により、Flatpak は systemd を使用しません。 また、素晴らしいファイルシステム – Fedora の Btrfs に似ています
– 単一のコピーと複数のハードリンクでそれらを変更して、個別の Flatpak で同一のファイルを重複排除できます。 Snap の圧縮機能に匹敵するように、Btrfs は正しい Flatpak アプリを選択的に圧縮することさえできます。 アップデートの際、OStree は変更されたファイルの最も細かいバリエーションをコピーできるため、Flatpak のダウンロードは Snap のダウンロードよりも高速です
Flatpak と Snap の比較はもはやとはいえ、すべてグラブグラブです。 Flatpak はデスクトップ アプリ向けのより健全で、GUI のないサーバー ボックスでは動作しません。 そのためには、Fedora CoreOS では脆弱な OStree が必要です デスクトップ向けの終わらないOS。 これは、同一の手順とツールですべての役割をサポートする Snap よりも高度です
これを GNOME 機能と呼びます。 Hat とその製品 – それでも GNOME デスクトップ自体を高く評価している Red Hat は、Linux の世界で最高の企業であり、Flatpak と OStree の最高の支持者の 1 つです。 他の 1 つ以上のディストリビューションには、デフォルトで強化された Flatpak が含まれており、まとめて 完全に Ubuntu ベースの Linux Mint
.
ワンシチュエーション確率が高いFlatpak はサーバー上にあり、Linux の世界でお金が存在するのは当然のことです。 この日、注目されているのは容器そのものです として始まった.
SUSE の MicroOS での機能を検証することで、簡素化され小型化された Linux ディストリビューションが他にも複数存在します。すべて不変のファイル システムを備え、コンテナーをホストするためだけに設計されています。
Reg には 以前、AmazonのBottlerocketを見ました。 VMare が提供するのは Photon OS です。どれの 私たちは、それがかなり新鮮だったときに見ました。 最後のフレッシュフリーアップなのにモデル4.0、数年前のペアでしたが、現在はモデル 5.0 です ベータ版.
以下 CoreOS、Red Hat の買収それを Fedora 非友好的 に移動しましたが、それにもかかわらず、新しい ChromeOS ベースの完全なミッションは Flatcar's Container Linux – そして Microsoft は Azure でそれをサポートしています。 シデロの タロス Linux
それは明らかに流行です。 適応は、SUSEがその製品に対して頻繁に理由のある願望を持っていることです。 デスクトップ.
製造の展開が進むにつれて、どれも反対のミニマリストの不変 OS は、Docker や Podman に似たコンテナー管理ツールのコンテキスト外で使用され、全体として Kubernetes で管理されます。 それにもかかわらず、 に似たディストリビューション Fedora の Silverblue と Kinoite は、ここで完全に想像できる独自のホーンを吹きます。 先ほどお話した終わりのないOSが誕生して数年、モデル5.0がリリースされました
これらすべての努力の根底にある正しい叙事詩はLinux をより回復力のあるものにする方法を発見することです。 目標は自動化です。すべての事前展開とその後の更新です。 可能性としては、人間の介入なしに、機能しなかった場合に検出してサービスをロールバックするための何らかの方法がある場合は、機器の更新を安全に自動化することができる可能性があります.
デジタル マシンがシステム管理に革命をもたらしたように正確です コンテナは、革命的な山岳規模のサーバー展開を生み出します。 コンテナーは、名前空間の分離などを使用して、OS のそのインスタンスに適したアプリであると見なされるすべてのアプリに調査を提供します。 裏返して、容器包装ツールはこれを使用して、ユーティリティのすべての依存関係をまとめてバンドルします.
または、もはや人間にとってより簡単にすることがすべてではありません。ほとんどの最新アプリの膨大で無秩序な複雑さを管理できます。 何人かのコメンテーターが言うように 調べた、これは深刻な自己規律であり、もはや改善されていません.
その複雑さは、数百のファイルとして現れます.何百ものディレクトリ。 コンテナのルート (しゃれと思われる)、山のような高度なディレクトリ ツリーの問題に対処するには、それらを分割する必要があります。つまり、少なくとも 1 つの巨大なツリーを管理する価値があるため、重複しない複数の多様なツリーが存在することを思い出してください。
これを導き出すときはいつでも、これらすべての多様なディストリビューションのアプローチが理にかなっています。 Linux と Linux 機器の展開を自動化する方法を探しているのは正しいです。Linux コンピューターは自分自身を調査し、ある程度の距離を置いて、更新が実行されない場合は自分自身を修正できます。理想的には顧客がいなくてもです。
Android はこれを解決し、もはや古い Unix ではなく、OS の更新の問題を処理することによって解決します。電話ディストリビューターにアウト。 携帯電話のディストリビューターは、しばらくしてからアップデートを提供しないようにすることでこれを解決します。 postmarketOSが音声入ります.
これら全て解決策は、その複雑さを管理することをより簡単に提供しようとしていますが、おそらくさらに自動化される可能性があることを思い出してください.
それでも自動化問題はどのコンピュータか 設計図 . または、もはやそれは彼らの理由ではありません.
人間が読めるディレクトリ ツリーは、人間が読めるほど高度なものに変わりつつあります。手動で対処することはできません。 さまざまなディレクトリへのファイルのコピーを自動化するために繰り返し存在するパッケージング システムは、現在、そのような高度なアクションを設計するに値するため、効果的に機器管理マネージャーである内部にそれらをラップすることが最も重要です。 一部のディストリビューターは、これらの無数のファイルをすべて管理しており、ファイル システムが複数のファイル セットを保護している可能性があり、同時に最も優れたファイルが見られる可能性があります。
おそらく、基本的な状況の中で人間が読めるファイルシステムのレイアウトを守ろうとすることが、ここでの根本的な自己規律です.これらのパッケージ化の問題は、ディレクトリの命名を自動化することです: 人間が読めるディレクトリ ツリーのトラッジを許可し、何をどこに置くかを OS に自動決定させます.
少数のディストリビューションがこれを行っており、そのうち NixOS は間違いなく最も古く、全体的なものです 。 それにもかかわらず、NixOS は正しい Nix パッケージングシステムであり、また可能性が高いのでおそらく ダウンロード
Nix の手法によってセットアップされたプログラムは、カーネル自体を除いて、基盤となる OS のどの部分とも関与しません。 の シングルユーザーモードでは、1つのユーザーエピックがそのユーザーのハウスディレクトリ内でNixの分離されたコピーを実行しますが、他のアカウントはその機能を使用できません。 有益な範囲内 マルチユーザーモード、最高級ルート そして Nix デーモンはできます.
Nix への関与、またはそれを GNU Guix は大きな一歩です。 システム管理者は、何がどこに保存されているか、いつでもフォルダ名を読み取って認識する準備ができているかどうかを理解する必要があります。 彼らは、機器管理者が指定された発言を正しく繰り返します: アプリとバリエーションの記録、およびパッケージャーがそれを実現します
機器管理ツール、およびファイル システムの構造問題を保持する場所は、あるディストリビューションを他のディストリビューションと区別する重要な部分です。 あらゆるディストリビューションの当局に、修正しなければならないことを伝えて、OS を失望させることは、非常に大きな問題です。
Ubuntu がその Ubuntu を起動したとき正当な強靭化は universe リポジトリ全体をカバーしました。これは反対の設定ですミッションをサポートするディストリビューションをコンテキストに。 Ubuntu の有名なリポジトリには、約 60,000 の関数が組み込まれています RHELやSLEの対応部分より約20インスタンス多く。 Nixpkgsシリーズは、80,000以上の関数で、高揚しています.
FOSDEMでは、Michael Brantley, Nix ディーラー の共同設立者Flox、有益何十年にもわたる Unix システム管理の専門家として、Solaris に似たプロプライエタリな OS に着手し、早い段階で Linux に移行した後、「Nix を発見したとき、30 年間ずっとひどいことをしていたことに気づきました。」
ニックス
は、 自身を「純粋に目的を持った機器管理者」と表現し、その役割を果たします。絡み合ったラムダ記号です。 ラムダは ラムダ計算 、これも Explain プログラミング言語のコアです。 Nixに関する主張は、Paul Grahamの有名なエッセイに似たExplainに関するこれらの主張を思い出させます。 平均を打ち破る".
それでも、Nix は Explain の残りの部分を書き直す必要はありません。 それは、人間が管理するファイル システムの基盤を無視して、コンピューターにそれと競合させることを望んでいるのも正しいことです。 これは、ファイル システムを全体の中心に置く Unix に似たプログラマー中心の OS にとっては、非常に大きなストレッチです
実際には、Btrfs、Stratis、ZFS、Snap、Flatpak、OStree、および複数のコンテナ システムがすべて解決しようとしている複雑さに対する最適な認識である一方で、何千もの Unix が楽しく慣れ親しんだ構造内で問題を抱えています。顧客は知っており、尊敬しています。 ひょっとすると、おそらく公平であり、このビジネスの熱心なゲーマーが生む主な時期ではなくなったのかもしれません 自分が猿の誘惑に巻き込まれていることに気づきました。 ®