1. 程式人生 > >【Linux】Linux下JDK合理的安裝位置

【Linux】Linux下JDK合理的安裝位置

一個不斷提出的問題:Linux下JDK到底應該安裝在哪兒?

1 Linux 目錄結構

即使這是個菜鳥級的問題,也經常難住老鳥。我就見過很資深的程式設計師把JDK不合適地安裝到/home目錄下。雖然不一定有最正確的安裝位置,但一定有不適當的安裝位置。為了確定我們到底應該把JDK安裝在哪裡,首先要了解一下Unix/Linux的目錄結構。 [plain] view plaincopyprint?
  1. /bin 用來貯存使用者命令。/usr/bin 也被用來貯存使用者命令。  
  2. /sbin 許多系統命令(例如 shutdown)的貯存位置。/usr/sbin 中也包括了許多系統命令。  
  3. /root 根使用者(超級使用者)的主目錄。  
  4. /mnt 該目錄中通常包括系統引導後被掛載的檔案系統的掛載點。比如,預設的光碟掛載點是 /mnt/cdrom/。可以為U盤建一個掛載點:mkdir /mnt/usb。  
  5. /boot 包括核心和其它系統啟動期間使用的檔案,最大不超過200M。通常我為 /boot 建一個primary分割槽是1G。  
  6. /lost+found 被 fsck 用來放置零散檔案(沒有名稱的檔案)。  
  7. /lib 包含許多被 /bin 和 /sbin 中的程式使用的庫檔案。目錄 /usr/lib 中含有更多用於使用者程式的庫檔案。/lib 目錄下放置的是 /bin 和 /sbin 目錄下程式所需的庫檔案。簡單說,/lib 是核心級的;/usr/lib 是系統級的;/usr/local/lib 是使用者級的。僅僅被 /usr 目錄下的程式所使用的共享庫不必放到 /lib 目錄下。只有 /bin 和 /sbin 下的程式所需要的庫有必要放到 /lib 目錄下。  
  8. /dev 貯存裝置檔案。  
  9. /etc 包含許多配置檔案和目錄。  
  10. /var 用於貯存variable(或不斷改變的)檔案,例如日誌檔案和印表機假離線檔案,虛擬機器映象檔案等。  
  11. /usr 包括與系統使用者直接有關的檔案和目錄,例如應用程式及支援它們的庫檔案。  
  12. /proc 一個虛擬的檔案系統(不是實際貯存在磁碟上的),它包括被某些程式使用的系統資訊。  
  13. /initrd 用來在計算機啟動時掛載 initrd.img 映像檔案的目錄以及載入所需裝置模組的目錄。不要刪除 /initrd 目錄。如果你刪除了該目錄後再重新引導 Red Hat Linux 時,你將無法引導你的計算機。  
  14. /tmp 使用者和程式的臨時目錄。 /tmp 給予所有系統使用者讀寫權。  
  15. /home 使用者主目錄的預設位置。  
  16. /opt 可選檔案和程式的貯存目錄。該目錄主要被第三方開發者用來簡易地安裝和卸裝他們的軟體包。  

在傳統的unix系統中,/usr 通常只包含系統發行時自帶的程式,而/usr/local 則是本地系統管理員用來自由新增程式的目錄。這裡有一條嚴厲而牢固的規則:除非在裡面建立目錄,unix發行版不得使用 /usr/local 。

對於Linux發行版,如 RedHat, Debian 等等,一個可能的規定是:/usr 目錄只能由發行版的軟體包管理工具負責管理,而對 /usr/local 卻沒有這樣做。正是因為採用這種方式,軟體包管理工具的資料庫才能知道在 /usr 目錄內的每一個檔案。下面演示 Ubuntu 系統下如何安裝JDK和配置環境變數。

2 安裝JDK6

2.1 安裝到 /usr/local/java

因此JDK可能比較合適的位置是 /usr/local/lib 下。我一般安裝到 /usr/local/java 下,這樣避免搞亂 /usr/local/lib 目錄。下面演示如何安裝 JDK6。我使用的是 jdk-6u38-linux-x64.bin。進入它所在的目錄,執行下列命令:

[plain] view plaincopyprint?
  1. $ sudo chmod 755 jdk-6u38-linux-x64.bin  
  2. $ sudo ./jdk-6u38-linux-x64.bin  
  3. $ sudo mkdir /usr/local/java  
  4. $ sudo mv ./jdk1.6.0_38 /usr/local/java  

