[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: make cleanがroot権限を必要とする時



神戸さんこんにちは。桜井です。

2008/1/21 Takahiro Kambe <taca@back-street.net>:
> おはようございます。
>
> In message <6245f7a30801201651g675e357fp123d85016be8ca8b@mail.gmail.com>
>         on Mon, 21 Jan 2008 09:51:14 +0900,
>         "Hiroshi SAKURAI" <an.olive.tree@gmail.com> wrote:
> > $ cd pkgsrc/lang/python24
> > $ make clean
> > => Becoming ``root'' to make su-do-clean (/usr/bin/su)
> > Password:
> >
> > Makefileに
> >   PRIVILEGED_STAGES+= clean
> > と書いてあるためだと思うのですが、
> > なぜclean時にroot権限が必要なのでしょうか?
> パッケージによっては、installの段階で作業領域にrootで新たにファイルや
> ディレクトリを作成する場合があります。この結果、rootでないと削除できな
> いという状況が発生するためです。
>
> また、DESTDIRを使った場合、作業領域の仮のディレクトリにインストールさ
> れますが、setuidなどの特別な所有者やアクセス権でインストールが必要な場
> 合に仮のディレクトリ以下にrootでないと削除できない状況が発生することが
> あります。
>
> そんな事情によります。

Python2.3.5のpkgsrcで試してみた所、
make install時にpythonのMakefileによって、
  Lib/plat-netbsd3
がmkdirされるのですが、
このownerがrootになっていました。

このディレクトリを消すために、root権限が必要なようでした。

詳細な説明、ありがとうございました。

-- 
Hiroshi SAKURAI
http://vimrc.hp.infoseek.co.jp/