सभी लिनक्स पोर्ट (यानी, विभिन्न प्रोसेसर पर लिनक्स कर्नेल) ELF का उपयोग निष्पादन योग्य और पुस्तकालयों के लिए फ़ाइल प्रारूप के रूप में करते हैं। एक विशिष्ट ईएलएफ बाइनरी को एक एकल आर्किटेक्चर/ओएस के साथ लेबल किया जाता है जिस पर यह चल सकता है (हालांकि कुछ ओएस के पास अन्य ओएस से ईएलएफ बाइनरी चलाने की संगतता है)।
अधिकांश बंदरगाहों के पुराने a.out प्रारूप के लिए समर्थन है। (कुछ प्रोसेसर इतने नए हैं कि उनके लिए कभी भी निष्पादन योग्य नहीं हैं।)
कुछ बंदरगाह अन्य निष्पादन योग्य फ़ाइल प्रारूपों का भी समर्थन करते हैं; उदाहरण के लिए, पीए-आरआईएससी पोर्ट में एचपी-यूएक्स के पुराने SOM निष्पादन योग्य के लिए समर्थन है, और μ cLinux (nonmmu) बंदरगाह अपने स्वयं के FLAT प्रारूप का समर्थन करते हैं।
लिनक्स में binfmt_misc
भी है, जो उपयोगकर्ताओं को मनमाने ढंग से बाइनरी प्रारूपों के लिए हैंडलर पंजीकृत करने की अनुमति देता है। कुछ वितरण विंडोज, .NET, या जावा अनुप्रयोगों को निष्पादित करने में सक्षम होने के लिए इसका लाभ उठाते हैं - यह वास्तव में अभी भी एक दुभाषिया लॉन्च कर रहा है, लेकिन यह उपयोगकर्ता के लिए पूरी तरह से पारदर्शी है।
लिनक्स अल्फा पर लोड हो रहा है इंटेल बाइनरी, जो em86
एमुलेटर के माध्यम से चलाए जा रहे हैं के लिए समर्थन हासिल है।
qemu-user के साथ चलाने के लिए अन्य आर्किटेक्चर के निष्पादन योग्य के लिए binfmt_misc
पंजीकृत करना संभव है।
सिद्धांत रूप में, कोई नया प्रारूप बना सकता है - शायद ईएलएफ में एक नया "आर्किटेक्चर" पंजीकृत करें - वसा बाइनरी के लिए। फिर कर्नेल binfmt
लोडर को इस नए प्रारूप के बारे में सिखाया जाना होगा, और आप ld-linux.so
गतिशील लिंकर और पूरे निर्माण टूलचेन को याद नहीं करना चाहेंगे। ऐसी सुविधा में थोड़ी दिलचस्पी नहीं है, और जहां तक मुझे पता है, कोई भी इस तरह से कुछ भी काम नहीं कर रहा है।
"लिनक्स बाइनरी फाइलों के बारे में कुछ" - इस प्रश्न सारांश में कुछ और सेकंड खर्च करने के बारे में कैसे? – scobi
आप हमेशा किसी और के शीर्षक/प्रश्न को संपादित कर सकते हैं - हालांकि कृपया सावधानी से करें! –
क्या आपका मतलब लिनक्स वितरण या विभिन्न आर्किटेक्चर के पार सार्वभौमिक है ...? – LB40