$lang['tuto'] = "ट्यूटोरियल"; ?> ओपनशिफ्ट कोडरेडी

ओपनशिफ्ट कोडरेडी कंटेनरवर "एसएसएच हँडशेक अयशस्वी" त्रुटी निवारण करणे

Temp mail SuperHeros
ओपनशिफ्ट कोडरेडी कंटेनरवर एसएसएच हँडशेक अयशस्वी त्रुटी निवारण करणे
ओपनशिफ्ट कोडरेडी कंटेनरवर एसएसएच हँडशेक अयशस्वी त्रुटी निवारण करणे

Fedora वर OpenShift CRC सह कनेक्शन अडथळ्यांचा सामना करत आहात?

वैयक्तिक मशीनवर ओपनशिफ्ट कोडरेडी कंटेनर सुरू करणे सरळ असावे. तथापि, Fedora 40 सर्व्हर संस्करण वरील वापरकर्त्यांना विशिष्ट, निराशाजनक त्रुटी येऊ शकते: "ssh: हँडशेक अयशस्वी: tcp 127.0.0.1:41804->127.0.0.1:2222 वाचा: वाचा: पीअरद्वारे कनेक्शन रीसेट." ही त्रुटी प्रगती थांबवू शकते आणि डीबगिंग कधीही न संपणाऱ्या कार्यासारखे वाटू शकते.

तुम्ही CRC आवृत्ती 2.43.0 वापरत असल्यास किंवा OpenShift 4.17.1 सह काम करत असल्यास, तुमचे SSH कनेक्शन अनपेक्षितपणे रीसेट झाल्यास तुम्हाला या समस्येचा सामना करावा लागू शकतो. ही त्रुटी अनेकदा विकसकांना प्रभावित करते ज्यांना व्हर्च्युअलाइज्ड स्थानिक सेटअपवर क्लस्टर्स द्रुतपणे स्पिन करण्यासाठी गुळगुळीत वातावरणाची आवश्यकता असते. दुर्दैवाने, अखंड सुरुवात करण्याऐवजी, त्यांना कनेक्शनच्या अडथळ्यांचा सामना करावा लागतो. 🚧

या त्रुटीचा अर्थ काय आहे आणि त्याचे निराकरण कसे करायचे हे समजून घेण्यासाठी Fedora वरील CRC आणि libvirt सेटअपचे मूलभूत घटक शोधणे आवश्यक आहे. अलीकडील आवृत्त्या, कॉन्फिगरेशन आणि डीबगिंग लॉगचे परीक्षण करून, तुम्ही मूळ कारण शोधू शकता आणि कार्यक्षमतेने त्याचे निराकरण करू शकता. हे हँड्स-ऑन मार्गदर्शक कृती करण्यायोग्य समस्यानिवारण टिपांमध्ये जातील, ज्यामुळे जटिल डीबगिंग व्यवस्थापित करता येईल.

Fedora वर OpenShift CRC सह एक विश्वासार्ह कनेक्शन आणि सुरळीत सुरुवात करून, आम्ही व्यावहारिक पायऱ्या पार करत असताना संपर्कात रहा. 🔧

