Linux installer findet kein md5sum

cabriofahrer

Well-Known Member
Wollte einfach mal diesen Linux-Installer ausprobieren, doch:

root@amd64:/home/werner/temp/Unreal # sh unreali-install.run
Verifying archive integrity...-p: not found
md5sum: not found
-p: not found
An embedded MD5 sum of the archive exists but no md5sum program was found in /sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin
If you have md5sum on your system, you should try :
env GUESS_MD5_PATH="FirstDirectory:SecondDirectory:..." unreali-install.run -check
All good.
Uncompressing UnrealI for Linux........................................................
The program returned an error code (1)
root@amd64:/home/werner/temp/Unreal #

Was kann ich hier machen? Habe gelesen, das Programm heißt bei FreeBSD anders md5 oder so ähnlich, doch wie bringe ich den Linux-Installer zum Funktionieren?
 
wenn das etwas in Linux installieren soll, also unter dem "FreeBSD-Linux", dann musst du dorthin gehen. Also chroot dorthin, deinen installer dorthin mitnehmen und dort aufrufen. Dann kannst du hoffen, dass dort md5sum in einem gültigen Pfad liegt. Das will ich aber nun nicht nachsehen, weil mir auch nicht ganz klar ist, was du willst.
 
md5sum: not found

md5sum ist in den sysutils/coreutils enthalten:
https://www.freshports.org/sysutils/coreutils/

FreeBSD hat sein eigenes Werkzeug für md5, es heißt schlichtweg md5,
es gehört zum FreeBSD Basissystem:
Code:
which md5

/sbin/md5
md5sum gibt aber auch anders formatiert die Checksummen aus als md5. Quasi rückwärts. Per default ist beispielsweise der Dateinamen bei md5 Nutzung vorne. Bei md5sum Nutzung ist der Dateiname per default hinten.
In der Manpage zu md5 steht drin, wie sich das Ausgabeformat umdrehen lässt.
http://www.freebsd.org/cgi/man.cgi?query=md5
 
Was ich wollte: Das gute alte Unreal als Linux-Version zocken, wie hier beschrieben:

http://icculus.org/~chunky/ut/unreal/

Letztendlich ist es aber doch nicht nötig, da man es mit dem neuesten 227-Patch auch mit OpenGL unter wine spielen kann und von daher mit guter Qualität. Um aber trotzdem nochmal dankend auf Eure Hilfe einzugehen:

So wie ich das sehe, gibt der Installer nur die Möglichkeit, einen dem Installer unbekannten Pfad für md5sum mitzuteilen, nicht aber, dass md5sum auch anders heißen könnte, wie hier eben md5.

Coreutils ist ein guter Tip, allerdings heißen laut der Beschreibung des Ports die Utilities dann mit einem "g" davor, womit man wieder bei Problem 1 ist: Man kann dem Installer einen Pfad, aber keinen anderen Namen mitteilen.

Der Interesse halber gefragt: Ginge da villeicht was mit "alias"? Also mitteilen, dass md5sum gmd5sum heißen soll? Kenne mich nicht damit aus...

Gut auch der Tip von pit123a: Das hat tatsächlich geklappt mit folgendem Resultat:

Code:
root@amd64:/usr/home/werner # chroot /compat/linux /bin/bash
bash-4.1# bash --version
GNU bash, version 4.1.2(1)-release (i386-redhat-linux-gnu)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
bash-4.1# pwd
/
bash-4.1# ls
bin  etc  lib  mnt  opt  proc  sbin  selinux  share  srv  sys  temp  usr  var
bash-4.1# cd temp/
bash-4.1# ls
unreali-install.run
bash-4.1# sh unreali-install.run
unreali-install.run: line 14: /dev/null: No such file or directory
mkdir: cannot create directory `/tmp/selfgz1691': No such file or directory
Cannot create target directory /tmp/selfgz1691
You should perhaps try option -target OtherDirectory
bash-4.1# cd ..
bash-4.1# ls
bin  etc  lib  mnt  opt  proc  sbin  selinux  share  srv  sys  temp  usr  var
bash-4.1# mkdir tmp
bash-4.1# ls
bin  etc  lib  mnt  opt  proc  sbin  selinux  share  srv  sys  temp  tmp  usr  var
bash-4.1# sh unreali-install.run
sh: unreali-install.run: No such file or directory
bash-4.1# cd temp/
bash-4.1# ls
unreali-install.run
bash-4.1# sh unreali-install.run
unreali-install.run: line 14: /dev/null: No such file or directory
Verifying archive integrity...
tail: cannot open `+266' for reading: No such file or directory
Error in checksums: 1613349388 is different from 1335289972
bash-4.1#

Hier musste ich also dann /tmp noch erstellen, doch dann fand er etwas anderes wieder nicht und letztendlich schien die Checksum auch falsch zu sein. Außerdem ergab ein nochmaliges Lesen der Readme-Datei, dass es sich nur um einen Installer für eine bereits vorhandene Linux-UT Installation handelt. Na toll. Die Prozedur tue ich mir jetzt nicht mehr an, wenn es unter wine nun mit OpenGL auch geht...
 
