Fedora Core 8安裝在Linux系統(tǒng)下定制與配置開(kāi)發(fā)環(huán)境
你們知道什么是Fedora Core 8么這個(gè)非常高深的運(yùn)用技術(shù)將由我來(lái)非常講解,F(xiàn)edora Core 8NB在哪呢,下面我自己來(lái)進(jìn)入Fedora Core 8的無(wú)限領(lǐng)域。工作空間從Windows轉(zhuǎn)向Fedora Core 8 初次接觸Linux到現(xiàn)在也已經(jīng)有很長(zhǎng)一段時(shí)間了,本學(xué)期由于團(tuán)隊(duì)管理和項(xiàng)目的原因使得我對(duì)linux的多有疏忽。最近因?yàn)楦鞣N主客觀原因,決定將Windows下的所有主要工作環(huán)境遷移到Linux上來(lái)。
由于是用筆記本裝的系統(tǒng),早期的Linux版本的對(duì)硬件的支持并不是很讓我滿意,現(xiàn)在正趕上Fedora Core 8剛剛發(fā)行,而且網(wǎng)友反映相當(dāng)不錯(cuò),于是迫不及待的下載下來(lái)并安裝。哈哈,現(xiàn)在我的筆記本硬件已經(jīng)完全被兼容了,而且,網(wǎng)卡驅(qū)動(dòng)中的錯(cuò)誤也得到了修正,因此算是比較***的系統(tǒng)了。下面便是環(huán)境的遷移過(guò)程。
一、安裝Fedora Core 8
總的來(lái)說(shuō)跟Fedora Core 8的安裝過(guò)程跟之前使用的RedHat或FC6沒(méi)有多大差別,因此很順利的完成了。不過(guò)對(duì)于初學(xué)者而言,雖可以一路默認(rèn),但還有幾點(diǎn)需要注意:
1.檢測(cè)安裝介質(zhì)是否有錯(cuò)誤:這個(gè)必要性的一個(gè)事例是,這次在安裝Fedora Core 8之前曾嘗試過(guò)FC7,結(jié)果它在格式化各分區(qū)后才提示某安裝包損壞,不得不退出,更不好的是引導(dǎo)區(qū)沒(méi)了,連windows也進(jìn)不了了。所以***還是檢測(cè)一下以免再出現(xiàn)類似的情況。
2.Linux分區(qū):在分區(qū)時(shí)可以看到所有windows下的分區(qū)情況,不過(guò)Unix體系下面并沒(méi)有Windows盤(pán)符(C:、D:)的概念,因此需要先了解Linux是怎么表示分區(qū)的。根據(jù)硬盤(pán)接口類型的不同,在Hard Drivers條目下面你可能會(huì)看到類似”hdan”或”sdan”的字樣,其中hd和sd表示的是硬盤(pán)接口類型;
a表示當(dāng)前Linux能識(shí)別的***塊硬盤(pán),其他以此類推;n是分區(qū)編號(hào),對(duì)于一塊硬盤(pán),最多有4個(gè)主分區(qū),因此主分區(qū)的編號(hào)為1到4,接下來(lái)是擴(kuò)展分區(qū),一般硬盤(pán)也就分一個(gè)主分區(qū),因此你看到1后面跟的就直接是5 (這分別表示W(wǎng)indows下的C盤(pán)和D盤(pán),其他一次類推)。
Windows是肯定不能識(shí)別Linux分區(qū)的,因此如果是兩個(gè)系統(tǒng)并存,在安裝以前一定要先考慮好刪除那個(gè)Windows分區(qū),分區(qū)時(shí)選擇create custom layout,它默認(rèn)會(huì)將可供它安裝的磁盤(pán)空間化分成兩個(gè)區(qū),這兩個(gè)區(qū)的編號(hào)n緊接著windows分區(qū),其中一個(gè)是/boot區(qū)(放置啟動(dòng)信息).
另一個(gè)是VolGroup00,這個(gè)就是Hard Drivers條目上面的LVM條目,使用他是方便磁盤(pán)的管理,在里面可以進(jìn)一步的細(xì)分每個(gè)區(qū),如下是一些個(gè)初學(xué)者的建議:一個(gè)/home分區(qū),存放所有非root用戶信息,大小似具體情況而定;
一個(gè)swap分區(qū),這個(gè)雖然Linux建議是內(nèi)存的兩倍的,其實(shí)也不一定非得這樣,大于512M的內(nèi)存就可以調(diào)小一點(diǎn)了;一個(gè)/usr分區(qū),用來(lái)安裝軟件,盡量分大一點(diǎn);***是/(根)分區(qū),如果上面的分區(qū)能夠被有效利用,根分區(qū)其實(shí)不需要太大(僅對(duì)初學(xué)者), 512M就夠了。
3.選擇軟件包:如果硬盤(pán)空間允許就全部選上,免得使用過(guò)程老出問(wèn)題,完全安裝需要近12G的空間。
4.安裝結(jié)束在使用前***添加一些用戶,比如Engineer,專門(mén)用來(lái)做專業(yè)工作的;Researcher,專門(mén)用來(lái)學(xué)習(xí)新知識(shí)的;Player,專門(mén)用于娛樂(lè)的。這只是建議,不是強(qiáng)制的,如果不添加新用戶,可以用保留用戶root登陸,他具有***權(quán)限。
二、定制Linux系統(tǒng)Fedora Core 8
定制的過(guò)程和結(jié)果因人而異,在此不贅述。需要說(shuō)明的是在使用過(guò)程中可能出現(xiàn)中文亂碼問(wèn)題,造成此問(wèn)題的原因是多方面的,跟你選擇的登陸語(yǔ)言、系統(tǒng)字體庫(kù)以及軟件自身的語(yǔ)言處理都有關(guān)系。
比較通用的做法是在登陸時(shí)選擇Language為Single Chinese(UTF-8),這樣的比較省事,直接把系統(tǒng)語(yǔ)言環(huán)境定為中文,網(wǎng)上有很多文章說(shuō)可以修改/etc/sysconfig/i18n文件來(lái)解決亂碼,不過(guò)其效果并不理想;
若還有亂碼,則可以調(diào)整系統(tǒng)字體,無(wú)論中文還是英文語(yǔ)言,都至少存在一種字體可以正常顯示中文。其他亂碼問(wèn)題需具體分析。雖然Linux本身已經(jīng)提供了豐富的軟件,但還是不能滿足所有需求,下面安裝一些常用軟件或插件,首先是讓瀏覽器支持chm,可以下載gunzipchmview.gz,解壓得到chmview,然后執(zhí)行如下命令:
- chmod a+x chmview
- mv chmview /usr/local/bin
- cd /usr/local/bin
- 根據(jù)瀏覽器的不同執(zhí)行下列之一,
- mv chmview chmview_opera(opera)
- mv chmview chmview_fox(firefox)
- mv chmview chmview_moz(mozilla)
- mv chmview chmview_konq(konqueror)
依次打開(kāi) k菜單-控制中心-KDE組件-文件關(guān)聯(lián),搜到chm格式,在應(yīng)用程序關(guān)聯(lián)順序里添加上述文件之一。以后雙擊chm文件就可以正常查閱了。去http: //www.adobe.com網(wǎng)站上下載***的Flash Player和Adobe Reader 的RPM包。在終端定位到下載目錄中執(zhí)行如下命令rpm -ivh *.rpm即可完成對(duì)上述軟件的安裝,這樣以來(lái)就可以正常雙擊來(lái)查閱中文pdf和swf動(dòng)畫(huà)了。
Fedora Core 8 的firefox啟動(dòng)似乎比以前慢的多了,不過(guò)可以通過(guò)下面的方法提高速度:在地址欄輸入about:config調(diào)出其參數(shù)設(shè)置頁(yè)面,找到 network.dns.disableIPv6、network.http.pipelining和network.http.proxy.pipelining并全部設(shè)為true,再把 network.http.pipelining.maxrequests設(shè)為30;如果本機(jī)開(kāi)了web服務(wù)器,就順便也把主頁(yè)設(shè)成本機(jī)地址,這樣一來(lái)啟動(dòng)就快多了。
三、配置開(kāi)發(fā)環(huán)境
由于原先安裝了全部的軟件,所以一般可以想到的非微軟語(yǔ)言比如C、C++、Java、php、python等的環(huán)境都已經(jīng)配置好了,而且linux本身也提供了強(qiáng)大的開(kāi)發(fā)工具,比如VI、Kdevelop,而且FC8的軟件版本基本是***的,所以如果就此為止,已經(jīng)可以進(jìn)行正常的開(kāi)發(fā)了,不過(guò)從學(xué)習(xí)的角度講,還是從頭開(kāi)始自己安裝相關(guān)的軟件(安裝都以root進(jìn)行)。
1.安裝JDK6
必備知識(shí):Linux環(huán)境變量Linux的環(huán)境變量說(shuō)白了就是一些常量,通過(guò)export關(guān)鍵字來(lái)導(dǎo)出,例如export JAVA_HOME就定義了一個(gè)名為JAVA_HOME的環(huán)境變量。因此在任何時(shí)候都可以為當(dāng)前用戶添加環(huán)境變量。
既然是常量,它的值一般不會(huì)自己改變,因此只要在每次啟動(dòng)系統(tǒng)或用戶登錄時(shí)export這些常量就行了,當(dāng)然這個(gè)目的不需要手動(dòng)執(zhí)行。Linux提供了一些自動(dòng)執(zhí)行腳本來(lái)幫助達(dá)到這個(gè)目的。
其中最常用的兩個(gè)腳本分別為/etc/profile和/home/用戶名/.bash_profile,分別對(duì)應(yīng)于全局執(zhí)行腳本和用戶執(zhí)行腳本,換句話說(shuō)在profile中export的變量是全局變量,在.bash_profile中export的是用戶變量。
a.從http://www.sun.com下載jdk6對(duì)應(yīng)的-rpm.bin(這是通過(guò)rpm包方式安裝的bin文件),運(yùn)行該文件,按提示安裝即可。
b.在終端運(yùn)行rpm -ql java(也可能是 rpm -ql jdk)可查看到j(luò)dk6的安裝目錄,這樣便可以得到j(luò)dk的安裝目錄,于是添加全局環(huán)境變量:
- export JAVA_HOME=安裝目錄
- export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
- export PATH=$JAVA_HOME/bin:$PATH
c.其實(shí)現(xiàn)在系統(tǒng)上已經(jīng)有好幾個(gè)java版本了,因此要選擇默認(rèn)的Java程序,執(zhí)行如下命令
- 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
這步不是必須的,只是為了延續(xù)Windows下已經(jīng)習(xí)慣了的工具。從http: //www.myeclipse.org和http://www.sun.com下載相關(guān)的bin文件。打開(kāi)終端并定位到下載目錄,運(yùn)行bin文件,可能會(huì)提示java: xcb_xlib.c:82: xcb_xlib_unlock: Assertion `c->xlib.lock' failed。
這是FC8中Java程序最常碰到的問(wèn)題,解決方案是從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。***在注銷(xiāo)或重啟系統(tǒng)后重新執(zhí)行安裝程序即可完成對(duì)MyEclipse6和 NetBeans6的安裝。
自此NetBeans6已經(jīng)可以正常使用了,但是MyEclipse6卻不行,因?yàn)镕C8在安裝時(shí)將Eclipse的啟動(dòng)文件放到了/usr/bin下,因此MyEclipse在Eclipse的主目錄(/usr/share/eclipse)下找不到相關(guān)的文件,自然啟動(dòng)不了,這樣的解決方案很多,最簡(jiǎn)單的是將/usr/bin/eclipse拷貝一份到Eclipse的安裝目錄下。
3.安裝Flex Builder For Linux
現(xiàn)在Adobe終于開(kāi)始考慮我們這些Linux用戶對(duì)Flex的使用了,因此不安裝Flex Builder for Linux簡(jiǎn)直對(duì)不起那些與微軟戰(zhàn)斗的單位。不過(guò)這個(gè)過(guò)程相當(dāng)痛苦。不過(guò)在某個(gè)老外的幫助下還是成功安裝了。
a.確保安裝了Eclipse3.3,jdk5或jdk6并配置好了java環(huán)境變量,不要直接使用系統(tǒng)的jdk7。
b.從http://labs.adobe.com下載相關(guān)bin文件并執(zhí)行它。
c. 由于是延續(xù)前面的安裝,則安裝過(guò)程會(huì)提示在安裝eclipse插件時(shí)出錯(cuò),通過(guò)察看/usr/share/eclipse/configuration/ 下的log文件可得知是某些插件于MyEclipse的插件沖突,解決方法是先將links文件夾重命名,再重新安裝即可,別忘了把名字改回來(lái)。
d.由于現(xiàn)在的Flex Builder for Linux是插件安裝的,因此為了正常使用,可以從其安裝根目錄下的Adobe_Flex_Builder.sh啟動(dòng)Eclipse,或者將該腳本中的變量移到環(huán)境變量中去。
4.安裝Oracle 10g for Linux
雖然早就聽(tīng)說(shuō)在linux下安裝Oracle是相當(dāng)痛苦的事,我還是毅然決定將Oracle也遷移到linux上來(lái),***在沒(méi)有任何人幫助的情況下歷時(shí)兩天成功安裝了Oracle 10g for linux,實(shí)際上在安裝光盤(pán)中就包含了安裝手冊(cè)。系統(tǒng)***配置要求:
a.硬件
- RAM:512M;
- SWAP:1G;
- /tmp:400M
- Software :2.5G
- Data:1.2G
b.操作系統(tǒng)
- 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
安裝過(guò)程:
a. 電驢搜索oracle 10g for linux得到oracle 10g 1.0.3的四個(gè)iso文件。是個(gè)文件的文件名基本相同,其中包含標(biāo)識(shí)ISO內(nèi)容的字段,db對(duì)應(yīng)服務(wù)器端工具,client對(duì)應(yīng)客戶端工具,兩外兩個(gè)是可選,ccd對(duì)應(yīng)HTML DB,crs對(duì)應(yīng)CRS。
有人說(shuō)10g相對(duì)于9i而言已經(jīng)從3張光盤(pán)瘦身為1張,其實(shí)這1張就是db,因此要想在圖形界面,如OEM,下管理Oracle 是不行的,必須另外下載客戶端工具。
b.在/etc/redhat-release文件里Red Hat Enterprise Linux AS release 3 (Taroon)來(lái)欺騙安裝程序,不然會(huì)因?yàn)椴僮飨到y(tǒng)不符不能安裝。
c.檢查硬件配置:
- grep MemTotal /proc/meminfo
- grep SwapTotal /proc/meminfo
- df -h /temp
- df -h
d.檢查軟件配置
cat /etc/issue#如果操作系統(tǒng)不被支持,則將Red Hat Enterprise Linux AS release 3 (Taroon)添加到文件/etc/redhat-release中rpm -q 包名#如果有rpm包未安裝,可以去http://www.pbone.net下載來(lái)再rpm -Uvh 包*.rpm。
e.創(chuàng)建Oracle用戶、組、相關(guān)文件夾和環(huán)境變量
- 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修改內(nèi)核參數(shù)
- kernel.shmall = 2097152 # 可以使用的共享內(nèi)存的總量。
- kernel.shmmax = 2147483648 # ***共享內(nèi)存段大小。
- kernel.shmmni = 4096 # 整個(gè)系統(tǒng)共享內(nèi)存段的***數(shù)目。
- kernel.sem = 250 32000 100 128 # 每個(gè)信號(hào)對(duì)象集的***信號(hào)對(duì)象數(shù);
- 系統(tǒng)范圍內(nèi)***信號(hào)對(duì)象數(shù);每個(gè)信號(hào)對(duì)象支持的***操作數(shù);系統(tǒng)范圍內(nèi)***信號(hào)對(duì)象集數(shù)。
- fs.file-max = 65536 # 系統(tǒng)中所允許的文件句柄***數(shù)目。
- net.ipv4.ip_local_port_range = 1024 65000 # 應(yīng)用程序可使用的IPv4端口范圍。
- net.core.rmem_default = 1048576 # 套接字接收緩沖區(qū)大小的缺省值
- net.core.rmem_max = 1048576 # 套接字接收緩沖區(qū)大小的***值
- net.core.wmem_default = 262144 # 套接字發(fā)送緩沖區(qū)大小的缺省值
- net.core.wmem_max = 262144 # 套接字發(fā)送緩沖區(qū)大小的***值
g.設(shè)置內(nèi)核參數(shù)
- 編輯/etc/sysctl.conf文件
- kernel.shmall = 2097152 # 可以使用的共享內(nèi)存的總量。
- kernel.shmmax = 2147483648 # ***共享內(nèi)存段大小。
- kernel.shmmni = 4096 # 整個(gè)系統(tǒng)共享內(nèi)存段的***數(shù)目。
- kernel.sem = 250 32000 100 128 # 每個(gè)信號(hào)對(duì)象集的***信號(hào)對(duì)象數(shù);
- 系統(tǒng)范圍內(nèi)***信號(hào)對(duì)象數(shù);每個(gè)信號(hào)對(duì)象支持的***操作數(shù);系統(tǒng)范圍內(nèi)***信號(hào)對(duì)象集數(shù)。
- fs.file-max = 65536 # 系統(tǒng)中所允許的文件句柄***數(shù)目。
- net.ipv4.ip_local_port_range = 1024 65000 # 應(yīng)用程序可使用的IPv4端口范圍。
- net.core.rmem_default = 1048576 # 套接字接收緩沖區(qū)大小的缺省值
- net.core.rmem_max = 1048576 # 套接字接收緩沖區(qū)大小的***值
- net.core.wmem_default = 262144 # 套接字發(fā)送緩沖區(qū)大小的缺省值
- net.core.wmem_max = 262144 # 套接字發(fā)送緩沖區(qū)大小的***值
- 編輯/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用戶登錄,掛接安裝介質(zhì),在終端執(zhí)行介質(zhì)根目錄下的runInstaller文件,然后選擇“高級(jí)安裝”按提示一步步的安裝數(shù)據(jù)庫(kù)軟件。安裝順序?yàn)閎dàclient。
i.運(yùn)行netca和dbca進(jìn)行相關(guān)設(shè)置以安裝數(shù)據(jù)庫(kù)。
j. 檢查/etc/oratab或/var/opt/oracle/oratab是否存在(只要存在一個(gè)就行),創(chuàng)建或打開(kāi)并修改為$ORACLE_SID: $ORACLE_HOME:Y,然后修改$ORACLE_HOME/dbstart,找到變量ORATAB并將其值改為上述文件的全路徑。
k.添加Oracle服務(wù),創(chuàng)建文件/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 $?
并執(zhí)行如下命令:
- chmod a+x /etc/init.d/oracle
- chkconfig --add oracle
- chkconfig --level 06 oracle off
至此,開(kāi)發(fā)環(huán)境配置完畢。
【編輯推薦】