2008-09-18 10 views
22

मेरा विकास सर्वर (सेंटोस 5) सबवर्जन 1.4.2 चला रहा है, और मैं इसे 1.5 तक अपग्रेड करना चाहता हूं। मैंने वेब के चारों ओर बिखरे विभिन्न ब्लॉगों और दस्तावेजों में पढ़ा है कि यह RPMForge का उपयोग करके किया जा सकता है। मैंने CentOS Wiki पर दिए गए निर्देशों का पालन किया है, जिसमें यम-प्राथमिकताओं को स्थापित करना और संकेतों के अनुसार मेरी प्राथमिकताओं को सेट करना (कोर रेपो स्रोतों के लिए 1 और 2, और आरपीएमफ़ोर के लिए 20) शामिल हैं।मैं CentOS 5 पर सबवर्सन 1.5 में अपग्रेड कैसे करूं?

हालांकि

, जब मैं चलाने के लिए प्रयास:

$ yum info subversion 

संस्करण मुझे दिया संख्या अभी भी 1.4.2 है, स्थापित की स्थिति के साथ। इस बिंदु पर मेरा दूसरा विकल्प स्रोत से संकलित है, लेकिन मैं भविष्य के उन्नयन की आसानी के लिए एक पैकेज-प्रबंधित समाधान खोजना चाहता हूं।

किसी भी विचार?

+0

आप उबंटू पर जा सकते हैं और कई और मुद्दों को हल कर सकते हैं;) – sorin

उत्तर

45

आपको क्या करने की कोशिश कर रहे हैं एक "मूल" पैकेज (जिनमें CentOS भंडार में निहित है) एक "3 पार्टी" भंडार (RPMForge), से एक नए पैकेज के साथ जो क्या प्राथमिकताओं है को बदलने के लिए है प्लगइन को रोकने के लिए डिज़ाइन किया गया है।

RPMForge रिपॉजिटरी में CentOS, साथ ही मूल पैकेज के नए संस्करणों में नहीं मिले अतिरिक्त पैकेज शामिल हैं। दुर्भाग्य से, yum बहुत बेवकूफ है और हमेशा नवीनतम संस्करण पर एक पैकेज अपडेट करेगा, यह किसी भी भंडार में पा सकता है। इसलिए RPMforge सक्षम के साथ "yum update" चलाना RPMForge से नवीनतम (खून बहने वाला किनारा, संभवतः अस्थिर और कम अच्छी तरह से समर्थित) पैकेज के साथ आपके सिस्टम का आधा अपडेट करेगा।

इसलिए, RPMForge तरह रेपोस उपयोग करने के लिए सुझाया गया तरीका 'priorites "की तरह एक यम प्लगइन है, जो" कम " प्राथमिकता रेपोस से उन अधिलेखित करने के लिए" उच्च "प्राथमिकता रेपोस से संकुल से बचाता है साथ ही साथ उन्हें उपयोग करने के लिए है ("प्राथमिकता" पैरामीटर का नाम बहुत भ्रामक है)। इस तरह आप RP12Forge से अतिरिक्त पैकेज ( कोर में नहीं हैं) को समझदारी से स्थापित कर सकते हैं, जो अधिकांश लोग चाहते हैं।

अपने मूल प्रश्न के अब ...

आप चाहते हैं एक कोर पैकेज को बदलने के लिए, चीजों को एक छोटे से मुश्किल हो।

  1. स्थापना रद्द प्राथमिकता प्लगइन, और अक्षम RPMForge भंडार डिफ़ॉल्ट (सेट /etc/yum.repos.d/rpmforge.repo में enabled = 0) द्वारा: मूल रूप से, आप दो विकल्प हैं। फिर आप चुनिंदा कर सकते हैं कमांड लाइन पर इसे सक्षम:

    yum --enablerepo=rpmforge install subversion 
    

    नवीनतम तोड़फोड़ और RPMForge से निर्भरता स्थापित हो जाएगा।

    इस दृष्टिकोण के साथ समस्या यह है कि यदि RP12Forge में उपवर्तन पैकेज में कोई अद्यतन है, तो आप इसे नहीं देख पाएंगे जब रेपो अक्षम है। सबवर्सन को अद्यतित रखने के लिए, आपको समय-समय पर

    yum --enablerepo=rpmforge update subversion 
    

    चलाने के लिए याद रखना होगा।

  2. दूसरी संभावना प्लगइन priorites उपयोग करने के लिए है, लेकिन मैन्युअल "मुखौटा" कोर तोड़फोड़ पैकेज (/etc/yum.repos.d/CentOS-Base.repo में [base] और [update] वर्गों के लिए exclude=subversion जोड़ें)।

    अब यम व्यवहार करेगा जैसे में "सबवर्जन" नामक कोई पैकेज नहीं है और मूल रूप से RPMForge से नवीनतम संस्करण स्थापित करें। इसके अलावा, yum update चलाते समय आपको हमेशा नवीनतम सबवर्जन अपडेट मिलेगा।

