作者sppmg (sppmg)
看板Linux
標題Re: [問題] 資料庫安裝在 /u01 還是 /home/u01
時間Tue Aug 8 13:52:32 2017
※ 引述《devlish (灰色地帶)》之銘言:
: 想請教版上的大大ㄧ個基礎的問題
: 就是一般系統安裝或是軟體安裝的時候,是否都會在/目錄底下創建一個目錄再安裝?
: 像是最近在學習安裝Oracle DB,預設好像都要先創建一個/u01的目錄再賦予權限、安裝
: 。
: 那麼,安裝在/u01底下跟/home/u01下會有什麼不同呢? 因為剛開始學習,所以把/home
: 想成了Windows的D槽是放資料用的,但好像又不太對XD
: 其實主要是因為一開始是按照鳥哥的教學,/目錄只割了10G,裝到現在似乎因為空間不足
: 卡住了..........
我不知道 Oracle DB 預設怎樣,不過依照
Filesystem Hierarchy Standard
你可以裝在 /opt 或是 /usr/local/ 下面。
(據我不專業觀察) /usr/local/ 是給 unix 系,會將執行檔、程式庫、設定檔等
依照 *./bin, *./lib, *./etc 分類的軟體。
而 /opt 就是底下直接建一個 /opt/someApp ,裡面隨它放這樣的軟體。
(/usr/local 也是可以這樣搞啦!執行檔連結到 /usr/local/bin 就好)
無論安裝到哪,注意執行檔是否位於搜尋路徑 $PATH 中。
以 Debian 來說,預設 $PATH 為 (下面我拆成多行)
/home/User/bin: <--- 這在家目錄存在 bin/ 才會加上
/usr/local/bin:
/usr/bin:
/bin:
/usr/local/games:
/usr/games
所以你如果放在 /opt ,裝完後沒有 /opt/app/ 就要自己改 $PATH
(修改 ~/.profile ,不是直接改)
如果你只是個人使用,我會建議你在 ~/bin 底下建目錄,然後丟進去。
執行檔再連出來放 ~/bin
-----------
另關於分割與空間不足。
我以前也是看鳥哥,分了 / , /usr, /var, /home, /tmp ....
現在也是覺得如果沒有 server 需求,/ 一個就好了,頂多 / , /home 兩個。
而對於空間不足問題,除了 LVM 外,其實可以善用疊加式檔案系統。
也就是 unionfs(or union-fuse) / aufs / overlayfs 。
它們可以疊合多個目錄成一個,你看到一個目錄,但實際上目錄中的檔案是
源於底層 n 個硬體。
舉個例好了,我自己的硬碟 1.5T ,滿了!所以買了個 4T 回來,用下面
(太長了,讓我拆一下參數)
$ unionfs-fuse
/media/4THDD/User/union/Downloads=RW:
/home/User/Downloads-unionfs-base=RW
/home/User/Downloads
所以我的 ~/Downloads 馬上擴充空間。而系統會優先讀寫 4THDD 的,
找不到的話就會往下找 Downloads-unionfs-base。
(這類檔案系統最開始是被用在 live cd 上,讓使用者可以「寫入」無硬碟系統。)
這方法與 LVM 相較,好處是
檔案只會存在一顆硬碟,硬碟壞好歹活一半。單獨讀碟也沒問題。
(這裡問一下,LVM 遇到硬碟損壞資料能救嗎?應該也無法直接讀取嗎吧?不太確定)
也不用在系統一開始時就要建立。
至於效能方面,據說是和原機幾乎一樣。(如果你用的是 aufs ,甚至可以做覆載平衡)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.32.188.151
※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1502171556.A.302.html
→ bitlife: 系統bin永遠要排在非系統bin的前面,使用者自己的bin放最 08/08 16:44
→ bitlife: 後 08/08 16:45
嗯.....你說的沒錯,我個人使用所以沒注意這點。
Debian 中相關設定在 ~/.profile
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
有人知道為何這樣設置?是因為認為非 root 的還是要以方便為優先?
(root 的 profile 就無此設定。)
※ 編輯: sppmg (114.32.188.151), 08/08/2017 16:56:26
→ bitlife: 就避免系統命令被錯誤的使用者命令覆蓋. 08/08 17:00
→ bitlife: 例如打一行編譯命令,本來要產生cate執行檔,不小心打成cat 08/08 17:01
→ bitlife: 就把系統的cat給覆蓋了,在別人能寫入你的bin目錄情況下, 08/08 17:01
→ bitlife: 甚至產生安全性問題 08/08 17:01
→ bitlife: 你的私人bin目錄 08/08 17:02
→ bitlife: 更正:上面的覆蓋一時寫錯,應該改成蔭蓋(shadow)才對 08/08 17:03
→ bitlife: Debian這樣設也怪怪的,改到PATH最後並不會簡少方便性,真 08/08 17:06
→ bitlife: 的有少數怪咖想要蔭蓋系統命令,他絕對可以自己去調PATH順 08/08 17:06
→ bitlife: 序. 08/08 17:07
推 hijkxyzuw: 我以為大家都會蓋系統命令,alias ls="ls -CF --color" 08/11 00:50
→ danny8376: $PATH只該拿來搜索指令用啊 安裝用$PATH根本有問題 08/11 09:35
→ danny8376: 至於user bin蓋預設我是覺得很合理 尤其自編使用者版本 08/11 09:36
→ danny8376: 當然這是習慣問題 畢竟user bin在前會有可能不小心 08/11 09:37
→ danny8376: 裝錯蓋掉系統預設命令 不過也就是跑錯指令而已 08/11 09:37
→ danny8376: 至於安全性喔 遇到別人能寫自己目錄 我想這安全性本身. 08/11 09:38
→ danny8376: 要不自己權限亂設 要不有root的在搞你 前者自己問題 08/11 09:39
→ danny8376: 後者是要論什麼安全性(笑 08/11 09:39
→ bitlife: 樓上忘了group這個權限.不是只有owner和all這兩級 08/13 08:56