आज्ञा वापराचे उदाहरण
crc stop कोडरेडी कंटेनर्स (CRC) आभासी वातावरण थांबवते, जे SSH आणि कॉन्फिगरेशन बदल करण्यापूर्वी आवश्यक आहे. ही आज्ञा सुनिश्चित करते की कोणतीही सक्रिय CRC प्रक्रिया SSH किंवा PTY अद्यतनांमध्ये व्यत्यय आणत नाही.
sudo systemctl restart libvirtd libvirt डिमन रीस्टार्ट करते, Linux वर वर्च्युअलाइज्ड वातावरण व्यवस्थापित करण्यासाठी एक महत्त्वाचा घटक. libvirtd रीस्टार्ट केल्याने अडकलेल्या स्थितींचे निराकरण होऊ शकते किंवा CRC ची व्हर्च्युअल मशीन सेटिंग्ज रिफ्रेश होऊ शकतात, विशेषत: जेव्हा कनेक्शन समस्या येत असतील.
journalctl -u libvirtd.service -f रिअल टाइममध्ये libvirt डिमनसाठी लॉग फॉलो करते, व्हर्च्युअलायझेशन लेयरमध्ये उद्भवणाऱ्या कोणत्याही समस्यांबद्दल अंतर्दृष्टी प्रदान करते जे CRC ला SSH जोडणी रोखू शकते.
paramiko.SSHClient() Python च्या Paramiko लायब्ररीचा वापर करून SSH क्लायंट इन्स्टन्स तयार करते, SSH कनेक्शन्सची चाचणी आणि हाताळण्यासाठी प्रोग्रामेटिक मार्गाला अनुमती देते. CRC च्या SSH प्रवेश समस्यांच्या स्वयंचलित निदानामध्ये हे उपयुक्त आहे.
virsh dumpxml crc libvirt द्वारे व्यवस्थापित CRC वर्च्युअल मशीनचे XML कॉन्फिगरेशन प्रदर्शित करते. हे VM च्या सिरीयल डिव्हाइस सेटअपची तपासणी करण्यास अनुमती देते, virsh कन्सोल प्रवेशादरम्यान PTY वाटप समस्यांचे निराकरण करण्यासाठी महत्त्वपूर्ण आहे.
virsh edit crc एडिटरमध्ये CRC व्हर्च्युअल मशीनसाठी XML कॉन्फिगरेशन उघडते, जेथे वापरकर्ते व्यक्तिचलितपणे सेटिंग्ज समायोजित करू शकतात (उदा. सिरीयल डिव्हाइस प्रकार PTY मध्ये बदलणे), थेट SSH आणि कन्सोल ऍक्सेस कॉन्फिगरेशनवर परिणाम करते.
ssh_client.set_missing_host_key_policy() Python च्या Paramiko लायब्ररी वापरून SSH कनेक्शन धोरणे सेट करते. हे होस्ट की स्वयंचलितपणे जोडून, ​​SSH डीबगिंग अधिक लवचिक बनवून आणि मॅन्युअल होस्ट की सत्यापन कमी करून अज्ञात होस्ट की त्रुटींना बायपास करते.
crc status CRC बद्दल सद्य स्थिती माहिती प्रदान करते, त्याचे नेटवर्क आणि SSH स्थितीसह, CRC प्रवेश करण्यायोग्य आहे की नाही हे सत्यापित करण्यात मदत करते किंवा पुढील कनेक्शनचा प्रयत्न करण्यापूर्वी त्रुटी स्थितीत आहे.
virsh console crc CRC व्हर्च्युअल मशीनसाठी परस्परसंवादी कन्सोल सत्र उघडते, ज्यासाठी कनेक्शनसाठी योग्य PTY कॉन्फिगरेशन आवश्यक आहे. CRC VM सह थेट प्रवेश समस्या डीबग करताना ही आज्ञा आवश्यक आहे.

ओपनशिफ्ट कोडरेडी कंटेनरसाठी डीबगिंग स्क्रिप्ट समजून घेणे आणि वापरणे

ओपनशिफ्ट कोडरेडी कंटेनर्स (CRC) मधील SSH कनेक्टिव्हिटी समस्यांचे निदान आणि निराकरण करणे हे या स्क्रिप्ट्सचे प्राथमिक उद्दिष्ट आहे. हे मुद्दे, विशेषतः "SSH हँडशेक अयशस्वी" त्रुटी, वापरकर्त्यांना Fedora Linux वर CRC च्या आभासी वातावरणाशी कनेक्ट होण्यापासून प्रतिबंधित करते. प्रथम स्क्रिप्ट CRC उदाहरण थांबवण्यासाठी, libvirt (व्हर्च्युअलायझेशन व्यवस्थापन साधन) सारख्या गंभीर सेवा पुन्हा सुरू करण्यासाठी आणि SSH रीस्टार्ट करण्यासाठी शेल-आधारित दृष्टिकोन वापरते. या सेवा रीस्टार्ट करून, आम्ही SSH ऍक्सेस अवरोधित करणारी कोणतीही नेटवर्क सेटिंग्ज रीसेट करण्याचे उद्दिष्ट ठेवतो, उदाहरणार्थ, SSH कनेक्शन्समध्ये व्यत्यय येत असल्यास मागील सत्रातील उरलेली कॉन्फिगरेशन्स, हे रिसेट त्यांना साफ करते जे वारंवार वातावरणात टॉगल करतात किंवा नेटवर्क कॉन्फिगरेशनमध्ये बदल करतात

