Linux下JDK安裝位置

新手在Linux上安裝JDK時,不知道應該將JDK安裝在哪比較合適。首先簡要了解下Linux中部分目錄的做用。java

 

/bin---用來貯存用戶命令。/usr/bin 也被用來貯存用戶命令。  
/sbin---許多系統命令(例如 shutdown)的貯存位置。/usr/sbin 中也包括了許多系統命令。  
/root---用戶(超級用戶)的主目錄。  
/mnt---該目錄中一般包括系統引導後被掛載的文件系統的掛載點。好比,默認的光盤掛載點是 /mnt/cdrom/。
/boot---包括內核和其它系統啓動期間使用的文件,最大不超過200M。 
/lib---包含許多被 /bin 和 /sbin 中的程序使用的庫文件。
/usr/lib---中含有更多用於用戶程序的庫文件。 
/dev---貯存設備文件。  
/etc---包含許多配置文件和目錄。  
/var---用於貯存variable(或不斷改變的)文件,例如日誌文件和打印機假脫機文件,虛擬機鏡像文件等。  
/usr---包括與系統用戶直接有關的文件和目錄,例如應用程序及支持它們的庫文件。  
/proc---一個虛擬的文件系統(不是實際貯存在磁盤上的),它包括被某些程序使用的系統信息。  
/initrd---用來在計算機啓動時掛載 initrd.img 映像文件的目錄以及載入所需設備模塊的目錄。不要刪除 /initrd 目錄。若是你刪除了該目錄後再從新引導 Red Hat Linux 時,你將沒法引導你的計算機。  
/tmp---用戶和程序的臨時目錄。 /tmp 給予全部系統用戶讀寫權。  
/home---用戶主目錄的默認位置。  
/opt---可選文件和程序的貯存目錄。該目錄主要被第三方開發者用來簡易地安裝和卸裝他們的軟件包。
/lost+found---被 fsck 用來放置零散文件(沒有名稱的文件)。shell

 

/lib 是內核級的;/usr/lib 是系統級的;/usr/local/lib 是用戶級的。僅僅被 /usr 目錄下的程序所使用的共享庫沒必要放到 /lib 目錄下。只有 /bin 和 /sbin 下的程序所須要的庫有必要放到 /lib 目錄下。數據庫

在傳統的unix系統中,/usr 一般只包含系統發行時自帶的程序,而/usr/local 則是本地系統管理員用來自由添加程序的目錄。這裏有一條嚴厲而牢固的規則:除非在裏面建立目錄,unix發行版不得使用 /usr/local 。對於Linux發行版,如 RedHat, Debian 等等,一個可能的規定是:/usr 目錄只能由發行版的軟件包管理工具負責管理,而對 /usr/local 卻沒有這樣作。正是由於採用這種方式,軟件包管理工具的數據庫才能知道在 /usr 目錄內的每個文件。安全

所以JDK可能比較合適的位置是 /usr/local/lib 下。我通常安裝到 /usr/local/java 下(如/usr/local/java/jdk1.7),這樣避免搞亂 /usr/local/lib 目錄。bash

 

配置JAVA環境變量工具

在Linux中通常有三個配置環境變量的位置:spa

  • /etc/profile:若是你的計算機僅僅做爲開發使用時推薦使用這種方法,全部用戶的shell都有權使用這些環境變量。
  • ~/.profile:這個是最安全的方法,控制JAVA到當前用戶。若是你須要給某個用戶權限使用這些環境變量,你只須要修改其我的用戶主目錄下的 .profile。
  • /etc/profile.d/java.sh:這種方式爲全部用戶增長JAVA環境變量,而且一啓動就生效。強烈不建議這個方式,除非在你我的開發的計算機上。

 

~/.profile與~/.bash_profileunix

在某些Linux的發行版上,可能找不到~/.profile而找到一個與之很接近的文件~/.bash_profile,下面簡要分析下這兩個文件。日誌

  • ~/.bash_profile: 每一個用戶均可使用該文件輸入專用於本身使用的shell信息,當用戶登陸時,該文件僅僅執行一次!默認狀況下,他設置一些環境變量,執行用戶的.bashrc文件。~/.bash_profile 是交互式、login 方式進入 bash 運行的;~/.bashrc 是交互式 non-login 方式進入 bash 運行的;一般兩者設置大體相同,因此一般前者會調用後者。
  • ~/.profile:若bash是以login方式執行時,讀取~/.bash_profile,若它不存在,則讀取~/.bash_login,若前二者不存在,讀取~/.profile。另外,圖形模式登陸時,此文件將被讀取,即便存在~/.bash_profile和~/.bash_login。
相關文章
相關標籤/搜索