自由狼-台风 发表于 2006-7-4 13:42:35

[MagicLinux2.0]几个问题,谢谢解答。

红旗Linux4.0曾经很好用,但是毕竟太老了。我正在尝试将MagicLinux2.0升格为主要系统,逐渐淘汰红旗Linux4.0。红旗Linux4.0已经用了两年多,很多已经习惯的或者不成问题的地方在MagicLinux2.0上成了问题。目前比较突出的有以下三个:

1. JDK问题。
我在系统中“/opt/prog/m/Java/J2SDK”处安装了JDK1.5.0_6,并在“/etc/profile”中添加了如下内容:

########################################
#       Number: 3
#       Date:   Forgot
#       Stat:   Testing
#       Name:   J2SE
#       Ver:    5.0 Update6
#       Useage: Java
#       Move:   Moveable
#       Type:   Non-Compiled
#
export JAVA_HOME="/opt/prog/m/Java/J2SDK"
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$CLASSPATH:"./"
########################################

在红旗Linux4.0中,以上内容完全正常,没有问题。

以“typhoon”(Tomcat管理员)从控制台终查看,环境变量“JAVA_HOME”正确,并且Tomcat能正常启动。

以“root”身份从KDE虚拟终端查看环境变量“JAVA_HOME”也正确,但是在此虚拟终端里用命令“konsole”或“rxvt”新开一个虚拟终端,环境变量“JAVA_HOME”就变成“/usr/java/jre1.5.0_05”了。

以“typhoon”(Tomcat管理员)身份从KDE虚拟终端查看环境变量“JAVA_HOME”也是“/usr/java/jre1.5.0_05”,导致Tomcat无法启动。

刚才看了 http://mlwiki.maihaohui.com/index.php/Matlab ,猜测可能是“/etc/profile.d/java-profile.sh”导致的问题,但现在没有机会试,只好问问。

2. Samba问题
非常想知道怎样在MagicLinux2.0上利用Samba创建一个无须输入帐号口令即可访问的写共享。在红旗Linux4.0里这么做非常简单,用鼠标点点,或者直接修改“smb.conf”都很容易做到,而在MagicLinux2.0中似乎难于上天。
以下两段分别是红旗Linux4.0和MagicLinux2.0的“smb.conf”相关部分:

[share_rw]
    comment =
    writeable = yes
    guest ok = yes
    path = "/opt/prog/share_rw"
    guest account = root


[share_rw]
guest account = root
case sensitive = no
guest ok = yes
msdfs proxy = no
read only = no
writeable = yes #这一行是手工修改时添加的
comment = Writable_Test
hosts allow = 0.0.0.0
path = /opt/prog/share_rw

MagicLinux2.0的“smb.conf”文件修改完毕后(手工修改、利用Samba管理GUI都用过)重新启动Samba,测试:

[root@TFW-HOST-0 samba]# mount //127.0.0.1/share_rw /mnt/lan
Password:
[root@TFW-HOST-0 samba]# touch /mnt/lan/1.txt
touch: 无法触碰 “/mnt/lan/1.txt”: 权限不够
[root@TFW-HOST-0 samba]# umount /mnt/lan
[root@TFW-HOST-0 samba]# mount //127.0.0.1/share_rw /mnt/lan -o rw
Password:
[root@TFW-HOST-0 samba]# touch /mnt/lan/1.txt
touch: 无法触碰 “/mnt/lan/1.txt”: 权限不够
[root@TFW-HOST-0 samba]# umount /mnt/lan
[root@TFW-HOST-0 samba]#


3. konsole终端里的字体
中英文混杂的时候难以上下对齐;中文的双引号只占一个字符空间。我经常看终端,也经常会中英数混合输入,编辑文件时碰到这种情况是难以忍受的。想了解一下konsole里怎么更换字体。

当然这个问题没有前两个问题紧迫,我可以暂时用从红旗Linux4.0上弄来的rxvt,只是没有konsole的特效罢了。

自由狼-台风 发表于 2006-7-4 14:31:05

红旗Linux4.0的smb.conf

红旗Linux4.0的smb.conf

自由狼-台风 发表于 2006-7-4 14:33:11

MagicLinux2.0的smb.conf

MagicLinux2.0的smb.conf

自由狼-台风 发表于 2006-7-4 14:34:36

konsole与rxvt的中英混排效果对比

konsole与rxvt的中英混排效果对比

自由狼-台风 发表于 2006-7-4 14:50:38

附:我的“/usr/java”里是空的,没东西。

heyuqi 发表于 2006-7-4 20:31:25

Re: [MagicLinux2.0]几个问题,谢谢解答。

