[Armadillo:02895] Re: romfs-inst.shnoの使用方法について
相田 仁
email@hidden
2008年 5月 7日 (水) 12:45:51 JST
nakai様
東京通信機工業の相田です。
早速のご回答ありがとうございます。
ROMFSINSTを使用せずにパーミッションを変更する案を採用して、
その動作結果が意図した結果であることを確認できました。
また、romfs-inst.shへのパッチは見送りましたので、
パッチによる影響の有無については不明です。
以上、ありがとうございました。
> nakaiです。
>
> romfs-inst.shをみると、
> -pオプションを指定するだけの場合、デフォルトの動作としてファイルコピーが走るようです。
>
> $(ROMFSINST) /etc/sudoers
>
> と同じ動作です。その後、chmodが実行されるようです。
>
> ですので、ローカルディレクトリにsudoersが無い場合にご指摘のとおり、
> cp: cannot stat `sudoers': No such file or directory
> と表示され、romfs/etc/sudoersは削除されています。
>
> やりたいことを実現する方法は2通り考えられます。
>
> 1.
> ROMFSINSTを使用しないでパーミッションを変更後、appendする。
> 以下のようにするとできます。
>
> romfs:
> chmod 660 $(ROMFSDIR)/etc/sudoers
> $(ROMFSINST) -a 'Cmnd_Alias FLATFSD /bin/flatfsd' /etc/sudoers
> $(ROMFSINST) -p 440 -a 'nobody ALL=(root)NOPASSWD:FLATFSD' /etc/sudoers
>
>
> 2.(あまり推奨しません。影響範囲がわからない為。)
> -pオプションを単独で実行できるようにする。
> 以下のパッチをあてることにより、単独でパーミッションを変更できるようになります。
>
> diff --git a/tools/romfs-inst.sh b/tools/romfs-inst.sh
> index 8c70582..42af4c1 100755
> --- a/tools/romfs-inst.sh
> +++ b/tools/romfs-inst.sh
> @@ -129,7 +129,7 @@ do
> v) v="1"; ;;
> o) option="$OPTARG"; ;;
> e) eval option=\"\$$OPTARG\"; ;;
> - p) perm="$OPTARG"; ;;
> + p) perm="$OPTARG"; func=setperm ;;
> a) src="$OPTARG"; func=file_append; ;;
> A) pattern="$OPTARG"; ;;
> l) src="$OPTARG"; func=hard_link; ;;
>
>
> 相田 仁 さんは書きました:
> > atmark-dist-20070720のromfs-inst.shを利用して、
> > ファイルのパーミッションを変更しようとすると
> > 目的のファイルが削除されてしまいます。
> >
> > 使用方法の誤りをご指摘頂きたいのでお願いいたします。
> >
> >
> > <Makefileの内容>
> > ifndef ROOTDIR
> > ROOTDIR = /home/eldev/atmark-dist-20070720
> > endif
> > ROMFSDIR = $(ROOTDIR)/romfs
> > ROMFSINST = romfs-inst.sh
> > PATH := $(PATH):$(ROOTDIR)/tools
> >
> > UCLINUX_BUILD_USER = 1
> > include $(ROOTDIR)/.config
> > LIBCDIR = $(CONFIG_LIBCDIR)
> > include $(ROOTDIR)/config.arch
> >
> > romfs:
> > $(ROMFSINST) -p 660 /etc/sudoers
> > $(ROMFSINST) -a 'Cmnd_Alias FLATFSD /bin/flatfsd' /etc/sudoers
> > $(ROMFSINST) -a 'nobody ALL=(root)NOPASSWD:FLATFSD' /etc/sudoers
> > $(ROMFSINST) -p 440 /etc/sudoers
> >
> > # end of Makefile
> >
> >
> > <Make時のエラーメッセージ>
> > cp: cannot stat `sudoers': No such file or directory
> > chmod: cannot access
> > `/home/eldev/atmark-dist-20070720/romfs/etc/sudoers': No such file or
> > directory
> > cp: cannot stat `sudoers': No such file or directory
> > chmod: cannot access
> > `/home/eldev/atmark-dist-20070720/romfs/etc/sudoers': No such file or
> > directory
> >
> > ※なお、make前に
> > /home/eldev/atmark-dist-20070720/romfs/etc/sudoers
> > ファイルが存在していることは確認しています。
> >
> >
> > 以上、よろしくお願いいたします。
> >
> >
> > _______________________________________________
> > armadillo mailing list
> > email@hidden
> > http://lists.atmark-techno.com/mailman/listinfo/armadillo
>
>
> ------------------------------
>
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/mailman/listinfo/armadillo
>
>
> End of armadillo Digest, Vol 49, Issue 3
> ****************************************
>
armadillo メーリングリストの案内