ماذا تفعل هذه الوحدة #
حين تُشغِّل صورة AMI من imaxe، يكون السؤال الأول غالبًا هو الأبسط: ماذا بداخلها؟ أيّ إصدار من نظام التشغيل، وأيّ برمجيات مثبَّتة وبأيّ إصدار، وأيّ قاعدة بيانات خلفها، وأيّ منتج imaxe جرى نشره.
تجيب وحدة info عن ذلك كله دفعةً واحدة: تفحص النظام حيًّا وتكتب جردًا واضحًا ومقروءًا إلى /etc/imaxe/info.yaml. يجمع ذلك الملف نظام التشغيل والبرمجيات وإصداراتها وقاعدة البيانات ومنتج imaxe، جاهزًا للعرض على الشاشة أو بصيغة JSON للأتمتة.
ملف /etc/imaxe/info.yaml وصفيّ بحت: أسماء وإصدارات. لا يخزّن أبدًا كلمات مرور أو مفاتيح أو رموزًا، فيمكنك قراءته أو نسخه أو إرفاقه بتذكرة مطمئنًّا.
المهام الشائعة #
اختر ما تريد فعله. تأتي كل وصفة بالأمر مكتوبًا بالفعل — ما عليك إلا نسخه والضغط على نسخ.
1
ولِّد الجرد
افحص الجهاز واكتب /etc/imaxe/info.yaml لأول مرة.
/etc/imaxe/info.yaml لأول مرة.اتصل عبر SSH بخادمك بالمستخدم ubuntu.
نفّذ create: يجوب النظام ويكتب الجرد إلى القرص.
$ sudo imaxe info create/etc/imaxe/info.yaml بنظام التشغيل والبرمجيات وإصداراتها وقاعدة البيانات ومنتج imaxe.2
اطّلِع على ما لديّ مثبَّتًا
اعرض الجرد المولَّد بالفعل على الشاشة.
اقرأ الجرد المخزَّن في /etc/imaxe/info.yaml:
$ imaxe info show3
احصل على الجرد بصيغة JSON
مخرجات مُهيكَلة للسكربتات أو المراقبة أو جرد مركزي.
أضِف --json إلى show للحصول على الجرد بصيغة مقروءة آليًّا:
$ 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. أضِف --json إلى show للحصول على مخرجات مقروءة آليًّا صالحة لكتابة السكربتات.
الأوامر الفرعية #
| الأمر الفرعي | ماذا يفعل | الرايات المعنية |
|---|---|---|
| create | يفحص النظام حيًّا و(يُعيد) كتابة الجرد إلى /etc/imaxe/info.yaml. | — |
| show | يعرض الجرد المخزَّن في /etc/imaxe/info.yaml. | --json |
| help | يعرض مساعدة الوحدة. | — |
الوسائط والرايات #
| الراية | النوع | الافتراضي | الوصف |
|---|---|---|---|
| --json | bool | false | في show، يُصدر الجرد بصيغة JSON مُهيكَل في stdout، صالح لـ 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 أولًا.create دون صلاحيات للكتابة في /etc/imaxe/.حل المشكلات #
| العَرَض | السبب المحتمل | الحل |
|---|---|---|
| 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» وسنرد عليك بسرعة.