[마이클라우드] 2. 마이클라우드 시놀로지 OS 치명적인 오류 해결방법
2017/04/14 - [IT이야기/IT기기] - [마이클라우드] 1. 마이클라우드에 시놀로지 OS를 사용하는 방법
! 해당 포스팅을 읽기 전 반드시 위의 포스팅을 정독해주시기 바랍니다.
어떤 오류가 발생하나요? |
지난 번 포스팅에서 말씀드렸다시피 마이클라우드에 포팅되는 시놀로지OS는 안정성 면에서 한 가지
큰 문제를 갖고있습니다. 바로 OS 포팅 이 후 약 12시간이 지나면 특정파일이 손상되면서 아예 먹통이 되는
현상입니다. 대쉬보드, SSH 모두 접속이 불가능해지며 텔넷만 접속이 가능해지는데 이는 안정성이 가장
중요한 NAS에서 치명적인 문제입니다. 그렇기 때문에 그대로 사용하기엔 큰 지장이 따르는데요.
이러한 문제에 대해서 개발자 Fox_exe 인지하고 있지만 아직까지 픽스된 펌웨어는 나오지 않았습니다.
따라서 이번 포스팅에서는 이러한 치명적 문제를 임시적으로 해결, 예방 하는 방법에 대해 다룰 예정입니다.
손상 되는 파일은? |
!!! WARNING !!! Its a "Beta" version of DSM, and "Alpha" of Firmware itself. Its have some bugs. But one "Bug" is really important: Sometime few lib (.so files) was "damaged" and system cant run normally. (Random bugs). I found one source of this problems: /usr/lib/libfileindex.so /usr/lib/libsynopkg.so /usr/lib/libsynoshare.so /usr/lib/libsynostoragemgmt.so All this files have overwritten first 1600 byte of data, so these files can't be read / can't work. And almost all in DSM can't work too, because its "core lib's" |
위의 4가지 so 파일은 핵심적인 파일로써 손상되면 시놀로지 OS의 정상작동이 불가한 파일입니다.
파일이 손상되는 원인은 정확히 밝혀진 것은 없으나 Fox_exe는 커널의 문제라고 추측했습니다.
또한 사용자들의 경험담에 의하면 파일이 손상되는 주기가 약 12시간 간격이라고 알려져있습니다.
어떤 방법으로 해결이 가능할까? |
가장 원시적인 방법으로 손상된 파일을 새로운 파일로 교체하는 방법을 사용할 예정입니다.
방법이 어렵지 않고 간단하기 때문에 차근차근 따라한다면 매우 쉽게 이용이 가능합니다.
준비물 |
원본파일은 지난 번 포스팅에서 다운로드 받은 DSM-wdmc-gen2-8451.pat 안에 존재합니다.
이를 반디집, 알집 등의 압축프로그램으로 연결하여 압축을 해제합니다.
압축해제 후에 여러개의 파일이 보이는데 여기서 제가 사용할 파일은 hda1.tgz 파일입니다.
마찬가지로 hda1.tgz 파일을 압축프로그램으로 연결하여 압축해제합니다.
(압축해제시 발생하는 오류는 "예"를 눌러서 건너 뛰시면 됩니다.)
압축해제 후 hda1 / usr / lib 폴더로 이동하여 위에 보이는 4가지 파일을 복사하여 다른 폴더로 옮겨 놓습니다.
* 손상되는 파일과 복사해야 할 파일이 다릅니다! 손상되는 파일은 심볼릭링크 파일로써 바로가기와 같은 파일입니다.
따라서 아래의 표에서 오른쪽에 위치한 파일을 복사해야 합니다.
손상되는 파일 |
복사해야 할 파일 |
libfileindex.so |
libfileindex.so.6.0 |
libsynopkg.so |
libsynopkg.so.1 |
libsynoshare.so |
libsynoshare.so.6 |
libsynostoragemgmt.so | libsynostoragemgmt.so |
1) 폴더만들기 |
저의 경우는 lib 이라는 공유폴더를 생성하였습니다.
이 후 위의 단계에서 준비했던 4가지의 원본 so파일을 lib 폴더로 업로드 합니다.
2) 스크립트 작성 |
설치하여 실행합니다.
텍스트편집기에서 새로만들기를 눌러 새로운 문서편집을 시작합니다.
새로운 문서에 아래와 같은 스크립트를 붙여넣기합니다.
#!/bin/sh cp /volume1/lib/libsynopkg.so.1 /usr/lib/libsynopkg.so.1 cp /volume1/lib/libfileindex.so.6.0 /usr/lib/libfileindex.so.6.0 cp /volume1/lib/libsynoshare.so.6 /usr/lib/libsynoshare.so.6 cp /volume1/lib/libsynostoragemgmt.so /usr/lib/libsynostoragemgmt.so reboot |
저장 버튼을 누른 후 파일 명을 "lib.sh" 파일유형을 "모든 파일"로 설정한 후 마찬가지로 lib폴더에 저장합니다.
lib.sh 파일을 마우스 오른쪽으로 클릭하여 속성으로 진입 합니다.
권한탭으로 이동하여 아래와 같이 실행권한을 부여합니다.
3) 작업스케줄러 작성 |
작업 스케줄러는 제어판에서 진입할 수 있습니다.
작업 스케줄러에서 생성->예약된 작업->사용자 정의 스크립트로 진입합니다.
일반 탭에서 사용자를 root로 선택합니다.
스케줄 탭에서 "매일" 실행, 주기는 매 12시간으로 설정하며 시간은 평소 본인이 잘 사용하지 않는 시간대로 설정합니다.
(스크립트에 재부팅이 포함되어 있으며 재부팅 시간이 약 4분이 걸리기 때문에 새벽이나 오전 시간대를 추천드립니다.)
작업 설정 탭에서 실행명령에 아래와 같이 입력 후 저장합니다.
/volume1/lib/lib.sh |
여기까지 진행되었다면 시놀로지 작업스케줄러는 사용자가 설정한 시간에 스크립트를 작동해 손상된 so 파일 위에
lib 폴더 내부에 존재하는 원본 so 파일을 덮어씌우게 됩니다.
또한 해당 스크립트의 정상 작동여부를 확인 하려면 로그로 이동하여 재부팅 내용을 확인하거나 winscp을 통해
4개의 so 파일 최근 수정 시간대를 확인하시면 스크립트 정상작동 유무를 알 수 있습니다.
후기 |
'IT이야기 > IT정보' 카테고리의 다른 글
[Plex] 1. 나만의 미디어 라이브러리 "Plex" 설치하기 (0) | 2017.06.29 |
---|---|
[마이클라우드] 3. 시놀로지를 RSS로 편리하게 이용하는 방법 (2) | 2017.06.26 |
[마이클라우드] 1. 마이클라우드에 시놀로지 OS를 사용하는 방법 (7) | 2017.04.14 |
디씨인사이드, 애드블럭 차단을 뚫는 방법은? (0) | 2017.04.14 |
구글 크롬, 스크롤이 멈추는 현상 해결방법은? (2) | 2017.04.14 |