記事
■  ディストリビューションの開発記事
@2002-03-25 19:48 (7526 ヒット)by tyoshi

「Linux のディストリビューション開発とはどういった過程で行なわれるものだろうか。華々しいリリースの影で地道な作業の積み重ねが行なわれているのである。redhat Linux ベースにした国内ディストリビューションの一つである、LASER5 Linux の Secure Server 版の開発に参加した開発者の視点で、ディストリビューション開発とはいうのがどういうものなのか紹介していただいた」-- nobu

有限会社鹿嶋コンピュータサービスでは、LASER5 のディストリビューション開発を一部行っています。現在までに開発したのは、[LASER5 Linux 6.5 Secure Server Edition],[LASER5 Secure Server 6.9] で、サーバに特化したディストリビューションです。現在発売されている[LASER5 Secure Server 6.9]の開発について少しだけ触れます。

LASER5 のサーババージョンは、RedHatをベースにして開発しています。Secure Server 6.9 は RedHat 6.2 をベースとして、一部の機能をアップデートやオリジナルの修正を行ってリリースしています。

[Secure Server] となっていますので、セキュリティに関しては特に注意して開発しています。本バージョンでは、Kernel に Openwall と言われる Patch、gcc/libstdc 等に ProPolice という Pacth を適用しています。この Patch を適用することによって、StackOverFlow等を防ぐことが可能です。

このようなディストリビューション開発を行う上で苦労するのは、日進月歩で新リリースが発行されてしまうので、どの時点でFixし、テストを行うか、ハードウェアはどこまでサポートするのか、Secure Server に限ればセキュリティをどこまで確保するのか、という点とサーバですので、必ず安定して動作するために最新のものではなく、安定して動作するものを選んでいます。

手順としては

  1. ベースのOS環境を構築

  2. 必要なパッケージを選択し、ソースパッケージを入手

  3. 選択したパッケージに必要なPatchを収集

  4. 特にセキュリティ、Bugに関してのPatchは漏れのないように収集します。

  5. 実験コンパイル

  6. 収集したPatchを適用し、Config等に影響がないか確認しながら、実行モジュールを構築してみます

  7. SPECファイルの修正

  8. 収集したPatch等が含まれるようにSPECファイルを修正します。

  9. インストールしたOSのパッケージより新しく安定したものがリリースされている場合は、全てアップデート

  10. 特にパッケージ作成に必要なライブラリ等はアップデートします。

  11. やっとパッケージを作成します。

  12. LASER5 Secure Server 6.9で約400のパッケージを作成しています。始めは1つずつパッケージを作成していきます。

  13. インストーラの修正

  14. RedHat6系からanacondaが利用されるようになっていますので、anacondaを修正し、パーティションやインストールクラスの修正等を行います。

  15. Bianry-CDを作成します

  16. やっとBeta用Binary-CDを作成します。

  17. 作成したCDでインストール実験

  18. インストールされるパッケージ、設定内容を確認しながらインストールを実験します。
    ここでなんらかのエラーが発生した場合は、8もしくは 7まで戻って再度構築します。
    7から10を繰り返している間に新しいパッケージ、Patchがリリースされた場合は、対応していきます。

  19. インストール中の画面のハードコピーを取り、マニュアルの作成


  20. 各種ハードウェア上での動作確認

  21. Server系ですので、VGA周りは確認対象外ですが、RAID,SCSI,DAT,MO,NIC等の動作確認をできる範囲で行います。
    しかし、全てのハードを確認するには時間や費用がかかりますので、リリースまでにできる範囲で行いリリース後はサイトに更新していきます。

  22. Bianry-CD,Source-CD,マニュアルが完成した時点でリリース

  23. ただ、Productを添付する場合は、Beta版をメーカに送付し、評価してもらいます。

このような手順で開発しますが、開発期間はマニュアル作成を含めて3から4ヶ月で行っています。

リリース後もセキュリティアップデートやPatchが発行された場合は、常に確認しながら、アップデートパッケージを作成します。

今回作成した 6.9 は Kernel 2.2 系をベースにしていますので、今後 Kernel 2.4 系をベースにしたサーバ版を作成するかもしれません。

有限会社 鹿嶋コンピュータサービスでは6.9をベースにカスタマイズも行っています。


印刷用ページ このニュースを友達に送る

投稿された内容の著作権はコメントの投稿者に帰属します。
Powered by XOOPS Cube 2.0 © 2005-2012 The XOOPS Cube Project