LPICレベル2の取得を目指して学習中のものです。Linuxの知識はほぼテキストベースの初心者ですので、質問のための情報に過不足があるかもしれませんが、ご指摘願えれば幸いです。よろしくお願いいたします。

<やりたいこと>
一つのパソコンにCentOS3.6を2つインストールし、1つめのCentOS3.6のLILOからそれぞれの/をルートパーティションとし、それぞれのカーネルを読み出せるようにしたいです。

<困っていること>
一つ目のCentOS3.6(以下便宜上CentOS1とします)に二つ目(CentOS2とします)の/をマウントし、CentOS1からCentOS2を認識できる状態にした上で、CentOS1の/etc/lilo.confを書き換え、「それぞれの/をルートパーティションとし、それぞれのカーネルを読み出せるように」しました。(つもり)
しかし、CentOS1からはCentOS2の/boot配下に何もないように見えてしまいます。(よって、CentOS1の/etc/lilo.confにCentOS2のカーネルイメージを記述しても無効になってしまいます)
詳細は下の<やったこと>にて。

<やったこと>
80GBのSATAハードディスクが1つ搭載されているパソコン(真っ白)にCentOS1をインストールしました。
パーティション構成は以下のとおりです。
/dev/sda1 /boot 100M
/dev/sda2 /   残り全部
このドライブ(ドライブA)のMBRにはLILOをインストールしました。

…長くてすいません。続きます。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

mountという処理の概念を理解できていないようですね。



原因は、
/dev/sdb2 はmount済み
/dev/sdb1 はmountしていない
ためです。

JF(Linux Howto Documents)は参照したことがありますか?

参考URL:http://www.linux.or.jp/JF/JFdocs/Multi-Disk-HOWT …

この回答への補足

CentOS1として立ち上げれば、CentOS2の/etc/fstab(つまり、CentOS1から見れば/mnt/lpic2/etc/fstab)は機能しないから、CentOS2の/にCentOS2の/bootがマウントされていないのは当たり前ですね。
mountの概念の前にこの当たり前のことに気付いていませんでした。お騒がせしました。

補足日時:2006/10/10 19:40
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
おっしゃるとおり、/dev/sdb1をマウントしたら、CentOS1からでもCentOS2の/boot以下が見えるようになりました!

(質問内容に書いてないのですが、)CentOS2の/bootパーティションはCentOS2のルートファイルシステムから(/etc/fstabの設定で)マウントされているので、CentOS1(の/mnt/lpic2)にCentOS2の/をマウントすれば、/配下としてCentOS2の/boot以下も見えるものと考えておりました。

参考URLにあげてくださったページをざっと見てみたのですが、まだ本当の意味で理論的な理解はできていません。時間をかけてじっくり見てみたいと思います。
(よろしければ、教えてくださった参考URL以下のどのページが特に理解の助けになるか…をご教示いただけると嬉しいです)

ともかく、操作的には全く望みどおりの状態にすることができました。ありがとうございます。

また、真に理解していないので何とも言えないのですが、ひょっとしたら、とてつもなく意味のない(初歩的な)質問をしてしまったのかもしれませんね。
…だとしたら、大変申し訳ありませんでした。

お礼日時:2006/10/10 00:11

質問者です。

続きを書かせていただきます。

82GBのSATAハードディスクを増設し(ドライブB)、CentOS2をインストールしました。
パーティション構成は以下のとおりです。
/dev/sdb1 /boot 100M
/dev/sdb2 /   1G 
/dev/sdb3 /var  4G
/dev/sdb5 /usr  4G
/dev/sdb6 /home 1G
ブートローダとしては、/dev/sdb1の先頭セクタにLILOをインストールしました。

CentOS1の/etc/fstabの最下行に以下のとおり追記し、CentOS2の/をCentOS1の/mnt/lpic2にマウントしました。
/dev/sda2 / ext3 defaults 1 1
/dev/sda1 /boot ext3 defaults 1 2
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
/dev/sda3 swap swap defaults 0 0
/dev/cdrom /mnt/cdrom udf,iso9660 noauto,owner,kudzu,ro 0 0
/dev/sdb2 /mnt/lpic2       ext3  defaults    1 1

CentOS1の/etc/lilo.confの記述を以下のようにしました。
prompt
timeout=500
default=linux
boot=/dev/sda
map=/boot/map
install=/boot/boot.b
message=/boot/message
linear

