ports를 이용한 프로그램 설치
글쓴이: loscive / 작성시간: 목, 2006/01/05 - 8:26오전
root가 아닌 user로 ports를 이용하여 프로그램(openoffice2.0)을 설치하고자 하였으나 'permission denied'되었더군요.
원래 기본셋팅에서 user는 권한이 없는건지요.
만약 그렇다면 권한을 주려면 어떻게 해야하는지 알고 싶습니다.
에러내용
mkdir: /usr/ports/distfiles/openoffice.org2.0: Permission denied
참고로,
1. cvsup -g -L 2 /root/cvs-supfile
2. portsdb -uU
3. portversion -l "<"
4. portupgrade -arR
위의 실행을 root권한으로 모두 실행한 뒤 su로 유저를 바꾼뒤 ports로 프로그램을 설치하고자 하였습니다.
Forums:
/usr/ports이디렉토리에 퍼미션주시면되겠네여
/usr/ports
이디렉토리에 퍼미션주시면되겠네여
ports
root가 아닌 권한으로는 ports에서 make 까지만 가능합니다.
make 까지 진행한후 install 되는 과정에서는 실재 시스템 /usr/local/bin등 디렉토리에 쓰기권한이 있어야 되기 때문에 당연히 root권한이 필요합니다 (prefix 등을 조정해서 user영역에 설치하는 방법도 있지만 일반적이지는 않습니다)
내가 인내하는 만큼 나는 내꿈에 다가서고 있다.
답변감사드립니다. ^ ^
안녕하세요.
아직 답변이 없을거라 생각했었는데... 금방 답변들을 주시는군요.
감사드립니다.
user에게 그러한 디랙토리들의 권한을 주려면 어떻게 해야하나요.
어떤 설정파일에 path를 추가하는건지 아니면 일일이 chmod로 권한을 부여해줘야 하는건지요.
#여담#
그동안 root로 로그인한 상태에서 ports를 이용하여 프로그램들을 설치하다보니 /root의 공간이 full되어, 새로 다른 프로그램을 설치하려고 하면 system is full이라면서 설치 에러가 났었습니다.
Re: 답변감사드립니다. ^ ^
윽 제가 잘못 답변을 드렸네요 정정합니다.
ports에서 프로그램을 컴파일/설치하게되면 1차적으로 /usr/ports/distfiles에 해당 파일의 소스 타르볼을 저장합니다 (예: subversion-1.3.0-rc4.tar.bz2 ) 그리고 해당 파일을 컴파일 할 때는 해당 port dir의 work 디렉토리에 그 타르볼을 푼후 간단한 체크섬 검사를 하고 configure 및 compiile과정을 진행합니다 여기까지가 make 를 진행하는 과정인데요 이경우 /usr/ports/distfiles 와 해당 port dir에 유저가 쓰기 권한이 있느냐? 하는 점이 문제가 되는데 둘다 기본적으로 755 이기 때문에 쓰기권한이 없어서 문제가 생깁니다 ~ 따라서 해당 디렉토리에 쓰기권한 부분을 해결하시면 컴파일까지는 정상적으로 가능하십니다.
마찬가지로 make install 이 처리 되기 위해서는 /usr/local 아래에 쓰기권한이 있어야 하기 때문에 꼭 해당 유저로 설치를 하셔야 한다면 그 부분을 수정해 주시면 가능하실꺼 같습니다.
ps. 근데 왜 /root공간이 꽉차셨는지는 모르겠네요~ port 가 /root및에 파일을 저장하는 경우는 없을텐데요...
내가 인내하는 만큼 나는 내꿈에 다가서고 있다.
말씀하신데로 해보겠습니다.
앗 저역시 잘못말씀드렸습니다. /root가 아니라 / 이었습니다.
얼마전에 system is full문제로 문의를 드렸었는데, dakiller6님께서 모든작업을 root로 할경우 '/'에 공간이 다 차버릴 수 있다고 하시더군요.
댓글 달기