2.2 下載JDK6

在下面的網址中找到類似 Java SE 6 Update 38

點選右邊的[downloads]進入下載頁面:

     JDK

[downloads]

進入下載頁面,點選下面的連結下載:


3 配置環境JAVA變數

有3種方式配置JAVA環境變數。

3.1 /etc/profile

如果你的計算機僅僅作為開發使用時推薦使用這種方法. 所有使用者的shell都有權使用這些環境變數。修改 /etc/profile 檔案,執行下面的語句:

[plain] view plaincopyprint?
  1. $ sudo -s  
  2. # echo 'export JAVA_HOME=/usr/local/java/jdk1.6.0_38' >> /etc/profile  
  3. # echo 'export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH' >> /etc/profile  
  4. # echo 'export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar' >> /etc/profile  

切換到任何一個使用者,執行下面這個命令,環境變數的更改立即生效:

# source /etc/profile

檢查JAVA環境變數更改是否生效:

$ java -version

3.2 ~/.profile

這個是最安全的方法,控制JAVA到當前使用者。如果你需要給某個使用者許可權使用這些環境變數,你只需要修改其個人使用者主目錄下的 .profile, 如下:

[plain] view plaincopyprint?
  1. $ cd ~/  
  2. $ echo 'export JAVA_HOME=/usr/local/java/jdk1.6.0_38' >> ./.profile  
  3. $ echo 'export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH' >> ./.profile  
  4. $ echo 'export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar' >> ./.profile  
  5. $ source ./.profile  
  6. $ java -version  
  7. or  
  8. $ java  

3.3 /etc/profile.d/java.sh

這種方式為所有使用者增加JAVA環境變數,並且一啟動就生效。強烈不建議這個方式,除非在你個人開發的計算機上。

[plain] view plaincopyprint?
  1. $ sudo -s  
  2. # echo '# add java environments to all users' > /etc/profile.d/java.sh  
  3. # chmod 755 /etc/profile.d/java.sh  
  4. # echo 'export JAVA_HOME=/usr/local/java/jdk1.6.0_38' >> /etc/profile.d/java.sh  
  5. # echo 'export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH' >> /etc/profile.d/java.sh  
  6. # echo 'export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar' >> /etc/profile.d/java.sh  
  7. # shutdown -r now  

相關推薦

LinuxUbuntujdk,mysql,tomcat的安裝與配置

最近在虛擬機器上裝了個Ubuntu12.04.5,心血來潮想試試在Ubuntu上部署自己的系統。跟在windows系統一樣,我們需要配置java執行環境,mysql和tomcat。   第一步:在Virtual Box上安裝Ubuntu系統 下載好Ubuntu的ISO映象之後,在

windowWindows10為PHP安裝redis擴展

5.1 windows10 span round pre pdb 安裝redis擴展 mile bin 操作: 步驟1:D:\wamp\bin\apache\apache2.4.9\bin/php.ini中添加 ; php_redis extension=php_igb

轉載Windows徹底解除安裝刪除SQL Serever 2012

對於剛剛涉足資料庫軟體的小白們,肯定會遇到由於下載的資料庫是英文版的,但是又由於自身的英文水平有限,一些專業的英文單詞看的並不是很明白 想著是否能夠將英文的SQL server 2012 漢化,但是由於有中文版的SQL,漢化這件事就很少有人

redismacredis擴充套件安裝與遇到的坑匯

我是mac系統,安裝redis沒有遇到什麼麻煩,安裝redis擴充套件時碰到了奇葩的問題,下面將問題整理一下,希望幫助到同樣問題的人。 mac 好像說是系統安全級別高,所以出現了保護機制,所以……。   前面redis安裝省略,直接進入擴充套件安裝與問題解決。   1.下載安裝包

windowsMinGW-w64安裝

MinGW分為較早開發的MinGW32和之後為編譯64位程式開發的MinGW-w64,MinGW32只能編譯32位的程式,而mingw64不僅能編譯64位程式,也能編譯32位程式,還能進行交叉編譯,即在32位主機上編譯64位程式,在64位主機上編譯32位程式。 一

pythonubuntupycham的安裝和使用

