मैं क्षेत्रीय से मुख्य तक उबंटू सर्वर में दर्पण कैसे बदलूं?


76

मेरे पास एक ल्यूसिड सर्वर (10.04) स्थापित है और मैं यूएस (या किसी भी अन्य देश) से मुख्य उबंटू दर्पण को दर्पण बदलना चाहूंगा।

उदाहरण के लिए source.list में मेरी पहली दो प्रविष्टियाँ हैं:

deb http://us.archive.ubuntu.com/ubuntu/ lucid main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ lucid main restricted

एक डेस्कटॉप वातावरण में मैं इस तरह से मुख्य दर्पण का चयन करूंगा:

सॉफ्टवेयर स्रोत

लेकिन मैं टर्मिनल से कैसे करूँ क्योंकि मेरे पास एक ग्राफिकल वातावरण स्थापित नहीं है!

जवाबों:


95

sources.listअपने पसंदीदा टेक्स्ट एडिटर का उपयोग करके अपनी फ़ाइल खोलें , जैसे

sudo nano /etc/apt/sources.list

पाठ का पता लगाएँ http://us.archive.ubuntu.com/ubuntuऔर इसे बदलें http://archive.ubuntu.com/ubuntu


मुझे लगा कि यह चाल चलेगा, लेकिन जब मैंने आपके सुझाव के अनुसार किया था, लेकिन इसने मुझे रिपॉजिटरी के लिए 404 त्रुटि दी। मैंने अब फिर से जाँच की है और यह ठीक लग रहा है। यह मेरे नेटवर्क कनेक्शन के साथ एक समस्या लग रहा था। उत्तर के लिए बहुत बहुत धन्यवाद।
सोरिन-मिहाई

वहाँ जीयूआई के साथ की तरह एक सुरक्षित तरीका है। मेरा मतलब है, इसे मैन्युअल रूप से प्रतिस्थापित नहीं करना और टाइपो या जो भी हो, से बचें।
लॉगऑफ

शायद कुछ इस तरह से: askubuntu.com/questions/20414/… @logoff
ल्यूक स्टैनले

1
apt-get updateबाद में भी चलाएं ताकि APT अपने पैकेजों को अपडेट कर सके। प्रारंभ में मुझे एक Package X has no installation candidateसंदेश मिला क्योंकि APT ने अभी तक पैकेज के लिए नए भंडार को स्कैन नहीं किया है।
एनएस डू टिट

स्क्रिप्ट में इसका उपयोग करने के लिए निम्नलिखित sedकमांड sed -E -i 's#http://[^\s]*archive\.ubuntu\.com/ubuntu#http://be.archive.ubuntu.com/ubuntu#g' /etc/apt/sources.list'/etc/apt/sources.list का उपयोग किया जा सकता है जो आपके देश कोड के साथ nl को प्रतिस्थापित करता है ।
मैंडी एस

55

इस आदेश को चाल करना चाहिए:

sudo sed -i 's|http://us.|http://|g' /etc/apt/sources.list

यह 'हम' को हटा देगा। प्रत्येक पते में उपसर्ग उन्हें मुख्य सर्वर के पते में बदलने के लिए।

बेशक किसी भी अन्य दर्पण द्वारा 'हमें' का उपयोग करें जो आप उपयोग कर रहे हैं।

कमांड की गहन व्याख्या में:

छानने और पाठ को बदलने के लिए sed - धारा संपादक।

  • मैं तर्क स्थान पर एक फ़ाइल को संपादित करने के लिए है।

  • तब की | regexp | प्रतिस्थापन | जी ' , एस खोज निर्दिष्ट करने और आदेश की जगह।

  • जी अंत में तर्क करने के लिए "विश्व स्तर पर" खोज की जा रही है।

  • निष्कर्ष: http: // us की सभी घटनाओं को प्रतिस्थापित करता हैसाथ http: // फ़ाइल में /etc/apt/sources.list


1
कमांड को थोड़ा और समझाने की कोशिश करें, यह क्या करता है?
इवांड्रो सिल्वा

1
हम से डे मिरर में जाने के लिए निम्नलिखित कार्य करें:sudo sed -i 's/http:\/\/us./http:\/\/de./g' /etc/apt/sources.list'
क्रिश्चियन

यहाँ पोस्ट की गई विधि सही है, हालाँकि शीर्ष में पोस्ट किया गया कोड गलत है [code] "sudo sed -i 's / http: \ / \ / us./http:\/\//g' / etc / apt / source.list "[/ code] तल पर पोस्ट किए गए sed cmd कहां हैं।
सगर नायर

मैनुअल-टेक्स्ट-एडिटिंग-फ्री वन-लाइनर के लिए बहुत बहुत धन्यवाद। मैं कुछ केबी / एस डाउनलोड गति से 10 एमबी / एस का उपयोग करके चला गया sudo sed -i 's|http://us.|http://ch.|g' /etc/apt/sources.list(मैं स्विट्जरलैंड में हूं)। मैं एक ऑक्सबॉक्स छवि के साथ काम कर रहा था और वे स्पष्ट रूप से उस संबंध में काफी गलत हैं ...
मास्टरएक्सिलो

4

देश कोड "us" को source.list से "au" की तरह कुछ और निकालने के लिए सही sed उपयोग को ठीक करें, कमांड इस प्रकार होगी:

sed -i 's/http:\/\/us./http:\/\/au./g' /etc/apt/sources.list

या केवल "हमें" निकालने के बजाय इसे किसी चीज़ में बदलने के लिए, नीचे दिए गए कोड का उपयोग करें:

sed -i 's/http:\/\/in./http:\/\//g' /etc/apt/sources.list

3

के साथ vim:

mv /etc/apt/sources.list{,.bak}   # you may want to make a backup
vim /etc/apt/source.list

कमांड-इन मोड दर्ज करने के :लिए टाइप करें (आपको होल्ड करना होगा Shift), और फिर टाइप करें:

%s/http:\/\/us\./http:\/\//g

मारो Enter

Escयह सुनिश्चित करने के लिए हिट करें कि आपने कमांड-लाइन मोड से बाहर निकल कर सामान्य मोड में प्रवेश किया है। अब आप कुंजीपटल चाल कुंजी के साथ फ़ाइल के आसपास स्क्रॉल कर सकते हैं (अगर आप चाहते हैं) सुनिश्चित करें की सभी घटनाओं बनाने के लिए हमें दर्पण संपादित किया गया है।

अंत में, कमांड-लाइन मोड (प्रकार :) दर्ज wq!करके बचत के साथ बाहर निकलें और बचाने और बाहर निकलने के लिए दर्ज करें vim


यहाँ खोज रेगेक्सप% s / http: \ / \ / us \ ./ http: \ / \ // g; "।" (डॉट) एक सीमांकक नहीं है, इसलिए इसे बैकस्लैश के साथ भागने की आवश्यकता नहीं है।
SAGAR नायर

@SAGARBHOOSHAN .अपने आप में "नई पंक्ति को छोड़कर कोई भी चरित्र है" । यह सुनिश्चित करना है कि यह केवल शाब्दिक बिंदु से मेल खाता है।
चाई टी। रेक्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.