묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
설치 실패 후 재시도시 files 폴더가..
2011.07.05 18:38
XE 설치 도중에 실패를 했습니다.
다 지우고 재시도 할 때에...
일단은 내용을 잘 모르겠어서...
1. 폴더에 파일들을 모두 삭제.
2. DB의 내용들을 모두 삭제.
3. 파일들 다시 밀어 넣기
로 진행하려 하는데...
첫 시도의 실행시에 작성된 files 디렉토리 내부의 내용들은 오너가 nobody라서 삭제가 힘듭니다.
그래서 질문 드립니다.
Q1. 저 files 디렉토리의 잔존 내용들을 안지우고 다시 설치해도 재설치에 무방한지요?
Q2. 제가 재설치시에, php 등의 기존 설피 파일들도 모두 삭제를 하고 있는데, 혹시 이것이 필요없는 과정인지요?
(즉, php 파일 부분은 보드가 동작하고 내용이 입력되어도 전혀 변경되는 부분이 없어서,
재설치 시도시에는 DB만 지우면 되는지요? - 처음 받아서 까는 순정 상태 기준에서 말입니다.)
Q3. DB도 마찬가지로 다 지우고 있는데, 선택적으로 이것이것만 지우고 재설치하면 되는 요령이 있는지도 궁금합니다.
읽어주셔서 감사합니다.
고수님들의 답변 기다리고 있겠습니다.
다 지우고 재시도 할 때에...
일단은 내용을 잘 모르겠어서...
1. 폴더에 파일들을 모두 삭제.
2. DB의 내용들을 모두 삭제.
3. 파일들 다시 밀어 넣기
로 진행하려 하는데...
첫 시도의 실행시에 작성된 files 디렉토리 내부의 내용들은 오너가 nobody라서 삭제가 힘듭니다.
그래서 질문 드립니다.
Q1. 저 files 디렉토리의 잔존 내용들을 안지우고 다시 설치해도 재설치에 무방한지요?
Q2. 제가 재설치시에, php 등의 기존 설피 파일들도 모두 삭제를 하고 있는데, 혹시 이것이 필요없는 과정인지요?
(즉, php 파일 부분은 보드가 동작하고 내용이 입력되어도 전혀 변경되는 부분이 없어서,
재설치 시도시에는 DB만 지우면 되는지요? - 처음 받아서 까는 순정 상태 기준에서 말입니다.)
Q3. DB도 마찬가지로 다 지우고 있는데, 선택적으로 이것이것만 지우고 재설치하면 되는 요령이 있는지도 궁금합니다.
읽어주셔서 감사합니다.
고수님들의 답변 기다리고 있겠습니다.
댓글 3
-
김구고
2011.07.05 22:12
-
enzoy
2011.07.06 07:11
답변 채택을 단 하나만 할 수 있어서, 채택 못드려 죄송합니다. 주신 답변 마음 깊이 감사합니다. -
공듀
2011.07.05 22:39
<?
$dir="./files/";
// 순환적으로 디렉토리와 파일을 삭제
function delete_dir($path) {
@chmod($path,0777);//삭제하려는 폴더의 퍼미션을 777로 재 지정
$directory = dir($path);
while($entry = $directory->read()) {
if ($entry != "." && $entry != "..") {
if (is_dir($path."/".$entry)) { //삭제하려는 폴더안에 서브 폴더가 있을경우 재루프
delete_dir($path."/".$entry);
} else {
@chmod($path."/".$entry,0777);//삭제하려는 폴더안에 파일일 경우 파일 퍼미션을 777로 재지정
@UnLink ($path."/".$entry);
}
}
}
$directory->close();
@rmdir($path);
}
delete_dir($dir);
echo"삭제완료";
?>
만들어 실행하시면 files 폴더 삭제 가능합니다.
1. 삭제않하고 설치해도 무방하지만 불필요한 용량이 생기므로 용량 할당받아 사용하는 사용자라면 삭제하시고 이용하시는게 좋습니다.
2. xe 설치후 파일은 지우실필요 없습니다.
3. 깨끗하게 삭제하고 재설치하는게 오히려 여러모로 좋긴하죠 혹여나 db가 꼬여 문제가 발생할수도있는 문제이므로
새로 설치할때는 완전히 삭제하고 설치하는게 좋습니다. -
enzoy
2011.07.06 07:14
스크립트까지 주셔서 감사합니다. 제 환경 (호스팅 업체 사용 환경) 에서는 제가 su가 아니기 때문에 잘 동작하지 않는 것 같습니다. su인 경우 rm -rf와 이 스크립트가 다른 점이 어떤 것인지도 여쭤보고 싶습니다. -
enzoy
2011.07.06 07:09
밤새 해본 작업 결과로 저 스스로도 답변을 달아봅니다.
Q1. files 디렉토리의 내용을 지워야 할 것으로 판단됩니다.
예를 들자면, files 디렉토리를 지우지 않은 상태에서 DB와 PHP들을 지우고 새로 파일을 밀어넣고서 브라우져로 첫 설치 화면을 접근하면 "동의 설치" 화면이 나오지 않고 "해당 모듈을 찾을 수 없다"는 식의 에러 화면이 뜹니다.
그렇게 접근한 순간 DB도 두개정도가 새로 생기는 등의 사태가 발생하므로 다시 DB와 PHP들을 다 지우고 files까지 다 지우고 다시 파일을 밀어넣고 재설치를 진행해야만 제대로 설치가 되는 상황을 경험했습니다.
남의 서버에서 호스팅을 받는 경우, 그리고 유닉스 커맨드에 익숙치 않은 경우에는 files 폴더의 소유주가 nobody이므로 삭제를 할 수 없어서 난감할 때가 있는데, 이름을 바꾸는 것은 가능할 수 있으니 [mv files files_bak2] 등의 명령어로 rename해버리고 재설치 시도를 진행할 수 있었습니다.
Q2. 호기심에 대략적인 테스트를 해봤는데, php 파일들도 다 지워야 재설치가 원활히 진행되는 것으로 파악됩니다.
ftp 프로그램으로 접속한 상태로 파일들을 지우시는 분들 계신데, 이렇게 하면 작업 너무 느립니다. 빠른 작업을 위해서는 텔넷 접속하여 명령어로 지우시길 권장드립니다. (명령어를 모른다면 잘 아는 분께 묻거나 부탁해서...)
Q3. DB는 다 안지워도 되는 것 같긴 한데, 다른 답변 주신분들 말마따나 그래도 찝찝하고, 지우는게 어려운게 아니니 지우고 보자는 주의로 가게 되었습니다.
참고로, 제가 재설치 실패로 고생을 했던 근본적인 이유는 xe 디렉토리(폴더)가 아닌 public_html등의 루트에 설치하려고 하면서 public_html 디렉토리의 속성을 755로 열지 않고 작업을 하여 설치 마지막 화면에서 "The result is not a valid XML" 에러가 발생했던 것이었습니다.
찝찝하시면 루트에 아무 폴더나 만들어서 거기다가 넣어주시면 됩니다.
2. 아무래도 다 지우는게 깔끔하긴 합니다.
3. db도 사실 안지워도 됩니다.
아예 재설치할거면 선택적으로 지우지마시고 그냥
다 지우는게 좋지 않겠습니까. ㅎㅎ