Używam CentOS 7 i konfiguruję nowy serwer.Zainstalowane moduły CPAN w trudnej lokalizacji
Podczas logowania jako root, zainstalowałem wiele modułów perla przez CPAN. Niestety, wydaje się, że zainstalowano je w katalogu domowym root'a. Nie zauważyłem tego momentu zostały zainstalowane wszystkie moduły, ale większość z nich ma miejsca jak to teraz:
/root/perl5/lib/perl5/5.16.3/x86_64-linux-thread-multi
/root/perl5/lib/perl5/5.16.3
/root/perl5/lib/perl5/x86_64-linux-thread-multi
/root/perl5/lib/perl5 /usr/local/lib64/perl5
Oznacza to, że dla użytkowników innych niż root, moduły te zasadniczo nie istnieją, jak uprawnienia zablokuj je z tego katalogu.
Wiem, że mogę rozwiązać ten problem, dając wszystkim użytkownikom prawo odczytu/root, ale wolałbym nie.
Więc mam kilka konkretnych pytań zadać:
- Co zrobiłem źle? Czy pominąłem opcję w CPAN przy pierwszym uruchomieniu ? (Konfiguracja CPAN jest wklejona poniżej)
- Jaki jest najlepszy sposób, aby to wyczyścić? Zakładam, że muszę odinstalować moduły, zmienić konfigurację, a następnie zainstalować je ponownie? Dozwolona jest doświadczona rada.
- Jaki jest idealny ogólny katalog instalacyjny dla CentOS 7? Gdzie chcę je przenieść? Zakładam, że CPAN ustawi je w idealnej domyślnej lokalizacji .
Wszystkie rady zostały przyjęte z wdzięcznością.
cat MyConfig.pm
$CPAN::Config = {
'applypatch' => q[],
'auto_commit' => q[1],
'build_cache' => q[100],
'build_dir' => q[/root/.cpan/build],
'build_dir_reuse' => q[0],
'build_requires_install_policy' => q[yes],
'bzip2' => q[],
'cache_metadata' => q[1],
'check_sigs' => q[0],
'colorize_output' => q[0],
'commandnumber_in_prompt' => q[1],
'connect_to_internet_ok' => q[1],
'cpan_home' => q[/root/.cpan],
'ftp_passive' => q[1],
'ftp_proxy' => q[],
'getcwd' => q[cwd],
'gpg' => q[/bin/gpg],
'gzip' => q[/bin/gzip],
'halt_on_failure' => q[0],
'histfile' => q[/root/.cpan/histfile],
'histsize' => q[100],
'http_proxy' => q[],
'inactivity_timeout' => q[0],
'index_expire' => q[1],
'inhibit_startup_message' => q[0],
'keep_source_where' => q[/root/.cpan/sources],
'load_module_verbosity' => q[none],
'make' => q[/bin/make],
'make_arg' => q[],
'make_install_arg' => q[],
'make_install_make_command' => q[/bin/make],
'makepl_arg' => q[],
'mbuild_arg' => q[],
'mbuild_install_arg' => q[],
'mbuild_install_build_command' => q[./Build],
'mbuildpl_arg' => q[],
'no_proxy' => q[],
'pager' => q[/bin/less],
'patch' => q[/bin/patch],
'perl5lib_verbosity' => q[none],
'prefer_external_tar' => q[1],
'prefer_installer' => q[MB],
'prefs_dir' => q[/root/.cpan/prefs],
'prerequisites_policy' => q[follow],
'scan_cache' => q[atstart],
'shell' => q[/bin/bash],
'show_unparsable_versions' => q[0],
'show_upload_date' => q[0],
'show_zero_versions' => q[0],
'tar' => q[/bin/tar],
'tar_verbosity' => q[none],
'term_is_latin' => q[1],
'term_ornaments' => q[1],
'test_report' => q[0],
'trust_test_report_history' => q[0],
'unzip' => q[],
'urllist' => [q[http://mirror.sov.uk.goscomb.net/CPAN/], q[http://ww
+w.mirrorservice.org/sites/cpan.perl.org/CPAN/], q[http://cpan.mirrors
+.ovh.net/ftp.cpan.org/]],
'use_sqlite' => q[0],
'version_timeout' => q[15],
'wget' => q[/bin/wget],
'yaml_load_code' => q[0],
'yaml_module' => q[YAML],
};
1;
__END__
Zgaduję, że jest to ten sam problem, co opisano w [Zainstalowałem moduł pomyślnie z CPAN, ale Perl nie może go znaleźć. Dlaczego?] (Http://stackoverflow.com/q/32726324/176646) – ThisSuitIsBlackNot
Mogę odpowiedzieć na twoje drugie i trzecie pytanie w ten sposób: [perlbrew] (http://perlbrew.pl/). –
Jeśli używasz systemu Perl, to czy próbowałeś zainstalować moduły używając 'yum'? –