FreeBSD还是有好多地方与Linux不同,如果用现在Linux的思维去考虑FreeBSD的东西,还是要费些周章的。
1.
比如Linux中的CD:在FC3中是:#mount -t iso9660 /dev/cdrom /mnt/cdrom
在FreeBSD里,亲爱的,是:#mount -t cd9660 /dev/acd0 /cdrom
这个/dev/acd0可真让俺好找。是在cat了/etc/fstab才发现的。
提到这个问题是应该发现第一张盘在mount之后,复制完数据,umount,盘出不来了。
记得有个eject命令,没有,去ftp.freebsd.org上下载一份,eject-1.4_2.tbz,这个扩展名在Linux可不常见。查了一下,才知道需要用tar -xjvf eject-1.4_2.tbz解开。(注:最大缺点,解完后文件在eject-1.4_2.tbz所在文件夹。如果你测试最好先将eject- 1.4_2.tbz复制到一个单独的文件夹里)
运行eject,再出错,找不到/libexec/ld-elf.so.1
#whereis一下,发现它在/usr/libexec/ld-elf.so.1
懒得动路径了,来个链接
#ln -s /usr/libexec/ld-elf.so.1 /libexec/ld-elf.so.1(FreeBSD 5.0RC1里是没有/libexec的,需要手动创建)
弹出可以用了#eject /dev/acd0
2
复制完后cpio
#cpio < archive -imdv将三个安装包解压到Disk1/Disk2/Disk3中。
3
创建oracle用户
4
到su啦。一开始直接用su - oracle,不好用。发现xhost一句很有用,重新su,然后
#xhost +local:oracle
#export DISPLAY=:0
#./runInstaller成功,担选择安装企业服务器按下一步直接退出,无任何提示,检查状况,/opt目录空间太小,自认为是空间问题。
5
再一次安装,提示已经存在,无法进行。记得执行/tmp/orainstRoot.sh时生成了一个/etc/oraInst.loc文件,删除,然后又出错了。这次比较专业:
ELF binary type="0" not known
./runInstaller: 1:Syntax error:"(" unexpected.
兼容性问题。再查,发现需要用root执行#kldload linux
终于又执行了,不过还是到选择完安装类型后按下一步直接退出。看来需要明天办了。
哪会看到后有想法,欢迎指导。
又及:机器配置VIA C3 1G 384M/40G/SiS630显卡,机器够破吧。会不会是CPU的问题呢?
今天先再做些准备:
- google一下Oracle和FreeBSD的最低需求
- google一下Oracle和FreeBSD对VIA C3处理器的兼容性
- 先按英文版的说明做一遍
- if not succeed(3) then {按中文版的说明做一遍}
- if succeed(3,4) then {结论编写}
- 等待及搜寻解决方案{可能会安装Redhat AS3测试一下}
终于开始了复制文件的进程。让它慢慢干吧。今天太晚了,连续睡太晚真有点太累了。因为内容比较多。明天再整理吧。希望复制文件顺利。
1.Linux兼容
其实在FreeBSD下安装Oracle9i,实质上是在Linux下安装。不过是由FreeBSD提供一个兼容环境而已。
应该说FreeBSD提供的Linux环境已经足够好了,但是我们还是需要做点工作:
建立/compat/linux/etc/mtab
#cat /etc/fstab | grep -v '^#' | grep -v cd9660 | grep -v proc | grep -v swap | grep -v devfs > /compat/linux/etc/mtab
他生成的内容是:
/dev/ad0s2a / ufs rw 1 1
/dev/ad1s1 /u01 ufs rw 1 1
我生成的内容是:
/dev/ad0s1a / ufs rw 1 1
/dev/ad0s1e /tmp ufs rw 2 2
/dev/ad0s1f /usr ufs rw 2 2
/dev/ad0s1d /var ufs rw 2 2
创建链接
#ln -s /usr/bin/awk /compat/linux/bin/awk
#ln -s /usr/bin/sed /compat/linux/bin/sed
#ln -s /usr/bin/chown /compat/linux/bin/chown
创建/compat/linux/bin/arch
#cat > /compat/linux/bin/arch
#!/compat/linux/bin/bash
echo i686
^D
然后给它执行权
#chmod +x /compat/linux/bin/arch
如果你愿意,给它也来个链接也是不错的
#ln -s /compat/linux/bin/arch /bin/arch