Desordenou minha instalação perl no Mac OS X 10.6

4

Eu estraguei minha instalação perl no Mac OS X 10.6. Vou explicar como:
Eu queria adicionar um pacote cpan para Bundle :: DBD :: mysql, cpan me disse para atualizar Bundle :: CPAN primeiro. Eu não pude por causa de permissões. Então, eu sudo ed perl -MCPAN -e shell e cpan atualizado, então eu tenho o pacote mysql, mas ele falhou alguns testes, que então forcei a instalação (funciona btw). Então, por algum motivo, decidi reconstruir o pacote mysql. Isso levou muito tempo. Eventualmente, percebi que tinha reconstruído muito, como perldoc.

Agora, sempre que tento executar o perldoc, não tenho permissão para fazê-lo, mas quando sudo perldoc me diz que não consegue encontrá-lo.

dlamblins-macbook:~ dlamblin$ perldoc
-bash: /usr/bin/perldoc: Permission denied
dlamblins-macbook:~ dlamblin$ sudo perldoc
Password:
sudo: perldoc: command not found
dlamblins-macbook:~ dlamblin$ sudo /usr/bin/perldoc
Password:
sudo: /usr/bin/perldoc: command not found

Eu gostaria de reinstalar o perl de verdade da maneira que a Apple o instalou quando atualizei para o Snow Leopard (embora manter o DBD :: mysql seria bom), e não sei por onde começar. Eu não quero ir com algum sistema fink pacote ou portas estilo. Obtendo o último perl 5.10 seria um plus.

    
por dlamblin 28.11.2009 / 08:29

6 respostas

4

Isto pode parecer que eu sou um Mac total Newb (embora eu tenha usado um Mac desde o LC), mas desde a instalação da atualização combinada para 10.6.2 não consertar esse problema, mesmo que ele tenha sobrescrito os arquivos, eu percebi tardiamente que o botão "Reparar Permissões" do Utilitário de Disco o consertaria. E isso aconteceu.

O curioso é que o binário real /usr/bin/perldoc não foi tocado. Provavelmente tem algo a ver com um desses pacotes na saída.

Aqui está o que é enviado como material fixo (note que a última linha é uma? para mim)

Repairing permissions for “Macintosh HD”
Permissions differ on "private/etc/postfix/main.cf.default", should be -rw-r--r-- , they are -r--r--r-- .
Repaired "private/etc/postfix/main.cf.default".
Permissions differ on "usr/bin/c2ph", should be -rwxr-xr-x , they are -rw-rw-rw- .
Repaired "usr/bin/c2ph".
Permissions differ on "usr/bin/config_data", should be -rwxr-xr-x , they are -r-xr-xr-x .
Repaired "usr/bin/config_data".
Permissions differ on "usr/bin/cpan", should be -rwxr-xr-x , they are -r-xr-xr-x .
Repaired "usr/bin/cpan".
Permissions differ on "usr/bin/enc2xs", should be -rwxr-xr-x , they are -r-xr-xr-x .
Repaired "usr/bin/enc2xs".
Permissions differ on "usr/bin/instmodsh", should be -rwxr-xr-x , they are -r-xr-xr-x .
Repaired "usr/bin/instmodsh".
Permissions differ on "usr/bin/piconv", should be -rwxr-xr-x , they are -r-xr-xr-x .
Repaired "usr/bin/piconv".
Permissions differ on "usr/bin/prove", should be -rwxr-xr-x , they are -r-xr-xr-x .
Repaired "usr/bin/prove".
Permissions differ on "usr/bin/shasum", should be -rwxr-xr-x , they are -r-xr-xr-x .
Repaired "usr/bin/shasum".
Permissions differ on "usr/share/derby", should be drwxr-xr-x , they are lrwxr-xr-x .
Repaired "usr/share/derby".
Permissions differ on "Library/Perl/5.10.0/darwin-thread-multi-2level/NetSNMP/default_store.pm", should be -rw-rw-r-- , they are -r--r--r-- .
Repaired "Library/Perl/5.10.0/darwin-thread-multi-2level/NetSNMP/default_store.pm".
Permissions differ on "Library/Perl/5.10.0/darwin-thread-multi-2level/auto/NetSNMP/default_store/autosplit.ix", should be -rw-rw-r-- , they are -r--r--r-- .
Repaired "Library/Perl/5.10.0/darwin-thread-multi-2level/auto/NetSNMP/default_store/autosplit.ix".
Permissions differ on "Library/Perl/5.10.0/darwin-thread-multi-2level/auto/NetSNMP/default_store/default_store.bundle", should be -rwxrwxr-x , they are -r-xr-xr-x .
Repaired "Library/Perl/5.10.0/darwin-thread-multi-2level/auto/NetSNMP/default_store/default_store.bundle".
Warning: SUID file "System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/MacOS/ARDAgent" has been modified and will not be repaired.

Permissions repair complete
    
por 15.12.2009 / 02:21
3

Tente usar o Pacifist para executar o pacote Installer apropriado do seu disco 10.6. Não tenho certeza de qual pacote está fora do meu limite, mas o Pacifist permite que você navegue e pesquise os pacotes no disco. Eu não acredito que irá remover novos arquivos, mas ele irá restaurar sua instalação Perl para o padrão de trabalho. Você também pode extrair arquivos e pastas seletivamente.

UsandooPacifistparaprocurarpor"Perl" no disco do Mac OS X 10.6.

Eu usei isso alguns anos atrás para fazer o controle de danos (com bastante sucesso, devo acrescentar) após um incidente bastante embaraçoso envolvendo sudo rm -fr /bin . Não pergunte.

    
por 29.11.2009 / 23:07
2

Sim ... Disk Utilities "Reparar Permissões" funcionou para mim também. O mesmo problema ... instalou o módulo DBD :: mysql e preparou as permissões.

    
por 22.01.2010 / 19:41
1

Você sempre pode fazer o download do perl mais recente em link .

Você precisará desarquivar e executar o Configure.

Eu pessoalmente geralmente prefiro ter minha própria instalação do perl, mesmo quando o sistema operacional básico inclui uma versão. Isso significa que meus scripts podem ser atualizados para versões posteriores no meu cronograma, não para os mantenedores.

    
por 28.11.2009 / 18:23
1

talvez seja útil instalar a atualização mais recente no link . Eu tive problemas enormes após uma restauração completa do sistema com a máquina do tempo. parece que isso corrompe muitas coisas e eu não poderia mais usar o quicklook além de outras coisas. Depois de reinstalar esta atualização, todas as funções são normais. com um pouco de sorte o perl está nesta atualização.

    
por 30.11.2009 / 02:20
0

CPAN novo instalado no Lion.

Antes de "Reparar Permissões" do Utilitário de Disco:

$ perldoc
-bash: /usr/bin/perldoc: Permission denied

Funciona novamente depois:

$ perldoc
Usage: perldoc5.12 [-h] [-V] [-r] [-i] [-D] [-t] [-u] [-m] [-n nroffer_program] [-l] [-T] [-d output_filename] [-o output_format] [-M FormatterModuleNameToUse] [-w formatter_option:option_value] [-L translation_code] [-F] [-X] PageName|ModuleName|ProgramName
       perldoc5.12 -f PerlFunc
       perldoc5.12 -q FAQKeywords
       perldoc5.12 -v PerlVar

The -h option prints more help.  Also try "perldoc perldoc" to get
acquainted with the system.                        [Perldoc v3.15_02]
    
por 02.02.2012 / 00:11