1. JDK问题。
我在系统中“/opt/prog/m/Java/J2SDK”处安装了JDK1.5.0_6,并在“/etc/profile”中添加了如下内容:

########################################
#       Number: 3
#       Date:   Forgot
#       Stat:   Testing
#       Name:   J2SE
#       Ver:    5.0 Update6
#       Useage: Java
#       Move:   Moveable
#       Type:   Non-Compiled
#
export JAVA_HOME="/opt/prog/m/Java/J2SDK"
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$CLASSPATH:"./"
########################################

在红旗Linux4.0中,以上内容完全正常,没有问题。

以“typhoon”(Tomcat管理员)从控制台终查看,环境变量“JAVA_HOME”正确,并且Tomcat能正常启动。

以“root”身份从KDE虚拟终端查看环境变量“JAVA_HOME”也正确,但是在此虚拟终端里用命令“konsole”或“rxvt”新开一个虚拟终端,环境变量“JAVA_HOME”就变成“/usr/java/jre1.5.0_05”了。

以“typhoon”(Tomcat管理员)身份从KDE虚拟终端查看环境变量“JAVA_HOME”也是“/usr/java/jre1.5.0_05”,导致Tomcat无法启动。

刚才看了 http://mlwiki.maihaohui.com/index.php/Matlab ,猜测可能是“/etc/profile.d/java-profile.sh”导致的问题,但现在没有机会试,只好问问。


/etc/bashrc 中有这么一段代码:
    if [ "x$SHLVL" != "x1" ]; then # We're not a login shell
      for i in /etc/profile.d/*.sh; do
            if [ -r "$i" ]; then
                . $i
            fi
      done
      unset i
    fi


使用用户登录方式进入 shell,与用其它方式( 如在 shell 再新建一个 shell )进入 shell 调用的脚本文件是不一样的。

login shell 调用 /etc/profile 文件
non-login shell 调用 /etc/bashrc 文件

把那个设置放到 /etc/profile.d/java-profile.sh 就好了

heyuqi 发表于 2006-7-4 20:38:01

Re: [MagicLinux2.0]几个问题,谢谢解答。

3. konsole终端里的字体
中英文混杂的时候难以上下对齐;中文的双引号只占一个字符空间。我经常看终端,也经常会中英数混合输入,编辑文件时碰到这种情况是难以忍受的。想了解一下konsole里怎么更换字体。


konsole “设置” 菜单 --> “字体” --> “选择”

在 “选择字体” 的对话框中选择 DejuVu Sans Mono,或 Bitstream Vera Sans Mono 试试,看看问题能不能解决

jiangtao9999 发表于 2006-7-4 21:15:13

3 的问题:
konsole 和 rxvt 文字实现机理似乎不同,导致 konsole 用的是动态宽度,rxvt 是静态宽度。
找一个固定字符宽度的字体给 konsole 就可以了。

MichaelBibby 发表于 2006-7-5 09:10:56

2. Samba问题
非常想知道怎样在MagicLinux2.0上利用Samba创建一个无须输入帐号口令即可访问的写共享。

samba的配置方面,你一定要注意几点:

1:要将访问的安全级别设置为share,并且设置一个"guest account":

security = share;
guest ok = yes
guest account = nobody;

2:假设你需要共享出来,让匿名用户可写的目录为/home/backup,在smb.conf里要指定它是可写的:

[writeable]
path = /home/backup
guest ok = yes
browseable = yes
writeable = yes

3:在操作系统里,你还必须把该目录的权限设置为除了owner和group之外的other用户可写。因为SAMBA的权限设置是smb.conf和系统目录本身的权限这两方面配合的:

# chmod -R 777 /home/backup


这样基本就没问题了,试试吧。有问题就发上来。

自由狼-台风 发表于 2006-7-5 11:10:45



samba的配置方面,你一定要注意几点:

1:要将访问的安全级别设置为share,并且设置一个"guest account":

security = share;
guest ok = yes
guest account = nobody;


这个“guest account”需要在系统中创建用户“guest”或“nobody”吗?还是只要在“smb.conf”里加一行“guest account = nobody;”?后面的分号要加吗?

这个“guest account = nobody”又是什么意思?和“guest account = root”有什么差别?如果对方的机器通过共享向本机传文件,那么传过来的文件其所有者和组又是什么?

2:假设你需要共享出来,让匿名用户可写的目录为/home/backup,在smb.conf里要指定它是可写的:

[writeable]
path = /home/backup
guest ok = yes
browseable = yes
writeable = yes


在红旗4.0里,“guest account = xxx”都是指定在具体某个共享的描述段中,在ML2.0里移动到最前面的“global”段里了?

3:在操作系统里,你还必须把该目录的权限设置为除了owner和group之外的other用户可写。因为SAMBA的权限设置是smb.conf和系统目录本身的权限这两方面配合的:

# chmod -R 777 /home/backup


要共享的目录在vfat分区,“chmod -R 777”不管用啊。

自由狼-台风 发表于 2006-7-5 13:59:17

我手工添加了红旗Linux4.0的“东文宋体”和M$的“simsum”,在Kpnqueror和Eclipse的字体设置中都可以应用,就是不能在kpnsole字体设置中找到。

MichaelBibby 发表于 2006-7-5 15:08:47



samba的配置方面,你一定要注意几点:

1:要将访问的安全级别设置为share,并且设置一个"guest account":

security = share;
guest ok = yes
guest account = nobody;


这个“guest account”需要在系统中创建用户“guest”或“nobody”吗?还是只要在“smb.conf”里加一行“guest account = nobody;”?后面的分号要加吗?

这个“guest account = nobody”又是什么意思?和“guest account = root”有什么差别?如果对方的机器通过共享向本机传文件,那么传过来的文件其所有者和组又是什么?

sorry,参数后的分号是不要的。是我的疏忽。
nobody用户一般是系统都有的。而且是被禁止登陆到系统的。

"guest account = nobody"的意思就是,如果客户端使用匿名登陆进行访问,写入的文件的权限都是指定的用户(nobody)的权限。即,客户端登陆上来,都相当于是本地的nobody用户在操作。


2:假设你需要共享出来,让匿名用户可写的目录为/home/backup,在smb.conf里要指定它是可写的:

[writeable]
path = /home/backup
guest ok = yes
browseable = yes
writeable = yes


在红旗4.0里,“guest account = xxx”都是指定在具体某个共享的描述段中,在ML2.0里移动到最前面的“global”段里了?


需要说明一下,"guest account = xxx"既可以作为全局的,也可以作为局部的。如果你需要指定SAMBA服务器上所有的共享都是以“guest account = xxx"指定的用户来操作,那就可以放在global区域里。如果需要为不同的共享指定不同的guest account,那就放在单独的字段里。


3:在操作系统里,你还必须把该目录的权限设置为除了owner和group之外的other用户可写。因为SAMBA的权限设置是smb.conf和系统目录本身的权限这两方面配合的:

# chmod -R 777 /home/backup


要共享的目录在vfat分区,“chmod -R 777”不管用啊。
因为FAT分区没有这种权限控制,所以,你不chmod -R 777也是一样可用的。

Any more question?

自由狼-台风 发表于 2006-7-6 11:33:14

经过试验,Java问题已经解决,konsole字符仍然无法解决。konsole自带的所有字体都试过了。konsole不能识别新安装的“东文”、“SimSun”等字体。

Samba方面,安全级别设置为“user”,客户账号设置为“root”,并在具体共享段中添加“weiteable = yes”后,刷新Samba,共享可写。

新问题:

如果一个条目在全局中指定而没在具体共享段里指定,则这个条目会对所有共享段有效;
如果一个条目没在全局中指定而在具体共享段里指定,则这个条目会对本共享段有效;
如果一个条既在全局中指定也在具体共享段里指定,但对应的值不同,又会怎么样?

MichaelBibby 发表于 2006-7-6 14:13:31

Samba方面,安全级别设置为“user”,客户账号设置为“root”,并在具体共享段中添加“weiteable = yes”后,刷新Samba,共享可写。
强烈建议你将"guest account"设置为某个低权限用户,任何的共享都不应该以root身份提供。
你所需要做的就是,将guest account设置为低权限用户(越低越好,这是网络安全的一个要素),然后为这个用户赋予那些需要共享的文件以相应的权限。

新问题:

如果一个条目在全局中指定而没在具体共享段里指定,则这个条目会对所有共享段有效;
如果一个条目没在全局中指定而在具体共享段里指定,则这个条目会对本共享段有效;
理论上是这样的。这就是全局于局部的区别。
你是写程序的,相信你也明白”全局变量“与”局部变量“的区别。
如果一个条既在全局中指定也在具体共享段里指定,但对应的值不同,又会怎么样?我个人还没有测试过这种情况,暂时不能发表言论。

heyuqi 发表于 2006-7-6 20:29:32

如果一个条既在全局中指定也在具体共享段里指定,但对应的值不同,又会怎么样?

在重新定义为局部变量的区域中,为局部变量的值。

在其它地方,为全局变量的值。
页: [1] 2
查看完整版本: [MagicLinux2.0]几个问题,谢谢解答。