LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1465|回复: 20

如何能设置一个 package 在 emerge 时使用特定的工作目录?

[复制链接]
发表于 2011-7-11 16:15:08 | 显示全部楼层 |阅读模式
升级了一下gcc 4.6.1,  4GB RAM 用了 mount --bind /dev/shm/tmp /var/tmp/portage 提高速度。 但gcc 和 openoffice 会用完虚拟的目录空间而中断。

如何能设置一个 package 在 emerge 时使用特定的工作目录,比如为gcc 和 openoffice 设置为 /var/gcc/ 而不是用 /var/tmp/portage;

或者能自动在 emerge gcc 之前,运行一个命令 umount  /var/tmp/portage, 并且自动在 emerge gcc 之后,运行一个命令 mount --bind /dev/shm/tmp /var/tmp/portage?
发表于 2011-7-11 16:39:09 | 显示全部楼层
建立/var/gcc/

运行
# PORTAGE_TMPDIR="/var/gcc" emerge gcc

手册要看仔细哇
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-7-11 16:59:49 | 显示全部楼层
Post by Havanna;2144490
建立/var/gcc/

运行
# PORTAGE_TMPDIR="/var/gcc" emerge gcc

手册要看仔细哇



不是这个意思,是想要在 emerge -eva system/world 的时候,为gcc,openoffice 等巨大的 package 自动选择设定的工作目录,
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-7-11 17:26:36 | 显示全部楼层
Post by Havanna;2144490
建立/var/gcc/

运行
# PORTAGE_TMPDIR="/var/gcc" emerge gcc

手册要看仔细哇


不是这个意思,是想要在 emerge -eva system/world 的时候,为gcc,openoffice 等巨大的 package 自动选择设定的工作目录,比如说可能有一个配置文件中设置了将 /var/gcc 作为 gcc 的 emerge 工作目录; 或者emerge gcc 之前 自动运行 export PORTAGE_TMPDIR="/var/gcc" ,emerge 完 gcc 后 自动运行 export PORTAGE_TMPDIR="/var/tmp/portage"。
回复 支持 反对

使用道具 举报

发表于 2011-7-11 20:42:47 | 显示全部楼层
写个脚本,比如tmerge,给shm工作目录用,直接emerge则默认:
http://en.gentoo-wiki.com/wiki/Portage_TMPDIR_on_tmpfs
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-7-12 13:53:21 | 显示全部楼层
Post by zhou3345;2144507
写个脚本,比如tmerge,给shm工作目录用,直接emerge则默认:
http://en.gentoo-wiki.com/wiki/Portage_TMPDIR_on_tmpfs


脚本和local ebuild应该都可以,不知道是否有更好的办法来让 emerge -eav system/world 能按希望的那样自动变换工作目录哦。
回复 支持 反对

使用道具 举报

发表于 2011-7-12 16:44:29 | 显示全部楼层
Post by pdfan;2144553
脚本和local ebuild应该都可以,不知道是否有更好的办法来让 emerge -eav system/world 能按希望的那样自动变换工作目录哦。


就是这个办法呀,结合上面那个脚本,自己写一个emerge的脚本,判断一下需要大空间的软件不就可以了吗。想让官方支持恐怕一下子不可能。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-7-13 21:54:12 | 显示全部楼层

这样可以了:

# cat /etc/portage/package.env
sys-devel/gcc tmpdir.conf
app-office/openoffice tmpdir.conf

# cat /etc/portage/env/tmpdir.conf
PORTAGE_TMPDIR=/var/tmp/tmpdir
回复 支持 反对

使用道具 举报

发表于 2011-7-13 22:59:57 | 显示全部楼层
赞美楼主努力解决问题的态度,让我等围观的又学到一招
回复 支持 反对

使用道具 举报

发表于 2011-7-14 20:54:30 | 显示全部楼层
Post by pdfan;2144627
# cat /etc/portage/package.env
sys-devel/gcc tmpdir.conf
app-office/openoffice tmpdir.conf

# cat /etc/portage/env/tmpdir.conf
PORTAGE_TMPDIR=/var/tmp/tmpdir


没想到还支持这样的写法,有没有关于这块文档出处介绍来学习一下
我只知道可以设置/etc/portage/bashrc添加自定义函数处理
像embedded-gentoo 里面就有这样用
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表