묻고답하기
첨부파일 다운로드시 깨지는 현상
2009.10.13 09:53
이번에 서버를 이전하기 위해서 아래 방법으로 백업 / 복구를 진행 했습니다.
기존 서버 - 리눅스 - mysql 언어셋 euc_kr
데이터 백업은 tar cvf xe.tgz ./xe 이런식
그리고 db 백업은 프론트 프로그램에서 utf8로 변경 백업 (로컬 db에서 직접 언어셋 utf8로 지정해서도 했습니다)
이전 서버 - 윈도우 2003 - APMsetup6 설치
DB 복구시 utf8 확인
xe 백업 파일 압축 풀고
도메인 접속 후 로그인 - 관리자 페이지에서 캐시 파일 재 생성
1. 증상 기존에 업로드 되어 있는 첨부 파일 다운로드는 가능하나 실제 파일을 열거나 실행할 수 없습니다.
예) 엑셀 파일을 실행하면 테이블 내용이 없다고 복구할 것이냐고 물어보고 예 선택하면 아무 데이터 없는 파일만 보임.
실 데이터 사이즈는 이상없음.
실행 파일의 경우에도 용량은 이상 없으나 정상적인 파일로 인식하지 못함.
2. 이전 후 작성 한 글의 첨부 파일은 정상적으로 다운로드 실행 / 파일 열기 가능.
DB 언어셋 문제인가 해서 몇번을 해봐도 마찬가지고.
혹 FTP (UTF8 강제 설정 - 파일질라)로 될까해서 받아봤지만 역시 같은 현상.
결국 다시 리눅스로 돌아가야 하는 걸까요..
추가로 phpmyadmin 등에서 xe_files 에 등록된 첨부 파일은 한글 잘 보이고 첨부파일에도 표시 정상입니다.
이미지 파일은 잘 출력됩니다.
댓글 3
-
Gekkou
2009.10.13 10:10
-
자꾸땀흘러
2009.10.13 10:30
Gekkou 님
답변 감사합니다.
말씀 하신 방법은 시간과 노력이 많이 들것 같습니다..^^
다른 응용프로그램 때문에 2003 서버로 갈아탈려고 한것인데 이거 생각보다 일이 힘들게 생겼습니다.
리눅스로 다시 설치하는게 아무래도 이런 문제에서 벗어날수 있는 길이지 않을까 싶습니다.
백업한 압축 파일은 전혀 풀리지 않았고(압축 풀리다가 에러나고요 crc) 그리고 FTP도 마찬가지로 파일 다운로드는 가능했으나 /binary/ 파일에서 문제가 발생했습니다.
이전 후에 작성한 문서는 이상없이 잘 불러와지는걸로 봐서는 말씀 하신대로 이전 과정 중에 파일에 대한 변조가 있었던게 아닐까 싶습니다.
-
Gekkou
2009.10.13 10:42
리눅스를 쓸줄 아시니, 생각보다 그리 어렵지 않으실꺼에요. ^ㅡ^ Vbox 로 리눅스 설치하여 게스트 확장 설치하는데에 1시간이 채 안걸립니다~
엑셀 파일 외에 압축파일도 깨지는지 확인해보십시오.
언급하신 정황만으로도 추측이 가능합니다만,
이에 더해 압축파일의 압축 해제시 CRC오류를 뱉어낸다면,
DB문제라기 보다는 files -> attache -> binaries 폴더의 문제입니다.
리눅스OS 에서 압축한 파일을 윈도우상에서 압축해제 할 경우,
압축파일과 일부 실행파일, 그리고 한글명의 이미지파일은 모두 깨집니다.
알집 외에 7-zip, winRar 등을 사용하여 테스트 해보았으나
모두 실패했습니다.
또한 files -> attache -> binaries 에 있는 첨부파일들을 FTP 로 내려받아도
역시나 깨집니다. 암호화 된 파일이 FTP 전송과정에서 변형을 일으키는것 같습니다.
해결방법이 한가지 있습니다. 제가 썼던 방법이기도 한데, 약간 복잡합니다.
1. 윈도우2003 에 Virtual Box (무료 가상머신) 를 설치합니다.
2. Virbual Box 로 가상머신을 띄우고 CentOS 나 우분투 등의 리눅스를 설치합니다.
--> 위 두가지 부분은 네이버 등에서 검색하시면 금방 아실겁니다. 네이버에서 "버추얼박스 CentOS (혹은 우분투)" 로 검색하시면
쉽게 설치과정을 알 수 있습니다.
--> http://www.lug.or.kr/home/bbs/board.php?bo_table=centos_book&wr_id=6&sca=&sfl=wr_subject%7C%7Cwr_content&stx=%EC%84%9C%EB%B2%84&sop=and&page=3#bbs 를 참고하세요.
--> 리눅스는 오픈소스로 공짜프로그램입니다. 따라서, 인터넷 상에서 쉽게 iso 파일을 다운받을 수 있을겁니다.
--> 단순히 윈도우2003으로 서버 이전을 위해 사용하는 것이라면 우분투를 사용하세요.
3. 윈도우2003 (이하 호스트) 와 가상머신상의 리눅스(이하 게스트) 를 서로 연결해야 합니다. 게스트 확장을 설치해야 합니다.
- http://blog.naver.com/pointer98/150067412362 를 참고하세요.
4. 공유폴더를 설정하여 호스트와 게스트를 연결합니다.
- 이 방법을 참고하면 쉽습니다: http://blog.naver.com/virus127?Redirect=Log&logNo=150030818328
5. 리눅스에 호스트의 공유폴더를 마운트 제대로 하였다면, 리눅스 상에서 윈도우에 설치한 APM/htdocs 폴더에 접근할 수 있습니다.
6. 이 상태에서 리눅스에서 리눅스 용어 tar xvfpz 등으로 압축파일을 해제하세요.
위와 같은 방법으로 하면 한글명의 이미지파일 뿐만 아니라, 압축파일, 엑셀 파일 등의 첨부파일을 정상적으로 사용할 수 있습니다.