+1

धन्यवाद 8jean, आपका समाधान बहुत अच्छा काम करता है। जिस कारण से मैं उम्मीद नहीं कर रहा था, वह प्राथमिकता प्लगइन की गलत व्याख्या के कारण था; मैंने सोचा कि रेनो को सक्षम करने से --enablerepo प्राथमिकता जांच को बाईपास करेगा। लगता है कि मैं गलत था। फिर से धन्यवाद! – jperras

+3

यह पहली बार है जब मैंने कुछ गड़बड़ कर लिया और पहले खोज परिणाम के रूप में स्टैक ओवरफ्लो जवाब मिला! और यह सही था। –

+1

# 2 एक अच्छा सुझाव था जो मेरे लिए अच्छा काम करता प्रतीत होता है। मुझे दिलचस्पी है कि प्रणाली को अद्यतन करने में आसानी के लिए लंबी अवधि के विकिरण क्या हैं। मुझे पता है कि इस तरह की चीजों से गड़बड़ करना मुश्किल हो सकता है ... –

1

यदि आप RPMForge के रेपो इंस्टॉल करते हैं, तो आपको एक नया पैकेज प्राप्त करने में सक्षम होना चाहिए - यह आपके लिए काम नहीं कर रहा है?

आप की तरह एक लाइन के साथ /etc/apt/sources.list.d में rpmforge.list देखना चाहिए:

repomd http://apt.sw.be redhat/el$(VERSION)/en/$(ARCH)/dag 

मैं सिर्फ एक साफ 5 CentOS पर स्थापित परीक्षण किया है, और yum check-update

subversion.i386       1.5.2-0.1.el5.rf  rpmforge 
subversion-perl.i386      1.5.2-0.1.el5.rf  rpmforge 
से पता चलता

तो अपनी स्रोत सूची जांचें और फिर से चेक-अपडेट चलाएं।

संपादित करें: ओह, मेरे उत्तर का हिस्सा खो गया। इसे ऊपर जोड़ा गया।

0

डैग के भंडार में v 1.4.6 तक।

आप Fedora's repo से किसी एक को आजमा सकते हैं या मुख्य रिपॉजिटरीज़ को अपग्रेड करने के लिए थोड़ा धैर्य रख सकते हैं।

इसे स्रोत से बनाना आसान है, जब आप स्रोत पैकेज डाउनलोड करते हैं तो इंस्टाल फ़ाइल को पढ़ें, ध्यान रखें कि CentOS स्थानांतरित हो सकता है जहां फ़ाइलें इंस्टॉल हो सकती हैं। (पुरानी फाइलों को कहां स्थापित किया गया था यह देखने के लिए "rpm -ql subversion" का उपयोग करें)।

जब v1.5.0 को भंडार में रिलीज़ किया जाता है, तो आप अपने निर्मित संस्करण को हटा सकते हैं और पहले के रूप में yum का उपयोग कर इंस्टॉल कर सकते हैं।

0

RPMForge rpmforge.repo रूप /etc/yum.repos.d/ में पहले से ही है, और सामग्री हैं:

 
# Name: RPMforge RPM Repository for Red Hat Enterprise 5 - dag 
# URL: http://rpmforge.net/ 
[rpmforge] 
name = Red Hat Enterprise $releasever - RPMforge.net - dag 
#baseurl = http://apt.sw.be/redhat/el5/en/$basearch/dag 
mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge 
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge 
enabled = 1 
protect = 0 
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag 
gpgcheck = 1 
priority=20 
0

