Fedora Core 8安裝在Linux系統下定制與配置開發環境
你們知道什么是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
至此,開發環境配置完畢。
【編輯推薦】