/ usr / bin / realpath não encontrado no Centos 6.5

4

Estou tentando digitar 'realpath' no CentOS 6.5. Mas parece que não está instalado. Eu verifiquei que está contido em coreutils (archlinux). Eu dou uma olhada no pacote coreutils que fornece pelo CentOS, falta o / usr / bin / realpath. Não quero instalar rpm de terceiros como " link '.

Eu fiz yum search realpath, não consigo encontrar. O utilitário contém outro pacote? Ou apenas ser removido por motivos de segurança?

    
por Daniel YC Lin 20.06.2014 / 05:20

3 respostas

5

realpath é uma ferramenta muito útil, mas a maioria de suas funcionalidades já estavam presentes com readlink . A página de manual realpath declara:

Please note that mostly the same functionality is provided by the '-e' option of the readlink(1) command.

E a página de manual readlink afirma:

-e, --canonicalize-existing: canonicalize by following every symlink in every component of the given name recursively, all components must exist.

O comando readlink foi adicionado ao coreutils, AFAIK, em 2008: é certamente disponível no Ubuntu Hardy 8.04 . Portanto, se você não tiver o caminho real, é possível que você tenha readlink imediatamente disponível.

    
por 20.06.2014 / 19:11
2

A ferramenta realpath foi adicionada ao GNU coreutils na versão 8.15 (commit 77ea441f79aa ), lançado em 2012. Seu lançamento do CentOS provavelmente tem o coreutils v8.4. A ferramenta não foi removida ; ainda não foi adicionado em primeiro lugar.

    
por 20.06.2014 / 07:46
0

Normalmente realpath é fornecido por coreutils package, então você deve instalá-lo via:

yum install coreutils

Como alternativa, tente: readlink ou defina sua própria função, como:

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

ou veja alguns mais exemplos aqui .

Eu testei o comando no CentOS 7 VM via Vagrant :

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

parece que realpath está instalado por padrão.

    
por 29.09.2015 / 13:09