설치 프로세스의 일부로 필요한 폴더를 만들거나 액세스 권한이있는 폴더 (사용자 홈 및 임시 폴더)로 IO를 제한해야합니다. Linux에는 많은 폴더를 배치해야하는 표준 위치가 있으며 관리자는 이러한 표준을 따르지 않는 응용 프로그램을 싫어할 수 있습니다.
어떤 목적으로 필요한 파일/폴더를 알 수 있습니까?
문제의 원인은 Windows와 Linux 간의 경로 구분 기호의 차이입니다. 리눅스에서는 보통의 슬래시를 사용해야합니다. 의 \는 경로 구분 기호가 아니라 이스케이프 문자는 권한이없는 폴더/집에있는 파일을 만들려고함에 따라
/home/javier\marauroa.trace.db
:이 오류는 경로를 언급하고있다.
경로는해야한다 :
이
/home/javier/marauroa.trace.db
당신은 .yourappname 그럼라는 하위 폴더에 앱에서 파일을 두는 것을 고려할 수 있습니다
는이 많은 유닉스 응용 프로그램을 할 것입니다
/home/javier/.yourappname/marauroa.trace.db
될 것 일반 파일 목록에서 숨 깁니다. 응용 프로그램이 다음과 같은 정적 필드를 사용 할 수 있습니다에서 실행중인 시스템에 대한 경로 구분자 얻으려면 : 당신은 당신이 사용자 디렉토리에 만드는 절대적으로 확신,
java.io.File.seperator
당신이 우리에게 스택 트레이스를 줄 수는이 진짜 사용자입니다 ? 스크립트에서 sudo 명령을 사용할 수 있고 권한 할당을 할 수있는 것처럼 사용자를 전환하는 직접적인 방법은 없지만 암호를 제공하고 사용자에게 권한을 부여한다고 가정해야합니다. – vickirk
우분투 컴퓨터로 집에 돌아 왔을 때 스택 추적을 추가 할 것입니다. user.home 속성을 사용하여 폴더에 접근하기 때문에 실제 사용자를 알 수 있습니다. 또한 응용 프로그램이 시작될 때 다른 폴더와 파일이 만들어집니다. – javydreamercsw
죄송합니다. 실제 사용자가 실제 사람이 아니라 아파치 나 오라클 같은 서비스를 말한 사용자가 아닙니다. – vickirk