まさかこんなにも回答頂けるとは思っていませんでした。
当方でも以下のようなコマンドでdevx_precise_5.7.1.sfs等々をロードしていましたが、やはり/pinstall.shがそのまま残ります。thinkpadnerd さんが書きました: 改めて tahrpup の初期状態からやってみたら、pinstall.sh は残りました。「バックグラウンドでスクリプトを実行している」旨のメッセージが出るので、スクリプトが動いているのは確かです。
コード: 全て選択
~# ls /
bin etc lib mnt proc run selinux tmp var
dev initrd lost+found opt root sbin sys usr
~# sfs_load -c +devx_precise_5.7.1.sfs
gtk-update-icon-cache: Cache file created successfully.
sfs_load: メニューを更新中…
Generating /root/.jwmrc...
sfs_load: スクリプトをバックグラウンドで実行中...
sfs_load: --custom 'devx_precise_5.7.1.sfs' は無事ロードされました。
アンロードするまではこのファイルを削除したり移動したりしないでください。
~# ls /
bin etc lib mnt pinstall.sh root sbin sys usr
dev initrd lost+found opt proc run selinux tmp var
~# sfs_load -c -devx_precise_5.7.1.sfs
sfs_load: Stopping script...
Stopping rsync daemon: rsyncgtk-update-icon-cache: Cache file created successfully.
sfs_load: メニューを更新中…
sfs_load: 'defaulttexteditor' is reset.
Generating /root/.jwmrc...
sfs_load: --custom 'devx_precise_5.7.1.sfs' はアンロードされました。
~# ls /
bin etc lib mnt proc run selinux tmp var
dev initrd lost+found opt root sbin sys usr
以下のような流れでtest.sfsを作成、ロードしてみました。Zstep さんが書きました: /etc/init.dもしくは/root/Startupにsfsをロードしたとき実行させたい
コマンドを書いたスクリプトを組み込んでおけばいいみたいですね
コード: 全て選択
~# pwd
/root
~# ls -Rl test/
test/:
total 0
drwxr-xr-x 3 root root 60 5月 30 00:21 etc
test/etc:
total 0
drwxr-xr-x 2 root root 60 5月 30 00:21 init.d
test/etc/init.d:
total 4
-rwxr-xr-x 1 root root 94 5月 30 00:20 test.sh
~# mksquashfs test/ test.sfs
Parallel mksquashfs: Using 1 processor
Creating 4.0 filesystem on test.sfs, block size 131072.
[===================================================================|] 1/1 100%
Exportable Squashfs 4.0 filesystem, gzip compressed, data block size 131072
compressed data, compressed metadata, compressed fragments, compressed xattrs
duplicates are removed
Filesystem size 0.36 Kbytes (0.00 Mbytes)
77.64% of uncompressed filesystem size (0.46 Kbytes)
Inode table size 68 bytes (0.07 Kbytes)
52.31% of uncompressed inode table size (130 bytes)
Directory table size 56 bytes (0.05 Kbytes)
71.79% of uncompressed directory table size (78 bytes)
Number of duplicate files found 0
Number of inodes 4
Number of files 1
Number of fragments 1
Number of symbolic links 0
Number of device nodes 0
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 3
Number of ids (unique uids + gids) 1
Number of uids 1
root (0)
Number of gids 1
root (0)
~# ls xxx
ls: cannot access xxx: No such file or directory
~# sfs_load -c +test.sfs
sfs_load:
sfs_load: スクリプトをバックグラウンドで実行中...
sfs_load: --custom 'test.sfs' は無事ロードされました。
'/root/test.sfs' は '/mnt/home' にコピーされました。
アンロードするまではこのファイルを削除したり移動したりしないでください。 オリジ ナルは移動や削除しても構いません。
~# ls xxx
xxx
~# sfs_load -c -test.sfs
sfs_load: Stopping script...
sfs_load: --custom 'test.sfs' はアンロードされました。
~# ls xxx
ls: cannot access xxx: No such file or directory
Puppy Linuxについては初心者故色々とお手数をお掛けして申し訳ございません。現在DebianパッケージファイルをSFSファイルに変換するスクリプトを作成している次第なのですが、その際に問題となるのが、インストール/アンインストール時に実行されるスクリプトです。これらのスクリプトはシンボリックリンクを作成したり、wgetでファイルをダウンロードしたりと色々な処理をしています。これらの機能についてSFSファイルのロード/アンロード時に同様のことが出来ればと思った次第です。ルビー さんが書きました: 初心者と言う割には、初心者とは思えない質問を連発なさってますが、素朴な疑問として、sfsロードでsfsのスクリプトを走らせて、何をなさりたいのでしょうか。
何れに致しましてもthinkpadnerdさん、ルビーさん、Zstepさんのおかげで無事解決致しました。誠にありがとうございます。
---
ここからは余談ですが、/usr/sbin/sfs_loadの345行目から352行目まで以下のような記述がありました。おそらくロード時に以下のディレクトリ内にあるファイルについてを色々と処理していると思われます。
コード: 全て選択
HAS_MODULES=$(ls $MNTPNT/lib/modules 2>/dev/null)
HAS_FONTS=$(find -L $MNTPNT/usr/share/fonts -mindepth 1 -not -type d -printf '/%P\n' 2>/dev/null)
HAS_DESKTOPS=$(ls $MNTPNT/usr/share/applications 2>/dev/null)
HAS_SCRIPTS=$(ls $MNTPNT/etc/init.d 2>/dev/null)
HAS_STARTUPS=$(ls $MNTPNT/root/Startup 2>/dev/null)
HAS_PROFILE=$(ls $MNTPNT/etc/profile.d 2>/dev/null) # 28 Oct 2011
HAS_ICONS=$(find -L $MNTPNT/usr/share/icons/hicolor -not -type d -printf '/%P\n' 2>/dev/null)
HAS_GLIB_SCHEMA=$(ls $MNTPNT/usr/share/glib-2.0/schemas/ 2>/dev/null)