यह मॉड्यूल क्या करता है #
जब आप imaxe की कोई AMI शुरू करते हैं, तो अक्सर पहला सवाल सबसे बुनियादी होता है: इसके अंदर क्या है? ऑपरेटिंग सिस्टम का कौन-सा संस्करण, कौन-सा सॉफ़्टवेयर और किस संस्करण में इंस्टॉल है, पीछे कौन-सा डेटाबेस है और कौन-सा imaxe उत्पाद डिप्लॉय किया गया है।
info मॉड्यूल इसका जवाब एक ही झटके में देता है: सिस्टम की लाइव जाँच करता है और /etc/imaxe/info.yaml में एक स्पष्ट और पठनीय इन्वेंट्री लिखता है। वह फ़ाइल ऑपरेटिंग सिस्टम, सॉफ़्टवेयर और उसके संस्करण, डेटाबेस और imaxe उत्पाद को एक साथ लाती है, जिसे स्क्रीन पर देखने के लिए या स्वचालन के लिए JSON में प्राप्त करने के लिए तैयार रखा जाता है।
फ़ाइल /etc/imaxe/info.yaml पूरी तरह वर्णनात्मक है: नाम और संस्करण। यह कभी पासवर्ड, कुंजियाँ या टोकन नहीं रखती, इसलिए आप इसे बेफिक्र होकर पढ़ सकते हैं, कॉपी कर सकते हैं या किसी टिकट के साथ संलग्न कर सकते हैं।
सामान्य कार्य #
चुनें कि आप क्या करना चाहते हैं। हर रेसिपी में आदेश पहले से लिखा हुआ आता है — बस उसे कॉपी करें और कॉपी करें दबाएँ।
1
इन्वेंट्री तैयार करें
मशीन की जाँच करता है और पहली बार /etc/imaxe/info.yaml लिखता है।
/etc/imaxe/info.yaml लिखता है।ubuntu उपयोगकर्ता के साथ SSH से अपने सर्वर पर कनेक्ट करें।
create चलाएँ: यह सिस्टम की जाँच करता है और इन्वेंट्री को डिस्क पर लिखता है।
$ sudo imaxe info create/etc/imaxe/info.yaml ऑपरेटिंग सिस्टम, सॉफ़्टवेयर और उसके संस्करण, डेटाबेस और imaxe उत्पाद के साथ लिख दी जाती है।2
देखें कि क्या इंस्टॉल है
पहले से तैयार की गई इन्वेंट्री को स्क्रीन पर दिखाता है।
/etc/imaxe/info.yaml में सहेजी गई इन्वेंट्री देखें:
$ imaxe info show3
इन्वेंट्री JSON में प्राप्त करें
स्क्रिप्ट, मॉनिटरिंग या केंद्रीकृत इन्वेंट्री के लिए संरचित आउटपुट।
इन्वेंट्री को मशीन-पठनीय प्रारूप में प्राप्त करने के लिए show में --json जोड़ें:
$ imaxe info show --jsonक्या आप केवल एक डेटा निकालना चाहते हैं? इसे jq के साथ मिलाएँ, उदाहरण के लिए ऑपरेटिंग सिस्टम का संस्करण:
$ imaxe info show --json | jq .osstdout पर निकलता है, jq, किसी इन्वेंट्री एजेंट या आपके CMDB की ओर पाइप करने के लिए तैयार।4
बदलाव के बाद पुनः तैयार करें
सॉफ़्टवेयर इंस्टॉल या अपडेट करने के बाद इन्वेंट्री को अद्यतन करें।
इन्वेंट्री उसे तैयार करने के क्षण में सिस्टम का एक स्नैपशॉट है। यदि आपने पैकेज अपडेट किए हैं या डेटाबेस बदला है, तो ताज़ा डेटा के साथ इसे फिर से लिखने के लिए create दोबारा चलाएँ:
$ sudo imaxe info create
$ imaxe info show/etc/imaxe/info.yaml फिर से मशीन की वास्तविक स्थिति को दर्शाती है।यह फ़ाइल सिस्टम को वैसा ही दर्शाती है जैसा वह create चलाते समय था। यह अपने आप अपडेट नहीं होती: सॉफ़्टवेयर में किसी भी बड़े बदलाव के बाद, create दोबारा चलाएँ ताकि show वास्तविकता के प्रति सच्चा बना रहे।
सारांश #
imaxe info <subcomando> [--json]उपआदेश create के लिए root विशेषाधिकार आवश्यक हैं (sudo का उपयोग करें) क्योंकि यह /etc/imaxe/ में लिखता है। इसके विपरीत, show केवल इन्वेंट्री पढ़ता है और sudo के बिना चल सकता है। मशीन-पठनीय आउटपुट प्राप्त करने के लिए, जो स्क्रिप्टिंग के लिए उपयुक्त है, show में --json जोड़ें।
उपआदेश #
| उपआदेश | यह क्या करता है | प्रासंगिक फ़्लैग |
|---|---|---|
| create | सिस्टम की लाइव जाँच करता है और इन्वेंट्री को /etc/imaxe/info.yaml में (पुनः) लिखता है। | — |
| show | /etc/imaxe/info.yaml में सहेजी गई इन्वेंट्री दिखाता है। | --json |
| help | मॉड्यूल की सहायता दिखाता है। | — |
आर्गुमेंट और फ़्लैग #
| फ़्लैग | प्रकार | डिफ़ॉल्ट | विवरण |
|---|---|---|---|
| --json | bool | false | show में, इन्वेंट्री को stdout पर संरचित JSON के रूप में निकालता है, जो jq और स्वचालन के लिए उपयुक्त है। |
info मॉड्यूल कोई स्थितिगत आर्गुमेंट नहीं लेता: हर उपआदेश सिस्टम की अपनी इन्वेंट्री पर काम करता है।
फ़ाइलें और पथ #
| पथ | सामग्री |
|---|---|
| /etc/imaxe/info.yaml | AMI की इन्वेंट्री: ऑपरेटिंग सिस्टम, सॉफ़्टवेयर और संस्करण, डेटाबेस और imaxe उत्पाद। पूरी तरह वर्णनात्मक, बिना किसी सीक्रेट के। |
info.yaml का उदाहरण:
os:
name: Ubuntu
version: 22.04
software:
nginx: 1.18.0
php: 8.1
database:
engine: mysql
version: 8.0.36
product:
name: imaxe
version: 1.0.0निकास कोड और लॉग #
हर बार चलने पर एक कोड लौटाया जाता है जिसे आप echo $? से जाँच सकते हैं — स्क्रिप्ट में श्रृंखलाबद्ध करने के लिए उपयोगी:
show: पहले create चलाएँ।/etc/imaxe/ में लिखने के विशेषाधिकार के बिना create।समस्या निवारण #
| लक्षण | संभावित कारण | समाधान |
|---|---|---|
| show कुछ नहीं दिखाता या विफल हो जाता है | इन्वेंट्री अभी तैयार नहीं की गई है। | sudo imaxe info create चलाएँ और show फिर से आज़माएँ। |
| create अनुमति त्रुटि देता है | इसे root के बिना चलाया गया और यह /etc/imaxe/ में नहीं लिख सकता। | इसे sudo imaxe info create के साथ फिर से चलाएँ। |
| इन्वेंट्री वास्तविकता से मेल नहीं खाती | इसे तैयार करने के बाद सॉफ़्टवेयर इंस्टॉल या अपडेट किया गया। | इसे sudo imaxe info create से पुनः तैयार करें: यह उस क्षण का स्नैपशॉट है। |
--json साफ़ नहीं निकलता | --json को ऐसे उपआदेश पर लगाया गया जो इसका समर्थन नहीं करता। | --json केवल show पर लागू होता है; इसे imaxe info show --json के रूप में उपयोग करें। |
इन्वेंट्री मॉड्यूल में अटक गए?
हमें «imaxe <module> status --json» का आउटपुट भेजें और हम आपको जल्दी जवाब देंगे।