/ usr / bin / realpath सेंटोस 6.5 में नहीं मिला


8

मैं सेंटोस 6.5 में 'रियलपैथ' टाइप करने की कोशिश कर रहा हूं। लेकिन यह स्थापित नहीं लगता है। मैंने जाँच की कि यह कोरुटिल्स (आर्च्लिनक्स) में निहित है। मैं कोरूटिल्स पैकेज की दोहरी जांच करता हूं जो सेंटोस द्वारा प्रदान किया जाता है, इसमें / usr / bin / realpath का अभाव है। मैं ' http://pkgs.org/centos-6/repoforge-x86_64/realpath-1.17-1.el6.rf.x86_64.rpm.html ' जैसी 3 पार्टी आरपीएम इंस्टॉल नहीं करना चाहता ।

मैंने yum सर्च किया है realpath, नहीं मिला। क्या उपयोगिता अन्य पैकेज में है? या सिर्फ सुरक्षा कारणों से हटाया जाए?


sudo yum provides -C realpathयह देखने की कोशिश करें कि यह किस पैकेज में है; फिर इसे स्थापित करें (या यदि यह पहले से स्थापित है तो पुनः स्थापित करने का प्रयास करें)।
बेनजीवेब

yum provides -C /usr/bin/realpath लोड किए गए प्लगइन्स: सबसे तेज़, ताज़ा-पैकेजकिट, सुरक्षा कोई मेल नहीं मिला
डैनियल वाईसी लिन

@DanielYCLin क्या आप केवल readlink -e का उपयोग नहीं कर सकते ? बिलकुल एक ही बात है।
MariusMatutiae

@ मारीमैटुटिया कृपया जवाब के रूप में लिखें, मैं अपनी स्क्रिप्ट लिख रहा हूं, इसलिए, अगर सेंटोस 6.5 की है तो इसे रीडिंक का उपयोग करना संभव है।
डैनियल YC लिन

@DanielYCLin मैंने आपके अनुरोध के अनुसार ऐसा किया है।
MariusMatutiae

जवाबों:


9

realpathएक बहुत ही उपयोगी उपकरण है, हालांकि इसकी अधिकांश कार्यक्षमता पहले से मौजूद थी readlinkrealpath आदमी पेज कहता है:

कृपया ध्यान दें कि अधिकतर समान कार्यक्षमता रीडलिंक (1) कमांड के '-ई' विकल्प द्वारा प्रदान की जाती है।

और readlink आदमी पेज बताता है:

-e, --canonicalize-मौजूदा: दिए गए नाम के हर कंपोनेंट में हर सिमिलिंक का अनुसरण करके कैनोनिकलाइज़ करें, सभी कंपोनेंट्स मौजूद होने चाहिए।

readlinkआदेश AFAIK coreutils में जोड़ा गया था, 2008 में: यह है Ubuntu Hardy 8.04 में निश्चित रूप से उपलब्ध । इसलिए यदि आपके पास असलीपथ नहीं है, तो संभव है कि आपके पास readlinkतुरंत उपलब्ध हो।


3

realpathउपकरण संस्करण 8.15 (प्रतिबद्ध में GNU coreutils को जोड़ा गया है 77ea441f79aa ), 2012 आपका CentOS रिलीज़ में रिलीज़ होने की संभावना coreutils v8.4 है। उपकरण हटाया नहीं गया था ; यह अभी तक पहली जगह में नहीं जोड़ा गया था ।


तो, 'realpath' सेंटोस आधिकारिक रिपॉजिटरी में निहित नहीं है। 3rd पार्टी आरपीएम स्थापित करना एकमात्र तरीका है?
डैनियल वाईसी लिन

1
@DanielYCLin तुम बस से डाउनलोड कर सकता है ftp.gnu.org , चलाने के tar -xJf coreutils-8.22.tar.xz; ./configure; make; sudo make install। यह उसे डाल देगा /usr/local/binजिसमें आपके होने की संभावना है PATH(यदि नहीं, तो आप इसे जोड़ सकते हैं)।
बेनजीवेब

3
या सिर्फ echo '/usr/bin/readlink -e "$@"' > /usr/local/bin/realpath ; chmod +x /usr/local/bin/realpath
djsadinoff

1

आम तौर पर पैकेज realpathद्वारा प्रदान किया जाता coreutilsहै, इसलिए आपको इसे स्थापित करना चाहिए:

yum install coreutils

वैकल्पिक रूप से प्रयास करें: readlinkया अपने स्वयं के फ़ंक्शन को परिभाषित करें, जैसे:

realpath () { [[ $1 = /* ]] && echo "$1" || echo "$PWD/${1#./}" }

या यहाँ कुछ और उदाहरण देखें ।

मैंने Vagrant के माध्यम से CentOS 7 VM में कमांड का परीक्षण किया है :

vagrant init bento/centos-7.1 && vagrant up --provider virtualbox && vagrant ssh

ऐसा लगता realpathहै कि डिफ़ॉल्ट रूप से स्थापित है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.