2024년 3월 6일 수요일

CentOS 7 - Subversion - hooks

 pre-revprop-change.



잘못 작성된 로그 메세지를 수정하고 싶었다.



1. hooks 경로에 pre-revprop-change 파일을 생성해 준다.







2. 하지만...




   255 에러는 pre-revprop-change를 실행할 수 없는 경우에 해당한다.
   분명히 파일이 존재하고 실행 권한을 주었음에도...

3. 다시 SELinux


   /var/log/audit/audit.log 파일을 보면 다음과 같은 에러 메세지가 보인다.

   
1
type=AVC msg=audit(1709713871.470:18248): avc:  denied  { execute } for  pid=24633 comm="svnserve" name="pre-revprop-change"
cs

   하지만, 이번엔 audit2allow 도구도 크게 도움이 되지 않는다.



   저걸 허용해 주라는 얘기인데 getsebool에는 없다.

4. 해결 방법.


   거두절미 다 생략하고 해결 방법만 정리해 보면.

   
1
2
3
grep svnserve /var/log/audit/audit.log |audit2allow -M selinux_svnserve
 
semodule -i selinux_svnserve.pp
cs


5. 그럼에도 불구하고 안된다.


   다음에 다시 해결해 보자. 

6. audit2why


   
1
audit2why < /var/log/audit/audit.log
cs

   특별히 뭘 더 한 것은 아니고 위 툴로 에러 확인 후 처음부터 다시 해 봤더니 된다.



2024년 2월 1일 목요일

Failed to update Android SDK package list.

Unity 안드로이드 빌드.


Unity 2021.3.34f1 LTS migration.


1. 설치.


   그냥 허브에서 하면 된다.

2. 빌드.


   글 제목과 같은 에러가 바로 발생.

3. 원인.


   구글 안드로이드 SDK 버그로 설치 경로에 공백이 들어간 경우 경로를 찾지 못해서.
   D:\Program Files\... 경로 아래에 설치되어 있어서.

4. 해결 방법.


   - 유니티를 다른 경로에 재설치한다. 예를 들면, \Unity\.
   - 혹은, cmdline-tools를 조금 수정한다.

5. cmdline-tools 수정.


   SDK 설치 경로의 sdkmanager.bat 파일을 열어서 다음 스크립트를 변경한다.


   set DEFAULT_JVM_OPTS=-Dcom.android.sdklib.toolsdir=%~dp0\..

   다음과 같이 

   set DEFAULT_JVM_OPTS="-Dcom.android.sdklib.toolsdir=%~dp0\.."

6. 참고 링크.