Thread Module installieren auf Rechner ohne Internet (2 answers)
Opened by maral at 2012-12-13 17:40

maral
 2012-12-13 17:40
#164206 #164206
User since
2011-12-03
12 Artikel
BenutzerIn
[default_avatar]
Ich hab hier einen Linux-Rechner, der nur eingeschränkt über das Netzwerk nach außen surfen darf. Netzwerkadmin lässt nicht alle Webseiten zu. Auf dem Rechner läuft MySQL und ich möchte auf diesem Rechner mit perl + DBI auf die Datenbank zugreifen.

Nun hab ich mir eure Wiki-Seite dazu durchgelesen. Über einen zweiten Rechner hab ich mir von CPAN die Module
* DBI-1.622.tar.gz
* ExtUtils::MakeMaker
* Test::Simple
* DBD-mysql
geholt und auf den Rechner ohne Internet rüberkopiert. Installation funktionierte glatt bei den ersten 3 Modulen.

1. Frage:

Wie kann ich sehen, welche Module ich alles brauche um das DBI-Modul zum laufen zu bekommen? Erst beim Befehl perl Makefile.PL krieg ich ja die Info das irgendein anderes Modul noch fehlt. Und dann muss ich erneut suchen gehen und rüberkopieren. Bei Befehlen wie sudo apt-get install libcurses-perl  werden ja so schön die Abhängigkeiten aufgelöst, aber da brauch ich ja Netzzugriff. Gibt es da einen einfacheren Weg, wenn der Rechner kein Internet hat?

2. Frage:

Nachdem ich die ersten 3 Module installiert hatte, starte ich mein einfaches perl-skript für Zugriff auf MySQL und bekomme eine Fehlermeldung

Code (perl): (dl )
1
2
3
my $dbh = DBI->connect( 'dbi:mysql:information_schema',
                        'root',
                        'password',)


bekomme ich folgende Fehler:
Code: (dl )
1
2
3
install_driver(mysql) failed: Can't locate DBD/mysql.pm ...
Perhaps the DBD::mysql perl module hasn't been fully installed
DBD-mysql


Also hab ich noch das Modul DBD-mysql geholt, das krieg ich aber nicht installiert.

1. Versuch
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
[root@lehrpc DBD-mysql-4.022]# perl Makefile.PL
Can't exec "mysql_config": No such file or directory at Makefile.PL line 83.

Cannot find the file 'mysql_config'! Your execution PATH doesn't seem
not contain the path to mysql_config. Resorting to guessed values!
Can't exec "mysql_config": No such file or directory at Makefile.PL line 479.
Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
Can't exec "mysql_config": No such file or directory at Makefile.PL line 479.
Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
Can't exec "mysql_config": No such file or directory at Makefile.PL line 479.
Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located


PLEASE NOTE:

For 'make test' to run properly, you must ensure that the
database user 'root' can connect to your MySQL server
and has the proper privileges that these tests require such
as 'drop table', 'create table', 'drop procedure', 'create procedure'
as well as others.

mysql> grant all privileges on test.* to 'root'@'localhost' identified by 's3kr1t';

You can also optionally set the user to run 'make test' with:

perl Makefile.PL --testuser=username

Can't exec "mysql_config": No such file or directory at Makefile.PL line 479.
Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
Can't exec "mysql_config": No such file or directory at Makefile.PL line 479.
Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
Can't exec "mysql_config": No such file or directory at Makefile.PL line 479.
Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
Failed to determine directory of mysql.h. Use

perl Makefile.PL --cflags=-I<dir>

to set this directory. For details see the INSTALL.html file,
section "C Compiler flags" or type

perl Makefile.PL --help



2. Versuch

perl Makefile.PL --testuser=root --testpassword=geheim --mysql_config=/etc/my.cnf

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@lehrpc DBD-mysql-4.022]# perl Makefile.PL --testuser=root --testpassword=geheim --mysql_config=/etc/my.cnf
Can't exec "/etc/my.cnf": Permission denied at Makefile.PL line 479.
Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
Can't exec "/etc/my.cnf": Permission denied at Makefile.PL line 479.
Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
Can't exec "/etc/my.cnf": Permission denied at Makefile.PL line 479.
Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
Can't exec "/etc/my.cnf": Permission denied at Makefile.PL line 479.
Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
Failed to determine directory of mysql.h. Use

perl Makefile.PL --cflags=-I<dir>

to set this directory. For details see the INSTALL.html file,
section "C Compiler flags" or type

perl Makefile.PL --help


Hmm, nun weiß ich nicht mehr weiter. Ich arbeite als root und bin Eigentümer der Datei /etc/my.cnf. Außerdem was soll man bei cflags angeben?

Hoffe, jemand von euch kann mir da weiterhelfen. Danke im Voraus.

View full thread Module installieren auf Rechner ohne Internet