2014-10-10 93 views
0

我有一個Python腳本,其中make install(默認爲/usr/local/lib/python2.7/dist-packages/)選項可用。但腳本在腳本正常使用期間也會生成帶有用戶特定可變數據的文件。在我看來,我不應該將編譯的腳本文件與數據結合在一起。在這種情況下,傳統的默認存儲軟件數據的地方是什麼?在哪裏存儲由linux軟件生成的數據文件?

+1

正常使用軟件期間在運行時生成的數據,還是在'make install'時間安裝的數據? – hobbs 2014-10-10 05:31:33

+0

正常使用該軟件 – 2014-10-10 05:36:05

+0

我認爲'這取決於'。用戶是否需要控制數據?許多程序使用用戶的主目錄。屬於不顯眼用戶的數據可以進入用戶主目錄的虛線子目錄。系統級的數據存儲,例如mySQL數據庫服務器保存在文件中的數據,通常位於/ var/lib的子目錄中 – Paul 2014-10-10 05:39:07

回答

3

Filesystem Hierarchy Standard總結:

不可變的結構無關的數據應在/usr/share/usr/local/share去。如果它是用戶特定的(XDG這裏提供了更多指導),或者在/var(如果它是系統範圍的)(它通常需要一個組擁有的目錄和文件以及一個setgid應用程序以允許寫入到共享文件)。

/usr/share/usr/local/share通常具有有點鏡像的結構/usr/lib/usr/local/lib;我不知道Python,但Perl有一個模塊File::ShareDir,它幫助模塊安裝和訪問與模塊安裝目錄相對應的共享目錄中的數據。

並且不要忘記其他選項:只需詢問用戶數據應該在哪裏。

+0

在哪個階段,您會建議詢問用戶?在'make install'或啓動?我應該問可選嗎?它是用戶特定的可變數據大小寫。 – 2014-10-10 06:36:21