Ubuntu操作系統下如何手動安裝JDK1.7呢?本文是我經歷的全過程。
Ubuntu版本:12.04 LTS
JDK版本:1.7.0_04
安裝目錄:/usr/local/development/jdk1.7.0_04
安裝JDK1.7的過程
1. 打開網址http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u4-downloads-1591156.html,下載相應的JDK文件。
2. 將下載的文件解壓縮到/usr/local/development/jdk1.7.0_04目錄。
3. 創建文件/etc/profile.d/development.sh,將下面的內容復制到該文件。
export JAVA_HOME=/usr/local/development/jdk1.7.0_04 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
4. 重啟電腦,使用命令java -version檢查JDK是否安裝成功。
技巧一:使用development.sh設置環境變量
網絡上很多關於設置JDK環境變量的方法,都是說修改/etc/environment,/etc/profile,~/,bash_profile等文件。
其實如果打開/etc/profile,在最后我們可以發現有這樣一段代碼:
if [ -d /etc/profile.d ]; then for i in /etc/profile.d/*.sh; do if [ -r $i ]; then . $i fi done unset i fi
也就是說,在/etc/profile執行的最后,它會自動的執行/etc/profile.d目錄下的所有可讀的文件。這就是我們將設置JDK環境變量的工作放在/etc/profile.d/development.sh的原因,可以不用修改操作系統自帶的/etc/profile內容,方便系統的移植。
技巧二:將development.sh放到/usr/local/profile.d
我的系統/usr/local掛載點是一個單獨的磁盤分區,這樣做的目的是方便系統的維護。/usr/local目錄除了存放安裝的軟件以外,其實還可以將配置文件放在這個目錄下面,例如上面的development.sh,這樣重裝系統的時候就不需要重做該文件。所以,可以新建目錄/usr/local/profile.d,然后將development.sh復制到該新目錄。至於怎么放到/etc/profile.d下面,我覺得可以采用符號鏈接的方式。
cd /ect/profile.d sudo ln -s /usr/local/profile.d/development.sh
CP命令
該命令的功能是將給出的文件或目錄拷貝到另一文件或目錄中,同MSDOS下的copy命令一樣,功能十分強大。
【語法】 cp [選項] 源文件或目錄 目標文件或目錄
【說明】該命令把指定的源文件復制到目標文件或把多個源文件復制到目標目錄中。
【含義】
- a 該選項通常在拷貝目錄時使用。它保留鏈接、文件屬性,並遞歸地拷貝目錄,其作用等於dpR選項的組合。(復制的時候要保留文件屬性用-a,不然會導致服務無法應用等問題,例如原文件擁有者為oracle,直接cp后文件擁有者變為root,會導致數據庫服務器無法使用,可以使用chown修改文件擁有者,或者復制的時候直接用cp -a命令)
- d 拷貝時保留鏈接。
- f 刪除已經存在的目標文件而不提示。
- i 和f選項相反,在覆蓋目標文件之前將給出提示要求用戶確認。回答y時目標文件將被覆蓋,是交互式拷貝。
- p 此時cp除復制源文件的內容外,還將把其修改時間和訪問權限也復制到新文件中。
- r 若給出的源文件是一目錄文件,此時cp將遞歸復制該目錄下所有的子目錄和文件。此時目標文件必須為一個目錄名。
- l 不作拷貝,只是鏈接文件。
需要說明的是,為防止用戶在不經意的情況下用cp命令破壞另一個文件,如用戶指定的目標文件名已存在,用cp命令拷貝文件后,這個文件就會被新源文件覆蓋,因此,建議用戶在使用cp命令拷貝文件時,最好使用i選項。
例子:
cp -i file1 file2 (將文檔 file1 復制成 file2 . –i為提示確認)
cp file1 dir1 (將文檔 file1 復制到目錄 dir1 下,文件名仍為 file1)
cp /tmp/file1 . (將目錄 /tmp 下的文檔 file1復制到現行目錄下,檔名仍為 file1)
cp /tmp/file1 file2 (將目錄 /tmp 下的文檔 file1現行目錄下,檔名為file2
cp -r dir1 dir2 (recursive copy) 復制整個目錄.若目錄 dir2 不存在,則將目錄dir1,及其所有文檔和子目錄,復制到目錄 dir2 下,新目錄名稱為dir1.若目錄dir2不存在,則將dir1,及其所有文檔和子目錄,復制為目錄 dir2)