Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]5417[/thread]

Neue Perlversion unter Linux installieren: wie gehe ich am besten vor?



<< |< 1 2 >| >> 16 Einträge, 2 Seiten
Crian
 2004-06-02 14:58
#48766 #48766
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Ich habe bisher eigentlich nur neue Active-State-Perl-Versionen eingespielt und unter Linux das verwendet, was bei der Distribution dabei war.

Nun würde ich aber gerne mal die aktuelle Perl-Version (8.4 ?) installieren, und dann möglichst auch eine passende aktuelle Perl/Tk-Version.

Ich habe mir das so gedacht, dass ich das neue Perl irgendwo in ein passend benanntes Verzeichnis mit klar erkennbarer Version installiere, den alten Link (oder ausführbare Datei?) unter /usr/bin umbenne und einen neuen link (oder ausführbare Datei) auf das neue perl dort unterbringe, so dass man per default die neue Perlversion verwendet, auf die andere aber noch Zugriff hat.

Fragen: Wo bekomme ich die Perl und Perl/Tk-Versionen am besten her, CPAN? www.perl.org?

Und sollte ich die Umbenennung vor dem installieren machen, damit mir das alte Perl nicht verloren geht?


Andere Frage: Ich muss unter Perl immer die Perlskripte mit perl meinskript.pl starten, ich würde gerne auf das perl vorweg verzichten können. Ich habe in der Shebang den richtigen Pfad und den Skripten mit chmod 755 auch die richtigen Rechte zum Ausführen gegeben, trotzdem wollen sie nicht ;-)
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
renee
 2004-06-02 15:15
#48767 #48767
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
dann mach mal ./skript.pl (wichtig ist das ./ )...

Hier bekommst Du Perl: http://dev.perl.org/perl5/news/2004/perl-5.8.4.html\n\n

<!--EDIT|renee|1086175025-->
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
jan
 2004-06-02 15:16
#48768 #48768
User since
2003-08-04
2536 Artikel
ModeratorIn
[Homepage] [default_avatar]
halte ich für einen guten plan, die alte version zu behalten - sollte gehen, wie du es beschreibst.
umbenennung vor dem installieren finde ich auch sinnvoll, die libs bleiben ja ohnehin unangetastet, da versionsnummer im verzeichnisnamen.
perl im src holst du dir zum beispiel von http://www.perl.com/download.csp und installierst es, die einstellungen werden während der installation vorgenommen (ansonsten readme lesen ;).

zur anderen frage: was wollen sie denn nicht / wie teilen sie dir das mit?
hast du mal zB ./script.pl statt nur script.pl versucht oder /pfad/zum/script/script.pl? mit der richtigen shebang und ausführbaren rechten sollte das gehen!
ptk
 2004-06-02 15:44
#48769 #48769
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Ich installiere ein neues Perl immer in ein eigenes Verzeichnis. Beim Konfigurieren von perl verwende ich:
Code: (dl )
sh configure.gnu --prefix=/usr/perl5.8.4

Falls ich noch eine Debugging- oder Threads-Version baue, kommen diese nach /usr/perl5.8.4d bzw. /usr/perl5.8.4t. Um die neue Version zu verwenden, muss ich entweder haendisch #!/usr/perl5.8.4/bin/perl in die Skripte eintragen, oder /usr/perl5.8.4/bin in meinen PATH vorne unterbringen und #!/usr/bin/env perl in die Skripte eintragen, oder Symlinks von /usr/bin/perl nach /usr/perl5.8.4/bin/perl etc. erzeugen.

Um die gleichen CPAN-Module wie bei der alten Perl-Version zu installieren, kann man die "autobundle"-Funktion von CPAN.pm verwenden. Leider funktioniert das automatische Upgrade damit nicht so gut, weil viele Tests nicht ohne "force" durchlaufen (z.B. DBD::mysql).
Crian
 2004-06-02 17:23
