레이블이 CentOS인 게시물을 표시합니다. 모든 게시물 표시
레이블이 CentOS인 게시물을 표시합니다. 모든 게시물 표시

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

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



2020년 3월 25일 수요일

CentOS 7 - Subversion 설치.

Subversion 설치하기.


7.x 버전에서 달라진 systemctl 및 firewall 때문에 정리.


1. Subversion 설치



  
yum install subversion
cs


2. Repository root 생성.


   Repository root로 사용할 경로를 생성한다.
  
  
mkdir -p /var/opt/svn/repositories/
cs


3. svnserve 설정 파일 수정.


  
vi /etc/sysconfig/svnserve
cs


  
# OPTIONS is used to pass command-line arguments to svnserve.
#
# Specify the repository location in -r parameter:
OPTIONS="--threads -r /var/opt/svn/repositories"
cs


4. Repository 설정.


   실제 프로젝트에 사용할 repository 설정은 똑같아서 생략합니다.
   authz, passwd, svnserve.conf 파일을 수정합니다.

5. Firewall 등록.


  
firewall-cmd --permanent --zone=public --add-port=3690/tcp
firewall-cmd --reload
cs


6. 서비스 등록 및 시작.


  
systemctl enable svnserve.service
systemctl start svnserve.service
cs


7. 하지만, 


   기대한 것과 다르게 정상적으로 repository에 접근할 수 없습니다.
   SELinux 관련 에러가 발생하고 로그를 확인해 보면 문제가 있음을 확인 가능합니다.


8. SELinux


   repositories 경로 권한 문제로 파일의 security context를 변경해야 합니다.


  
chcon -R -t svnserve_content_t /var/opt/svn/repositories
cs


  

2020년 1월 7일 화요일

Grafana & graphite 그리고 모니터링 #06.

CentOS 7.x 버전에 설치하기.

 

이전에 기록했던 CentOS 6.x 버전에 설치하기대로 설치가 안된다.

 

1. Docker 설치

 

  
1
yum install docker
cs


2. pip upgrade

 

  
1
pip install --upgrade pip
cs


3. Docker 설정 변경

 

   /etc/sysconfig/docker 파일에서 다음 그림과 같이 설정을 수정


4. Docker 시작하기.


  
1
2
3
systemctl enable docker.service
systemctl start docker.service
systemctl status docker.service
cs



5. Docker image build.

 

  
1
docker build -f ./Dockerfile --tag graphite:1.0 ./
cs



6. Rpmdb checksum is invalid: dCDPT(pkg checksums): libXext.x86_64 0:1.3.3-3.el7 - u


   하지만, 실패 ㅠㅠ



   여러가지 해결 방법이 존재한다.

7. 해결 방법

 

   제일 처음에 다음과 같이 Docker overlay fs 추가하거나,

  
1
RUN yum -y install yum-plugin-ovl
cs


   다른 방법으로

  
1
RUN yum install -y graphite-web;yum clean all
cs


   혹은

  
1
RUN rpm --rebuilddb && yum install -y graphite-web
cs



  

2019년 3월 18일 월요일

CentOS Single Mode.

갑자기 비밀 번호가 기억나지 않는다면 ...

 

1. 재부팅.

 

   일단 머신을 재부팅하고, 다음 화면이 진행될 때 재빠르게 키입력을 해야 한다.

  

   그럼 다음과 같은 화면이 나오는데 첫 번째 아이템이 선택된 상태에서
   'e' 키를 눌러 에디트 모드로 진입한다.

  

   그럼 다음과 같은 화면이 나오는데 2 번째 줄 kernel이 선택된 상태에서 다시 한번
   'e' 키를 눌러 에디트 모드로 진입한다.


   그럼 이제 다음과 같은 화면이 나오는데 그 상태에서 'single' 을 입력한다.


< single을 입력하기 전 >


  

< single을 입력 >

   single을 입력한 뒤 Enter를 치고 나면 다시 이전 화면으로 돌아온다.

  

   이제 'b' 를 입력해서 부팅을 시도한다.


2. 비밀 번호 재 설정.


   이제 다음과 같이 부팅이 끝나면 root 계정으로 로그인 된 것을 확인할 수 있다.

  

   이제 비밀 번호를 다시 설정하고 사용할 수 있다.
   다만, 이 과정은 머신에 콘솔로 직접 연결되어 있는 경우에만 가능한 방법이다.

3. 결론.


   귀찮으니 비밀 번호는 잊지 않게 잘 관리하자.