Perl Modul installieren LWP::UserAgent

  • Nach dieser Anleitung habe ich Perl 5.8.8 installiert.


    Mein Perlscript ruft täglich einmal Daten von Webseiten (http) ab und bildet aus diesen Daten wieder eigene Webseiten (Statistik). Unter Windows hat das bisher auch prima geklappt. Für meinen Qnap TS 409Pro musste ich die Files noch für Linux anpassen (dos2unix), das auch geklappt hat.


    Wenn ich jetzt meine Datei mit ./Fetch-Data.pl starte - später soll das der Cronjob erledigen - erhalte ich folgende Meldung:


    In Zeile 7 der Fetch-Data.pl steht: use LWP::UserAgent;


    Also fehlt mir das Modul LWP UserAgent. Ich habe es auch schon heruntergeladen und versucht zu installieren: libwww-perl-5.812.tar.gz


    Manuell klappt das irgendwie gar nicht. Das kann natürlich an mangelnder Kenntnis liegen...wo...was...wie...zu entpacken, zu kopieren oder zu installieren ist.


    Eigentlich sollte die Installation auch online möglich sein. Das klappt leider auch nicht. Habe es eben noch mit diesem Befehl versucht:

    Code
    perl -MCPAN -e "install Bundle::LWP"


    Die ellenlange Anwort auf diesen Befehl möchte ich euch nicht vorenthalten. Vielleicht sieht ja jemand die Ursache des Problems:


  • Das Problem ist gelöst. Es lag an gzip.


    Dies hatte wohl nicht die benötigten Funktionen. Deshalb habe ich ipkg installiert und damit ein vollständiges gzip heruntergeladen und auf dem TS-409Pro installiert. Allerdings musste der Pfad in der Konfiguration von CPAN (o conf init) für gzip noch angepasst werden. Den Pfad habe ich von /bin/gzip auf /opt/bin/gzip geändert.


    Nun habe ich aber das die Meldung
    No space left on device at /mnt/HDA_ROOT/perl/lib/5.8.8/CPAN.pm
    bei der Installation von UserAgent.


    Einmal editiert, zuletzt von tyco ()

  • Zitat

    Nun habe ich aber das die Meldung
    No space left on device at /mnt/HDA_ROOT/perl/lib/5.8.8/CPAN.pm
    bei der Installation von UserAgent.


    Scheint so, als würde die Partition "/mnt/HDA_ROOT" (/dev/sda1) voll sein.
    Verschiebe den Ordner perl nach "/share/HDA_DATA/perl" und erstelle in "/mnt/HDA_ROOT" einen Link mit
    ln -s /share/HDA_DATA/perl /mnt/HDA_ROOT/perl

  • So sehen meine Partitionen aus:


    Code
    [~] # dfFilesystem                Size      Used Available Use% Mounted on/dev/ram0                 9.7M      9.7M      1.0k 100% /tmpfs                    16.0M     60.0k     15.9M   0% /tmp/dev/sda4                62.0M     44.1M     17.9M  71% /mnt/ext/dev/md9                509.5M    136.2M    373.2M  27% /mnt/HDA_ROOT/dev/md0                457.4G    117.7G    339.7G  26% /share/MD0_DATAtmpfs                    32.0M         0     32.0M   0% /.eaccelerator.tmp/dev/ram0                 9.7M      9.7M      1.0k 100% /mnt/HDA_ROOT/rootfs_2_3_6/bin/dev/ram0                 9.7M      9.7M      1.0k 100% /mnt/HDA_ROOT/rootfs_2_3_6/dev/dev/md9                509.5M    136.2M    373.2M  27% /mnt/HDA_ROOT/rootfs_2_3_6/etc/config/dev/md0                457.4G    117.7G    339.7G  26% /mnt/HDA_ROOT/rootfs_2_3_6/share/Qdownloadtmpfs                    16.0M     60.0k     15.9M   0% /mnt/HDA_ROOT/rootfs_2_3_6/tmp/dev/ram0                 9.7M      9.7M      1.0k 100% /share/MD0_DATA/optware/dev/dev/md0                457.4G    117.7G    339.7G  26% /share/MD0_DATA/optware/mnt/ext/Qmultimedia/dev/md0                457.4G    117.7G    339.7G  26% /share/MD0_DATA/optware/mnt/ext/Qdownload/dev/md0                457.4G    117.7G    339.7G  26% /share/MD0_DATA/optware/mnt/ext/Qweb/dev/md0                457.4G    117.7G    339.7G  26% /share/MD0_DATA/optware/mnt/ext/Qusb/dev/md0                457.4G    117.7G    339.7G  26% /share/MD0_DATA/optware/mnt/ext/Public


    Reicht das nicht aus?


    btw. Auf /share/HDA_DATA/ ist auch kein Platz mehr. Das kann doch nicht sein.


    Code
    [/mnt/HDA_ROOT] # mv /mnt/HDA_ROOT/perl /share/HDA_DATA/
    mv: cannot create directory `/share/HDA_DATA/perl': No space left on device
  • Zitat

    /dev/md0 457.4G 117.7G 339.7G 26% /share/MD0_DATA


    Ok, mein Fehler, bei dir muß es /share/MD0_DATA" heißen, da du bei deinem TS-209 die beiden Platten im Raid-1 betreibst.
    Ich hätte vorher nachfragen sollen.

  • Seltsam...sollten da nicht noch 340 GB frei sein?

    Code
    # mv /mnt/HDA_ROOT/perl /share/MDO_DATA/
    mv: cannot create directory `/share/MDO_DATA/perl': No space left on device
  • Hast du ein O "ohhhh" oder eine 0 "Null" geschrieben ?



    Ansonsten versuch mal, vorher in den Ordner "/mnt/HDA_ROOT" zuwechseln und von dort aus den Ordner "perl" zu verschieben:


    Code
    cd /mnt/HDA_ROOT
    mv perl /share/MDO_DATA/perl


    Ansonsten kann ich mir die Fehlermeldung nicht erklären, da wie angezeigt noch Platz auf "MD0_DATA" ist.

  • Zitat von "Eraser-EMC2-"

    Hast du ein O "ohhhh" oder eine 0 "Null" geschrieben ?


    Das O war schon ein "ohhhh"


    Über den anderen Weg klappt es auch nicht.


    Code
    # cd /mnt/HDA_ROOT/
    [/mnt/HDA_ROOT] # mv perl /share/MDO_DATA/perl
    mv: cannot create directory `/share/MDO_DATA/perl': No space left on device
  • Ich habe den TS-409 komplett neu reinitialisiert. Am Ergebnis hat sich nichts geändert.


    Dies sind die letzten Fehlermeldungen des Systems:


    Code
    /bin/tar: Compress-Zlib-2.011/t/Test/More.pm: Cannot write: No space left on deviceCompress-Zlib-2.011/t/Test/Simple.pm/bin/tar: Compress-Zlib-2.011/t/Test/Simple.pm: Cannot write: No space left on deviceCompress-Zlib-2.011/t/Test/Builder.pm/bin/tar: Compress-Zlib-2.011/t/Test/Builder.pm: Cannot write: No space left on deviceCompress-Zlib-2.011/t/06gzsetp.t/bin/tar: Compress-Zlib-2.011/t/06gzsetp.t: Cannot write: No space left on deviceCompress-Zlib-2.011/t/08encoding.t/bin/tar: Compress-Zlib-2.011/t/08encoding.t: Cannot write: No space left on deviceCompress-Zlib-2.011/t/99pod.tCompress-Zlib-2.011/t/01version.t/bin/tar: Compress-Zlib-2.011/t/01version.t: Cannot write: No space left on deviceCompress-Zlib-2.011/t/14gzopen.t/bin/tar: Compress-Zlib-2.011/t/14gzopen.t: Cannot write: No space left on deviceCompress-Zlib-2.011/t/compress//bin/tar: Compress-Zlib-2.011/t/compress: Cannot mkdir: No space left on deviceCompress-Zlib-2.011/t/compress/CompTestUtils.pm/bin/tar: Compress-Zlib-2.011/t/compress/CompTestUtils.pm: Cannot open: No such file or directoryCompress-Zlib-2.011/t/05examples.t/bin/tar: Compress-Zlib-2.011/t/05examples.t: Cannot write: No space left on deviceCompress-Zlib-2.011/lib//bin/tar: Compress-Zlib-2.011/lib: Cannot mkdir: No space left on deviceCompress-Zlib-2.011/lib/Compress//bin/tar: Compress-Zlib-2.011/lib/Compress: Cannot mkdir: No such file or directoryCompress-Zlib-2.011/lib/Compress/Zlib.pm/bin/tar: Compress-Zlib-2.011/lib/Compress/Zlib.pm: Cannot open: No such file or directoryCompress-Zlib-2.011/Changes/bin/tar: Compress-Zlib-2.011/Changes: Cannot write: No space left on deviceCompress-Zlib-2.011/MANIFEST/bin/tar: Compress-Zlib-2.011/MANIFEST: Cannot write: No space left on deviceCompress-Zlib-2.011/private//bin/tar: Compress-Zlib-2.011/private: Cannot mkdir: No space left on deviceCompress-Zlib-2.011/private/MakeUtil.pm/bin/tar: Compress-Zlib-2.011/private/MakeUtil.pm: Cannot open: No such file or directoryCompress-Zlib-2.011/META.yml/bin/tar: Compress-Zlib-2.011/META.yml: Cannot write: No space left on deviceCompress-Zlib-2.011/pod//bin/tar: Compress-Zlib-2.011/pod: Cannot mkdir: No space left on deviceCompress-Zlib-2.011/pod/FAQ.pod/bin/tar: Compress-Zlib-2.011/pod/FAQ.pod: Cannot open: No such file or directoryCompress-Zlib-2.011/README/bin/tar: Compress-Zlib-2.011/README: Cannot write: No space left on deviceCompress-Zlib-2.011/Makefile.PL/bin/tar: Compress-Zlib-2.011/Makefile.PL: Cannot write: No space left on device/bin/tar: Error exit delayed from previous errorsgzip: stdout: No space left on deviceCouldn't uncompress /root/.cpan/sources/authors/id/P/PM/PMQS/Compress-Zlib-2.011.tar.gzcpan>


    Mir ist aufgefallen, dass /dev/ram0 zu 100 % voll ist. Da müsste doch die Ursache liegen?


  • Zitat

    Mir ist aufgefallen, dass /dev/ram0 zu 100 % voll ist. Da müsste doch die Ursache liegen?


    Oh, du hast absolut recht, da habe ich mich gestern irritieren lassen.


    Da kann ich dir leider nicht weiterhelfen, da unter /dev/ram System-Dateien liegen.
    Dort eine falsche Datei löschen, kann tödlich sein.

  • Zitat von "Eraser-EMC2-"


    Da kann ich dir leider nicht weiterhelfen, da unter /dev/ram System-Dateien liegen.
    Dort eine falsche Datei löschen, kann tödlich sein.


    RAM (Random Access Memory) ist flüchtiger Speicher (doch noch was vom Studium behalten :D ). Da kann man nichts kaputtmachen, denke ich.


    Mit Symlink könnte ich das doch irgendwie auslagern. Wie lagere ich aber eine Partition aus oder welches Verzeichnis bzw. welche Datei?

  • Zitat

    Da kann man nichts kaputtmachen, denke ich.


    Schon, eigentlich sollte im Ernstfall ein Neustart ausreichen.
    Bei fremden Systemen ziehe ich dann doch lieber die Notbremse, wenn ich mir nicht mehr sicher bin.
    Sollte wirklich etwas schief gehen, ist eine Fehlerdiagnose über ein Forum sehr Zeitintensiv.

  • Zitat von "Eraser-EMC2-"


    Schon, eigentlich sollte im Ernstfall ein Neustart ausreichen.


    Klar! Nach einem Neustart ist /dev/ram0 leer.


    Ich habe es jetzt ganz anders gelöst.


    Die Konfiguration von CPAN aufgerufen (o conf init) und folgendes geändert:


    CPAN build und cache directory?


    von /root/.cpan auf /mnt/HDA_ROOT/cpan_dir geändert.


    Nun geht es. Zumindest ist der Fehler "No space on device" weg.


    Die Installation des UserAgent klappte auch. Wenn auch nur über die harte Methode:


    force install LPW::UserAgent


    Ich kämpfe noch mit einigen Problemen. Die können aber auch vom Script herrühren.

  • Zitat von "Eraser-EMC2-"

    Oh, du hast absolut recht, da habe ich mich gestern irritieren lassen.


    Da kann ich dir leider nicht weiterhelfen, da unter /dev/ram System-Dateien liegen.
    Dort eine falsche Datei löschen, kann tödlich sein.


    Ist das Thema noch aktuell?
    Ich habe diesen Fehler abgestellt, indem ich 'keep_source_where /share/MD0_DATA/cpan/sources' geändert habe.


    Aber das nächste Problem läßt ja bekanntlich nicht lange auf sich warten. :x


    Was will mir die Meldung sagen?

  • Du musst das perl in einer chroot Umgebung laufen lassen.


    Code
    chroot /share/MD0_DATA/optware


    Wenn du dies gemacht hast, dann gibt es in dieser session auch ein /opt/bin/make


    Solltest du dann perl scripte verwenden. dann bitte immer mit

    Code
    chroot /share/MD0_DATA/optware /opt/bin/perl perlscript
  • Zitat von "tyco"

    ....... Allerdings musste der Pfad in der Konfiguration von CPAN (o conf init) für gzip noch angepasst werden. Den Pfad habe ich von /bin/gzip auf /opt/bin/gzip geändert.[/code]


    Hi, wie geht dass, ich hab einiges ausprobiert, aber mit "oconf init" bin ich nicht richtig weitergekommen. Ist das ein Befehl des cpan?


    im Nachbarforum habe ich dies entdeckt, aber es hat mich noch nicht weitergebracht:

    Zitat von "tyco"


    configure CPAN: o conf init


    ..and changing the path of "Where is your gzip?" from /bin/gzip/ to /opt/bin/gzip. So gzip works fine now.[/code]


    wo muss ich was eingeben?

  • Zitat von "hottube"


    Hi, wie geht dass, ich hab einiges ausprobiert, aber mit "oconf init" bin ich nicht richtig weitergekommen. Ist das ein Befehl des cpan?


    An dem Projekt arbeite ich momentan nicht mehr. Soweit ich mich entsinne ist dies ein Befehl von CPAN.


    Allerdings fehlt bei dir ein Leerzeichen zwischen dem o und conf: Somit lautet der Befehl:o conf init