我的java命令不起作用,我认为它与权限有关。我已经尝试过chmod / chown来更改权限,但它没有任何影响。当我用sudo启动java应用程序时,它可以工作。有什么想法吗?
iMac:~/ java -version
java(347) malloc: *** error for object 0x10009357c: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
Abort trap
iMac:~/ sudo java -version
java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b07-334-10M3326)
Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02-334, mixed mode)
iMac:~/ which java
/usr/bin/java
iMac:~/ sudo chmod 777 /usr/bin/java
iMac:~/ sudo ls -l /usr/bin/java
lrwxrwx--- 1 root wheel 74 Mar 11 10:26 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
iMac:~/
事实上,我现在注意到Flash播放器也停止了工作。有什么不对?我只用Apple软件更新重新启动了计算机安装的itunes更新。
答案 0 :(得分:3)
虽然与提问者的文本不完全相关,但与实际问题标题的相关答案 - 如在chmod中不适用于Mac OSX。
对于某些文件,您可能遇到:[sudo] chmod:操作不允许。这表明另一个问题是OSX / BSD 标志系统功能。任何文件都可以使用 chflags 工具设置这些标志,并使用ls -lO yourfile(在osx上)ls -lo yourfile(在BSD上)查看。导致此特定错误的是“不可变”标志。可以取消使用(必要时用sudo作为前缀):
chflags nouchg yourfile
答案 1 :(得分:1)
当您运行“ls -l / usr / bin / java”时,您只能查看该链接的权限。
如果要查看“真实”权限,请将L添加到选项中,即“ls -lL / usr / bin / java”。
运行chmod时也一样,然后更改真实文件的权限。如果要更改链接的权限,请将-h添加到chmod。
祝你好运!答案 2 :(得分:-1)
使用“磁盘工具”修复权限。