给出的这个简单的安装目标为我的Makefile:Makefile:从CLI或包装系统安装目标是否可用?
install: zrm $(CONF)
install -D -m 0755 -o mysql -g mysql conf/lvm0.conf $(DESTDIR)/$(CONFDIR)/lvm0/mysql-zrm.conf
install -D -m 0755 -o mysql -g mysql conf/inc1.conf $(DESTDIR)/$(CONFDIR)/inc1/mysql-zrm.conf
install -D -m 0755 -o mysql -g mysql conf/dump0.conf $(DESTDIR)/$(CONFDIR)/dump0/mysql-zrm.conf
install -d -m 0755 -o mysql -g mysql $(DESTDIR)/$(PLUGIN)
install -m 0755 -o mysql -g mysql post-backup-st-zrm.pl $(DESTDIR)/$(PLUGIN)
install -d -m 0755 -o root -g root $(DESTDIR)/$(BINDIR)
install -m 4755 -o root -g root zrm $(DESTDIR)/$(BINDIR)
我可以简单地做make install
为根(或使用sudo
),它会安装精美。 由于foo(非特权)用户,调用make install
将返回一个错误(-o选项需要超级用户)。
我需要改变它,以便我可以sudo make install
,make install DESTDIR=/tmp/foo
甚至将其打包为.deb或.rpm,并且只需从我的Makefile中调用安装目标即可。
对我来说最好的解决方案是什么?将安装调用替换为cp?删除-o并放置一个chown/chmod?
谢谢。
我知道在Debian上,构建一个包可以伪造成root。我不确定的是,这是如何用RPMbuild系统完成的。 mysql:据我所知,我们的环境和mysql-zrm产品都需要mysql。 – 2010-08-19 09:23:33