Испортил мою установку Perl на Mac OS X 10.6

8111
dlamblin

Я испортил мою установку Perl на Mac OS X 10.6. Я объясню, как:
я хотел добавить пакет cpan для Bundle :: DBD :: mysql, cpan сказал мне сначала обновить Bundle :: CPAN. Я не мог из-за разрешений. Поэтому я sudoэд perl -MCPAN -e shellи обновленный CPAN, я получил пакет MySQL, но это не удалось несколько тестов, которые я тогда вынудила установки (работает кстати). Затем по какой-то причине я решил перестроить пакет mysql. Это заняло много времени. В конце концов я понял, что он много перестроен, как perldoc.

Теперь, когда я пытаюсь запустить perldoc, у меня нет разрешения на это, но когда я sudo perldoc сообщает, что не может его найти.

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 

Я бы хотел переустановить Perl по-настоящему, как Apple установил его, когда я обновил Snow Leopard (хотя было бы неплохо сохранить DBD :: mysql), и я не знаю, с чего начать. Я не хочу использовать какой-то пакет fink или систему в стиле портов. Получение последней версии Perl 5.10 было бы плюсом.

4

6 ответов на вопрос

4
dlamblin

Может показаться, что я полный Mac Newb (хотя я пользуюсь Mac со времен LC), но с тех пор, как установка комбинированного обновления для 10.6.2 не устранила эту проблему, несмотря на перезапись файлов, я с опозданием понял, что Кнопка «Восстановить разрешения» Дисковой утилиты исправит это. И это сделал.

Странная вещь - фактический двоичный файл /usr/bin/perldocне был затронут. Вероятно, это как-то связано с одним из этих пакетов в выводе.

Вот что он выводит, так как исправляет вещи (обратите внимание, последняя строка для меня?)

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 
3
Lawrence Velázquez

Попробуйте использовать Pacifist для запуска соответствующего установочного пакета с вашего диска 10.6. Я не уверен, какой пакет находится у меня на голове, но Pacifist позволяет вам просматривать и искать пакеты на диске. Я не верю, что это удалит новые файлы, но это восстановит вашу установку Perl к рабочему состоянию по умолчанию. Вы также можете выборочно извлекать файлы и папки.

Using Pacifist to search for "Perl" on the Mac OS X 10.6 disc.

Я использовал его пару лет назад для контроля ущерба (вполне успешно, я мог бы добавить) после довольно неприятного инцидента с участием sudo rm -fr /bin. Не спрашивай

2

Да ... Дисковые утилиты "Разрешения на восстановление" работали и у меня. Та же проблема ... установил модуль DBD :: mysql, и он поднял разрешения.

1
gorilla

Вы всегда можете скачать последнюю версию Perl с http://www.cpan.org/src/5.0/latest.tar.bz2 .

Вам нужно будет разархивировать и запустить Configure.

Лично я обычно предпочитаю иметь собственную установку Perl, даже если в базовую ОС включена версия. Это означает, что мои сценарии могут быть обновлены до более поздних версий по моему расписанию, а не сопровождающие.

Не очень хорошая идея перезаписывать установку Perl по умолчанию на другую, поскольку обновления программного обеспечения и т.п. могут делать предположения относительно системного Perl по умолчанию. Если вы собираетесь развернуть свой собственный Perl, лучше установить его в / usr / local или в другое недоступное место. В любом случае ему все равно придется исправлять свою систему Perl. Lawrence Velázquez 14 лет назад 1
Я бы не стал перезаписывать установку по умолчанию, я имел в виду установку новой установки в отдельном каталоге. gorilla 14 лет назад 0
Понятно, но это все еще не исправляет его сломанный стандартный Perl. Lawrence Velázquez 14 лет назад 1
Что касается перезаписи perl по умолчанию, см. Http://stackoverflow.com/questions/1992720/perl-strategy-for-a-new-snow-leopard-user/1992934#1992934 Ether 14 лет назад 0
1
fin

возможно, это поможет установить последнее обновление по адресу http://support.apple.com/kb/DL959 . У меня были огромные проблемы после полного восстановления системы с машиной времени. кажется, что это портит многие вещи, и я не могу больше использовать quicklook, кроме прочего. после переустановки этого обновления все функции работают как обычно. с небольшим количеством удачи Perl в этом обновлении.

Я попробовал это, и это не сработало. Тем не менее, он исправил загадочный жесткий флеш-плагин, который был проклятием youtube (и другого флеш-видео) с момента обновления до улучшенной «стабильности плагина safari». Переустановка решила это, но не моя проблема с разрешением perldoc. dlamblin 14 лет назад 0
На самом деле эта флешка в стабильности вещь приходит и уходит; это идет с перезагрузкой, и я пока не знаю, что вызывает это. dlamblin 14 лет назад 0
Для интересующихся: стабильность флеш-памяти была связана с аудио во флеш-видео и несовместимостью в Audio Hijack Pro. Смотрите: http://superuser.com/questions/83315/ dlamblin 14 лет назад 0
0
bbaassssiiee

Установлен свежий CPAN на Lion.

Перед «Утилитами восстановления» дисковой утилиты:

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

Работает снова после:

$ 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]