Я пытаюсь набрать 'realpath' в CentOS 6.5. Но, похоже, не установлено. Я проверил это содержится в coreutils (archlinux). Я дважды проверяю пакет coreutils, предоставляемый CentOS, в нем отсутствует / usr / bin / realpath. Я не хочу устанавливать сторонние rpm, такие как « http://pkgs.org/centos-6/repoforge-x86_64/realpath-1.17-1.el6.rf.x86_64.rpm.html ».
Я сделал yum search realpath, не могу его найти. Утилита содержится в другом пакете? Или просто быть удаленным по соображениям безопасности?
Попробуйте `sudo yum предоставляет -C realpath`, чтобы увидеть, в каком пакете он находится; затем установите его (или попробуйте переустановить, если он уже установлен).
BenjiWiebe 9 лет назад
0
`yum предоставляет -C / usr / bin / realpath` Загруженные плагины: fastestmirror, refresh-packagekit, security * Совпадения не найдены *
Daniel YC Lin 9 лет назад
0
@DanielYCLin Разве вы не можете просто использовать * readlink -e *? Это точно то же самое.
MariusMatutiae 9 лет назад
0
@MariusMatutiae, пожалуйста, напишите в качестве ответа, я пишу свой скрипт, поэтому можно использовать readlink, если Centos 6.5 его поддерживает.
Daniel YC Lin 9 лет назад
0
@DanielYCLin Я сделал это, согласно вашему запросу.
MariusMatutiae 9 лет назад
0
Кстати, `yum предоставляет -C / usr / bin / realpath` не правильная команда ... это может быть в` / bin`! Поэтому при использовании `yum обеспечивает`, просто используйте имя команды:` sudo yum обеспечивает -C realpath`.
BenjiWiebe 9 лет назад
0
3 ответа на вопрос
5
MariusMatutiae
realpathэто очень полезный инструмент, однако большинство его функций уже присутствовали readlink. На realpathстранице руководства государства:
Обратите внимание, что в основном та же функциональность обеспечивается параметром '-e' команды readlink (1).
-e, --canonicalize-существующие: канонизировать, рекурсивно следуя каждой символической ссылке в каждом компоненте данного имени, все компоненты должны существовать.
Команда readlinkбыла добавлена в coreutils, AFAIK, в 2008 году: она наверняка доступна в Ubuntu Hardy 8.04 . Так что, если у вас нет реального пути, возможно, что у вас есть readlinkнемедленный доступ.
2
grawity
The realpath tool was added to GNU coreutils in version 8.15 (commit 77ea441f79aa), released in 2012. Your CentOS release likely has coreutils v8.4. The tool wasn't removed; it was not yet added in the first place.
Таким образом, 'realpath' не содержится в официальном хранилище centos. Установить сторонний rpm это единственный способ?
Daniel YC Lin 9 лет назад
0
@DanielYCLin Вы можете просто загрузить его с [ftp.gnu.org] (ftp://ftp.gnu.org/gnu/coreutils/coreutils-8.22.tar.xz), запустить `tar -xJf coreutils-8.22.tar. XZ; ./configure; делать; sudo make install`. Он поместит его в `/ usr / local / bin`, который, вероятно, находится в вашем` PATH` (если нет, вы можете добавить его).
BenjiWiebe 9 лет назад
1
или просто `echo '/ usr / bin / readlink -e" $ @ "'> / usr / local / bin / realpath; chmod + x / usr / local / bin / realpath`
djsadinoff 9 лет назад
2
0
kenorb
Обычно realpathпредоставляется coreutilsпакет, поэтому вы должны установить его через:
yum install coreutils
В качестве альтернативы попробуйте: readlinkили определите свою собственную функцию, например: