Hui 的个人资料逆风沉沦日志列表 工具 帮助

日志


2005/11/4

在FreeBSD下安装Oracle 9i和10g(收藏)

在FreeBSD下运行Oracle是一件麻烦事, 目前运行Oracle 9i在广大BSDer的努力下已经不是特别难了, 但是Oracle 10g还是很少看到成功的. 这位拉脱维亚老兄的帖子 Oracle installation under FreeBSD 详细说明了安装Oracle的过程, 结尾说Oracle 10g也是能运行的, 不过本人还没有试过, 收藏先, 等有时间再试试.

FreeBSD 6.0 终于 Release了

发帖庆祝, 真是让人望眼欲穿啊, 已经可以在ftp://ftp.freebsd.org/pub/FreeBSD/ISO-IMAGES-i386/6.0 看到镜像文件了,不过还没有正式公告.
2005/9/27

终于装上ORACLE 10g了

    前两天想在linux上装个oracle 10g玩玩,可是我对linux不熟。不管怎样,先装了再说,先装debian,debian的包管理系统不熟悉,光apt-get就花了好长时间,然后就是装oracle需要的包了,找了好久总算是找全了,立马开始oracle的安装,可是总是在装到62% link的时候崩掉了。搞不清楚原因,不管了,还好我这里有Fedora4,反正fedora是超级简单的,于是重装了fedora4,再开始oracle。忙了一天,终于搞定。其中碰到小问题无数,好在有网络一切都好解决。
 
    装完后回想一下,其实在fedora上oracle的安装是相当简单的,但是我走了不少弯路,主要原因是受网上一些安装说明的影响,比如有些环境变量,在安装10g的时候根本就不需要设置。其实安装oracle只要看oracle光盘中的Quick Installation Guide就够了,但是Quick Installation Guide有几点写得不是很明确的地方,下面我会作出说明。总结一下安装过程,主要需要注意以下几点。
 
    1. 按照Quick Installation Guide的步骤进行,里面写的步骤有的并没有相关性,先做后做都可以,但是新手最好按步骤进行,因为步骤很多,新手容易遗漏。
    2. 一定要确保Quick Installation Guide里要求的包都装上了,这是最重要的一步,因为包不全会导致后面的安装半途而废,浪费大量时间。包版本比文档中提到的高一般没有什么关系。oracle安装过程开始后会检查这些包的,如果检查有缺少一定要中止安装把这些包写补上。我有一次就是因为安装时没有仔细看它的检查过程,导致缺少一个包在最后阶段安装失败。
    3. 配置内核参数时,Quick Installation Guide里写的rmem_default、rmem_max、wmem_default、wmem_max在fedora里应该是net.core.rmem_default、net.core.rmem_max、net.core.wmem_default、net.core.wmem_max,不知道为什么文档里没写net.core前缀,而且编辑完/etc/sysctl.conf后要重启内核参数才能生效。
    4. 文档中配置DISPLAY的地方写的不是很明白,其实只要用登录X Window的用户执行“xhost +”或者“xhost +local:”再“su oracle”,就能保证oracle用户能够启用图形安装界面。
    5. Fedora设置为中文的时候oracle的安装界面是乱码,先执行export LC_ALL="en_US"把执行环境改变为英文。
    6. 安装完成后设置好$PATH,执行SQLPlus,这时候它才会要求设置ORACLE_HOME,设置好后,就能够正常用sqlplus访问oracle了。
2005/9/23

Linux下执行程序时发生错误: cannot restore segment prot after reloc: Permission denied

