iT邦幫忙

1

Linux 上架系統,檔案放置位置。

  • 分享至 

  • xImage

我是資深菜鳥工程師,這次來問一下大家對於在 Linux 上開發系統時,檔案放置位置的想法。

或許是我死腦筋,一直認為 /etc 跟 /usr 是放「作業系統」相關的檔案,若是真有什麼其他的檔案,我會選擇放在 /opt 底下,不知道各位先進及高手對於檔案放置的位置有沒有什麼想法?

主要是因為最近有廠商要置系統,他們寫到要把資料放到 /usr 目錄下,就算建議他們改放在 /opt 底下,無視,所以真的是我太死腦筋了嗎?

謝謝!

看更多先前的討論...收起先前的討論...
DennisLu iT邦好手 1 級 ‧ 2024-08-09 15:21:07 檢舉
/etc 跟 /usr 是放「作業系統」相關的檔案

/etc 放系統全域設定相關與各服務的設定檔
/usr 是放用戶程序可以使用部分,指令與相關資源
假設他們產品就是用的程式編譯設置預設就是放在這裡也固定起來也很常見,很難為了你一個客戶去特別變動與測試,可能還要特別為你產生你家專用的SOP來來處理你們的事情。
有例外...通常就是這個客戶給特別多錢給到公司要跪舔的程度...你叫他翻跟斗學狗叫都可以(開玩笑地~只是誇飾用詞)

但是程式產生的資料紀錄,那就是運行軟體中的設置,要看他們是不是也是寫死的。
有些產品是放在/var下,其實可能是原生套件的預設值。

有些用Linux當產品的公司,本身不見得全體上上下下真的熟悉Linux...基層也只能照開發弄出來能跑的東西去部屬到客戶端,客戶說要改什麼OS部屬上的細節,並沒有這麼容易。寫程式的也只是負責把程式寫出來,但是不見得很熟Linux喔...看夠多,可能還看過更奇怪的放置路徑...

有些狀況是 都不用系統的預設分割區路徑,
直接獨立一個分割區 獨立目錄 /xxxx 在上面運作的喔~
在管理維運策略上都有理由。
BKY iT邦好手 1 級 ‧ 2024-08-09 15:22:06 檢舉
每一家廠商有他們自己習慣的資料放置位置
也許他們內部路徑都是寫死的
當然沒辦法你說要改就改
放哪裡並沒有一個絕對該怎麼放
那只是一個普遍的共識而已
一般來說 /etc 會放 config 相關的 不限於"作業系統"使用
/usr 除了放 binary 能不能放 config 當然也是有人這樣做

自己下個 command 看看就知道 sudo find /usr | grep "\.conf"


要求廠商改路徑 是我也不會理你
不只麻煩(code 可能要動 廠商文件要全改 習慣也要改)
而且也沒說你那樣是對的
試想你是廠商
可能會有
A user 說幫我改放 /etc/
B user 說幫我改放 /opt/app/etc/
C user 說幫我改放 /usr/
D user 說幫我改放 /home/app/.conf
...


你去看看其他軟體 大部分路徑都是 hardcode
這樣有統一路徑在全世界使用才不容易出事
而且大家標準也都不一樣喔
canchang iT邦新手 3 級 ‧ 2024-10-02 11:38:35 檢舉
謝謝各位的回覆,看來要更新一下自己的想法、觀念跟心態了。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
1
Ray
iT邦大神 1 級 ‧ 2024-08-09 15:52:10

來這裡問大家的用意(目的)是......?
(若單純是求知, 那就不用看下面了)

我們說你不對:
你摸摸鼻子, 回去不爽, 也不想改; 就算改了, 心裡也是個疙瘩...

我們說你很對:
你有辦法拿我們的回答, 去跟廠商正面對抗嗎?
你叫廠商改, 人家兩手一攤不做了, 誰要扛責任?

我在大型組織內也常遇到這樣的情境: 工程師很堅持要在同溫層得到「專業正義」, 但當他得到正義方的支持之後, 請她走出同溫層, 去進行商業溝通的時候, 又通通縮回去了....

這樣, 你堅持來的正義, 要如何伸張到對方的領域去?


回到這題來, 如果你在這裡得到的答案, 是建議:
只能放 /opt, 不可放 /usr 的話

若我是廠商, 第一個會跳出來問:
1.這是誰說的?
2.誰有權決定?

我會把球拋到此案的 Owner 身上, 這時候要看你們的場景中, 誰是 Project Owner (PO)? 這個 Owner 是不是願意支持你的決策? 我能不能對 Owner 施壓, 做出對我有利的決定?

如果商業施壓的成本, 低於我(廠商)修改路徑的成本, 我就會選擇走施壓這條路.

一萬個網友說應該要左轉, 負責此案的 PO 仍然可以右轉, 因為扛責的是他, 不是網友.

canchang iT邦新手 3 級 ‧ 2024-10-02 11:33:31 檢舉

謝謝大神的回覆,終於在颱風假不偷懶來回覆。
我會來發問,除了求知外,也看看找不找得到「同溫層」,因為自己的腦筋沒有那麼靈活,有時候會轉不過來,不過,就算有同溫層,我也會停在「原來我想的沒有錯」這裡,不會再去找廠商或是承辦人說這件事,畢竟最後擔責的人不是我,雖然最後如果有鍋要揹的話應該是我。
再次感謝提醒,雖然來得有點晚。

0

我可以給你一些觀念
usr 這個目錄很萬能的。
但其實這個目錄放的就是非主核心安裝、外加的套件軟體等等。
都會放在這個目錄上。

所以一整套跟其有關的套件,都會放在這裏。
其也可能會包含資料等相關數據。

像某些 mysql 的 data 有些套裝也是直接放在 usr/mysql/data 內的。

雖然不能說你的觀點是錯的,但其實也是不能說你對。

一般資料化的東西。不是在 var 就是在 usr 內。這點很正常。
至於你說的opt。理論上來說。資料是不該放在這裏的才對。

opt理論上來說,很像是 usr 的延伸體的東西。
所以說要放data相關的東西在這也還沒關係。
但單純純data直接放 opt 上其實也不太對。
它是要有附屬的特性才會將資料放到 opt 上的。

opt的東西,會比較偏向為給某一個主應用的附屬應用來放的。
如早期的PHP多版本的應用。大多都是放到 opt 上。
而var上還是會有一個主PHP。

有點離題了。
總之,廠商將資料放到 usr 上,其實是沒毛病的。
之前 mysql 也是放在這裏啊。

但如果你看不慣,你可以用連結特性去做轉向不就好了。

canchang iT邦新手 3 級 ‧ 2024-10-02 11:39:18 檢舉

謝謝回覆,看來要更新一下自己的想法、觀念跟心態了。

0
打雜工
iT邦研究生 1 級 ‧ 2024-08-19 13:49:09

有需要這麼堅持嗎?
我會關注其它更重要的事項,如:系統功能、穩定度、備(份)援、資安防護...等等。
真的沒東西可以搞了,才會來討論這部分。

canchang iT邦新手 3 級 ‧ 2024-10-02 11:37:25 檢舉

是沒有一定要那麼堅持啦!所以問問看是否我太死腦筋了。
你提的東西,都有各自的分工,然後目前在這邊的工作基本的調性是「多一事不如少一事」的情況下,除非客戶要求的,不會去碰,因為搞不好最後客戶要,但是公司沒支援、沒有公司支援。
謝謝回覆。

我要發表回答

立即登入回答