Zawieszono instalację Perla na Mac OS X 10.6

4

Popsułem moją instalację Perla na Mac OS X 10.6. Wyjaśnię, jak:
Chciałem dodać pakiet cpan dla Bundle :: DBD :: mysql, cpan powiedział mi, żebym najpierw zaktualizował Bundle :: CPAN. Nie mogłem z powodu uprawnień. Więc sudoredagowałem perl -MCPAN -e shelli aktualizowałem cpan, potem dostałem pakiet mysql, ale nie udało mu się wykonać niektórych testów, które następnie wymusiłem na instalacji (działa btw). Następnie z jakiegoś powodu postanowiłem odbudować pakiet mysql. Trwało to długo. W końcu zdałem sobie sprawę, że dużo się odbudowało, jak na przykład perldoc.

Teraz, kiedy próbuję uruchomić Perldoc, nie mam na to pozwolenia, ale kiedy sudo perldoc mówi mi, że nie może go znaleźć.

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

Chciałbym przeinstalować perla na prawdę w taki sposób, w jaki Apple go zainstalował, kiedy zaktualizowałem do Snow Leoparda (choć zachowanie DBD :: mysql byłoby fajne) i nie wiem od czego zacząć. Nie chcę iść z jakimś pakietem fink lub systemem z portami. Uzyskanie najnowszego perla 5.10 byłoby dodatkowym plusem.

dlamblin
źródło

Odpowiedzi:

3

Może się wydawać, że jestem całkowitym Macem Newbem (chociaż od czasu LC korzystałem z komputera Mac), ale ponieważ instalacja połączonej aktualizacji dla wersji 10.6.2 nie rozwiązała tego problemu, mimo że nadpisała pliki, z opóźnieniem zdałem sobie sprawę, że Przycisk „Napraw uprawnienia” Narzędzia dyskowego to naprawi. I tak się stało.

Dziwne jest to, że rzeczywisty plik binarny /usr/bin/perldocnie został dotknięty. Prawdopodobnie ma to coś wspólnego z jednym z tych pakietów na wyjściu.

Oto, co wypisuje jako naprawione rzeczy (pamiętaj, że ostatnia linia jest dla mnie?)

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
dlamblin
źródło
3

Spróbuj użyć Pacifist, aby uruchomić odpowiedni pakiet instalacyjny z dysku 10.6. Nie jestem pewien, który pakiet jest poza moją głową, ale Pacifist pozwala przeglądać i przeszukiwać pakiety na dysku. Nie wierzę, że usunie nowe pliki, ale przywróci twoją instalację Perla do domyślnego działania. Możesz także selektywnie wyodrębniać pliki i foldery.

Używając pacyfisty do wyszukania „Perla” na dysku Mac OS X 10.6.

Użyłem go kilka lat temu, aby kontrolować szkody (całkiem dobrze, mogę dodać) po dość kłopotliwym incydencie z udziałem sudo rm -fr /bin. Nie pytaj.

Lawrence Velázquez
źródło
2

Tak ... Narzędzia dyskowe „Uprawnienia do naprawy” działały również dla mnie. Ten sam problem ... zainstalowano moduł DBD :: mysql i zwiększył on uprawnienia.


źródło
1

Zawsze możesz pobrać najnowszy perl z http://www.cpan.org/src/5.0/latest.tar.bz2 .

Musisz rozpakować i uruchomić Configure.

Ja osobiście wolę mieć własną instalację perla, nawet jeśli podstawowy system operacyjny zawiera wersję. Oznacza to, że moje skrypty można uaktualnić do późniejszych wersji w moim harmonogramie, a nie do opiekunów.

goryl
źródło
1
Nie jest dobrym pomysłem nadpisanie domyślnej instalacji Perla niestandardową instalacją, ponieważ aktualizacje oprogramowania i tym podobne mogą przyjmować założenia dotyczące domyślnego systemu Perl. Jeśli zamierzasz przetoczyć swój własny Perl, najlepiej zainstalować go w katalogu / usr / local lub innym miejscu poza zasięgiem. W każdym razie nadal będzie musiał naprawić swój system Perl.
Lawrence Velázquez
Nie zastąpiłbym domyślnej instalacji, miałem na myśli zainstalowanie nowej instalacji w oddzielnym katalogu.
Goryl
1
Rozumiem, ale to wciąż nie naprawia jego złamanego domyślnego Perla.
Lawrence Velázquez
Jeśli chodzi o nadpisanie domyślnego perla, zobacz stackoverflow.com/questions/1992720/…
Ether
1

może pomoże to zainstalować najnowszą aktualizację pod http://support.apple.com/kb/DL959 . Miałem ogromne problemy po pełnym przywróceniu systemu za pomocą maszyny czasu. wydaje się, że to psuje wiele rzeczy i nie mogłem już używać Quicklook oprócz innych rzeczy. po ponownej instalacji ta aktualizacja działa normalnie. przy odrobinie szczęścia perl jest w tej aktualizacji.

płetwa
źródło
Próbowałem tego i to nie zadziałało. Naprawiono jednak tajemniczą, twardą wtyczkę flash, która była zmorą youtube (i innych plików flash wideo) od aktualizacji do ulepszonej „stabilności wtyczki safari”. Ponowna instalacja rozwiązała ten problem, ale nie mój problem z uprawnieniami perldoc.
dlamblin
W rzeczywistości ta wtyczka flashowa jest stabilna i przychodzi; idzie z restartem i nie wiem jeszcze, co go powoduje.
dlamblin
Dla zainteresowanych: stabilność flash miała związek z dźwiękiem w wideo flash i niekompatybilnością w Audio Hijack Pro. Zobacz: superuser.com/questions/83315
dlamblin
0

Zainstalowany świeży CPAN na Lion.

Przed „uprawnieniami naprawczymi” Narzędzia dyskowego:

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

Działa ponownie po:

$ 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]
bbaassssiiee
źródło