TortoiseSVN 사용 중 ‘xxx’ is not under version control 에러 처리

원인: 해당 파일 또는 폴더가 SVN 저장소에 없을 경우 발생함

해결 방법: .svn\wc.db 파일을 SQLite 툴에서 오픈한 다음 아래 쿼리 실행 (trunk/xxx_V8_R2/test 대신 에러가 발생한 파일의 경로를 넣어줌)

HAProxy 패키지 활용

시놀로지 나스에서 HAProxy 패키지를 사용하여 도메인으로 내부 여러 서버 또는 서비스를 쉽게 접속하는 방법입니다.

이 팁을 적용하면 아래와 같은 방식으로 나스의 각종 서비스에 접속할 수 있습니다.

https://photo.mydomain.com -> 포토스테이션

https://file.mydomain.com -> 파일스테이션

https://note.mydomain.com -> 노트스테이션

 

1. 지원 모델 확인

 

HAProxy 패키지를 설치할 수 있는 Architectures는 아래와 같습니다.

braswell armada38x x86 bromolow cedarview avoton 88f628x alpine alpine4k armada370 armada375 armadaxp comcerto2k evansport ppc853x qoriq monaco

위 아키텍처에 맞는 모델명은 아래 사이트에서 확인 바랍니다.

https://github.com/SynoCommunity/spksrc/wiki/Architecture-per-Synology-model

https://www.synology.com/en-us/knowledgebase/DSM/tutorial/General/What_kind_of_CPU_does_my_NAS_have

 

2. HAProxy 패키지 설치

 

패키지 센터를 실행한 후 “설정” 버튼을 눌러 “패키지 소스” 탭에서 아래 그림과 같이 소스를 추가합니다.

이름: SynoCommunity

위치: http://packages.synocommunity.com/

(더 보기…)

nas4dual에 chroot 설치하기

chroot를 설치하는 방법입니다.

 

chroot의 의미는 wikipedia에 아래와 같이 설명되어 있습니다.

유닉스 운영 체제에서 chroot는 현재 실행 중인 프로세스와 차일드 프로세스 그룹에서 루트 디렉터리를 변경하는 작업이다.

이렇게 수정된 환경에서 실행되는 프로그램은 지정된 디렉터리 트리 밖의 파일들의 이름을 지정할 수 없으므로(즉, 일반적으로는 접근이 불가능하므로) chroot 감옥으로 부른다.

나스 같은 환경에서는 특정 디렉토리에 리눅스(주로 데비안) 시스템 파일을 올려두고 그 디렉토리를 루트 디렉토리로 변경하여 기본 환경에 없는 각종 프로그램을 이용하는 목적으로 많이 사용합니다.

아래는  Arm 프로세서를 사용하는 라우트(RT-AC56U, RT-AC68U, RT-AC87U, RT-AC88U, RT-AC3200, RT-AC5300…)용으로 chroot를 설치하는 방법을 nas4dual에 맞게 수정한 것입니다.

원본은 아래 링크에서 확인할 수 있습니다.

https://www.hqt.ro/how-to-install-debian-jessie-arm/

 

준비 작업

아래 링크를 참고하여 entware를 설치합니다.

http://isulnara.com/wp/archives/1307

(더 보기…)

nas4daul에 Entware 설치

Entware란

– Entware is package repository for embedded devices. bootstrap과 비슷하다고 보면 됩니다. opkg 명령으로 각종 프로그램을 설치해서 실행할 수 있습니다.

https://github.com/Entware-ng/Entware-ng

 

설치 가능한 패키지 리스트는 아래 링크에서 확인 가능합니다.

http://pkg.entware.net/binaries/armv7/Packages.html

 

설치

 

 리부팅 후 /opt 심볼릭 링크를 자동 생성하고 entware 자동시작 스크립트 실행하는 방법

/etc/rc 스크립트가 리부팅하면 초기화 되어서 편법을 사용했습니다.

BubbleUPNPServer 플러그인을 설치하고 실행 후 아래의 스크립트에

/mnt/HDD1/@plugin/java/bubbleupnpserver/bubbleupnpserver_start.sh

다음처럼 두 번째 라인을 추가합니다.

세 번째 라인은 entware에 설치된 각종 시작 스트립트를 실행해주는 명령입니다.

 

자동 시작 스크립트에서 사용하는 툴을 설치하기 위해서 아래 명령을 한 번 내려줍니다.

 

패키지 설치는 아래처럼 하면 됩니다.

 

