本文へ移動
TURNKEYGNU / LINUX
アプリドキュメントブログスクリーンショットGitHubTurnKey Hub
文日本語
EnglishEspañol中文日本語PortuguêsDeutsch
ふりがな/パッチ開発

ドキュメント

パッチ開発

それでもまだ読んでいないなら ドキュメントの概観是非、どうぞよろしくお願いします。

Hello world の例パッチ

tklpatch-example helloworld

これにより、tklpatch-example を実行して、helloworld/ ディレクトリに例のパッチを作成します。 パッチでより細かい管理が必要な場合は、高度な例を 使うことができます。 寸法: --advanced スイッチ。

このパッチがISOに適用されると、新しいISOが作成されます。 ヒロー パッケージをインストールして、その日のメッセージが変更されました。turnkey-core.iso(以前ダウンロードした)で試してみて、tklpatchの動作を見てみよう:

tklpatch turnkey-core.iso helloworld

シーンの後ろに、tklpatch が当社の helloworld パッチを適用すると、パッチの 'conf' ファイルの説明に従った:

$ cat helloworld/conf
#!/bin/bash -ex
install()
{
    apt-get update
    DEBIAN_FRONTEND=noninteractive apt-get -y \
        -o DPkg::Options::=--force-confdef \
        -o DPkg::Options::=--force-confold \
        install $@
}

# installs hello - a highly useful package
install hello

# tell the world what we've done!
echo 'Hello world - I just patched TurnKey!' >> /etc/issue


Drupal5例パッチ

教育目的のために、tklpatchは、TurnKey LAMPをDrupal5 アプライアンスに変えるより複雑な例パッチを含みます。 パッチは、 名称: /usr/share/tklpatch/examples apt-get 経由で tklpatch をインストールしている場合、または 名称: /usr/local/share/tklpatch/examples ソースからインストールするとき。例パッチも利用可能です 寸法: github 参照のため。

 

ゼロから新しいパッチのスケルトンを作成します。

mkdir mypatch
mkdir mypatch/debs
mkdir mypatch/overlay
touch mypatch/conf; chmod +x mypatch/conf

これで、パッチがパッチ化されたアプライアンスを変更する方法を把握して、必要な結果を得ることができます。 試行錯誤で「生きて」システムで対話的に把握するのが最も簡単です。 VM にパッチを当てて、必要な変更を見つけるために実験する アプライアンス をインストールすることで、このようなテスト環境を設定できます。 chroot環境でも実験できます。

 

開発のヒントとコツ

TKLPatch は、インストールされた仮想 アプライアンス インスタンス内のパッチを増分的に開発したり、ISO の抽出されたルートファイルシステムで生成したりするモジュール設計を持っています。 画像。 速い成功で微調整し、テストする開発サイクルは、長いフィードバックループを持っているものよりも生産性が向上します。

chroot環境で設定および実験する方法:

tklpatch-extract-iso path/to/image.iso

これは、アプライアンスのファイルシステムとCDrootをISOから抽出します。 その後、アプライアンスのファイルシステムにchrootをすることができます。 chroot では、パッチが何をすべきかを簡単に調べることができます。例えば、パッケージを手動でインストールして、設定に調整します。 何をすべきかを知りたい場合は、パッチを反映するように更新してください(例えば、コンファへの指示を追加することにより、オーバーレイにファイルなど)

tklpatch-chroot path/to/image.rootfs

完了したら、実験した一時的なrootfとcdrootディレクトリを削除し、ISOにそれを適用することによってパッチ(できれば仮想マシンで)をテストすることができます 選択:

tklpatch path/to/image.iso path/to/mypatch

続いて、 公開する.

TURNKEYGNU / LINUX

ゼロから始めずに、自分のインフラを管理できます。

TurnKey を見る
概要ドキュメントよくある質問ブログGitHub
フリーでオープンソース初期設定から安全すぐに展開可能