दुस-या स्क्रिप्टमध्ये, SSH कम्युनिकेशनसाठी डिझाइन केलेली लायब्ररी Paramiko वापरून आम्ही पायथन-आधारित दृष्टिकोन वर शिफ्ट करतो. येथे, CRC शी प्रोग्रामॅटिकरित्या SSH कनेक्शन स्थापित करण्यावर लक्ष केंद्रित केले आहे, त्यामुळे वापरकर्त्यांना प्रत्येक कनेक्शन प्रयत्नाची व्यक्तिचलितपणे चाचणी करण्याची आवश्यकता नाही. हे विशेषत: CI/CD वातावरणात उपयोगी आहे जेथे स्वयंचलित चाचण्या कनेक्टिव्हिटी समस्या वाढण्यापूर्वी त्वरीत फ्लॅग करू शकतात. Paramiko वापरल्याने आम्हाला Python मध्ये कस्टम एरर हँडलिंग लागू करण्याची परवानगी मिळते. कनेक्शन त्रुटी आढळल्यास, तपशीलवार संदेश अचूक कारणाविषयी अंतर्दृष्टी प्रदान करतात, मग ती नेटवर्क समस्या, SSH चुकीची कॉन्फिगरेशन किंवा फायरवॉल ब्लॉक असो. अशी लवचिकता मोठ्या संघांमध्ये आवश्यक असू शकते जेथे भिन्न सदस्य समान पायाभूत सुविधा सेटअपमध्ये योगदान देऊ शकतात.

पुढे, तिसरी स्क्रिप्ट PTTY वाटप समस्या हाताळते विशेषत: CRC व्हर्च्युअल मशीनशी कनेक्ट करण्यासाठी virsh कन्सोल वापरताना. CRC च्या कॉन्फिगरेशनमध्ये, कार्यरत कनेक्शन स्थापित करण्यासाठी सीरियल कन्सोल "PTY" (स्यूडो-टर्मिनल) वर सेट करणे आवश्यक आहे. ही स्क्रिप्ट CRC वर्च्युअल मशीनचा XML सेटअप डंप करून आणि "सीरियल प्रकार" सेटिंग शोधून वर्तमान डिव्हाइस कॉन्फिगरेशन ओळखते. ते योग्यरितीने कॉन्फिगर केले नसल्यास, आवश्यक बदल व्यक्तिचलितपणे करण्यासाठी आम्ही पायऱ्या प्रदान करतो. एकाधिक व्हर्च्युअल मशीन्सशी व्यवहार करताना हा दृष्टीकोन बहुमोल असू शकतो, कारण चुकीचे कॉन्फिगर केलेले सिरीयल पोर्ट अनेकदा कमांडस VM पर्यंत पोहोचण्यापासून प्रतिबंधित करतात, ज्यामुळे स्टार्टअप किंवा लॉगिन दरम्यान त्रुटी उद्भवतात. 🌐

एकंदरीत, या स्क्रिप्ट्स OpenShift CRC मधील SSH आणि PTY समस्यांना तोंड देत असलेल्या विकसकांसाठी सर्वसमावेशक डीबगिंग टूलकिट प्रदान करतात. प्रत्येक स्क्रिप्ट वापरण्यास सुलभतेसाठी आणि मॉड्यूलरिटीसाठी डिझाइन केलेली आहे, वापरकर्त्यांना त्यांना सर्वात सोयीस्कर असलेले अचूक साधन किंवा भाषा निवडण्याची अनुमती देते. तुम्ही एकट्याने काम करत असाल किंवा मोठ्या DevOps टीममध्ये, यासारख्या मॉड्युलर स्क्रिप्ट असण्याने महत्त्वपूर्ण समस्यानिवारण वेळ वाचू शकतो. महत्त्वाचे म्हणजे, ते योग्य प्रणाली व्यवस्थापन पद्धतींना प्रोत्साहन देतात, जसे की CRC उदाहरणे स्वच्छपणे थांबवणे आणि सुरू करणे आणि त्रुटींसाठी सेवा लॉग तपासणे, जे विश्वासार्ह विकास वातावरणासाठी आवश्यक आहेत.

उपाय 1: Fedora वर CodeReady कंटेनरसह "SSH हँडशेक अयशस्वी" निराकरण करणे