#48770 #48770
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Kann sein, dass ich nicht auf ./ davor gekommen bin, weiß nicht mehr genau und kann es jetzt gerade nicht testen :-(

Aber dann pack ich mal lieber ein export $PATH=$PATH:. in die .bashrc ... ich bins von früher so gewohnt, dass ich als User das aktuelle Verzeichnis ganz hinten im Pfad hab (als root natürlich nicht).

Ich hatte schon gehofft, dass die Verzeichnisse mit dem eigentlichen Perl die Nummern beinhalten. /usr/bin/perl ist doch wahrscheinlich ein Link, oder? (Wieso muss ich hier an Windows arbeiten? ...^^...)
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
ptk
 2004-06-02 17:27
#48771 #48771
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Meistens ist /usr/bin/perl ein Hardlink auf /usr/bin/perl$perlversion.
Strat
 2004-06-05 03:52
#48772 #48772
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
bei Unix/Linux habe ich die erfahrung gemacht, dass es oft nicht gut ist, wenn man das installierte perl updated, weil da i.d.R. viele Betriebssystemscripte davon abhaengen, und dann ueberpruefen, ob nachher noch alles reibungslos funktioniert, ist meistens recht aufwendig...
Stattdessen installiere ich gerne eine Perl-Version parallel dazu (z.B. nach /opt/perl5.8.4/ oder /usr/local/perl oder so und achte dabei, dass der link /usr/bin/perl nicht ueberschrieben wird, damit das alte noch alles funktioniert). in /usr/bin/ setze ich nur einen Link, der z.B. perl5.8.3 oder so heisst, und auf die ich nur einen Link /usr/bin/perl5.8.3 oder so setze, damit ich als shebang /usr/bin/perl5.8.3 verwenden kann. wenn dieses Perl nur von einem (oder mehreren) usern verwendet werden soll, dann kann man /opt/perl/bin auch in PATH vor /usr/bin stellen (muss man nur bei cronjobs aufpassen, dass der gesetzt ist) und dann als shebang einfach !# perl zu verwenden...
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Crian
 2004-06-06 06:35
#48773 #48773
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Gute Idee, oder man macht sich einen Link in ~/bin, der gilt dann nur für den User, und zumindestens bei mir ist ~/bin vor /usr/bin/ im Pfad.

Ich hab jetzt unter SuSE 9.0 Perl 5.8.1 und 5.8.4 und unter SuSE 9.1 (das ich mir gekauft habe) Perl 5.8.3. Dort werde ich auch noch die 5.8.4er Version nachziehen.

(Ich hab jetzt 4 Betriebssyteme auf dem Rechner, neben den beiden Linuxen noch Windows 98SE und XP home für Spielkram... Ich hoffe der Trend von Unreal Tournament 2004 (kann man einfach sowohl unter Linux als auch unter Windows installieren aus der gleichen Packung heraus) setzt sich fort. (Da warte ich aber noch, dass es deutlich billiger als 44 Euro wird...)
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
jan
 2004-06-06 11:39
#48774 #48774
User since
2003-08-04
2536 Artikel
ModeratorIn
[Homepage] [default_avatar]
so aus reinem interesse: warum lässt du suse 9.0 und 9.1 parallel laufen? gibt's da massive unterschiede oder planst du längerfristig einen umstieg?
[E|B]
 2004-06-06 16:24
#48775 #48775
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Es gibt schon ein paar Neuerungen.
Die neue KDE Version ist u.a. implementiert, die einige Bugs der Vorgängerversion behebt. Neue Treiber und viele Packages sind auf der CD enthalten.
Was mich etwas wundert ist, dass man ab 9.1 seine Geräte nicht mehr mounten muss. Das geschieht jetzt alles automatisch. mount wird also überflüssig. Ob das ein Vorteil ist, weiß ich nicht.
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
<< |< 1 2 >| >> 16 Einträge, 2 Seiten



View all threads created 2004-06-02 14:58.