मैं विशेष रूप से डेबियन में सॉफ़्टवेयर के निर्माण के लिए सोच रहा था (स्थापित डेबियन सिस्टम 32 बिट कर्नेल, लाइब्रेरी आदि के साथ 32-बिट संस्करण हो सकता है, या 64-बिट के लिए संकलित सामान के साथ 64-बिट संस्करण हो सकता है) 32-बिट संगतता मोड के बजाय बिट)।
डेबियन पैकेजों को स्वयं यह जानने की आवश्यकता है कि वे किस वास्तुकला के लिए हैं (निश्चित रूप से) जब वे वास्तव में अपने सभी मेटाडेटा के साथ पैकेज बनाते हैं, जिसमें प्लेटफॉर्म आर्किटेक्चर भी शामिल है, इसलिए एक पैकेजिंग टूल है जो इसे अन्य पैकेजिंग टूल और स्क्रिप्ट का उपयोग करने के लिए आउटपुट करता है, जिन्हें कॉल किया जाता है dpkg-वास्तुकला । इसमें दोनों शामिल हैं जो इसे बनाने के लिए कॉन्फ़िगर किए गए हैं, साथ ही साथ वर्तमान होस्ट भी। (आम तौर पर ये हालांकि समान हैं।) 64-बिट मशीन पर उदाहरण आउटपुट:
DEB_BUILD_ARCH=amd64
DEB_BUILD_ARCH_OS=linux
DEB_BUILD_ARCH_CPU=amd64
DEB_BUILD_GNU_CPU=x86_64
DEB_BUILD_GNU_SYSTEM=linux-gnu
DEB_BUILD_GNU_TYPE=x86_64-linux-gnu
DEB_HOST_ARCH=amd64
DEB_HOST_ARCH_OS=linux
DEB_HOST_ARCH_CPU=amd64
DEB_HOST_GNU_CPU=x86_64
DEB_HOST_GNU_SYSTEM=linux-gnu
DEB_HOST_GNU_TYPE=x86_64-linux-gnu
आप उनमें से सिर्फ एक चर को प्रिंट कर सकते हैं या dpkg- RGBecture के लिए कमांड लाइन विकल्पों के साथ उनके मूल्यों के खिलाफ एक परीक्षण कर सकते हैं ।
मुझे नहीं पता कि dpkg-आर्किटेक्चर आर्किटेक्चर को कैसे घटाता है, लेकिन आप इसके डॉक्यूमेंटेशन या सोर्स कोड (dpkg-आर्किटेक्चर और ज्यादातर dpkg system perl हैं) को देख सकते हैं।