Hack BBS
[全部のスレッド一覧][新規投稿][記事の削除・変更]
[Home Page]
返信投稿はタイトルのリンクをクリックして下さい
スレッド【No.5048】の中の記事をすべて表示しています
【No.5048】のスレッド
08/06/22(日) 00:23:44 投稿者[nice+20] [No.5048]のスレッド内
- 【No.5048】 タイトル[permissionを落とさないbusybox-tar?]
この記事がスレッドの最初です
- 機種:初代玄箱(多分、依存しない)
ファームウェア:?
ディストリビューション:Vine 4.2
Kernel: 2.6.20-kurobox
少し古い話で、恐縮なのですが。。。
busybox-1.00のtarがpermission落とす問題って、
busyboxの1.8.2では、もしかして直ってませんか?
>>識者の皆様
ためしに、busybox-1.8.2をVine4.2化した初代玄箱で
static buildして、
% cp -p busybox /mnt/sbin.static/busybox.static
% cd /mnt/sbin.static
% ln -s busybox.static tar
% ls -l /mnt/sbin.static/tar
lrwxrwxrwx 1 root root 14 Dec 23 03:27 ¥
/mnt/sbin.static/tar -> busybox.static
% file /mnt/sbin.static/busybox.static ¥
/mnt/sbin.static/busybox.static: ELF 32-bit ¥
MSB executable, PowerPC or cisco 4500, version 1, ¥
statically linked, stripped
として、runlevel=N3状態で、
--
% mkdir test_dir
% chmod 1777 test_dir
% touch test_file
% chmod 4777 test_file
% /mnt/sbin.static/tar zcvf test-busybox.tgz ¥
test_dir test_file
--
としてみたところ、
--
% /mnt/sbin.static/tar ztvf ./test-busybox.tgz
drwxrwxrwt 100/100 0 2008-06-21 23:48:37 test_dir/
-rwsrwxrwx 100/100 0 2008-06-21 23:48:41 test_file
--
% mkdir foo
% cd foo
% /mnt/sbin.static/tar zxvf ../test-busybox.tgz
test_dir/
test_file
% ls -l
total 4
drwxrwxrwt 2 xxxx yyyy 4096 Jun 21 23:48 test_dir/
-rwsrwxrwx 1 xxxx yyyy 0 Jun 21 23:48 test_file*
--
とpermissionが保存されているように見えます。
tarのpermission周りの問題、busybox-1.8.2では
直っているとみてよさそうな気がしますが、
どんなもんでしょうか?>>識者の皆様
08/06/22(日) 02:01:46 投稿者[BOW] [No.5048]のスレッド内
- 【No.5050】 タイトル[Re: permissionを落とさないbusybox-tar?]
【No.5048】に対する返信
- それって、
tarの問題だと聞きましたが、
busyboxって関係あるんですか?
ちなみに私はproユーザなんですんが、
付属CDのソースをみると、
busyboxは1.4.1
tarは1.13.25
入ってます。
このうち、tarを
GNU-tar1.15.1以上にすればよいと習いました。
PROは言われるがまま、
Debian化(半自動アップデート状態)してしまったので、
busybox は気にしなくてよいものだと思っていました。
私自身 busybox の役割を理解していないので、
1行くらいで構わないのでどんなことをするものなのかを
この機会にどなたかご教授頂けないでしょうか?
08/06/22(日) 23:21:46 投稿者[nice+20] [No.5048]のスレッド内
- 【No.5051】 タイトル[Re: permissionを落とさないbusybox-tar?]
【No.5050】に対する返信
- >私自身 busybox の役割を理解していないので、
>1行くらいで構わないのでどんなことをするものなのかを
>この機会にどなたかご教授頂けないでしょうか?
1行では難しいのですが、私なりにbusyboxの効能を。
記憶媒体(ディスク、フラッシュ、FD等)の容量が
少ない環境(たとえば、FDとか、フラッシュとか)で、
いくつかのunix/linux系コマンドを1つのbusyboxという
バイナリでまかなってしまおう、という考え方のもとに
つくられたソフト、と考えるとよいと思います。
たとえば、こんなURLが参考になるかな、と思います。
--
組み込みLinuxで際立つ「BusyBox」の魅力
http://monoist.atmarkit.co.jp/fembedded/articles/busybox/busyboxa.html
「BusyBoxはコマンドの十徳ナイフ」
--
1つに入れるために、本来のコマンドに比べて、多少
機能を削られていたり、動作が異なったりする場合も
あります。
ここで取り上げたtarも、busybox-1.0では多少機能が
限定(異なって?)されていたようで、そのための
副作用を解消するため、ここの山下さんもご苦労されて
おられたようです。
--
http://www.yamasita.jp/linkstation/2007/04/070405_busybox_tar_umask.html
--
初代とかその次あたりの玄箱だと、EMモードとかで
あげたときに、hddに乗っているtarって、普通は
使えなくなる(dynamic linkされているため)ので、
上のbusyboxでtarの機能を使えるようにbusyboxを
static linkで作っておいて、symlinkして、hddに
乗っけておくと、EMモードであがっているときでも、
(busyboxの)tarが使えたりする、というところです。
08/06/23(月) 02:51:42 投稿者[BOW] [No.5048]のスレッド内
- 【No.5053】 タイトル[Re: permissionを落とさないbusybox-tar?]
【No.5051】に対する返信
- なるほど、理解できました。
デストリビューションかシェルの類という認識で、
ブラックボックス的に捉えていました。
実際、組み込み用デストリビューションといっても
差し支えなさそうですね。
勉強がてら、開発サイトみてきましたが、
1.6 → 1.7にある、
tar: improve OLDGNU compat, make old SUN compat configurable
という記述が目に付きました。
気になったのは、付属CDのtarソースって、
どういう意味があるのでしょうか・・?
tarのソースはbusyboxに付属するソースで、
busybox自体はビルド用コンフィグファイルの集まり
と見るべきなのでしょうか?
08/06/23(月) 10:33:38 投稿者[nice+20] [No.5048]のスレッド内
- 【No.5054】 タイトル[Re: permissionを落とさないbusybox-tar?]
【No.5053】に対する返信
- >実際、組み込み用デストリビューションといっても
>差し支えなさそうですね。
いわゆるディストリビューション(fedoraとかvineとか)、
というよりは、busybox自体は、cpとかlsとかtarとか同様、
1つのアプリケーションです。
ただ、どういう名前で起動されるか(argv[0])に依存して、
その機能が変わる、というところです。(gzipとzcatの
関係に似てるかも)
>tarのソースはbusyboxに付属するソースで、
>busybox自体はビルド用コンフィグファイルの集まり
>と見るべきなのでしょうか?
たぶん、ですが、附属のtarのソースはいわゆる、単独の
tarコマンドの分だと思います。
busyboxはbusyboxのソースの中にtarの機能を実現する
コードが別に入っています。
参考まで、ですが、busyboxをソースからつくる(build)
するときに、どのコマンドを組み込むかを指定(confi-
gure)することができるようになっています。
08/06/23(月) 22:18:05 投稿者[BOW] [No.5048]のスレッド内
- 【No.5056】 タイトル[Re: permissionを落とさないbusybox-tar?]
【No.5054】に対する返信
- >いわゆるディストリビューション(fedoraとかvineとか)、
>というよりは、busybox自体は、cpとかlsとかtarとか同様、
>1つのアプリケーションです。
>ただ、どういう名前で起動されるか(argv[0])に依存して、
>その機能が変わる、というところです。(gzipとzcatの
>関係に似てるかも)
下手に分類せずに、そういうLinux上のプログラムの1つだと
認識しておくのが無難そうですね。
>たぶん、ですが、附属のtarのソースはいわゆる、単独の
>tarコマンドの分だと思います。
>
>busyboxはbusyboxのソースの中にtarの機能を実現する
>コードが別に入っています。
>
>参考まで、ですが、busyboxをソースからつくる(build)
>するときに、どのコマンドを組み込むかを指定(confi-
>gure)することができるようになっています。
そうなんですよね。
となると、玄箱PROのルートイメージ作った人物は
busybox-tarを使うつもりがなかったはずであり、
1.busyboxでtarを使うことを知らなかった。
2.busyboxのtarを差し替え忘れた。
3.敢えてbusyboxのtarに差し替えた。
のいずれかとなるのですよね。
即ち、busyboxのバグ要因よりはメイクミスの要因が強く腑におちません。
話を戻して、
いずれにせよ今後はbusyboxのバージョンが古くない限り、
気にする必要がなくなることはよいことだと思います。
そもそも、この問題は玄箱公式ページとかで、
取り扱わない部類のものなのでしょうか?
修正後のルートイメージを公開してもよさそうな感じはしますが・・・