Vielen Dank, klingt gut, obwohl ich wie gesagt das Spiel mit wine zocken kann. Trotzdem ein wertvoller Hinweis für die Zukunft, wenn mir der nächste Linux-Installer in die Finger kommt...^^
Aber hier ein anderes Problem: Der 227 Patch, obwohl dieser sich nur mit Windows oder wine installieren läßt, bringt Linux-Dateien mit, mit denen das Spiel auch unter Linux ausführbar sein soll. Wenn ich aber

$ sh UnrealLinux.bin
UnrealLinux.bin: 1: Syntax error: "(" unexpected

Ich nehme an, dass könnte dieses Problem sein, dass Linux-Programme immer bash voraussetzen, wir aber sh haben? Wie löst man das?
 
Du mußt UnrealLinux.bin ausführbar machen und dann direkt starten.
Code:
chmod +x UnrealLinux.bin
./UnrealLinux.bin

edit: linux-c6-sdl muß auch installiert sein.
 
Wird wohl nix :(

Code:
[sterum@saturn /opt/Unreal/System] % ./UnrealLinux.bin
Processors / Cores 8
Forcing CPU affinity disabled.


Verlauf:

Exiting due to error
 
So, jetzt läuft es :)
Im Unreal/Help Verzeichnis gibt es ein tar Archiv mit den benötigten Bibliotheken. Diese müssen in das Unreal/System Verzeichnis entpackt werden. Dann läuft das Linux Binary auch mit Sound.

Danke für den Tip mit Unreal.
 
So, jetzt läuft es :)
Im Unreal/Help Verzeichnis gibt es ein tar Archiv mit den benötigten Bibliotheken. Diese müssen in das Unreal/System Verzeichnis entpackt werden. Dann läuft das Linux Binary auch mit Sound.

Danke für den Tip mit Unreal.
WOW, dann hast Du es ja echt weitergebracht als ich. Ich hatte zuerst auch die Fehlermeldung. Doch im Linux-Modus funktionierte zuerst die Maus nicht, bis ich in der UnrealLinux.ini irgendetwas mit "mouse" auf "True" gesetzt habe. Und dann das nächste Problem: Als ich abspeichern wollte und einen früheren Spielestand von wine überschreiben wollte, fing die Festplatte an zu rödeln und das Spiel hing, ich mußte in eine Konsole raus und ein killall -HUP UnrealLinux.bin machen. Auch eine Umbenennung von System/Save brachte eine komische Reaktion: Nach erneutem Start des Spiels im Linux-Modus erschienen die Speicherstände immernoch im Menü, ließen sich aber nocht mehr aufrufen. Insoweit korrekt. Doch dann kam durch erneutes Drücken der ESC-Taste überhaupt kein Menü mehr, so dass ich nicht mehr herauskam und wiedr in eine Konsole musste. Komisch. Anscheinen funktioniert die Linux-Version nur richtig, wenn man das Spiel vorher nicht mit wine gestartet hat, kann das sein/macht das Sinn?

Hatte aber den Eindruck, dass der Sound in der Linux-Version besser klingt, von daher könnte es Sinn machen, eher die Linux-Version zu spielen.

Yeah, ich habe gerade mal Steam auf Wine auf meinem X230 installiert und Broforce läuft perfekt! :D

Nun, wenn Du Dich mit einem 2D-Spiel schon begeistern kannst, dann versuch doch mal Team Fortress 2 oder Gladiators Online...^^.
 
Das Problem mit der Maus hatte ich auch. Ich hab dann das
Code:
UnrealXLinux.bin
Binary probiert, und damit hat die Maus dann funktioniert.
Auch das Problem beim Speichern konnte ich lösen. Dazu musste ich in der /compat/linux/etc/hosts meine IP Adresse eintragen.
Code:
192.168.0.10 saturn.lan saturn
 
Dazu musste ich in der /compat/linux/etc/hosts meine IP Adresse eintragen.

Wie kommt man denn darauf, dass man zum Abspeichern eines Spielstandes die IP Adresse in /compat/linux/etc/hosts eintragen muss? So etwas habe ich echt noch nie gehört...

Also meine IP ist laut ifconfig 192.168.1.202, was muss ich denn jetzt genau wo eintragen? Was ist mit den anderen Einträgen, wenn der Inhalt

Code:
root@amd64:/etc/autofs # more /compat/linux/etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

ist? Woher kommt "saturn.lan saturn"? Hat das etwas mit dem hostname in der rc.conf zu tun?
 
saturn.lan ist der hostname meines Rechners. Der Hostname muß halt in der /compat/linux/etc/hosts eingetragen sein.
Du kanns ihn aber auch als alias bei der Loopback Adresse eintragen

also z.B.
Code:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 hostname
                                                                             ^^^^^^^^

Drauf gekommen bin ich durch die Meldung "URL kann nicht gefunden werden" beim laden eines Spielstands und durch diesen Eintrag im Oldunral Forum:
http://www.oldunreal.com/cgi-bin/yabb2/YaBB.pl?num=1281206092
 
OK, habe es gestern mal ausprobiert und den Hostnamen in beiden Zeilen hinten angefügt. Hat geklappt, also vielen Dank!
Jetzt wäre es schön, wenn man noch Surround-Sound kriegen könnte. Ist bei mir zumindest mit der Linux-Version von ETQW möglich. Deswegen habe ich mal die UnrealLinux.ini editiert und es gibt da mehrere Einträge zu Audio, auch mit der Option "Surround". Klappt aber leider nicht. Hast Du es vielleicht probiert?
 
Zurück
Oben