[펌] LDAP 설정

ldap서버-설치-및-user-group추가https://kubepia.github.io/cloudpak/cp4app/install/cp4app01.html#ldap%EC%84%9C%EB%B2%84-%EC%84%A4%EC%B9%98-%EB%B0%8F-user-group%EC%B6%94%EA%B0%80

  • ldap 연동관련 내용
    • BIND DN : 연동하기 전, 어드민으로 인증할 대상자 정보
    • BIND PWD : BIND DN 아이디의 패스워드
    • BASE DN : 연동할 아이디 목록 상위 정보
    • URL : ldap://url:port/
      • 389 : non-ssl
      • 636 : ssl



[펌] 흔들리는 도커(Docker)의 위상 – OCI와 CRI 중심으로 재편되는 컨테이너 생태계

https://www.samsungsds.com/kr/insights/docker.html




Custom Binary Blocked By FRP Lock 복구

자 아무리 재부팅을 해도 “Custom Binary Blocked By FRP Lock” 글자만 나오고 리커버리 모드도 안돼고, 새로 커널 덮어 씌울려해도 다운로드 모드 상태에서 FRP LOCK : ON 화면이 뜬다면 현재 OEM LOCK에 걸려 있는 상태다 .

이것은 개발자 옵션에서 OEM 잠금해제 기능이 비활성화  된 경우임. 복구후 활성화시키면 됨

방법 : 순정 펌웨어로 갱신한다.

오딘으로 순정펌을 복구한다. https://extsdd.tistory.com/73

SamFirm 프로그램으로 다운로드 받는다. https://rgy0409.tistory.com/3510

  1. 프로그램 다운로드
  2. 모델명과 통신사로 검색 (예. SM-A710L, SKC/KTC/LUC/KOO(자급제폰))
  3. 다운로드
  4. 압축해제 : 파일이 하나만 나오면 PDA로, 5개로 분할되면 각각 설정하여 오딘으로 복구



오딘 사용방법

1. 오딘(Odin) 이란

기본적으로 펌웨어를 핸드폰에 입히는 역할을 하는 윈도우용 프로그램입니다.

단, 제한 조건이 붙습니다. 모든 핸드폰에서 사용이 가능한 것이 아니라 갤럭시 계열의 폰에서만 사용이 가능합니다. 

2. 사용시 주의점

  • 다운 받으신 펌웨어나 롬/커널 파일의 기종 정보와 버전을 꼭 확인하시기 바랍니다. 다른기종의 펌웨어를 올릴 경우에는 돌이킬 수 없는 상태가 될 수 있습니다.
  • 배터리는 충분히 확보한 상태에서 진행하시기 바랍니다. 중간에 작업이 중단되어도 위험한 상황이 올 수 있습니다.

3. 절차

  • 전원+볼륨하+홈버튼을 동시에 누르고 있는다
  • 볼륨상 버튼을 눌러 다운로드 시작상태로 만든다.
  • 오딘을 실행한다. 위의 ID:COM 에 폰이 연결됨을 확인한다.
  • PDA 버튼을 눌러 해당 이미지를 선택한다.
  • 시작버튼을 누른다.



TWRP 리커버리 설치 방법

리커버리

안드로이드를 정상 부팅시키기 전에 여러가지 스크립트를 이용하여 폰을 조작할 수 있는 프로그램

TWRP 리커버리 개발팀 : http://teamw.in/project/twrp2

설치 순서

  1. 리커버리 파일 다운로드
    1. 각 폰에 맞는 파일 다운로드



갤럭시 A6 2017 루팅

루팅하기 위해 사전 준비 파일

A7 2016 / TWRP 3.2.1.0 리커버리 링크 : https://dl.twrp.me/a7xelte/twrp-3.2.1-0-a7xelte.img.tar.html

다운로드 링크 : https://sourceforge.net/projects/cesiumos/files/a7xelte/CesiumOS_a7xelte-9.0-20190913-1904-OFFICIAL.zip/download

사전 설정

  1. 내 디바이스 찾기 > 초기화 후 재사용 잠금 해제
  2. 개발자옵션 > 디버깅 허용
  3. 개발자옵션 > OEM 잠금 해제

루팅 순서

  1. 오딘으로 TWRP 리커버리를 올린다.
  2. TWRP 리커버리로 진입, 풀와입 후
  3. 추가 커널 설치없이(ROM안에 드림커널포함)
  4. 롬 ZIP파일을 플래싱 하고 설치모드로 진입해서
  5. 몇가지 설치옵션을 셀렉한 후 설치를 진행한다.



