2012-09-28 226 views
0

我想將我的配置文件夾移動到我的debian服務器,並將其存儲在一個看起來最明智和最合理的地方。我被傾倒在家裏的一切,但現在它看起來像這樣:在哪裏存儲配置

軟件:/opt/
Web文件:/var/www

不過,我有我的軟件配置文件夾移動到的位置在服務器上,這樣它們能夠被符號鏈接到正確的位置。其中這些似乎是最所在地的地方要做到這一點:

/home/configs
/var/cfgs
或者其他?

很抱歉,如果這似乎迂腐,但你知道他們說什麼,沒有的一切,一切都各就各位的地方;)

回答

2

根據FHS,我建議使用/etc,這是放置主機特定系統範圍配置的地方。

這裏假定配置用於服務器應用程序(而不是由人類用戶運行的應用程序)。

例如我運行的Zope,其配置文件的多個實例

/etc/zope/instanceA/ 
/etc/zope/instanceB/ 
/etc/zope/test/ 
1

這是一個味道的東西......你的機器上的唯一用戶?
如果是這樣沒關係,你可以把所有東西放在家裏。

如果是服務器,則必須確保您的config目錄具有正確的訪問權限 。所以$ HOME不合適。

還有一件事,如果是Debian機器,請將/var/www放在它的位置。這就是許多Web相關軟件包安裝的地方。如果您開始移動,那麼稍後在升級這些軟件包時可能會遇到問題。

爲每個軟件創建一個用戶也是一件有趣的事情...我假設這些服務用戶不會登錄,因此沒有真正的目的甚至將它們設置爲$ HOME。我甚至會將它們設置爲nologin作爲安全手段,如果這些軟件可以從其他機器訪問,並且希望避免某些人損害這些用戶。

+0

我正在爲服務器上的每個主要軟件安裝創建一個用戶,因此只有一個用戶。所以,在這一點上,我確信我應該把網站放在www中,我不應該把代碼放在家中,但我留下了問題,我應該在哪裏放置它? –

+1

@JamesWillson,我添加了一些關於您添加的信息的註釋。 – Oz123

+0

我很欣賞你的額外評論,我很樂意給你答案,但我仍然不確定我的配置應該去哪裏。 –

0

系統配置文件絕不應該在用戶的主目錄。太容易闖入,或者錯誤修改,不恰當地更改權限。

/etc在您管理多個系統時會出現問題。最佳實踐:將副本保存在另一個目錄中,並根據需要通過scp推送到所有適當的系統。

如果你的軟件包沒有被系統軟件包管理器管理,這也變得很困難,例如,從源代碼安裝。如果您有多個版本的軟件正在運行,則會增加困難。

隨着系統的數量和類型以及軟件包和版本數量的增加,管理變得越來越複雜。對於一臺機器,用戶很少,在/ etc中配置就沒有問題。

對於一個反例:考慮如果您自定義您的foo安裝。假設這是你的發行版提供的一個包,但是你需要一個不同的版本。

在默認位置安裝配置文件可能會導致它在下次系統升級時被破壞。 (可能與你在/ usr/bin中的修改版一起)

一個常見的做法是讓你添加/修改的東西與系統文件樹完全分開。 當我是一名執業系統管理員時,我將所有特殊的東西都存放在/ opt中。

/opt 
/opt/bin 
/opt/sbin 
/opt/usr/bin 
/opt/usr/sbin 
/opt/man 
/opt/etc 

這使東西出來的系統的方式,但它並不總是很清楚哪些文件屬於哪個包。

具有許多可執行文件和手冊頁的軟件包可能會獲得自己的目錄。 Netpbm和ImageMagic,gnu utils,perl(模塊)都是很好的例子。這會爲目錄樹添加一個級別。

/opt/misc/bin #Contained anything that was one program, one man page 
/opt/netpbm_2.1/bin 
/opt/imagemagick_3.2/... 
/opt/gnu_1.1/... 

以及所有其他目錄。如全套的/ opt/{包版本}/{料| sbin目錄|人|等| VAR}

This is especially true for packages where you need to keep multiple versions. e.g. 

/opt/perl4.023... 
/opt/perl5.8... 

保持大包單獨樹木使得切換容易 - 一個背出了一個不好的變化快。在大多數情況下,您將保持用戶默認路徑中的符號鏈接指向實際的二進制文件。例如。/usr/bin/perl - > /opt/perl5.8/bin/perl。這裏的良好做法是留下具體版本的鏈接。例如/ usr/bin/perl4 - > /opt/perl4.023/bin/perl

在某些地方,您有多種體系結構可供處理。 (我有11個Unix變種一個地方...)這又級別添加到樹:

/opt/hpux/... 
/opt/irix/... 
/opt/sysv/... 
/opt/solaris/... 

我一般只維持在NFS文件共享的方式,和當地拷貝到個別機器製造。

複雜層次結構的優點是易於維護。如果/ opt/apache包含所有二進制文件,手冊頁和配置文件,那麼如果您決定更改爲lighttpd,那麼最終不會讓lighttpd與Apache的配置文件混淆。 (兩者都稱爲httpd.conf)

這也意味着當您嘗試一個包並將其刪除時,您不會在這裏和那裏留下一堆垃圾。

通常,您不希望應用程序的數據駐留在其/ opt /應用程序樹中。

有缺點:

  • 如果配置文件和VAR可以從/選擇分離,那麼可以只讀除了升級/ opt中。這可以簡化備份。

  • 這樣做的一個副作用是可執行路徑維護的問題。保留系統範圍的點文件(.cshrc,.tcshrc,.bashrc),以便進行必要的路徑更改,以便大部分用戶不知道更改。這些文件來自它們的默認點文件。

相關問題