दस्तावेज़
TKLDev का उपयोग करके स्रोत से TurnKey ISO का निर्माण कैसे करें
मैं इसे मूल रूप से लिखा था ब्लॉग पोस्टलेकिन मैंने इसे सुविधा के लिए सामग्री लिंक के साथ जोड़ा। इसे मूल ब्लॉग पोस्ट के बाद से अपडेट किया गया है।
सामग्री
TKLDev सेटअप
एक वीएम बनाएँ
मैं सुझाव देता हूं कि आप TKLDev को आभासी मशीन में स्थापित करें। मैं यह मान रहा हूं कि आप VirtualBox या VMware उत्पाद जैसे कुछ उपयोग करेंगे। जैसा कि मैं Vbox से परिचित हूं मैं अपने शब्दावली का उपयोग करूँगा।
जब आप VM बनाते हैं, तो डिफ़ॉल्ट संसाधन एक न्यूनतम नंगे होते हैं ताकि उन्हें बेहतर अनुभव के लिए उपयुक्त रूप से समायोजित किया जा सके।
अनुशंसित वीएम चश्मा & सेटिंग्स:
- अधिकांश छवियां कम से कम ठीक बनी होंगी।
- 2x RAM तक की छवियों का 5% की आवश्यकता हो सकती है।
- प्रत्येक बार उत्पाद को हटाने के बिना एकाधिक छवियों का निर्माण करने के लिए अधिक भंडारण की आवश्यकता हो सकती है।
VRAM: 1024MB (अधिक बेहतर है)
VCPU कोर: 2 (अधिक बेहतर है)
vHDD: 10GB मिनट (अधिक बेहतर है)
ओएस प्रकार: x64 Debian (किसी भी 64 बिट Linux काम करना चाहिए)
नेटवर्किंग: ब्रिजेड (देखें) docइसके बारे में अधिक जानकारी के लिए
ध्यान दें: आपको 'चुनने की जरूरत हो सकती है'PAE'VBox सेटिंग्स में; मैं VMware बराबर के बारे में सुनिश्चित नहीं हूँ।
डाउनलोड
नवीनतम ISO डाउनलोड करें TKLDev अनुप्रयोग पृष्ठ
VM को स्थापित करें
यह TurnKey इंस्टाल प्रक्रिया पर चरण-दर-चरण निर्देश है। दुर्भाग्य से कुछ स्क्रीनशॉट लापता हैं लेकिन आपको विचार करना चाहिए।
01) 'Install to Harddisk': <Enter>
02) 'Ok': <Enter> (या) <Tab> विकल्प के बीच स्थानांतरित करने के लिए; <Enter> चयन करने के लिए)
03) 'हाँ' (<Tab> विकल्प के बीच स्थानांतरित करने के लिए; <Enter> का चयन करने के लिए)
04) जब यह डाटा कॉपी करता है तो प्रतीक्षा करें ...
05) 'हाँ' (<Tab> विकल्प के बीच स्थानांतरित करने के लिए; <Enter> का चयन करने के लिए) स्क्रीनशॉट लापता
06) 'हाँ' (<Tab> विकल्प के बीच स्थानांतरित करने के लिए; <Enter> का चयन करने के लिए) स्क्रीनशॉट लापता
07) BUG: कभी-कभी सिस्टम स्वचालित रूप से रिबूट को पूरा नहीं कर सकता (यह 'रेच्ड टार्गेट शूटडाउन' पर अटक सकता है)। यदि ऐसा होता है तो आपको मैन्युअल रूप से VM को पुनः आरंभ करने की आवश्यकता होगी।
08) बूट करने की अनुमति दें तो अपने वांछित 'root' (Linux admin) उपयोगकर्ता पासवर्ड दर्ज करें; <Enter>
To make a time.
10) 'स्किप' (<टैब> विकल्प के बीच स्थानांतरित करने के लिए; <Enter> का चयन करने के लिए)
11) 'इंस्टॉल' (<Enter>)
TKLDev के साथ काम करना
TKLDev VM से कनेक्ट
मैं अत्यधिक अनुशंसा करता हूं कि आप वीएम से जुड़ने के लिए SSH सत्र का उपयोग करें। आपके पास वीएम विंडो का उपयोग करने का विकल्प भी है, लेकिन IMO सिर्फ SSH सत्र का उपयोग करना बेहतर है। Linux उपयोगकर्ता के अलावा, मैं सिर्फ एक मूल टर्मिनल विंडो पसंद करता हूं जो सिर्फ काम करता है कि मैं इसकी उम्मीद कैसे करूं ...
Linux और Mac
Linux और Mac पर मैं अनुशंसा करता हूं कि मैं उपयोग करना चाहता हूं। ssh (OpenSSH द्वारा प्रदान) आदेश। मुझे मैक के बारे में यकीन नहीं है लेकिन मैं उम्मीद करता हूं कि अधिकांश लिनक्स (लिनुई?) डिफ़ॉल्ट रूप से स्थापित होंगे।
अपनी पसंद के टर्मिनल एमुलेटर खोलें और इस तरह कनेक्ट करें:
ssh root@<ip-address>
यह शायद पूछता है कि क्या आप ECDSA कुंजी फिंगरप्रिंट (जो आप कर सकते हैं) जोड़ना चाहते हैं। फिर अपना पासवर्ड दर्ज करें और <Enter> पर क्लिक करें। तो मेरे लिए एक पहला सत्र इस तरह दिखता है:
मुझे यह होना चाहिए:
# ssh root@192.168.1.143 The authenticity of host '192.168.1.143 (192.168.1.143)' can't be established. ECDSA key fingerprint is ef:e4:65:dc:b0:a5:21:23:2d:c6:f4:81:3b:ea:1c:28. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.1.143' (ECDSA) to the list of known hosts. root@192.168.1.143's password:
Windows
आपको कुछ पसंद आएगा पुट्टी अपने सर्वर से कनेक्ट करने के लिए मुझे यकीन नहीं है कि OTTOMH की स्थापना की लेकिन पोर्ट 22 पर <ip-address> से कनेक्ट करें। फिर उपयोगकर्ता नाम 'root' और पासवर्ड सेट करें।
ध्यान दें: Windows के विपरीत, Linux किसी भी वर्ण को प्रदर्शित नहीं करता है जब आप अपना पासवर्ड इनपुट करते हैं तो ऐसा नहीं लगता कि जब ऐसा लगता है तो कुछ गलत है जब आप ऐसा लग रहा है जब आप ऐसा कर रहे हों तो ऐसा कुछ गलत है। अपने पासवर्ड में टाइप करें।
अपना पहला ISO बनाएं
प्रदर्शन के लिए (और सब कुछ एक ज्ञात अच्छे लक्ष्य के खिलाफ काम करता है) हम 'कोर' छवि का निर्माण करेंगे (यह सब कुछ दूसरों पर बनाया गया है)।
/turnkey/fab/products: में निर्देशिका बदलें
cd products
'कोर' छवि निर्माण कोड को क्लोन करें:
git clone https://github.com/turnkeylinux-apps/core.git
मुख्य निर्देशिका दर्ज करें:
cd core
ISO बनाएं:
make
जब यह समाप्त हो गया है तो इसे ISO का उत्पादन किया जाना चाहिए जिसे 'product.iso' कहा जाता है। 'ls' के साथ देखने के लिए चेक करें:
ls build
मैं सुझाव देता हूं कि अब आप इसका नाम बदल सकते हैं। यह वही है जो मैं उपयोग करूंगा ताकि यह /turnkey/fab/products निर्देशिका में एक बार टैम्प्ड फ़ाइल नाम बना सके:
mv build/product.iso ../$(basename $(pwd))_$(date --utc +%Y-%m-%d_%H-%MUTC).iso
सब कुछ यह मानते हुए कि यह कैसे होना चाहिए, यह इस तरह की फ़ाइल (अलग तारीख और समय) का उत्पादन करना चाहिए:
/turnkey/fab/products/core_2015-05-22_07-51UTC.iso
अब आप खोल पर्यावरण से बाहर निकल सकते हैं।
TKLDev VM से बाहर ISO प्राप्त करें
ISO बाहर निकलने का सबसे आसान तरीका SFTP के माध्यम से अपने TKLDev VM से कनेक्ट करना है।
GUI प्रेमियों के लिए मैं अनुशंसा करता हूं फाइलज़िला (A great open source cross platform FTP क्लाइंट). टर्मिनल वरीयता वाले लोगों के लिए, आप शायद sftp या scp चाहते हैं, लेकिन आप शायद जानते हैं कि पहले से ही!)
भले ही SFTP या SCP का समर्थन करने वाला कोई भी ऐप ठीक होना चाहिए (अधिकांश FTP क्लाइंट इन दिनों SFTP का समर्थन करना चाहिए)। नोट: आपको SFTP की आवश्यकता है; सादे FTP नहीं, FTPS नहीं.
अपने वीएम (IP और 'root' उपयोगकर्ता और पासवर्ड का उपयोग करके) से कनेक्ट करें। आपको SFTP और/या पोर्ट 22 निर्दिष्ट करना होगा (यह आपके क्लाइंट पर निर्भर करेगा); फाइलज़िला दोनों के साथ खुश है।
फिर /turnkey/fab/products/. पर अपनी छवि को नेविगेट करें, <server-name-&datestamp>.iso वहाँ होना चाहिए, फिर सिर्फ इसे डाउनलोड करें ...
ISO
अनिवार्य रूप से प्रक्रिया उपरोक्त कोर छवि के निर्माण के समान है। एकमात्र वास्तविक अंतर यह है कि आप /turnkey/fab/products. में एक अलग गिट रेपो को क्लोन करते हैं। आप GitHub पर सभी रिपॉज़ पा सकते हैं यहाँ or each app page has a link to the repo on it next to "TKLDEV SOURCE:". E.g. on the LAMP अनुप्रयोग पृष्ठ इसके लिए एक लिंक है GitHub रेपोA url of a url of the url of the url of the url of the url. https://github.com/turnkeylinux-apps/<सर्वर इमेज-name>.git.
तो LAMP छवि बनाने के लिए:
cd products git clone https://github.com/turnkeylinux-apps/lamp.git cd lamp make
अपने ISO परीक्षण
अपने ISO का परीक्षण करने के लिए इसे एक नए VM में स्थापित करें क्योंकि आपने TKLDev के साथ स्वयं किया था ("Install to VM" निर्देश ऊपर)।
यदि आप अनुभव करते हैं तो कृपया हमें बताएं। अंक ट्रैकर यदि आप एक आदर्श स्थान हैं, या यदि आप निश्चित नहीं हैं (यदि यह एक बग है या एक है) PEBKAC त्रुटि (a त्रुटि) नीचे पोस्ट करें।
यदि कोई निर्माण विफल हो जाता है
जैसा कि हम विकास मोड में काफी हद तक हैं, ऐसा मौका है कि एक निर्माण विफल हो जाएगा। Failing builds कई कारणों से हो सकता है। यह भी संभव है कि कोड टूट गया है (यदि आवश्यक हो तो अद्यतन या एक नया बग अपर्याप्त परीक्षण के कारण पेश किया गया है)। एक अन्य आपकी नेटवर्किंग सेटअप और/या इंटरनेट कनेक्शन हो सकता है। वर्तमान में TKLDev को एक ठोस लाइव इंटरनेट कनेक्शन की आवश्यकता होती है। कभी-कभी (यदि यह इंटरनेट से संबंधित है) बस फिर से चलने वाला make इस मुद्दे को हल करेगा।
यदि आप असफल रहे हैं तो कृपया हमें बताएं (विशेष रूप से यदि आप पुनः प्रयास करते हैं और यह लगातार विफल रहता है)। आप नीचे पोस्ट कर सकते हैं, एक नया धागा शुरू कर सकते हैं या हमारे मुद्दे पर एक मुद्दा दर्ज कर सकते हैं। ट्रैकरआदर्श रूप से यह बहुत अच्छा है यदि आप स्टैकट्रस (पिछले ~ 20-30 लाइन + /- को पोस्ट कर सकते हैं जो स्क्रीन पर लॉग इन है, उसे ठीक करना चाहिए)। इस तरह हम यह महसूस कर सकते हैं कि क्या त्रुटि पैदा कर सकती है बिना किसी को इसे सीधे पुन: उत्पन्न करने की कोशिश की जा सकती है।
यदि आप निर्माण में सुधार कर रहे हैं (द्वारा rerving) make(in) और सिर्फ एक ही त्रुटि प्राप्त करें, फिर शायद तीसरे समय की कोशिश करने से पहले रेपो में बिल्ड फ़ाइलों को सफाई करने की कोशिश करें।
इसके अलावा अगर आप किसी अन्य छवि बनाने की योजना बना रहे हैं तो कभी-कभी इसका हस्तक्षेप नहीं कर सकता। इसलिए मैं सुझाव देता हूं कि आपको असफल निर्माण की आदत में आने की आदत में असफलता हो गई है। यदि आप विकसित हो रहे हैं (i.e. कोड को ठीक करने और हमें बाहर करने में मदद करने की कोशिश करना चाहते हैं) तो साफ करने के बेहतर तरीके हैं, लेकिन मैं इसे किसी अन्य ब्लॉग पोस्ट के लिए छोड़ दूँगा।
टूटे हुए निर्माण को साफ करने का सबसे आसान तरीका यह है कि यह रन बनाना है:
make clean
यदि कुछ कारणों से यह भी विफल हो जाता है तो मैं फिर से शुरू करने और फिर से कोशिश करने का सुझाव देता हूं। कमांडलाइन से रिबूट करने के लिए:
reboot
सुझाव
आज तक सामान्य रहें
जबकि प्रत्येक ऐप में यह स्वयं का व्यक्तिगत निर्माण कोड है (इसमें यह है) स्वयं का भंडारहालांकि, यह भी महत्वपूर्ण निर्माण कोड है जो ऐप्स के बीच साझा किया गया है। उदाहरण के लिए, अधिकांश छवियों को हमारे शीर्ष पर बनाया गया है। LAMP सर्वरसभी कोड को अलग-अलग बनाए रखने के बाद और व्यक्तिगत रूप से थोड़ा सा सिली लगता है, इसलिए हम जितना संभव हो उतना साझा कोड को एक रेपो में जोड़ते हैं जिसे बुलाया जाता है। आम.
आम रेपो TKLDev v14.0 में ऑटो सेट अप है (आपको या तो मैन्युअल रूप से स्क्रिप्ट को इसे करने के लिए स्थापित करना था, या मैन्युअल रूप से इसे v13.0 में क्लोन करना था)। भले ही यह TurnKey GitHub कॉमन रेपो का क्लोन हो। इसका मतलब यह है कि जब तक आप इसे अपडेट नहीं करते हैं, तब तक यह समय-समय पर आपके TKLDev सर्वर को सेट करने के बिंदु पर जमे हुए है। हालांकि चिंता मत करो, अद्यतन करना आसान है।
सामान्य परिस्थितियों में, आम को अक्सर बहुत बदल नहीं दिया जाता है। हालांकि, वर्तमान में हम कुछ भारी विकास कर रहे हैं इसलिए यह सुनिश्चित करने का एक अच्छा विचार है कि आपके पास सामान्य तारीख का संस्करण है। अद्यतन के लिए आम की जाँच अक्सर एक अच्छा विचार है यदि आपके पास टूटी हुई इमारत है।
इसलिए सामान्य अद्यतन करने के लिए, इस सरल प्रक्रिया का उपयोग करें:
cd common git pull
पहली पंक्ति आपको लेना चाहिए /turnkey/fab/common और दूसरी पंक्ति GitHub से किसी भी परिवर्तन को डाउनलोड करना चाहिए और उन्हें मौजूदा कोड के साथ विलय करना चाहिए।
टैब पूरा
<Tab> पूरा TKLDev में सक्षम है ताकि आप कुछ टाइपिंग को बचा सकें!
फ़ाइल सिस्टम के आसपास चल रहा है
TKLDev में कुछ पूर्व सहायक पथ हैं, इसलिए फ़ाइल सिस्टम के चारों ओर आगे बढ़ना तेज और आसान है। E.g.:
cd products
आपको /turnkey/fab/products में कोई फर्क नहीं पड़ता कि आप कहाँ हैं। और
cd core
आपको /turnkey/fab/products/core में ले जाएगा
एकाधिक छवियों का निर्माण
केवल एक छवि TKLDev में एक समय में बनाया जा सकता है। यदि आप एक ही समय में एकाधिक ISOs का निर्माण करना चाहते हैं, तो आपको एकाधिक TKLDev VM की आवश्यकता होगी। यदि आप अभी इस बारे में केवल जानते हैं, तो आपके असफल निर्माण में, दौड़ना
स्वच्छ
ज्ञात बग: Intermittent मुद्दों को स्थापित करने के बाद पुनः शुरू करना (ठीक हो सकता है)
यह नोट ऐतिहासिक है और वर्तमान रिलीज के साथ नहीं होना चाहिए। हालांकि, हम इसे यहां छोड़ देंगे, सिर्फ मामले में। वहाँ एक बग जहां, विशेष रूप से स्थापित करने के बाद था; सर्वर एक वीएम में चल रहा है 'रेच्ड लक्ष्य शटडाउन' पर लटका होगा। यह आपके लिए होता है, बस एक "पावर ऑफ" या "रिबूट" को मजबूर करें। जब तक सर्वर 'रेच्ड लक्ष्य शटडाउन' प्रदर्शित कर रहा है तब तक यह पूरी तरह सुरक्षित है और किसी भी भ्रष्टाचार का कारण नहीं बन सका।