你们知道什么是Fedora Core 8么这个非常高深的运用技术将由我来非常讲解,Fedora Core 8NB在哪呢,下面我自己来进入Fedora Core 8的无限领域。工作空间从Windows转向Fedora Core 8 初次接触Linux到现在也已经有很长一段时间了,本学期由于团队管理和项目的原因使得我对linux的多有疏忽。最近因为各种主客观原因,决定将Windows下的所有主要工作环境迁移到Linux上来。
由于是用笔记本装的系统,早期的Linux版本的对硬件的支持并不是很让我满意,现在正赶上Fedora Core 8刚刚发行,而且网友反映相当不错,于是迫不及待的下载下来并安装。哈哈,现在我的笔记本硬件已经完全被兼容了,而且,网卡驱动中的错误也得到了修正,因此算是比较***的系统了。下面便是环境的迁移过程。
一、安装Fedora Core 8
总的来说跟Fedora Core 8的安装过程跟之前使用的RedHat或FC6没有多大差别,因此很顺利的完成了。不过对于初学者而言,虽可以一路默认,但还有几点需要注意:
1.检测安装介质是否有错误:这个必要性的一个事例是,这次在安装Fedora Core 8之前曾尝试过FC7,结果它在格式化各分区后才提示某安装包损坏,不得不退出,更不好的是引导区没了,连windows也进不了了。所以***还是检测一下以免再出现类似的情况。
2.Linux分区:在分区时可以看到所有windows下的分区情况,不过Unix体系下面并没有Windows盘符(C:、D:)的概念,因此需要先了解Linux是怎么表示分区的。根据硬盘接口类型的不同,在Hard Drivers条目下面你可能会看到类似”hdan”或”sdan”的字样,其中hd和sd表示的是硬盘接口类型;
a表示当前Linux能识别的***块硬盘,其他以此类推;n是分区编号,对于一块硬盘,最多有4个主分区,因此主分区的编号为1到4,接下来是扩展分区,一般硬盘也就分一个主分区,因此你看到1后面跟的就直接是5 (这分别表示Windows下的C盘和D盘,其他一次类推)。
Windows是肯定不能识别Linux分区的,因此如果是两个系统并存,在安装以前一定要先考虑好删除那个Windows分区,分区时选择create custom layout,它默认会将可供它安装的磁盘空间化分成两个区,这两个区的编号n紧接着windows分区,其中一个是/boot区(放置启动信息).
另一个是VolGroup00,这个就是Hard Drivers条目上面的LVM条目,使用他是方便磁盘的管理,在里面可以进一步的细分每个区,如下是一些个初学者的建议:一个/home分区,存放所有非root用户信息,大小似具体情况而定;
一个swap分区,这个虽然Linux建议是内存的两倍的,其实也不一定非得这样,大于512M的内存就可以调小一点了;一个/usr分区,用来安装软件,尽量分大一点;***是/(根)分区,如果上面的分区能够被有效利用,根分区其实不需要太大(仅对初学者), 512M就够了。
3.选择软件包:如果硬盘空间允许就全部选上,免得使用过程老出问题,完全安装需要近12G的空间。
4.安装结束在使用前***添加一些用户,比如Engineer,专门用来做专业工作的;Researcher,专门用来学习新知识的;Player,专门用于娱乐的。这只是建议,不是强制的,如果不添加新用户,可以用保留用户root登陆,他具有***权限。
二、定制Linux系统Fedora Core 8
定制的过程和结果因人而异,在此不赘述。需要说明的是在使用过程中可能出现中文乱码问题,造成此问题的原因是多方面的,跟你选择的登陆语言、系统字体库以及软件自身的语言处理都有关系。
比较通用的做法是在登陆时选择Language为Single Chinese(UTF-8),这样的比较省事,直接把系统语言环境定为中文,网上有很多文章说可以修改/etc/sysconfig/i18n文件来解决乱码,不过其效果并不理想;
若还有乱码,则可以调整系统字体,无论中文还是英文语言,都至少存在一种字体可以正常显示中文。其他乱码问题需具体分析。虽然Linux本身已经提供了丰富的软件,但还是不能满足所有需求,下面安装一些常用软件或插件,首先是让浏览器支持chm,可以下载gunzipchmview.gz,解压得到chmview,然后执行如下命令:
- chmod a+x chmview
- mv chmview /usr/local/bin
- cd /usr/local/bin
- 根据浏览器的不同执行下列之一,
- mv chmview chmview_opera(opera)
- mv chmview chmview_fox(firefox)
- mv chmview chmview_moz(mozilla)
- mv chmview chmview_konq(konqueror)
依次打开 k菜单-控制中心-KDE组件-文件关联,搜到chm格式,在应用程序关联顺序里添加上述文件之一。以后双击chm文件就可以正常查阅了。去http: //www.adobe.com网站上下载***的Flash Player和Adobe Reader 的RPM包。在终端定位到下载目录中执行如下命令rpm -ivh *.rpm即可完成对上述软件的安装,这样以来就可以正常双击来查阅中文pdf和swf动画了。
Fedora Core 8 的firefox启动似乎比以前慢的多了,不过可以通过下面的方法提高速度:在地址栏输入about:config调出其参数设置页面,找到 network.dns.disableIPv6、network.http.pipelining和network.http.proxy.pipelining并全部设为true,再把 network.http.pipelining.maxrequests设为30;如果本机开了web服务器,就顺便也把主页设成本机地址,这样一来启动就快多了。
三、配置开发环境
由于原先安装了全部的软件,所以一般可以想到的非微软语言比如C、C++、Java、php、python等的环境都已经配置好了,而且linux本身也提供了强大的开发工具,比如VI、Kdevelop,而且FC8的软件版本基本是***的,所以如果就此为止,已经可以进行正常的开发了,不过从学习的角度讲,还是从头开始自己安装相关的软件(安装都以root进行)。
1.安装JDK6
必备知识:Linux环境变量Linux的环境变量说白了就是一些常量,通过export关键字来导出,例如export JAVA_HOME就定义了一个名为JAVA_HOME的环境变量。因此在任何时候都可以为当前用户添加环境变量。
既然是常量,它的值一般不会自己改变,因此只要在每次启动系统或用户登录时export这些常量就行了,当然这个目的不需要手动执行。Linux提供了一些自动执行脚本来帮助达到这个目的。
其中最常用的两个脚本分别为/etc/profile和/home/用户名/.bash_profile,分别对应于全局执行脚本和用户执行脚本,换句话说在profile中export的变量是全局变量,在.bash_profile中export的是用户变量。
a.从http://www.sun.com下载jdk6对应的-rpm.bin(这是通过rpm包方式安装的bin文件),运行该文件,按提示安装即可。
b.在终端运行rpm -ql java(也可能是 rpm -ql jdk)可查看到jdk6的安装目录,这样便可以得到jdk的安装目录,于是添加全局环境变量:
- export JAVA_HOME=安装目录
- export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
- export PATH=$JAVA_HOME/bin:$PATH
c.其实现在系统上已经有好几个java版本了,因此要选择默认的Java程序,执行如下命令
- source /etc/profile
- alternatives - -install /usr/bin/java java $JAVA_HOME/bin/java
- alternatives - -config java
- #在列出的所有java路径中选择刚刚安装的路径,下面的步骤可选
- ln -s /usr/bin/javac $JAVA_HOME/bin/javac
- ln -s /usr/bin/javap $JAVA_HOME/bin/javap
- ln -s /usr/bin/javah $JAVA_HOME/bin/javah
2.安装MyEclipse6和NetBeans6
这步不是必须的,只是为了延续Windows下已经习惯了的工具。从http: //www.myeclipse.org和http://www.sun.com下载相关的bin文件。打开终端并定位到下载目录,运行bin文件,可能会提示java: xcb_xlib.c:82: xcb_xlib_unlock: Assertion `c->xlib.lock' failed。
这是FC8中Java程序最常碰到的问题,解决方案是从http://rpm.pbone.net/下载libxcb-devel -1.1-1.fc9.i386.rpm和libxcb -1.1-1.fc9.i386.rpm,然后安装:rpm –Uvh libxcb*.rpm;接着在/etc/profile里添加如下行export LIBXCB_ALLOW_SLOPPY_LOCK=true。***在注销或重启系统后重新执行安装程序即可完成对MyEclipse6和 NetBeans6的安装。
自此NetBeans6已经可以正常使用了,但是MyEclipse6却不行,因为FC8在安装时将Eclipse的启动文件放到了/usr/bin下,因此MyEclipse在Eclipse的主目录(/usr/share/eclipse)下找不到相关的文件,自然启动不了,这样的解决方案很多,最简单的是将/usr/bin/eclipse拷贝一份到Eclipse的安装目录下。
3.安装Flex Builder For Linux
现在Adobe终于开始考虑我们这些Linux用户对Flex的使用了,因此不安装Flex Builder for Linux简直对不起那些与微软战斗的单位。不过这个过程相当痛苦。不过在某个老外的帮助下还是成功安装了。
a.确保安装了Eclipse3.3,jdk5或jdk6并配置好了java环境变量,不要直接使用系统的jdk7。
b.从http://labs.adobe.com下载相关bin文件并执行它。
c. 由于是延续前面的安装,则安装过程会提示在安装eclipse插件时出错,通过察看/usr/share/eclipse/configuration/ 下的log文件可得知是某些插件于MyEclipse的插件冲突,解决方法是先将links文件夹重命名,再重新安装即可,别忘了把名字改回来。
d.由于现在的Flex Builder for Linux是插件安装的,因此为了正常使用,可以从其安装根目录下的Adobe_Flex_Builder.sh启动Eclipse,或者将该脚本中的变量移到环境变量中去。
4.安装Oracle 10g for Linux
虽然早就听说在linux下安装Oracle是相当痛苦的事,我还是毅然决定将Oracle也迁移到linux上来,***在没有任何人帮助的情况下历时两天成功安装了Oracle 10g for linux,实际上在安装光盘中就包含了安装手册。系统***配置要求:
a.硬件
- RAM:512M;
- SWAP:1G;
- /tmp:400M
- Software :2.5G
- Data:1.2G
b.操作系统
- redhat-2.1;
- redhat-3;
- SuSE-8;
- SuSE-9;
- UnitedLinux-1.0
c.软件包
- gcc-3.2.3-34;
- gcc-c++-3.2.3-34;
- glibc-2.3.2-95.20;
- make-3.79.1;
- openmotif21-2.1.30-8;
- setarch-1.3-1;
- compat-db-4.0.14-5;
- compat-gcc-7.3-2.96.128;
- compat-gcc-c++-7.3-2.96.128;
- compat-libstdc++-7.3-2.96.128;
- compat-libstdc++-devel-7.3-2.96.128
安装过程:
a. 电驴搜索oracle 10g for linux得到oracle 10g 1.0.3的四个iso文件。是个文件的文件名基本相同,其中包含标识ISO内容的字段,db对应服务器端工具,client对应客户端工具,两外两个是可选,ccd对应HTML DB,crs对应CRS。
有人说10g相对于9i而言已经从3张光盘瘦身为1张,其实这1张就是db,因此要想在图形界面,如OEM,下管理Oracle 是不行的,必须另外下载客户端工具。
b.在/etc/redhat-release文件里Red Hat Enterprise Linux AS release 3 (Taroon)来欺骗安装程序,不然会因为操作系统不符不能安装。
c.检查硬件配置:
- grep MemTotal /proc/meminfo
- grep SwapTotal /proc/meminfo
- df -h /temp
- df -h
d.检查软件配置
cat /etc/issue#如果操作系统不被支持,则将Red Hat Enterprise Linux AS release 3 (Taroon)添加到文件/etc/redhat-release中rpm -q 包名#如果有rpm包未安装,可以去http://www.pbone.net下载来再rpm -Uvh 包*.rpm。
e.创建Oracle用户、组、相关文件夹和环境变量
- groupadd OracleInstaller
- groupadd OracleDBA
- useradd -g OracleInstaller –G OracleDBA WarGrey
- mkdir /usr/local/wargrey
- mkdir /usr/local/wargrey/oracle
- mkdir /usr/local/wargrey/oradata
- chown WarGrey:OracleDBA -R /usr/local/wargrey
- export ORACLE_BASE=/usr/local/wargrey/oracle
- export ORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1
- export ORACLE_SID=wargrey
- export PATH=$ORACLE_HOME/bin:$PATH
f.编辑/etc/sysctl.conf修改内核参数
- kernel.shmall = 2097152 # 可以使用的共享内存的总量。
- kernel.shmmax = 2147483648 # ***共享内存段大小。
- kernel.shmmni = 4096 # 整个系统共享内存段的***数目。
- kernel.sem = 250 32000 100 128 # 每个信号对象集的***信号对象数;
- 系统范围内***信号对象数;每个信号对象支持的***操作数;系统范围内***信号对象集数。
- fs.file-max = 65536 # 系统中所允许的文件句柄***数目。
- net.ipv4.ip_local_port_range = 1024 65000 # 应用程序可使用的IPv4端口范围。
- net.core.rmem_default = 1048576 # 套接字接收缓冲区大小的缺省值
- net.core.rmem_max = 1048576 # 套接字接收缓冲区大小的***值
- net.core.wmem_default = 262144 # 套接字发送缓冲区大小的缺省值
- net.core.wmem_max = 262144 # 套接字发送缓冲区大小的***值
g.设置内核参数
- 编辑/etc/sysctl.conf文件
- kernel.shmall = 2097152 # 可以使用的共享内存的总量。
- kernel.shmmax = 2147483648 # ***共享内存段大小。
- kernel.shmmni = 4096 # 整个系统共享内存段的***数目。
- kernel.sem = 250 32000 100 128 # 每个信号对象集的***信号对象数;
- 系统范围内***信号对象数;每个信号对象支持的***操作数;系统范围内***信号对象集数。
- fs.file-max = 65536 # 系统中所允许的文件句柄***数目。
- net.ipv4.ip_local_port_range = 1024 65000 # 应用程序可使用的IPv4端口范围。
- net.core.rmem_default = 1048576 # 套接字接收缓冲区大小的缺省值
- net.core.rmem_max = 1048576 # 套接字接收缓冲区大小的***值
- net.core.wmem_default = 262144 # 套接字发送缓冲区大小的缺省值
- net.core.wmem_max = 262144 # 套接字发送缓冲区大小的***值
- 编辑/etc/security/limits.conf文件
- *soft nproc2047
- *hard nproc16384
- *soft nofile 1024
- *hard nofile 65536
- 编辑/etc/pam.d/login文件
- session required /lib/security/pam_limits.so
h.以WarGrey用户登录,挂接安装介质,在终端执行介质根目录下的runInstaller文件,然后选择“高级安装”按提示一步步的安装数据库软件。安装顺序为bdàclient。
i.运行netca和dbca进行相关设置以安装数据库。
j. 检查/etc/oratab或/var/opt/oracle/oratab是否存在(只要存在一个就行),创建或打开并修改为$ORACLE_SID: $ORACLE_HOME:Y,然后修改$ORACLE_HOME/dbstart,找到变量ORATAB并将其值改为上述文件的全路径。
k.添加Oracle服务,创建文件/etc/init.d/oracle,添加如下代码:
- #!/bin/sh
- # chkconfig 2345 50 50
- # description manager the oracle 10g instances and tools such as lsnrctl and isqlplusctl
- export ORACLE_HOME=/usr/local/wargrey/oracle/product/10.1.0/db_1
- export ORACLE_OWN=WarGrey
- . /etc/init.d/functions
- export PATH=${PATH}:$ORACLE_HOME/bin
- start(){
- echo "Starting the Oracle 10g"
- su -l $ORACLE_OWN -c "$ORACLE_HOME/bin/dbstart"
- su -l $ORACLE_OWN -c "$ORACLE_HOME/bin/lsnrctl start"
- su -l $ORACLE_OWN -c "$ORACLE_HOME/bin/isqlplusctl start"
- touch /var/lock/subsys/oracle10g
- }
- stop(){
- echo "Shutting down the Oracle 10g"
- su -l $ORACLE_OWN -c "$ORACLE_HOME/bin/isqlplusctl stop"
- su -l $ORACLE_OWN -c "$ORACLE_HOME/bin/lsnrctl stop"
- su -l $ORACLE_OWN -c "$ORACLE_HOME/bin/dbshut"
- rm -f /var/lock/subsys/oracle10g
- }
- case $1 in
- 'start')
- start
- ;;
- 'stop')
- stop
- ;;
- 'restart')
- stop
- start
- ;;
- *)
- echo "usage: $0 {start|stop|restart}"
- exit
- ;;
- esac
- exit $?
并执行如下命令:
- chmod a+x /etc/init.d/oracle
- chkconfig --add oracle
- chkconfig --level 06 oracle off
至此,开发环境配置完毕。
【编辑推荐】