यदि आप गैर-एम्बेडेड लिनक्स के लिए लिख रहे हैं, तो मुख्य बात यह ध्यान में रखना है कि विभिन्न वितरणों में लाइब्रेरी संस्करणों का एक अलग संग्रह होगा। इसलिए आपको एक पर्याप्त पुरानी आधार रेखा निर्धारित करनी चाहिए। जैसा कि डेबियन धीरे-धीरे अपडेट करता है, डेबियन स्थिर (या पुराने होने पर, मौजूद होने के बाद कुछ महीनों में) एक उचित विकल्प हो जाता है।
आपको प्रत्येक वितरण के लिए अलग से पैकेज करना होगा। यदि आपका आवेदन खुला स्रोत है और सभी सफल है, तो आप किसी को इसे लेने और पैकेजिंग में योगदान करने पर भरोसा कर सकते हैं, इसलिए यह एक आवश्यक कौशल नहीं है। पैकेजिंग के अलावा, वितरण के बीच के अंतर ज्यादातर सिस्टम प्रशासन को प्रभावित करते हैं, न कि विकास या दैनिक उपयोग को।
यदि आप कर्नेल को पैच करने जा रहे हैं, तो आपको अधिक वितरण के साथ परीक्षण करना होगा क्योंकि प्रत्येक वितरण के पास अपने स्वयं के पैच होते हैं जो असंगतता पैदा कर सकते हैं और प्रत्येक वितरण में उपयोगकर्तालैंड सेटिंग्स हैं जो उपलब्ध होने वाले कर्नेल इंटरफेस के विभिन्न सेटों पर भरोसा कर सकते हैं (उदाहरण के लिए आवश्यकताएं) कुछ चीजों के लिए मॉड्यूल नहीं होना चाहिए)।
ध्यान दें कि जो मैंने ऊपर लिखा है वह सच नहीं है यदि आप चाहते हैं कि आपका एप्लिकेशन एम्बेडेड सिस्टम पर काम करे (यहाँ पर कुछ भी जिसका अर्थ सर्वर, डेस्कटॉप या लैपटॉप नहीं है), जो तब भी होता है जब वे लिनक्स कर्नेल चलाते हैं अक्सर सामान्य लाइब्रेरी नहीं होती है, Glibc के साथ शुरू होने से cClibc , Dietlibc , Bionic , आदि के पक्ष में बच जाता है ।