【发布时间】:2011-04-26 05:02:05
【问题描述】:
在带有 Perl 5.8 的 Debian Lenny 环境中,我尝试在命令行中使用 CPAN 以 root 身份安装 Tk 模块,但是此安装需要根目录上的太多磁盘空间,尽管模块没有安装在根目录上分割。所以看起来编译使用的是根目录。
我可以避免调整磁盘分区的大小来安装 Tk 模块,还是有一种简单的方法可以在 /usr 或其他目录上运行编译?
【问题讨论】:
在带有 Perl 5.8 的 Debian Lenny 环境中,我尝试在命令行中使用 CPAN 以 root 身份安装 Tk 模块,但是此安装需要根目录上的太多磁盘空间,尽管模块没有安装在根目录上分割。所以看起来编译使用的是根目录。
我可以避免调整磁盘分区的大小来安装 Tk 模块,还是有一种简单的方法可以在 /usr 或其他目录上运行编译?
【问题讨论】:
您使用什么工具来管理安装?默认情况下,大多数 CPAN 工具在您的主目录中构建模块。
如果您使用的是cpan 工具,您可以将build_dir 更改为具有更多可用磁盘空间的东西:
$ cpan
cpan> o conf build_dir /tmp
cpan> o conf commit
如果您使用cpanm,我认为您只需将~/.cpanm/work 更改为指向适当目录的符号链接。
此外,通常最好以普通用户的身份构建模块,并且只使用 root 来安装它。您可以使用cpan 执行此操作,方法是将make_install_make_command 和mbuild_install_build_command 配置选项设置为使用sudo 或su 的内容。 cpanm 具有使用 sudo 安装的 --sudo 选项,但我认为它不能使用 su 代替。
【讨论】: