[ Skip to the content ]

Institute of Formal and Applied Linguistics Wiki


[ Back to the navigation ]

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
user:zeman:tahak [2007/10/16 22:15]
zeman Proxy pro články přístupné jen přes univerzitu.
user:zeman:tahak [2009/11/12 13:33]
zeman Zkratka.
Line 28: Line 28:
 <code>ssh -4 -L 8080:127.0.0.1:8080 stroj /home/pajas/pbin/ht2_proxy.pl 8080</code> <code>ssh -4 -L 8080:127.0.0.1:8080 stroj /home/pajas/pbin/ht2_proxy.pl 8080</code>
  
 +====== CPAN ======
 +
 +Jestliže potřebuju nějaký modul z&nbsp;CPANu, který dosud není na ÚFALu dostupný, můžu ho stáhnout a nainstalovat pomocí modulu ''CPAN.pm''. Pochopitelně ho nemůžu nainstalovat do systémových adresářů, kam má přístup pouze root. Jedna alternativa je udržovat si svou vlastní sbírku modulů ve svém homu, např. ''${HOME}/perl''. Druhá alternativa je společný repozitář perlových modulů v&nbsp;''/net/work/projects/perl_repo'', kam zřejmě mají právo zápisu všichni členové skupiny ''ufal''.
 +
 +Ať už nainstaluju nový modul k&nbsp;sobě nebo do společného repozitáře, musím taky Perlu říct, že je tam má hledat. Navíc nestačí Perl nasměrovat na kořen repozitáře. Moduly jsou zkompilované, takže je potřeba, aby si sáhl do podadresáře pro architekturu, na které běží. Pro společný repozitář se to udělá tak, že zavolám (ze svého ''.cshrc'') Petrův konfigurační skript:
 +
 +<code>eval `/home/pajas/bin/setup_platform csh`</code>
 +
 +V&nbsp;proměnných prostředí ''PERLLIB'' a ''PERL5LIB'' se mi pak objeví např. následující položky:
 +
 +  * ''/ha/work/projects/perl_repo/lenny/sid/i686/lib/perl/5.8''
 +  * ''/ha/work/projects/perl_repo/lenny/sid/i686/share/perl/5.8''
 +  * ''/ha/work/projects/perl_repo/lenny/sid/i686/lib/perl/5.8.8''
 +  * ''/ha/work/projects/perl_repo/lenny/sid/i686/share/perl/5.8.8''
 +
 +Jestliže jsem modul nainstaloval k&nbsp;sobě, musím do ''PERL5LIB'' dostat něco podobného:
 +
 +  * ''/home/zeman/perl/lib/perl/5.8.8''
 +  * ''/home/zeman/perl/share/perl/5.8.8''
 +
 +(Zde nemám knihovny rozdělené pro jednotlivé architektury, např. ''i686'' a ''x86_64'', ale snad by to šlo nastavit v&nbsp;konfiguraci.)
 +
 +Modul ''CPAN.pm'' je už součástí zmíněného společného repozitáře, takže můžu na ÚFALu rovnou zavolat
 +
 +<code>perl -MCPAN -e shell
 +install File::NFSLock</code>
 +
 +nebo dokonce rovnou
 +
 +<code>perl -MCPAN -e 'install File::NFSLock'</code>
 +
 +kde ''File::NFSLock'' je název chybějícího modulu, který chci doinstalovat. Otázka je, jak je ''CPAN.pm'' nakonfigurován a kam vlastně bude nový modul instalovat. ''CPAN.pm'' si čte svou konfiguraci ze souboru
 +
 +<code>/net/work/projects/perl_repo/lenny/sid/i686/share/perl/5.8/CPAN/Config.pm</code>
 +
 +Do tohoto souboru mají členové skupiny ''ufal'' právo zápisu, takže když kdokoli z&nbsp;nás v&nbsp;cpaním shellu změní konfiguraci (např. úvodním ''o conf init'', nebo commitne libovolné změny, které během session udělal), projeví se to v&nbsp;tomto souboru pro ostatní. Proto je záhodno si vytvořit svůj vlastní konfigurační modul ''${HOME}/.cpan/CPAN/MyConfig.pm'', který má podle návodu přednost. I kdyby v&nbsp;něm zase bylo napsáno, že chci vše instalovat do společného repozitáře (ne že bych teď věděl, jak se to nakonfiguruje).
 +
 +Návod k&nbsp;modulu ''CPAN.pm'' je například [[http://theoryx5.uwinnipeg.ca/CPAN/perl/lib/CPAN.html|zde]].

[ Back to the navigation ] [ Back to the content ]