1.去pycham官網 https://www.jetbrains.com/pycharm/ 下載 2.把檔案拖進ubuntu下,也可以直接在ubuntu搜pycham下載 3.開啟終端ctr+aalt+t:輸入sh ./pycharm.sh 之後就打開了 pycham

Mac使用Brew安裝node出錯

今天想在Mac下安裝React Native開發環境。在安裝node後,想要執行node -v命令檢視node版本時,出現錯誤。錯誤資訊如下: node -v dyld: Library

LinuxLinuxJDK合理安裝位置

一個不斷提出的問題:Linux下JDK到底應該安裝在哪兒? 1 Linux 目錄結構 即使這是個菜鳥級的問題,也經常難住老鳥。我就見過很資深的程式設計師把JDK不合適地安裝到/home目錄下。雖然不一定有最正確的安裝位置,但一定有不適當的安裝位置。為了確定我們到底應

LinuxCentOS7安裝JDK詳細過程

【Linux】CentOS7下安裝JDK詳細過程     下面開始安裝步驟: --------------------------------------------------------------------------第一步----------------

筆記linux安裝jdk

1.檢視當前Linux系統是否已經安裝java     輸入 rpm -qa | grep java  命令   2.解除安裝兩個openJDK     輸入 rpm -e --nodeps 要解除安裝的軟體 3.上傳jd

linuxlinux 環境 安裝禪道(轉載) -- 跟web服務器無關,無視apache、nginx!!!

sdn php 修改 鏈接 net 壓縮 操作 tps 數據庫 參考文章 鏈接 :https://blog.csdn.net/xinxin19881112/article/details/46813991 講的非常完美、透徹,不像其他的文章,都是抄襲的,沒一點註意事項和自己

筆記linux的nginx自動安裝

前言: nginx依賴的元件比較多,大概有這幾個: a、openssl b、pcre c、zlib 安裝過程較為繁瑣,所以,這裡拿券君已經幫你整理好啦,只需要一鍵執行即可!   話不多說,開始! 1、下載整理好的nginx: https://downlo

轉載linux的samba安裝及配置

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

轉載linux安裝wget命令(sftp實現法)

 如何安裝wget命令。 方法一:通過yum 命令列為:yum install wget 完成。此操作很簡單,但是我安裝的linux是centos的最小版本,執行上述命令時會出現無法連線到源網站(大概是這個意思)的問題。 方法二:通過rpm 據說rpm是linux的通用安裝法,小白表示不懂

轉載Linux安裝軟體命令詳解

【轉載日期】2018.09.11 【轉載標題】Linux下安裝軟體命令詳解 ----------------------------------------------------------------------------------------------

linuxcentosnginx自動原始碼編譯安裝指令碼,以及通過service 啟動/停止/過載 nginx的服務指令碼

 第一:指令碼為nginx原始碼編譯安裝的指令碼,可以幫助使用者自動建立系統使用者“nginx”;可以使用者自己指定安裝路徑,配置檔案路徑,執行檔案路徑等; 第二:可以配置第二個指令碼使用,通過service服務來管理nginx。 [[email protect

Linux 記錄第一次使linux系統遇到的問題(系統安裝、配置檢視、搜狗輸入法安裝

作為一個有夢想的技術人,無論你是搞硬體的還是搞軟體的,相信大家都有一顆探索的心,而Linux作業系統就不該成為一種神祕的系統,於是作為小白的我也開始玩一玩linux系統了,系統的安裝是十分的簡單,下載一個rufus.exe軟體,再下載任意一個Linux系統,使用rufus製作

筆記linux (CentOS) 安裝Mysql

1.檢視CentOS自帶的mysql      輸入: rpm -qa | grep mysql 2.解除安裝CentOS自帶的mysql 輸入:rpm -e --nodeps 自帶的mysql名 3. 上傳mysql安裝

筆記Linux安裝Tomcat

1.將Tomcat上傳到 linux上 2.解壓Tomcat到/usr/local下 命令 tar -xvf  tomcat壓縮包名 -C /usr/local 3.開放Tomcat在Linux的對外訪問埠8080 /sbin/iptables -I INPUT

LinuxLinux安裝MySQL版本衝突的一個解決方法

 在安裝MySQL服務時出現如下錯誤: 要安裝的版本是5.1.45,而之前有安裝過5.0.22版本的,因此出現: MySQL conflicts withmysql-5.0.22-2.1.