시놀로지 Audio Station에서 파일명으로 보는 방법

  • audio station 은 앨범별, 디스크, 트랙, 곡명으로 정렬, 재생된다. 이 경우, 멜론 등의 순위에 따른 재생이 어려워 진다.
  • 앨범명, 곡명을 변경하여 순위별 재생을 위해 아래의 작업을 진행한다.
  • 앨범명은 저장된 디렉토리명으로, 디스크는 1번으로 통일, 트랙은 곡명 소팅 순서로 변경한다.
  • 사전 준비사항
    • 패키지 센터에서 Python3 추가
    • PIP 설치
    • mutagen 설치 : python3 -m pip install mutagen
  • python 파일 작성 및 저장
import os
import sys
from mutagen.mp3 import EasyMP3
from mutagen.id3 import ID3, ID3NoHeaderError
import datetime

now = datetime.datetime.now()
print(now)

def changeMP3TagsInDir(dir):
    basename = os.path.basename(dir)
    changedCount = 0
    index = 1
    lst = sorted(os.listdir(dir))
    for file in lst:
        fullpath = os.path.join(dir, file)
        if os.path.isdir(fullpath):
            if file.lower().endswith("eadir"):
                continue
            changeMP3TagsInDir(fullpath)
        else:
            if file.lower().endswith(".mp3"):
                try:
                    tags = EasyMP3(fullpath)
                except ID3NoHeaderError:
                    tags = mutagen.File(fullpath, easy=True)
                    tags.add_tags(ID3=EasyID3)
                except UnicodeDecodeError:
                    pass

                if "album" in tags:
                    album = tags["album"][0]
                else:
                    album = ""

                index += 1

                # print("album = ", album, ", basename = ", basename)
                if album == basename:
                    continue

                tags["tracknumber"] = str(index)
                tags["discnumber"] = '1'
                tags["album"] = basename
                try:
                    tags.save()
                    changedCount += 1
                except:
                    print("could not save file "+file)

    print("MP3 tags change. dir=", dir, ", count=", changedCount)
    if changedCount > 0:
        # 색인 재설정
        # os.system("synoindex -R type_music &")
        # os.system("synoindex -A "+path+" &")
        os.system("synoindex -A '"+dir+"' &")

    return

if __name__ == "__main__":
    path = None
    if len(sys.argv) >= 2 and os.path.exists(sys.argv[1]):
        path = sys.argv[1]
    if path is not None and os.path.exists(path):
        changeMP3TagsInDir(path)
    else:
        print("Error: The path is incorrect (%s)" % path)
  • python 파일 배치 실행 등록
    • 실행명령어
      • export LANG=en_US.utf8
      • export PYTHONIOENCODING=UTF-8
      • python3 {python파일절대경로} “음악파일루트”
    • 제어판 > 작업 스케줄러 > 생성



Download Station 다운로드완료시 push 처리 방법

[참조] https://gabrielkim.tistory.com/entry/Synology-Download-Station%EC%97%90-Telegram-%EC%95%8C%EB%9E%8C-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0

  1. 다운로드 완료 후 실행될 스크립트 작성 (예. downloadComplete.sh)
    • 메시지 발송 url 및 파라메터는 로켓챗이나 텔레그램 push 방법을 참조바랍니다.

!/bin/sh

URL=”수신url”

function send_message {
res=$(/usr/bin/curl -H “Content-type:application/json” $URL -d “{\”text\”: \”Synology NAS DownloadStation : $TR_TORRENT_NAME download complete.\” }”)
}

send_message
/bin/psql -U postgres -d download -c “DELETE FROM Download_queue WHERE status IN (‘5′,’7′,’8’)”

  1. 쉘 스크립트 권한 변경
    • chmod 755 downloadComplete.sh
  2. download station 중지
  3. /var/packages/DownloadStation/scripts/start-stop-status 수정
    • settings.json 를 삭제하는 부분을 remark 처리 (맨 앞에 # 추가)
  4. /var/packages/DownloadStation/etc/download/settings.json, /usr/syno/etc/packages/DownloadStation/download/settings.json 수정
    • script-torrent-done-enabled 변경 : false -> true
    • script-torrent-done-filename 변경 : “” -> “스크립트 경로/downloadComplete.sh”
  5. /etc/postgresql/pg_hba.conf 수정
    • local   all             postgres                                peer map=pg_root => trust 로 변경
  6. postgresql 을 재시작
    • /usr/syno/etc.defaults/rc.sysv/pgsql.sh restart



토렌트봄 RSS 검색 기능 추가

다운로드 스테이션에 rss로 토렌트 사이트를 연결해 보자.

토렌트봄 RSS 검색 기능 추가 : https://sub0709.tistory.com/173




프로젝트별 SVN 백업/복원 방법

백업 : svnadmin dump 저장소명 | svndumpfilter include 프로젝트명 > 덤프파일명

  • 저장소명 확인 방법 : svn info svn전체경로
  • 프로젝트명 : svn 경로명 중 일부, 가급적 유일한 문자열 지정

복원 : svnadmin load 저장소명 < 덤프파일명

  • 증분백업 복원 시, 예전 버전 백업분 부터 복원시작
  • svnrdump 로 원격에서도 복원할 수 있음