दस्तावेज़
पैच विकास
अगर आपने अभी तक पढ़ा नहीं है अवलोकन प्रलेखनअब तो करो।
हैलो वर्ल्ड उदाहरण पैच
tklpatch-example helloworld
This executes tklpatch-example to create an example patch in the helloworld/ directory. यदि आपके पैच में अधिक बारीक-ग्रेन नियंत्रण की आवश्यकता होती है तो एक उन्नत उदाहरण का निर्माण किया जा सकता है। --advanced स्विच
When this patch is applied to an ISO it will create a new ISO in which the नमस्ते पैकेज स्थापित है और दिन का संदेश बदल गया है। चलो इसे turnkey-core.iso (जिसे हमने पहले डाउनलोड किया था) पर आज़माएं और tklpatch को एक्शन में देखें:
tklpatch turnkey-core.iso helloworld
दृश्यों के पीछे, जब tklpatch ने हमारे हैलोवर्ल्ड पैच को लागू किया तो उसके बाद पैच की '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 जब tklpatch को उपयुक्त-get के माध्यम से स्थापित किया जाता है, या /usr/local/share/tklpatch/examples जब स्रोत से स्थापित किया गया है। उदाहरण पैच भी उपलब्ध है पर github संदर्भ के लिए।
स्क्रैच से एक नए पैच का कंकाल बनाएं
mkdir mypatch mkdir mypatch/debs mkdir mypatch/overlay touch mypatch/conf; chmod +x mypatch/conf
अब आपको यह पता लगाने की जरूरत है कि आपके पैच को आपके इच्छित परिणाम प्राप्त करने के लिए पैच सर्वर छवि को कैसे बदलना चाहिए। अक्सर परीक्षण और त्रुटि द्वारा इसे "जीवन" प्रणाली में इंटरैक्टिव रूप से समझने में आसान होता है। आप सर्वर छवि को स्थापित करके इस तरह के परीक्षण वातावरण को सेटअप कर सकते हैं जिसे आप एक वीएम में पैच करना चाहते हैं और फिर प्रयोग करने के लिए यह पता लगाना कि आपको क्या करना है। आप एक चतुर वातावरण में भी प्रयोग कर सकते हैं।
विकास युक्तियाँ और चाल
TKLPatch has a modular design which allows you to develop your patch incrementally inside an installed virtual server instance or in the extracted root filesystem of an ISO image. एक विकास चक्र जिसमें आप तेज उत्तराधिकार में ट्वीक और परीक्षण करते हैं, अक्सर एक से अधिक उत्पादक होते हैं जिसमें एक लंबे फीडबैक लूप होता है।
कैसे सेटअप और एक chroot वातावरण में प्रयोग करने के लिए:
tklpatch-extract-iso path/to/image.iso
यह सर्वर छवि की फ़ाइल सिस्टम को निकाल देगा और ISO से cdroot निकालेगा। फिर आप सर्वर छवि के फ़ाइल सिस्टम में chroot कर सकते हैं। chroot के अंदर यह पता लगाने के लिए प्रयोग करना आसान है कि आपके पैच क्या करना चाहिए। उदाहरण के लिए आप मैन्युअल रूप से पैकेज स्थापित कर सकते हैं, वे विन्यास के लिए tweak बनाते हैं, आदि। जब आप जानते हैं कि क्या करना है, तो इसे प्रतिबिंबित करने के लिए माइपैच को अद्यतन करें (उदाहरण के लिए, कन्फ्यूब में निर्देश जोड़कर, ओवरले में फाइलें आदि)।
tklpatch-chroot path/to/image.rootfs
एक बार पूरा होने के बाद, आप अपने प्रयोग किए जाने वाले अस्थायी रूटफ और सीडीरूट डायरेक्टरी को हटा सकते हैं और इसे अपने ISO के लिए लागू करके अपने पैच (अधिमानतः आभासी मशीन में) का परीक्षण कर सकते हैं। विकल्प:
tklpatch path/to/image.iso path/to/mypatch
अगला, इसे प्रकाशित करना.