mount に ついて
Linux から freebsd 領域を マウント するには kernel の 再構築が 必要 な場合が あります freebsd から Linux 領域を マウント するには 同じく 必 要なことらしい マウントが 最初 インストール したままの 状態では 出来ない ようなので、但し 正確には にゃんたろう は 知らない 経験上 そうらしい 拝!
freebsd が hdb (Linux でいう hdb に インストール されてる 状態で す。)に ある場合の 他の freebsd (Linux でいう sdd3 に インストール されてる 状態です。)を 見てみましょう。まず hdb のfreebsdでの動作
lx# mount
/dev/ad1s1a on / (ufs, local)
/dev/ad1s1f on /tmp (ufs, local, soft-updates)
/dev/ad1s1g on /usr (ufs, local, soft-updates)
/dev/ad1s1e on /var (ufs, local, soft-updates)
procfs on /proc (procfs, local)
自分自身 の 状態です、そこで sdd3 の freebsdの system 領域 を マウントします。
lx# mount /dev/da3c /mnt/
lx# mount
/dev/ad1s1a on / (ufs, local)
/dev/ad1s1f on /tmp (ufs, local, soft-updates)
/dev/ad1s1g on /usr (ufs, local, soft-updates)
/dev/ad1s1e on /var (ufs, local, soft-updates)
procfs on /proc (procfs, local)
/dev/da3c on /mnt (ufs, local)
lx# ls -aF /mnt/
./ bin/ etc/ modules/ sys@
../ boot/ home@ proc/ tmp/
.cshrc cdrom/ kernel* root/ usr/
.profile compat@ kernel.GENERIC* sbin/ var/
COPYRIGHT dev/ mnt/ stand/
これで ユーザー 領域 が 見る事 出来るでしょうか、自分の 所 hdb の ユーザー領域に 目印を つけます ファイルを 作成
%echo "/usr/home/mm">Here_is_ad1s1g
ユーザー領域 を 見るつもりで 試してみます。
%ls /mnt/home/mm
#tmount_bsd# 006_todo
001_changeshell 090_testpattern
002_japanese Here_is_ad1s1g
003_canna_server listpkg_info
004_use_less_vim mlist
005_dot_afterstep_xinitrc proto_bashrc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
おかしな 振舞??
lx# df
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ad1s1a 128990 36712 81960 31% /
/dev/ad1s1f 257998 12 237348 0% /tmp
/dev/ad1s1g 3191012 1280278 1655454 44% /usr
/dev/ad1s1e 257998 3876 233484 2% /var
procfs 4 4 0 100% /proc
/dev/da3c 128990 38564 80108 32% /mnt
~~~~~~~~~~~~~~~~~~~~
駄目なようです。
lx# umount /mnt/
では ユーザー 領域を マウント してみましょう
lx# mount /dev/da3g /mnt/
lx# df
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ad1s1a 128990 36712 81960 31% /
/dev/ad1s1f 257998 12 237348 0% /tmp
/dev/ad1s1g 3191012 1280282 1655450 44% /usr
/dev/ad1s1e 257998 3876 233484 2% /var
procfs 4 4 0 100% /proc
/dev/da3g 5286238 1280486 3582854 26% /mnt
lx# ls /mnt/
@LongLink games libdata ports
X11R6 home libexec sbin
bin include local share
compat lib obj src
再度 試みて見ましょう
%ls /mnt/home/mm
010_kterm 011_dev 012_mount 3001_mount v_initial
lx# mount
/dev/ad1s1a on / (ufs, local)
/dev/ad1s1f on /tmp (ufs, local, soft-updates)
/dev/ad1s1g on /usr (ufs, local, soft-updates)
/dev/ad1s1e on /var (ufs, local, soft-updates)
procfs on /proc (procfs, local)
/dev/da3g on /mnt (ufs, local, soft-updates)
lx# umount /mnt/
%ls /mnt/home/mm
ls: /mnt/home/mm: No such file or directory
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
これらから 判明 するのは 少なくとも system 領域 da3c を マウントした 状況で リンクしている home から ユーザー領域 には アクセス できない 様 である。アクセスするには da3g をマウント する 必要が ある。まったく 別の 領域 として 考えねば なんねえ 起動 している システム 内部では リンクの こと 考えないで 問題ないが 外部 から 見ると 別領域 当り前なのだろう御粗 末でした。しかし 自分の ところが 見えるのは 合点が 行かぬが??
マウント した 領域の 容量 も 確認 しながら 見て下さい、わりと にゃん たろうに とっては 解かりにくいところです。
dos 領域 を マウント してみましょう
lx# mount -t msdos /dev/ad0s1 /mnt/
lx# ls /mnt/
001.eps defi.tune Nyantarou.fls instlug.files bootf.sti
normal.bach pquitlug.files seriallug.fle snooplug.val beosldr
start.vbc os9IME.tune network.con tuneTEM.1ST
start.files IO.set plist data screen.det
load.os9 MSos9.--- box.dir OS8
search.est MSos9.tune defer.ed boot.ida
lx# mount
/dev/ad1s1a on / (ufs, local)
/dev/ad1s1f on /tmp (ufs, local, soft-updates)
/dev/ad1s1g on /usr (ufs, local, soft-updates)
/dev/ad1s1e on /var (ufs, local, soft-updates)
procfs on /proc (procfs, local)
/dev/ad0s1 on /領域を マウント するにはmnt (msdos, local)
lx# df
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ad1s1a 128990 36712 81960 31% /
/dev/ad1s1f 257998 12 237348 0% /tmp
/dev/ad1s1g 3191012 1280278 1655454 44% /usr
/dev/ad1s1e 257998 3874 233486 2% /var
procfs 4 4 0 100% /proc
/dev/ad0s1 1026112 249836 776276 24% /mnt
lx# umount /mnt/
=====================================================
内容は別にして 何かあるのが わかると 思います。
ここで sdd3 (Linux で いう sdd3 に インストール してある)の freebsdから みた 場合を 参考 に 見てみる。 最初 その 内容の ファ イルを Linux から 取り出してみよう
Linux : sda5; freebsd : sdd3 の 条件
lx:~# fdisk -l | grep sdd3
/dev/sdd3 * 13353 19541 6337536 a5 BSD/386
lx:~# cat /proc/partitions | grep sdd
8 48 20010816 sdd
8 49 6836208 sdd1
8 50 6836224 sdd2
8 51 6337536 sdd3
8 53 131072 sdd5
8 54 311920 sdd6
8 55 262144 sdd7
8 56 262144 sdd8
8 57 5370256 sdd9
目的の場所は sdd9 と あたりを つけて
lx:~# mount -t ufs -ro ufstype=44bsd /dev/sdd9 /mnt/
lx:~# ls -aF /mnt/
./ @LongLink bin/ games/ include/ libdata/ local/ ports/ share/
../ X11R6/ compat/ home/ lib/ libexec/ obj/ sbin/ src/
lx:~# df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/sda5 4960464 2802156 1902260 60% /
/dev/sdd9 5286238 1280942 3582400 27% /mnt
lx:~# mount
/dev/sda5 on / type ext3 (rw)
none on /proc type proc (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sdd9 on /mnt type ufs (ro,ufstype=44bsd)
さて 見てみましょう ここからは freebsd の 世界です。 自分自身 は sdd3 (Linux で いうところの sdd3) のfreebsdです。
lx# mount
/dev/da3s3a on / (ufs, local)
/dev/da3s3f on /tmp (ufs, local, soft-updates)
/dev/da3s3g on /usr (ufs, local, soft-updates)
/dev/da3s3e on /var (ufs, local, soft-updates)
procfs on /proc (procfs, local)
自分の領域確認 したら 他の freebsd を マウント します。 (Linux で いうところの hdb の 内部 を マウントする。)
lx# mount: /dev/ad1 on /mnt: incorrect super block
駄目!
lx# mount /dev/ad1c /mnt/
lx# ls -aF /mnt/
./ bin/ etc/ modules/ sys@
../ boot/ home@ proc/ tmp/
.cshrc cdrom/ kernel* root/ usr/
.profile compat@ kernel.GENERIC* sbin/ var/
COPYRIGHT dev/ mnt/ stand/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lx# df
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/da3s3a 128990 38564 80108 32% /
/dev/da3s3f 257998 14 237346 0% /tmp
/dev/da3s3g 5286238 1280490 3582850 26% /usr
/dev/da3s3e 257998 3828 233532 2% /var
procfs 4 4 0 100% /proc
/dev/ad1c 128990 36712 81960 31% /mnt
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lx# mount
/dev/da3s3a on / (ufs, local)
/dev/da3s3f on /tmp (ufs, local, soft-updates)
/dev/da3s3g on /usr (ufs, local, soft-updates)
/dev/da3s3e on /var (ufs, local, soft-updates)
procfs on /proc (procfs, local)
/dev/ad1c on /mnt (ufs, local)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lx# umount /mnt/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hdb の 別の 場所
lx# mount /dev/ad1g /mnt/
lx# ls -aF /mnt/
./ bin/ include/ local/ share/
../ compat/ lib/ obj/ src/
@LongLink games/ libdata/ ports/
X11R6/ home/ libexec/ sbin/
lx# ls -aF /mnt/home/
./ ../ mm/
~~~~~~~~~~~~~~~~~~~~~~~~~~~
lx# df
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/da3s3a 128990 38564 80108 32% /
/dev/da3s3f 257998 14 237346 0% /tmp
/dev/da3s3g 5286238 1280494 3582846 26% /usr
/dev/da3s3e 257998 3828 233532 2% /var
procfs 4 4 0 100% /proc
/dev/ad1g 3191012 1280284 1655448 44% /mnt
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lx# mount
/dev/da3s3a on / (ufs, local)
/dev/da3s3f on /tmp (ufs, local, soft-updates)
/dev/da3s3g on /usr (ufs, local, soft-updates)
/dev/da3s3e on /var (ufs, local, soft-updates)
procfs on /proc (procfs, local)
/dev/ad1g on /mnt (ufs, local, soft-updates)
lx# umount /mnt/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
****次は msdos の マウント です。基本領域
lx# mount -t msdos /dev/ad0s1 /mnt
lx# ls /mnt/
001.eps defi.tune Nyantarou.fls instlug.files bootf.sti
normal.bach pquitlug.files seriallug.fle snooplug.val beosldr
start.vbc os9IME.tune network.con tuneTEM.1ST
start.files IO.set plist data screen.det
load.os9 MSos9.--- box.dir OS8
search.est MSos9.tune defer.ed boot.ida
lx# df
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/da3s3a 128990 38564 80108 32% /
/dev/da3s3f 257998 14 237346 0% /tmp
/dev/da3s3g 5286238 128da3s3a0688 3582652 26% /usr
/dev/da3s3e 257998 3828 233532 2% /var
procfs 4 4 0 100% /proc
/dev/ad0s1 1026112 249836 776276 24% /mnt
lx# mount
/dev/da3s3a on / (ufs, local)
/dev/da3s3f on /tmp (ufs, local, soft-updates)
/dev/da3s3g on /usr (ufs, local, soft-updates)
/dev/da3s3e on /var (ufs, local, soft-updates)
procfs on /proc (procfs, local)
/dev/ad0s1 on /mnt (msdos, local)
lx# umount /mnt/
***** msdos 拡張領域 と いきませう
lx# mount -t msdos /dev/ad0s5 /mnt
lx# ls /mnt/
doqumanta unt sataauf winenet
plgrama au feiles prigrim.ida*
rdust
lx# df
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/da3s3a 128990 3da3s3a8564 80108 32% /
/dev/da3s3f 257998 14 237346 0% /tmp
/dev/da3s3g 5286238 1280664 3582676 26% /usr
/dev/da3s3e 257998 3828 233532 2% /var
procfs 4 4 0 100% /proc
/dev/ad0s5 3166612 1127484 2039128 36% /mnt
lx# mount
/dev/da3s3a on / (ufs, local)
/dev/da3s3f on /tmp (ufs, local, soft-updates)
/dev/da3s3g on /usr (ufs, local, soft-updates)
/dev/da3s3e on /var (ufs, local, soft-updates)
procfs on /proc (procfs, local)
/dev/ad0s5 on /mnt (msdos, local)
lx# umount /mnt/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
いやはや 非常に わかり 難い のか にゃんたろうが おかしいのか ?おもろ い 状況ですね
なんか が 類推 されます が da3s3a と マウント するときの 記号 も 合わ ない? 見直し 必要ですね マウント する度に 考えなきゃ いけん つう ことで すな 注意 ad で 駄目 なら da で とでも 考えまひょう