Linux:工作空间从Windows转向Linux

来源:互联网 发布:宁波房地产成交数据 编辑:程序博客网 时间:2024/05/16 19:21
 
初次接触Linux到现在也已经有很长一段时间了,本学期由于团队管理和项目的原因使得我对linux的多有疏忽。最近因为各种主客观原因,决定将Windows下的所有主要工作环境迁移到Linux上来。
由于是用笔记本装的系统,早期的Linux版本的对硬件的支持并不是很让我满意,现在正赶上Fedora Core 8刚刚发行,而且网友反映相当不错,于是迫不及待的下载下来并安装。哈哈,现在我的笔记本硬件已经完全被兼容了,而且,网卡驱动中的错误也得到了修正,因此算是比较完美的系统了。下面便是环境的迁移过程。


一、            安装Fedora Core 8

        总的来说跟FC8的安装过程跟之前使用的RedHat或FC6没有多大差别,因此很顺利的完成了。不过对于初学者而言,虽可以一路默认,但还有几点需要注意:
1.   检测安装介质是否有错误:这个必要性的一个事例是,这次在安装FC8之前曾尝试过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系统

        定制的过程和结果因人而异,在此不赘述。需要说明的是在使用过程中可能出现中文乱码问题,造成此问题的原因是多方面的,跟你选择的登陆语言、系统字体库以及软件自身的语言处理都有关系,比较通用的做法是在登陆时选择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动画了。
FC8的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.硬件
RAM512M;
SWAP1G;
/tmp400M
Software 2.5G
Data1.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/security/limits.conf文件
*   soft    nproc   2047
*   hard    nproc   16384
*   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
 
 
至此,开发环境配置完毕。
 
原创粉丝点击