原来这是SELinux搞的鬼,解决办法有两个
1. 使用chcon 命令
示例: chcon -t texrel_shlib_t /usr/local/rsi/idl_6.1/bin/bin.linux.x86/*.so
2. 禁止掉SELinux
更改/etc/sysconfig/selinux 文件的内容为 SELINUX=disabled
 
这个问题参考了以下链接

要注意mount cdrom时的权限

昨天想执行光盘上的一个脚本,结果总是permission denied错误,查看了文件和目录的权限,发现权限都是对的,百思不得其解。只好上网寻求答案,原来光盘加载的时候也有权限设置,如果有noexec则一定要去掉,如果有user则要加上exec,而我的/etc/fstab里加载光盘的选项是ro,user,加上exec后问题解决。
2005/9/22

以另一个用户身份使用 GUI 应用程序 (转载)

  以另一个用户身份使用 GUI 应用程序
 
  您可能注意到了,我们在 前一节 中讨论 su 命令时,只运行了在终端窗口中显示输出的命令。要能够运行 GUI 应用程序,您可能必须采取一些额外的步骤,具体步骤因 Linux 发行版本而异。 Linux 上的 GUI 应用程序使用 X Window 系统(X Window System),它旨在允许多个用户使用窗口化的应用程序通过网络访问计算机。
 
  X 显示器是通过 hostname:displaynumber.screennumber 这种形式的名称知晓的。运行在工作站(如 PC)上的 Linux 通常只有一个带有单个屏幕的显示器。在这种情况下,displayname 可以(并且通常会)被省略,所以显示器称为 :0.0。我们假设您在阅读本文时是使用图形方式登录的,因此您的启动已经为您设置了 DISPLAY 环境变量。但是,当您使用 su 切换到不同用户时,不会设置这个变量。清单 4 展示了如何使用 echo 命令来显示 DISPLAY 环境变量,然后切换到另一个用户并尝试启动 xclock 应用程序,最初 DISPLAY 环境变量是空的,然后将其值设置为 :0.0。这是 SUSE SLES9 系统中的示例。在 Red Hat 系统上有所不同,后面我们将会提到。
 
  清单 4. 尝试启动 xclock
   

 
 
ian@lyrebird:~> whoami
ian
ian@lyrebird:~> echo  $DISPLAY
:0.0
ian@lyrebird:~> su -
Password:
lyrebird:~ # echo  $DISPLAY
lyrebird:~ # xclock
Error: Can't open display:
lyrebird:~ # export DISPLAY=:0.0
lyrebird:~ # echo  $DISPLAY
:0.0
lyrebird:~ # xclock
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified
 
Error: Can't open display: :0.0
lyrebird:~ # export XAUTHORITY=~ian/.Xauthority
lyrebird:~ # xclock
lyrebird:~ # ls -l ~ian/.Xauthority
-rw-------  1 ian users 206 Feb 18 16:20 /home/ian/.Xauthority
 
 

  让我们研究一下这里发生的情况。在本例中,用户 ian 登录到系统,并且正如我们所期望的那样,其 DISPLAY 环境变量被设置为 :0.0。当 ian 切换成用户 root 时,不会去设置 DISPLAY 环境变量,并且因为 xclock 应用程序不能打开显示器,所以启动 xclock 的尝试失败了。
 
  因此,替代用户 root 设置了 DISPLAY 环境变量,并将它导出,以便它可用于可能从该终端窗口启动的其他 shell。请注意,设置和导出环境变量时不使用  $ 前缀符号,但显示和用其他方法使用该值时则使用  $ 作为前缀。也要注意,如果 su 命令省略了 -(减号)符号,那么 DISPLAY 环境就已经如用户 ian 那样被设置。可是,即使设置了环境变量,但 xclock 启动还是失败了。
 
  第二次失败的原因在于 X 的客户机/服务器本质。尽管 root 运行在该系统惟一一个显示器上的窗口中,但该显示器实际上由最初登录的用户(在本例中是 ian)所拥有。对于 Linux 系统中的本地显示器,认证通常是依赖于所谓的 MIT-MAGIC-COOKIE-1,每次 X 服务器重新启动时它都会重新生成。用户可以从他的(或她的)目录中的 .Xauthority 将 magic cookie 导出 (使用 xauth extract 命令),并把它提供给另一个用户,那个用户可以使用 xauth merge 将其 融合 到自己的 .Xauthority 文件。作为另一种选择,用户可以通过 xhost +local: 命令来授权其他用户对本地系统的访问。
 
  有另一个可选方法,即将 XAUTHORITY 环境变量设置为包含正确 MIT-MAGIC-COOKIE-1 的文件的位置。当切换到 root 时,这样做很容易,因为 root 可以读取其他用户所拥有的文件。实际上,在清单 4 中我们就是这样做的,所以,在设置并将 XAUTHORITY 导出到 ~ian/.Xauthority 文件后,root 现在就可以在桌面上打开图形窗口。我们说过将会提及 Red Hat 系统的不同之处,那就是在 Red Hat 系统上使用 su 切换到 root 与 SUSE 系统稍有不同,它会为您自动完成显示器的设置。
 
  那么,如果是切换到另一个非 root 用户时会怎样呢?在清单 4 中,您会注意到,用户 ian 的 .Xauthority 文件只允许所有者进行读写访问。甚至是同组的成员也不能读取它,这正是您所希望的,除非您乐意让某人打开一个接管您的屏幕并禁止您做任务事情的应用程序! 所以,如果您从 .Xauthority 文件中导出了一个 MIT-MAGIC-COOKIE-1,那么必须要找到某个安全的方式来将它交给您信任的非 root 用户。由于这方面的困难,您可能会发现,对单用户的 Linux 系统来说,xhost 更好用,尽管 xauth 方法通常比 xhost 命令用得更多。不过,要谨记 X Windows 系统的网络传统,以便您不会偶然地授予他人不在计划之内的权限,从而开放您的系统,让任意网络用户都可以在您的桌面上打开窗口。
 
  用户 ian 可以使用 xhost 来赋与所有本地用户在显示器(:0.0)上打开应用程序的权限。在您的桌面上打开另一个终端窗口并输入这条命令:
 
  xhost +local:
 
  请注意末尾的冒号(:)。这样将允许同一系统上的其他用户连接到 X 服务器并打开窗口。由于您使用的是一个单用户系统,这就意味着您可以 su 到一个任意的非 root 用户,而且现在可以启动 xclock 或其他 X 应用程序了。
 
  有关使用 xauth 和 xhost 命令的更多详细信息,可以根据需要使用命令 info xauth、man xauth、 info xhost 或者 man xhost 来查看联机手册页。如果您对 X 连接的安全性感兴趣,可以从 Xsecure 的手册页入手。
2005/9/21

debian国内较快的几个镜像 sources.list

在我这里221.6.69.11最快,geekbone次之,cn99最慢
 
$ cat /etc/apt/sources.list
#deb file:///cdrom/ sarge main
deb http://debian.cn99.com/debian/ stable main
deb-src http://debian.cn99.com/debian/ stable main
deb http://debian.cn99.com/debian sarge main non-free contrib
deb http://debian.cn99.com/debian testing-proposed-updates main contrib non-free
deb http://debian.cn99.com/debian-security sarge/updates main contrib non-free
deb http://debian.cn99.com/debian testing main contrib non-free
deb http://debian.cn99.com/debian/ experimental contrib main non-free
deb http://mirrors.geekbone.org/debian/ stable main
deb-src http://mirrors.geekbone.org/debian/ stable main
deb http://debian.cn99.com/debian/ unstable main
deb-src http://debian.cn99.com/debian/ unstable main
deb http://debian.cn99.com/debian unstable main non-free contrib
deb http://mirrors.geekbone.org/debian/ unstable main
deb-src http://mirrors.geekbone.org/debian/ unstable main
deb http://mirrors.geekbone.org/debian-non-US/ sarge/non-US main contrib non-free
deb http://security.debian.org/ testing/updates main contrib non-free
 
 
 
$ cat /etc/apt/sources.list
deb ftp://221.6.69.11/debian unstable main non-free contrib
deb ftp://221.6.69.11/debian-non-US unstable/non-US main non-free contrib
deb ftp://221.6.69.11/debian-uo sid marillat rareware misc ustc
deb ftp://221.6.69.11/debian unstable main non-free contrib
deb ftp://221.6.69.11/debian-non-US unstable/non-US main non-free contrib
deb ftp://221.6.69.11/debian-uo sid marillat rareware misc ustc
#deb ftp://221.6.69.11/debian-unofficial/zh/i386 ./
#deb ftp://221.6.69.11/debian-unofficial/misc/i386 ./