SSH सेवा रीस्टार्ट आणि कॉन्फिगर करण्यासाठी शेल स्क्रिप्ट वापरणे

#!/bin/bash
# This script attempts to fix SSH handshake errors by resetting the SSH daemon and re-establishing CRC configuration.
# Ensure that the script is executable: chmod +x fix_crc_ssh.sh

# Step 1: Stop CRC service
echo "Stopping CodeReady Containers (CRC)..."
crc stop

# Step 2: Restart libvirt service
echo "Restarting libvirt service..."
sudo systemctl restart libvirtd

# Step 3: Restart SSH daemon to clear any cached connections
echo "Restarting SSH service..."
sudo systemctl restart sshd

# Step 4: Start CRC again and check logs
echo "Starting CodeReady Containers (CRC)..."
crc start

# Wait for SSH connection attempt logs
echo "Monitoring CRC logs for SSH issues..."
crc status
journalctl -u libvirtd.service -f

उपाय 2: पायथन वापरून एसएसएच हँडशेक त्रुटी डीबग करणे आणि निराकरण करणे

SSH हँडशेक ट्रबलशूटिंगसाठी Paramiko सह Python स्क्रिप्ट

उपाय 3: बॅश वापरून SSH सेवा स्थिती आणि PTY वाटप सत्यापित करणे

Virsh कन्सोल प्रवेशासाठी PTY स्थिती तपासण्यासाठी बॅश स्क्रिप्ट

#!/bin/bash
# Check if PTY is configured properly for virsh console
# This script verifies if the 'serial0' device is using a PTY and corrects it if not.

echo "Checking PTY allocation for virsh console..."
virsh dominfo crc | grep 'State' || { echo "Error: Domain 'crc' not found"; exit 1; }

# Set serial0 device to PTY if not configured
if ! virsh dumpxml crc | grep -q 'serial type="pty"'; then
    echo "Configuring serial0 device to use PTY..."
    virsh edit crc
    # Instruction to user: Add <serial type="pty"> inside domain's XML configuration
fi

echo "Restarting CRC for configuration to take effect..."
crc stop
sleep 3
crc start
virsh console crc

Fedora वर OpenShift CRC मध्ये SSH आणि PTY समस्यांचे निराकरण करणे

CodeReady कंटेनर (CRC) हे OpenShift वर स्थानिक विकास सुलभ करण्याच्या उद्देशाने असताना, विशिष्ट त्रुटी जसे की "SSH हँडशेक अयशस्वी" वर्कफ्लोमध्ये व्यत्यय आणू शकते. ही त्रुटी अनेकदा नेटवर्क कॉन्फिगरेशन समस्यांमुळे किंवा वर्च्युअलायझेशन स्तरांमधील अपुरे विशेषाधिकारांमुळे उद्भवते, विशेषत: यासारख्या प्रणालींमध्ये फेडोरा लिनक्स libvirt वापरून. सीआरसी सुरू होण्यासाठी आणि योग्यरित्या चालवण्यासाठी स्थिर SSH कनेक्शनवर अवलंबून असते, त्यामुळे या कनेक्टिव्हिटीमध्ये कोणताही ब्रेक कंटेनरच्या वातावरणाला थांबवू शकतो. Fedora 40 चे अलीकडील बदल, OpenShift आणि MicroShift च्या प्रगत आवृत्त्यांसह एकत्रितपणे, काहीवेळा सुसंगतता समस्या निर्माण करू शकतात, ज्यासाठी अतिरिक्त कॉन्फिगरेशन चरण आवश्यक आहेत.

स्थानिक होस्ट आणि ओपनशिफ्ट दरम्यान नेटवर्किंग व्यवस्थापित करण्यासाठी सीआरसी libvirt च्या व्हर्च्युअल कन्सोल प्रवेशाचा वापर कसा करते हे समजून घेण्याचा एक मुख्य पैलू आहे. Fedora चे व्हर्च्युअलायझेशन सेटअप इतर वितरणांपेक्षा थोडे वेगळे असू शकते, सीरिअल साधने संरचीत करण्याच्या पद्धतीमध्ये समायोजन आवश्यक आहे, विशेषत: PTY (स्यूडो-टर्मिनल) वाटप आवश्यक असल्यास. योग्य PTY सेटअप शिवाय, virsh console सारख्या कमांड अयशस्वी होतील, ज्यामुळे स्थानिक विकास प्रक्रिया थांबवू शकणाऱ्या त्रुटी प्रदर्शित होतील. कंटेनर कॉन्फिगरेशनची वारंवार चाचणी करणाऱ्या विकासकांसाठी या त्रुटी विशेषतः संबंधित आहेत, कारण हे कॉन्फिगरेशन चरण कार्यात्मक आभासी वातावरण राखण्यासाठी आवश्यक बनतात. 🛠️

