[linux] vreemd probleem met tabs versus spaties in uitvoer ls commando

Bram Mertens bram.mertens op sofico.be
Vr Feb 24 13:54:33 CET 2006


Hey
Een collega van me is momenteel de laatste hand aan het leggen aan een 
installatie van WebSphere op SLES-9.

Na de installatie van versie 5.1.0 van WebSphere moeten enkele patches 
geïnstalleerd worden, jammer genoeg loopt het daar mis:

Log: ExecCmd::launch
Log: Launching:
Log:   [ chown oot root 
/opt/WebSphere/AppServer//properties/version/activity.component ]
Log: Environment:
Log:   [ NULL Environment Overrides ]
Log: Launched:
Log:   [ chown oot root 
/opt/WebSphere/AppServer//properties/version/activity.component ]
Log: Waiting for threads
Log:   Standard output has completed.
Log:   Standard error has completed.
Result: StdErr: /bin/chown: `oot': invalid user
Log: ExecCmd::launch returns 1
Log: ExecCmd::launch
Log: Launching:
Log:   [ chgrp 191 2006- 
/opt/WebSphere/AppServer//properties/version/activity.component ]
Log: Environment:
Log:   [ NULL Environment Overrides ]
Log: Launched:
Log:   [ chgrp 191 2006- 
/opt/WebSphere/AppServer//properties/version/activity.component ]
Log: Waiting for threads
Log:   Standard output has completed.
Log:   Standard error has completed.
Result: StdErr: /bin/chgrp: cannot access `2006-': No such file or 
directory
Log: ExecCmd::launch returns 1
End of [ ./updateWizard.sh ]

De oorzaak van het probleem lijkt te zijn dat de installer de uitvoer van 
ls -ltr wil parsen maar dit totaal verkeerd doet.  Blijkbaar wordt enkel 
naar de karakters op posities X tot Y gekeken en niet naar de kolommen. 
Hierdoor wordt i.p.v. "root" eerst "oot " en zelfs "191 " geselecteerd 
waardoor de chown mislukt.
(BTW de chown is eigenlijk helemaal overbodig omdat de files sowieso al 
van root moeten zijn.

Op een Red Hat machine is deze installatie inclusief patches wel gelukt. 
Vergelijking leert me dat de ls op beide distros sterk verschilt:

suse

drwxr-xr-x  3 root root 728 Feb 24 13:07 backup
-rw-r--r--  1 root  191 191 Feb 24 13:07 activity.component
dcfs:/opt/WebSphere/AppServer/properties/version # ls --version
ls (coreutils) 5.2.1
Written by Richard Stallman and David MacKenzie.

Copyright (C) 2004 Free Software Foundation, Inc.


redhat

-rw-r--r--    1 root     root          207 Jun 14  2005 BASE.product
-rw-r--r--    1 root     root          228 Jun 16  2005 ND.product
[root op manta version]# ls --version
ls (coreutils) 4.5.3
Written by Richard Stallman and David MacKenzie.

Copyright (C) 2002 Free Software Foundation, Inc.

Hopelijk blijft het verschil tussen spaties (suse) en tabs (red hat) 
behouden.

Nu weet ik niet of het verschil in versie hier belangrijk is danwel een 
bepaalde instelling die we kunnen aanpassen.
op de suse wordt een LS_OPTIONS gezet op "-a -n --color=tty -T 0" maar 
deze unsetten wijzigt niets.

Iemand een idee hoe ik de suse ls dezelfde uitvoer kan laten genereren als 
de red hat?  Een script schrijven dat de uitvoer verwerkt en dit eerder in 
het path zetten lijkt me erg omslachtig en garandeert volgens mij nog 
steeds geen succes...

Alvast bedankt

Bram




More information about the Linux mailing list