Linux 시스템에 애플리케이션 및 사용자 파일 배치

Linux 시스템에 애플리케이션 및 사용자 파일 배치

다음을 어느 디렉토리에 넣어야 합니까?
나는 소수의 .net 어셈블리, 기본 데이터베이스(기본 응용 프로그램 설정 포함), 100개의 이미지 디렉터리, 사운드 디렉터리(예: mp3)가 포함된 응용 프로그램을 가지고 있습니다.

예를 들어

somedir/myapp.exe  
somedir/myassembly1.dll  
somedir/myassembly2.dll  

somedir/images/1/image1.png  
somedir/images/1/image2.png  
somedir/images/2/image1.png  

somedir/sounds/1/sound1.mp3  
somedir/sounds/1/sound2.mp3  
somedir/sounds/2/sound1.mp3  

한 가지 요구 사항은 사용자가 적합하다고 생각하는 대로 사운드와 이미지를 바꿀 수 있도록 허용하는 것입니다. 따라서 기본적으로 경로(예: /var또는 /usr)에는 일반 사용자에 대한 쓰기 액세스 권한이 있어야 합니다.

답변1

사용자가 응용 프로그램을 수정해야 하는 경우 시스템에 설치하지 말고 사용자 홈 폴더에 일종의 로컬 설치를 수행하도록 해야 합니다. $HOME/yourapp/{bin,images,sounds}등.

대부분의 시스템 경로(예: /var, /usr)는 사용자가 쓰기 액세스할 수 없으며 허용해서는 안 됩니다.

또 다른 접근 방식은 앱을 정상적으로 설치하되 시스템 기본값과 다른 사용자가 변경하는 모든 내용을 포함하는 $HOME/.yourapp에 오버레이를 만드는 것입니다.

답변2

당신은 따라갈 수 있습니다XDG 기본 디렉토리 사양사용자가 대체할 수 있는 콘텐츠를 디렉토리에 저장 $XDG_DATA_HOME하고 모든 사용자 프로필을 디렉토리에 저장합니다 $XDG_CONFIG_HOME(기본값은 각각 $HOME/.local/share/및 입니다 $HOME/.config/).

이것이 표준이라고 할 수 있을지는 모르겠지만 확실히 대중성이 있어서 사용자들이 익숙할 수도 있을 것 같습니다.

관련 정보