जर CRC वातावरण योग्यरित्या व्यवस्थापित केले नसेल किंवा अद्यतनांनंतर पुन्हा कॉन्फिगर केले नसेल तर कार्यसंघांमध्ये काम करणाऱ्या विकसकांना वारंवार SSH समस्यांना सामोरे जावे लागते. स्वयंचलित समस्यानिवारण स्क्रिप्ट सेट करणे, जसे वर तपशीलवार वर्णन केले आहे, डीबगिंग प्रक्रिया लक्षणीयरीत्या सुव्यवस्थित करू शकते. उदाहरणार्थ, पायथन स्क्रिप्ट्स आणि शेल कमांड्सचे संयोजन वापरणे तुम्हाला CRC त्वरीत रीस्टार्ट करण्यास, SSH कॉन्फिगरेशन समायोजित करण्यास आणि libvirt योग्यरित्या सेट केले आहे याची खात्री करण्यासाठी, डाउनटाइम कमी करण्यास अनुमती देते. या स्क्रिप्ट्स ठेवल्याने केवळ वेळेची बचत होत नाही तर टीममधील सर्व विकासकांसाठी ओपनशिफ्ट किंवा फेडोरा-विशिष्ट कॉन्फिगरेशनसह तांत्रिक कौशल्याची पर्वा न करता विश्वासार्ह कार्यप्रवाह देखील स्थापित केला जाऊ शकतो. 🖥️

CRC SSH आणि PTY त्रुटींचे निवारण: वारंवार विचारले जाणारे प्रश्न

  1. CRC मध्ये "SSH हँडशेक अयशस्वी" त्रुटी कशामुळे होते?
  2. SSH की कॉन्फिगरेशनमध्ये जुळत नसल्यास किंवा libvirt किंवा SSH सेवा योग्यरित्या चालत नसल्यास ही त्रुटी उद्भवू शकते. धावत आहे sudo systemctl restart libvirtd आणि CRC रीस्टार्ट केल्याने त्याचे निराकरण होते.
  3. virsh कन्सोलमधील PTY कॉन्फिगरेशन त्रुटी मी कशी दुरुस्त करू शकतो?
  4. वापरून सीआरसी एक्सएमएल कॉन्फिगरेशनमध्ये serial0 डिव्हाइस प्रकार "pty" वर सेट केला आहे याची खात्री करा आणि तपासत आहे <serial type="pty"> टॅग
  5. Fedora वर CRC मध्ये libvirt ची भूमिका काय आहे?
  6. Libvirt व्हर्च्युअल मशीन Fedora मध्ये व्यवस्थापित करते, CRC ला स्थानिकरित्या OpenShift क्लस्टर्स चालवण्यास परवानगी देते. libvirt मधील समस्या CRC ची कार्यक्षमता आणि SSH ऍक्सेसमध्ये व्यत्यय आणू शकतात.
  7. मी SSH आणि libvirt सेवा रीस्टार्ट स्वयंचलित करू शकतो का?
  8. होय, शेल स्क्रिप्ट CRC, SSH, आणि libvirt सेवा पुन्हा सुरू करण्यास मदत करू शकते. फक्त जसे कमांड्स जोडा crc stop, sudo systemctl restart sshd, आणि द्रुत समस्यानिवारणासाठी स्क्रिप्टवर.
  9. SSH समस्यानिवारणासाठी Python स्क्रिप्टमध्ये Paramiko का वापरले जाते?
  10. Paramiko प्रोग्रामेटिक SSH कनेक्शन्स सुलभ करते, जे विकासकांना CRC मध्ये SSH ऍक्सेसची चाचणी घेण्यास आणि तपशीलवार त्रुटी स्वयंचलितपणे पकडण्याची परवानगी देते.
  11. या पायऱ्या फॉलो केल्यानंतरही CRC सुरू करण्यात अयशस्वी झाल्यास काय?
  12. Fedora आणि OpenShift आवृत्त्यांसह तुमची CRC आवृत्ती सुसंगतता दोनदा तपासा. तुम्ही फायरवॉल सेटिंग्जची तपासणी देखील करू शकता कारण ते स्थानिक कनेक्शन ब्लॉक करू शकतात.
  13. या सेटअपमध्ये virsh कन्सोल कसे कार्य करते?
  14. हे CRC वर्च्युअल मशीनवर थेट कन्सोल प्रवेशास अनुमती देते. libvirt मध्ये योग्य सिरीयल डिव्हाइस कॉन्फिगरेशन हे कार्य करण्यासाठी आवश्यक आहे.
  15. CRC साठी PTY वाटप महत्त्वाचे का आहे?
  16. PTY वाटप हे सुनिश्चित करते की CRC VM टर्मिनल इनपुट स्वीकारू शकते. त्याशिवाय, "serial0 PTY वापरत नाही" त्रुटीमुळे virsh कन्सोलद्वारे कनेक्ट करणे अयशस्वी होईल.
  17. CRC साठी SSH स्थितीचे निरीक्षण करण्याचा एक मार्ग आहे का?
  18. होय, वापरा crc status CRC चालू आहे आणि प्रवेशयोग्य आहे का ते तपासण्यासाठी. यासह SSH लॉगचे निरीक्षण करणे रिअल-टाइम अद्यतने देखील प्रदान करते.
  19. सीआरसी सेटअपसाठी सीआय/सीडी पाइपलाइनमध्ये या स्क्रिप्ट वापरल्या जाऊ शकतात का?
  20. होय, सीआरसी स्टार्टअप समस्यांचे स्वयंचलितपणे निदान आणि निराकरण करण्यासाठी स्क्रिप्ट्स सीआय/सीडी पाइपलाइनमध्ये एकत्रित केल्या जाऊ शकतात, प्रत्येक पाइपलाइन चालविण्यासाठी विश्वसनीय वातावरण सेटअप सुनिश्चित करते.