image=/boot/vmlinuz-2.4.21-47.EL
label=linux
read-only
initrd=/boot/initrd-2.4.21-47.EL.img
root=/dev/sda2

image=/mnt/lpic/boot/vmlinuz-2.4.21-37.EL
label=lpic2
read-only
initrd=/boot/initrd-2.4.21-37.EL.img
    root=/dev/sdb2

liloコマンドを実行したところ、「/mnt/lpic/boot/vmlinuz-2.4.21-37.EL」なんてファイルはない…と言われてしまいました。
実際に「cd /mnt/lpic2/boot」後「ls」を実行してみたら、/mnt/lpic2/boot以下には一つもファイルが見当たりませんでした。
ちなみに/mnt/lpic2/etc以下などのファイルは普通にCentOS1からも確認できます。


(以下、確認のための操作)
CentOS1の/etc/lilo.confの記述を下のように変えました。
prompt
timeout=500
default=linux
boot=/dev/sda
map=/boot/map
install=/boot/boot.b
message=/boot/message
linear

image=/boot/vmlinuz-2.4.21-47.EL
label=linux
read-only
initrd=/boot/initrd-2.4.21-47.EL.img
root=/dev/sda2

image=/boot/vmlinuz-2.4.21-47.EL
label=lpic2
read-only
initrd=/boot/initrd-2.4.21-47.EL.img
root=/dev/sdb2

これで、CentOS1のカーネルでCentOS1の/をルートパーティションとした立ち上げとCentOS2の/をルートパーティションとした立ち上げができるようになりました。
その上で、CentOS2の/をルートパーティションとして立ち上げ、/boot以下を確認したところ、ちゃんとカーネルイメージファイルがありました。

なぜ、CentOS1からはCentOS2の/boot(CentOS1から見ると/mnt/lpic2/boot)以下に何もないように見えてしまうのでしょうか。
ネットで調べながらやったので、手順としては大きく間違っていないと思っています。何か根本的な設定を見落としているのか…ご教示願います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qfedoraにlogitec社製の外付けHDDをscsiでつけたのですがdfコマンドで/dev/sdaが現れません。

fedora core1をフルインストールしたPCにlogitec外付けHDD(LHD-E40SU)を接続して起動させた後dfコマンドで確認すると/dev/sdaが現れません。このHDDをRedhat9のマシンに接続した場合はうまくいったのですが、fedoraでは何か設定が必要なのでしょうか。
ちなみにdmesg | grep sdaとすると以下のようにでてきます。

Attached scsi disk sda at scsi0, channel 0, id 3, lun 0
SCSI device sda: 80063424 512-byte hdwr sectors (40992 MB)
sda: sda1 < sda5 >

Aベストアンサー

/etc/fstab ファイルに記述してください。
起動時にマウントされるようになります。

Q/etc/httpd/conf/httpd.confの中身について

失礼します。linux初心者です。

Apacheの仮想サイトの構成について調べたいのですが、

/etc/httpd/conf/httpd.confを参照したところ以下の様に記述されています。

<VirtualHost *:80>
# ServerAdmin webmaster@dummy-host.example.com
# DocumentRoot /www/docs/dummy-host.example.com
# ServerName dummy-host.example.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>

これは、
WEB接続使用ポート:80
サーバードメイン:webmaster@dummy-host.example.com
ルートディレクトリ:/www/docs/dummy-host.example.com
サーバー名:dummy-host.example.com
ログ保存場所:dummy-host.example.com-error_log
       logs/dummy-host.example.com-access_log common
という解釈で間違いありませんでしょうか。

またこの仮想サイトのsmarty保存場所を調べるにはどのようにすればよいですか。

失礼します。linux初心者です。

Apacheの仮想サイトの構成について調べたいのですが、

/etc/httpd/conf/httpd.confを参照したところ以下の様に記述されています。

<VirtualHost *:80>
# ServerAdmin webmaster@dummy-host.example.com
# DocumentRoot /www/docs/dummy-host.example.com
# ServerName dummy-host.example.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>

これは、
WEB接続使...続きを読む

Aベストアンサー

たぶん、違います。
これらはすべてコメントアウトされていますので、実際の設定は他にあるのだと思います。
もし、これがコメントアウトされていなければその解釈でほぼあっています。
一番最初だけ、サーバーアドミンですが。

Smartyの保存場所はApacheの関知するところではないと思いますので、ここには書いていないと思います。