* Entware를 알려주신 KB님(http://isulnara.com/wp/archives/1152#comment-202542) 고맙습니다^^

NAS4DUAL에 톰캣 올리기

NAS4DUAL에 톰캣(tomcat)을 올려보았습니다.

 

NAS4DUAL에는 기본으로 java가 설치되어 있습니다.

java 설치 위치: /mnt/HDD1/@plugin/system/bin/java

 

아래 명령으로 톰캣을 다운로드하고 압축을 해제합다.

 

catalina.sh 파일에서 “# OS specific support”를 찾아서 바로 위에 JAVA_HOME 환경변수를 설정합니다.  이때 플러그인 폴더의 경로를 자신의 환경에 맞게 수정해야 됩니다.

catalina.sh 파일의 수정된 내용

 

이제 터미널에서 root 사용자로 전환하여 톰캣을 실행합니다. (java는 root 사용자로만 실행 가능함)

 

이제 톰캣이 구동되었습니다.

구글 홈용 Action – 미세먼지 상태 조회

구글 홈(Google Home)용 Action을 만들어봤습니다.

미세먼지 상태를 알려주는 Action입니다.

“Okay, Google” 후

“Weather in Korea”라고 하면 주소가 필요하다고 물어봅니다. 이때 Okay라고 하면 구글 홈의 위경도가 제가 만든 서버로 전송되고,

서버에서 구글 홈과 가장 가까운 위치에 있는 미세먼지 관측소를 찾아서 미세먼지 정보를 구한 다음 상태를 음성으로 알려줍니다.

주소 권한 요청은 처음에만 물어보고, 승인되면 구글 홈 사용자 계정의 고유 아이디와 가장 가까운 관측소의 정보를 서버에 저장하여, 그 다음부터는 바로 결과를 알려줍니다.

 

Action을 요청할 때 현재 임시로 “Weather in Korea”로 해두었는데.. 무엇으로 해야될지 고민이네요..

처음에는 Fine dust로 하려고 했는데.. 발음이 안좋아서인지.. fine과 dust를 엉뚱한 글자로 인식하네요. “Weather in Korea”는 대강 얘기해도 바로 알아 듣습니다.

동영상 보시면 알겠지만 발음 좋지 않아서 한 번에 동작되지 않는 경우가 좀 됩니다 ㅠ.ㅠ

 

현재 개발이 완료된 상태이며, 조만간 배포할 예정입니다.

구글에 배포 승인 받으려면 서비스 약관에 앱 이미지, 설명 등 준비해야될 게 좀 되네요..

 

* 배포되지 않은 상태에서는 실제 기기에서 몇 시간 동안만 테스트할 수 있습니다. 테스트 시간은 계속 연장 가능하나 계속 사용하려면 배포가 필수네요..

구글홈(Google Home) 구입

얼마전에 구글 홈을 할인 하길래 바로 구입($99)했습니다.
 VPN으로 미국에 접속해서 구글 계정을 만들어 주문했습니다.
 
아직은 명령은 영어로만 가능하지만..
발음이 좋지 않은 제가 대강 말해도 잘 알아 듣네요..
빨리 국내에 출시되어 우리말로 명령 내릴 수 있는 날이 왔으면 좋겠습니다.
 
나스와 연동해서 음성으로 여러 명령을 내려보려고 합니다. 
예를 들면.. 
– 토렌트에서 동영상 검색해서 다운로드
– 동영상 파일 이동
– 미디어 인덱스 갱신

Synology NAS DSM 5.x에서 Lets’ Encrypt SSL 인증서 발급/자동 갱신

DSM 5.x 또는 그 이하 버전에서 Lets’ Encrypt SSL 인증서를 발급받고 자동 갱신하는 방법을 설명합니다.

SSL 인증서 적용

참고로 DSM 6.0부터는 DSM 자체에 Lets’ Encrypt SSL 인증서를 발급받고 갱신하는 기능이 포함되어 있습니다.

공식 제공하는 Let’s Encrypt 클라이언트는 DSM 5.x에서는 정상 동작하지 않습니다. 그래서 다른 시스템을 이용하여 발급받아야 되는데요.. Lets’ Encrypt 인증서의 유효 기간이 90일이라서 만료 기간에 맞추어 인증서를 갱신하고 나스에 복사하는 작업이 쉽지 않습니다.

이 팁을 따라 하면 최초 한 번만 설치해두면 이후 자동으로 인증서를 갱신해줍니다.

(더 보기…)