मैं /etc/apt/sources.list में में वह सटीक लाइन है। डी/rpmforge.list।

जब मैं चेक-नई जानकारी को चला, मैं मिलता है:

 
Loading "priorities" plugin 
Loading "fastestmirror" plugin 
Loading mirror speeds from cached hostfile 
* epel: mirror.unl.edu 
* rpmforge: fr2.rpmfind.net 
* base: mirrors.portafixe.com 
* updates: mirrors.portafixe.com 
* addons: mirrors.portafixe.com 
* extras: mirrors.portafixe.com 
2202 packages excluded due to repository priority protections 

bzip2.i386        1.0.3-4.el5_2   updates   
bzip2-devel.i386       1.0.3-4.el5_2   updates   
bzip2-libs.i386       1.0.3-4.el5_2   updates   
libxml2.i386        2.6.26-2.1.2.6   updates   
libxml2-devel.i386      2.6.26-2.1.2.6   updates   
libxml2-python.i386      2.6.26-2.1.2.6   updates   
perl.i386        4:5.8.8-15.el5_2.1  updates   
sos.noarch        1.7-9.2.el5_2.2  updates   
tzdata.noarch       2008e-1.el5   updates 

मैं बहुत ज्यादा इस समय अन्य पुरानी संकुल के बारे में चिंतित नहीं हूँ, लेकिन जैसा कि आप देख सकते हैं कोई सबवर्सन नई जानकारी उपलब्ध नहीं है।

1

मैं फिलहाल अन्य पुराने पैकेजों के बारे में अत्यधिक चिंतित नहीं हूं, लेकिन जैसा कि आप देख सकते हैं कि कोई सबवर्सन अपडेट उपलब्ध नहीं है।

और rpmforge से कोई भी पैकेज नहीं। यह आपकी प्राथमिकता सेटिंग्स है।यम-प्राथमिकताओं को अक्षम करने का प्रयास करें (enabled=1 से enabled=0/etc/yum/pluginconf.d/priorities.conf में बदलें) - फिर इसे काम करना चाहिए।

तो मुझे लगता है कि अगला सवाल यह है कि प्राथमिकता इसे खराब क्यों कर रही है .... हालांकि, मुझे इस पर यकीन नहीं है।

संपादित करें: प्राथमिकताओं के बारे में अधिक जानकारी के लिए 8jean's answer देखें।

3

1.- यदि आप उपयोग कर रहे हैं यम-प्राथमिकताओं फ़ाइल /etc/yum/pluginconf.d/priorities.conf

2.- तोड़फोड़

$ rpm -qa|grep subversion 
    subversion-1.4.2-4.el5_3.1 
    subversion-1.4.2-4.el5_3.1 

3.- के संस्करण की जांच में इसे निष्क्रिय के पिछले संस्करण खोज rpmforge भंडार से उपversण

$ yum --enablerepo=rpmforge check-update subversion 
subversion.x86_64  1.6.6-0.1.el5.rf   rpmforge 

4.- अब rpmforge प्रतिनिधि के साथ उपversण को अपग्रेड करने की प्रक्रिया ository

$ yum shell 
>erase mod_dav_svn-1.4.2-4.el5_3.1 
>erase subversion-1.4.2-4.el5_3.1 
>install mod_dav_svn-1.6.6-0.1.el5.rf 
>install subversion-1.6.6-0.1.el5.rf.x86_64 
>run 

सब यह मेरे लिए काम करता im चल centos 5.4

0

है कि तुम सब करने की ज़रूरत है इस स्क्रिप्ट प्राप्त है। 5.3 CentOS

पर मेरे लिए पूरी तरह से काम किया

http://wandisco.com/subversion/os/downloads

नहीं है, मैं वहाँ काम नहीं करते या किसी संबद्धता क्या-तो-कभी ... बस यह पाया और सोचा मैं तुम लोगों को पता है चलो होगा।

शुभकामनाएं।

+0

शायद यह इसके बजाय एक टिप्पणी होनी चाहिए? – cereallarceny

2

धन्यवाद मैट - हमारे पास SVN पर एसवीएन 1.7 का एकमात्र डिस्ट्रो भी है।

आप uberSVN भी आजमा सकते हैं।

संबंधित मुद्दे