دليل فحص معمارية المعالج في لينكس بالأمر arch

نظرة عامة

عند إعداد الخوادم ونشر الحزم البرمجية أو الملفات التنفيذية على نظام لينكس، يُعد تحديد معمارية المنظومة خطوة تمهيدية حاسمة لتجنب مشاكل التوافقية. عوضاً عن الخوض في تفاصيل التوثيق المطولة، سنستعرض عملياً كيفية استكشاف بنية المعالج الأساسية بدقة وسرعة عبر سطر الأوامر باستخدام أداة arch ومجموعة من الأدوات المساعدة المتاحة في النظام.

تحديد معمارية العتاد باستخدام الأمر arch

توفر أداة arch وسيلة موجزة ومباشرة لعرض الطراز البنيوي لمنصة التشغيل الحالية.
تُشير النتيجة x86_64 الظاهرة في الطرفية إلى أن النظام يعمل ضمن بيئة معالجة 64-بت متوافقة مع معالجات Intel وAMD الحديثة.
⚙️ [أهم الخيارات البرمجية]

--help : يستعرض ملخصاً لتعليمات الاستخدام والخيارات المتاحة قبل إنهاء التشغيل.
--version : يطبع رقم الإصدار الحالي للأداة مع تفاصيل الترخيص البرمجي.

arch

يمكن الوصول للنتيجة ذاتها من خلال الأمر uname -m؛ حيث يُوجّه المعامل -m أداة الاستعلام العامة uname لعرض بنية الآلة الفيزيائية (Machine Hardware Name).
يُرجع هذا الأمر أيضاً القيمة x86_64، ما يؤكد اعتمادهما برمجياً على نفس واجهة استعلام النواة لقراءة مواصفات العتاد.

uname -m

كشف المعمارية المعيارية لإدارة الحزم عبر dpkg

يتولى الأمر dpkg --print-architecture فحص المعمارية الافتراضية التي يعتمدها مدير الحزم الخاص بتوزيعات ديبيان وأوبونتو (dpkg/APT) لبناء وتثبيت الحزم الثنائية.
تُظهر مخرجات الفحص التسمية amd64، وهي التسمية القياسية المعتمدة لدى منظومة إدارة الحزم لبيئات 64-بت، مقابل تسمية العتاد x86_64 التي أظهرها أمر arch.

dpkg –print-architecture

أما الأمر dpkg --print-foreign-architectures فيكشف عن المعماريات الخارجية (Foreign Architectures) المسموح بتثبيت حزمها بجانب المعمارية الأساسية في بيئة التعددية (Multiarch).
غياب أي مخرجات نصية عقب تنفيذ الأمر يعني أن الخادم يعمل حصراً بنظام حزم أحادي المعمارية (amd64)، دون تمكين أي طبقات دعم إضافية لمعماريات بديلة مثل i386 المخصصة لتطبيقات 32-بت.

dpkg –print-foreign-architectures

تحليل أنماط تشغيل المعالج وخصائصه العميقة عبر lscpu

للحصول على تقرير عتادي شامل، نقوم بتحديث مستودعات النظام وتثبيت حزمة util-linux التي تتضمن أداة lscpu الحيوية.

sudo apt-get update -qq && sudo apt-get install -y util-linux

بتطبيق فلترة مخصصة عبر grep -E مع أمر lscpu، يمكننا استخلاص مؤشرات الأداء الأساسية: المعمارية العامة، وأنماط التشغيل المدعومة، بالإضافة إلى ترتيب البايتات في الذاكرة (Byte Order).
تؤكد النتائج أن المنصة مبنية على x86_64، مع دعم تشغيلي مزدوج (32-bit, 64-bit) يتيح التوافقية العكسية مع البرمجيات القديمة.
كما تكشف البيانات اعتماد وحدة المعالجة المركزية لنمط الترتيب الأصغر (Little Endian)، حيث يتم تخزين البايت الأقل أهمية أولاً في عناوين الذاكرة.

lscpu | grep -E ‘Architecture|CPU op-mode|Byte Order’

أتمتة التحقق الشرطي من المعمارية في سكربتات باش

لإدارة التثبيت التلقائي للبرمجيات المتوافقة، يمكن توظيف arch ضمن سكربتات شيل لتوجيه مسار التنفيذ؛ ولتطبيق ذلك نُنشئ ملف اختبار عبر الأمر cat << 'EOF' > test_arch.sh.
يقوم السكربت بحفظ ناتج الأمر داخل المتغير ARCH، ثم يستخدم بنية التحكم الشرطية if-elif-else للتفريق بين بيئات x86_64 ومعالجات aarch64 المستندة إلى ARM.

cat « ‘EOF’ > test_arch.sh
#!/bin/bash
ARCH=$(arch)
if [ “$ARCH” = “x86_64” ]; then
echo “Detected architecture: 64-bit Intel/AMD (x86_64)”
elif [ “$ARCH” = “aarch64” ]; then
echo “Detected architecture: 64-bit ARM (aarch64)”
else
echo “Detected architecture: $ARCH”
fi
EOF

كي يتسنى للنظام معالجة الملف وتشغيله كبرنامج مستقل، نمنحه إذن التنفيذ عبر الأمر chmod +x test_arch.sh.

chmod +x test_arch.sh

نبدأ بتشغيل السكربت عبر المسار ./test_arch.sh للتحقق من سلامة المنطق البرمجي.
يتطابق الشرط تلقائياً مع معمارية البيئة الفعلية (x86_64)، وتظهر رسالة المطابقة بنجاح: Detected architecture: 64-bit Intel/AMD (x86_64).

./test_arch.sh

عقب اكتمال التجربة، يُنصح بحذف الملف التجريبي للحفاظ على نظافة مسار العمل باستخدام الأمر rm -f test_arch.sh.

rm -f test_arch.sh

تعرفنا في هذا الدليل العملي على سبل الاستفادة من أمر arch وحزمة الأدوات المرتبطة به لفحص بنية المعالج في خوادم لينكس.
تمنحك هذه الخطوات البسيطة أساساً متيناً لبناء عمليات أتمتة وتوزيع برمجيات موثوقة ومطابقة لمواصفات العتاد بدقة.