এই মডিউল কী করে #
আপনি যখন একটি 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 ফাইলটি লেখা হয়।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» এর আউটপুট সহ আমাদের লিখুন, আমরা দ্রুত উত্তর দেব।