गुळगुळीत सीआरसी स्टार्टअप्ससाठी महत्त्वाचे उपाय

Fedora वर CRC त्रुटींचा सामना करताना, SSH आणि libvirt रीस्टार्ट करणे, आणि VM मध्ये PTY कॉन्फिगरेशन समायोजित करणे, अनेकदा कनेक्शन समस्यांचे निराकरण करते. येथे सामायिक केलेल्या स्क्रिप्ट या उपायांना स्वयंचलित करण्यात मदत करतात, त्यामुळे OpenShift मध्ये नवीन येणारे देखील आत्मविश्वासाने समस्यानिवारण करू शकतात. ⚙️

डायनॅमिक डेव्हलपमेंट वातावरणात, या स्क्रिप्ट तयार केल्याने लक्षणीय वेळ वाचू शकतो, विशेषत: आवर्ती CRC SSH त्रुटींशी व्यवहार करताना. या चरणांचे अनुसरण करून, तुम्ही तुमच्या OpenShift प्रकल्पांसाठी एक विश्वासार्ह, सातत्यपूर्ण वर्कफ्लो सेट करत आहात.

CRC समस्यानिवारणासाठी स्रोत आणि संदर्भ
  1. लिनक्स सिस्टीमवर व्हर्च्युअलायझेशनसाठी libvirt वापरण्याबाबत तपशीलवार मार्गदर्शन, ज्याने या लेखात वर्णन केलेल्या समस्यानिवारण पद्धतींना समर्थन दिले. भेट द्या libvirt.org अधिक माहितीसाठी.
  2. अधिकृत CodeReady कंटेनर दस्तऐवजीकरण CRC कॉन्फिगरेशन आणि Fedora वरील SSH आणि PTY सेटअपसह सामान्य समस्यांबद्दल गंभीर अंतर्दृष्टी प्रदान करते. पहा कोडरेडी कंटेनर दस्तऐवजीकरण .
  3. Fedora च्या कॉन्फिगरेशन आणि व्हर्च्युअलायझेशन साधनांवरील अतिरिक्त माहितीने या त्रुटीच्या सिस्टम-विशिष्ट पैलूंचे निराकरण करण्यात मदत केली. अधिक तपशील येथे आढळू शकतात फेडोरा प्रकल्प .