Q/dev/stdin

/dev/stdin/ の利用価値を教えてください。
いまいちありがたみがわからないのです。

cat /dev/stdin と入れてみて、「a」と入力すると同じ文字が次の行で表示されました。

#cat /dev/stdin
a ←自分で入力
a ←自動で表示された。


★実行プログラムが標準入力や標準出力に対応していなくでもファイル名を指定するときに
これらのファイルを指定することで、標準入出力に対応できます。
パイプやヒアドキュメントをつかって便利に使えるようになりますよ。

というblog記事も見つかったのですが
いまいち、ピンと来ないのです。

/dev/stdin を使うとどんなメリットがあるのでしょうか
ご教授お願いします。

Aベストアンサー

Unixの系列のプログラムの場合、パイプを使って小さなプログラムを組み合わせて動かす、という事をよくやります。例えば、「ホームフォルダから辿れる場所にある全てのファイルのうち、文字列"Hello"が最も多く出現するファイルTop 10を表示したい」という場合には、ファイルの一覧を出力するfind、標準入力を引数に変換するxargs、テキストの中から特定の文字を含む行を抽出するgrep、行単位で文字列の編集を行うsed、行単位での重複を削除しつつその出現回数を数えるuniq、並び替えを行うsort、最初の数個だけを表示するheadを用いると
$ find ~ | xargs grep 'Hello' | sed 's/:.*$//' | uniq -c | sort -r | head
等と書くことができ、
「一つのことを行い、またそれをうまくやるプログラムを書け。協調して動くプログラムを書け。標準入出力を扱うプログラムを書け。」(quoted from wikipedia)というUnixの哲学に則ったプログラムは組み合わせやすく、再利用しやすいという特性が生きていることが分かります。

ところが、中には標準入出力からの入力に対応していないプログラムもあります。そういったプログラムは通常、実行時引数でファイル名を指定して動くのですが、「指定されたファイルがあたかも存在して、そこから文字列を読み取ると標準入力から文字列を読み取ったことになる」という素敵な作用を持つ(ある意味架空の)ファイルが、その/dev/stdinになります。

e.g.)
$ cat /dev/stdin << end. # ここから
> hello.
> ok.
> end. # ここまでヒアドキュメント。catは/dev/stdinを読みに行っている。
hello. # これと次の行は出力された文字列。
ok.

Unixの系列のプログラムの場合、パイプを使って小さなプログラムを組み合わせて動かす、という事をよくやります。例えば、「ホームフォルダから辿れる場所にある全てのファイルのうち、文字列"Hello"が最も多く出現するファイルTop 10を表示したい」という場合には、ファイルの一覧を出力するfind、標準入力を引数に変換するxargs、テキストの中から特定の文字を含む行を抽出するgrep、行単位で文字列の編集を行うsed、行単位での重複を削除しつつその出現回数を数えるuniq、並び替えを行うsort、最初の数個だけを...続きを読む

Q/sbin/liloコマンドについて

/sbin/liloコマンドについて質問です。

例えば、MBRにNTLoaderがインストールされているとして、LILOがLinuxのブートセクタにあるとします(デュアルブートの典型的なパターンです)。この状態で、上記のコマンドを行った際、LILOが再起動するだけなのか、MBRにLILOが上書きされるのかどちらでしょうか?

前者だと思うのですが、確信が持てないのでご教授ください。

Aベストアンサー

最終的には、liloやlilo.confのマニュアルを参照して、確認戴きたいのですが、
>ちなみに、「(/etc/lilo.confの当該箇所」とは、どの部分でしょうか?
>prompt
>timeout=50
>default=linux
>boot=/dev/hda2
boot=がブートセクタを含むパーティションの指定になります。
(今の例だと、hd2aの頭にブートセクタを持っていることになるかと)

QFedora18で/dev/ram0の作り方

 Fedora 18で意図せず、RAMディスクを作るためのデバイスファイル/dev/ram0を壊してしまいました。他の方法でRAMディスクを作ることはできましたが、この/dev/ram0を作り直す方法はあるのでしょうか。ご存知の方がいらっしゃいましたら、よろしくお願いします。

Aベストアンサー

super user権限で、

MAKEDEV ram0

MAKEDEVが、コマンドでなければ、/devのところに、MAKEDEV.sh がないか、確認する。


人気Q&Aランキング

おすすめ情報