]> Vine Linux レスキューモード利用ガイド 2011 Project Vine &legal; では、システムが起動しないなどの問題が発生した時にインストールメディアでレスキューモードを起動して復旧のための準備までの段階を解説します。 どんな時にレスキューモードを利用するのか FIXME!! 以下のような場面でレスキューモードを利用します。 設定ファイルの修正ミスなどによりシステムが起動できなくなった場合 ファイルシステムに変更を加えたい場合 このガイドでは、レスキューモードを起動する方法を中心に説明します。 レスキューモード利用手順 レスキューモードの起動 レスキューモードを起動するには、以下の手順を踏みます。 インストールメディアを挿入し、再起動します。 カーソルキーの上下を利用して「Advanced options」を選択し、Enter キーを押します。
「Advanced options」を選択
R キーを押して「Rescue mode」を選択状態にして、Enter キーを押します。
「Rescue mode」を選択
キーボードタイプの選択 レスキュモードを起動すると起動状況を示すメッセージが流れたあとドライバーの自動認識が行われ、しばらくするとキーボードタイプの選択画面が表示されます。
Keyboard Type
通常は、J キーを押して、「jp106」を選択状態にしてEnter キーを押せば良いでしょう。英語キーボードなどを利用している場合は、適切なキーボードタイプを選択してください。
「jp106」の選択
ネットワークの設定 キーボードタイプの選択が終わると次のような画面が表示されます。
Setup Networking
メッセージを訳すと「このシステムのネットワークインターフェースを開始したいですか?」という意味です。カーソルキーの左右を利用して、ネットワークを利用したい場合は「Yes」を、利用しない場合は「No」を選択し、Enter キーを押してください。「No」を選択した場合は、へ進みます。 「Yes」を選択した場合は、ネットワークカードの設定画面が表示されます。
Network Configuration for eth0
デフォルトでは、DHCP を利用する設定「Configure using DHCP」の前に [*] が表示され、有効になっています。手動で IP アドレス、ネットマスクを設定したい場合は、[*] のところでスペースキーを押し、表示を [ ] にしてください。IP アドレス (IP Address) およびネットマスク (Netmask) の入力が可能になるので Tab キーなどでカーソルを移動し、任意の値を入力してください。 設定内容に問題がなければ、OK ボタンにカーソルを合わせ Enter キーを押してください。
Vine Linux パーティションの検索 ここで次図のようなメッセージが表示されます。
Rescue
レスキュー レスキュー用環境が、インストールされた Linux を検索し、ディレクトリ /mnt/sysimage 以下にマウントを試みます。それにより、お使いのシステムに対し必要とする変更を加えることが可能です。この手順を実行したいのであれば、Continue を選択してください。また、Read-Only を選択することにより、読み書き用の代わりに読み込み専用でファイルシステムをマウントすることを選択することもできます。 なんらかの理由でこの手順が失敗する場合、Skip を選択することにより、この手順を省略し、コマンドシェルへ直接移行することも可能です。 Skip を選択した場合は、 へ進みます。 複数の Vine Linux がインストールされている場合、次図のような画面が表示されるので /mnt/sysimage にマウントしたいパーティションを選択してください。
パーティションの選択
ファイルシステムのマウントが成功すると次図のようなメッセージが表示されます。
/mnt/sysimage へのマウント
ここで Enter キーを押すと へ進みます。このメッセージの詳細は、次節で説明します。
シェルの起動 次図のようにいくつかエラーメッセージが表示される場合もありますが、シェルが起動します。このシェルにコマンドを打ち込むことにより、システムを操作します。
シェル
のメッセージにあるとおり、chroot /mnt/sysimage というコマンドを実行することにより、お使いの Vine Linux システムをルート環境とすることができます。
chroot
なお、exit コマンドを (chroot を実行した場合は 2 回) 実行するとシェル環境を抜け、システムが再起動します。
事例集 GRUB ブートローダ設定の修復 発生まで 以下のようなパーテーション構成でインストールしました。Vine Linux 1 のインストール時に Disk Druid で Vine Linux 2 のパーテーションも作成しています。実際にはもう少し細分化された構成ですが省略します。 マウントポイント デバイス この文書での呼び名 備考 / sda1 Vine Linux 1 実用環境 /mnt/testOS sda2 Vine Linux 2 テスト環境
Vine Linux 1 は通常通り sda の MBR の GRUB からの起動するように設定しました。問題なくインストール終了し、/mnt/testOS がマウントされていることも確認しました。 引き続き Vine Linux 2 をインストールしました。GRUB はパーテーション sda2 の先頭にインストールし、MBR の GRUB と二重に経由して起動させる構成です。 双方とも、インストールは問題なく終了しました。
問題発生 最起動時に Vine Linux 1 が以下のようなエラーを出力し起動を停止しました。 An error occurred during the file system check. Vine Linux 2 をインストールしたことで、/mnt/testOS だった sda2 のパーテーション名が変わり、Vine Linux 1 の /etc/fstab のラベルではマウントできなくなったようです。 Give root password for maintenanceとも表示されましたが、直接の root ログインを禁止する仕様のためか、root パスワードを入れようとしてもLogin incorrect.になりました。 レスキューモードで修復 いったん落としてレスキューモードを起動。 [System to Rescure] What partition holds the root partition of your instration? の画面では、問題を起こしている sda1 を選択しました。 # chroot /mnt/sysimage 念のため、パーテーション構成を df コマンドで再確認し、エディタを起動します。 # emacs /etc/fstab 「LABEL=/mnt/testOS」となっている部分を「/dev/sda2」に変更しました。 exit して再起動すると無事起動できました。
レスキューモードで提供しているコマンド レスキューモード環境で利用できるコマンドを簡単に説明します。利用方法などは、 オプションなどで確認してください。 なお、chroot /mnt/sysimage でインストール済みの Vine Linux システムをルート環境としている場合、利用できるコマンドはインストールされているパッケージにより異なってきます。逆に言えば、いつものツールが使える可能性があるという利点もあります。 コマンド概要 ar 書庫の作成、変更、および書庫からのファイルの取出しを行う arp システムの ARP キャッシュを操作する arping 近隣のホストへ ARP リクエストを送る awk パターン走査処理言語 base64 ファイルあるいは標準入力を Base64 でエンコード/デコードして標準出力へ出力する basename ファイル名からディレクトリと拡張子を取り去る blkid ブロックデバイスの属性を見つけて表示するコマンドラインユーティリティ blockdev コマンドラインからブロックデバイスの ioctl を呼び出す bunzip2 ブロックソートによってファイルを伸長する bzcat ファイルを標準出力に伸長する bzip2 ブロックソートによってファイルを圧縮する cal 簡単なカレンダーを表示する cat ファイルを連結して出力する catv 非印字文字を ^x や M-x として表示する chat モデム接続の確立を自動化するスクリプト言語 chattr ext2fs 上にある ファイルの属性を変更する chgrp ファイルのグループ所有権を変更する chmod ファイルのアクセス権を変更する chown ファイルの所有者とグループを変更する chpst プロセスの状態を変更してプログラムを実行する chroot ルートディレクトリを変更してコマンドを実行する chrt プロセスのリアルタイム属性を操作する chvt 仮想端末をフォアグラウンドに変更する cksum CRC チェックサムとバイト数を表示する clear 端末画面をクリアする cmp 2 つのファイルを 1 バイトずつ比較する comm ソート済みの2つのファイルを行ごとに比較する cp ファイルやディレクトリをコピーする cpio アーカイブファイルへのファイルのコピーや、アーカイブファイルからファイルへのコピーをおこなう cryptpw crypt を利用してパスワードを暗号化する cttyhack 可能であれば、プログラムへ tty の制御を与える cut 各行から選択した部分を表示する date システムの日付と時刻を表示・設定する dc 逆ポーランド形式の無限精度の計算が行える卓上計算機 dd ファイルを変換してコピーする deallockvt 利用されていない仮想端末 /dev/ttyN の割り当てを解除する depmod modules.dep とマップファイルを作成するプログラム devmem 物理アドレスの読み込み/書き込みを行う df ファイルシステムのディスク容量の使用状況を表示する dhcprelay クライアントとサーバー間の DHCP リクエストを中継する diff 2 つのファイル間の違いを探す dirname ファイル名からディレクトリ名以外の部分を除去する dmesg カーネルリングバッファーを表示または制御する dnsdomainname DNS ドメイン名を取得する dos2unix MS-DOS から UNIX 形式へファイルを変換して置き換える du ファイルのディスク使用量を見積もる dumpkmap バイナリキーボード翻訳テーブルを標準出力へ表示する dumpleases udhcpd により許可されている DHCP 貸し出しを表示する echo 1 行のテキストを表示する ed 行指向のテキストエディタ egrep パターンにマッチする行を表示する eject リムーバブルメディアをイジェクトする env 環境を変更してプログラムを実行する envdir 特定のディレクトリ内にあるファイルで指定される環境変数を設定してプログラムを実行する envuidgid 指定したユーザーの UID と GID でプログラムを実行する ether-wake Wake-On-LAN のマジックパケットを作成・転送する ( オプションで使い方を表示する) expand タブをスペースに変換する expr 式を評価する false 何もせずに失敗する fbset フレームバッファ設定を表示・変更する fdflush 強制的にフロッピーディスクドライブにディスクの変更を検出させる fdformat フロッピーディスクの低レベルフォーマットを行う fdisk Linux 用のパーティションテーブル操作ツール fgconsole 現在の仮想端末番号を表示する find ディレクトリ階層をたどって、条件を満たすファイルを検索する findfs ラベルや UUID からファイルシステムを見つける flock ファイルロックを取得し、そのロックを保持するコマンドを実行する fold 入力行を指定された幅にあわせて折りたたむ free システムの空きメモリと利用メモリの量を表示する。 freeramdisk 指定した RAMDISK で利用されているメモリをすべて開放する fsck Linux ファイルシステムのチェックと修復を行う fsck.minix Linux MINIX ファイルシステムの整合性チェックを行う fsync ファイルのバッファーブロックをディスクへ書き込む ftp Internet ファイル転送プログラム ftpget FTP によってリモートファイルを受信する ftpput FTP によってリモートマシン上へローカルファイルを保存する fuser ファイルやソケットを使用しているプロセスを特定する getopt コマンドの引き数を解析する (拡張版) getty TTY を開き、ログインネームを尋ね、/bin/login を呼び出す grep パターンにマッチする行を表示する gunzip Lempel-Ziv コーディング (LZ77) を利用してファイルの伸長を行う gzip Lempel-Ziv コーディング (LZ77) を利用してファイルの圧縮を行う hd hexdump -C の別名 hdparm ハードディスクのパラメータを設定・取得する head ファイルの最初の部分を表示する hexdump ASCII, 10 進, 16 進, 8 進でダンプする hostid ホストの識別値を表示する hostname 現在のホストシステムの名前を設定・表示する hwclock ハードウェアクロック (RTC) の読み取りと設定を行う id 現在のユーザ ID 名とグループ ID 名を表示する ifconfig ネットワークインタフェースの設定 ifdown ネットワークインターフェースを停止する ifenslave ネットワークデバイスを仮想 NIC に取り付け・取り外しする ifup ネットワークインターフェースを起動する insmod Linux カーネルにモジュールを登録する単純なプログラム install ファイルをコピーし、その属性を設定する ionice プログラムのスケジューリングクラスと優先度を取得・設定する iostat CPU および I/O の状態を報告する ip ルーティング、デバイス、ポリシールーティングおよびトンネルを表示・操作する ipaddr ネットワークインターフェースの IP アドレスを操作する ipcalc IP アドレスの簡単な操作を実行する ipcrm メッセージキュー、セマフォや共有メモリ ID を削除する ipcs プロセス間通信の情報を提供する iplink ネットワークインターフェースの接続を操作する iproute ネットワークの経路情報を操作する iprule ネットワークの経路選択ルールを操作する iptunnel IP トンネルを操作する kbd_mode キーボードモードの表示・設定を行う kill プロセスにシグナルを送る killall プロセスを名前で指定して kill する killall5 すべてのプロセスにシグナルを送る kudzu-probe ハードウェアを検出する last 最近ログインしたユーザのリストを表示する ldd 共有ライブラリへの依存関係を表示する length 文字列の長さを表示する less more の反対 (more のようなページャー) list-harddrives 固定ディスクドライブを一覧表示する ln ファイルへのリンクを作成する loadkeys キーボード翻訳表を読み込む loadkmap バイナリキーボード翻訳テーブルを標準入力から読み込む logname ユーザーのログイン名を表示する losetup loop デバイスの設定と制御を行う lpq キューに登録されている印刷ジョブの確認を行う lpr 印刷ジョブを作成し、キューに登録する ls ディレクトリの中身をリスト表示する lsattr ext2fs 上にあるファイルの属性を表示する lshal HAL デバイスを一覧表示する lsmod Linux カーネルのモジュールの状態を表示するプログラム lspci 全ての PCI デバイスを表示する lsusb USB デバイスを一覧表示する lzcat XZ または LZMA によって入力を伸長し、標準出力へ出力する lzma XZ または LZMA によってファイルを圧縮する lzop LZO アルゴリズムによってファイルを圧縮・伸長する lzopcat LZO アルゴリズムによってファイルを伸長し、標準出力へ出力する makedevs デバイステーブルで指定された特別なファイルを作成する makemime ファイルからマルチパート MIME エンコードされたメッセージを作成する mattrib MS-DOS のファイルの属性フラグを変更する mbadblocks フロッピーディスクを試験し、不良ブロックを FAT に記録する mbchk マルチブートカーネルの形式を検査する mcd MS-DOS のディレクトリを変更する mcopy MS-DOS と UNIX 間でファイルをコピーする md5sum MD5 ハッシュチェックサムを計算・チェックする mdel MS-DOS のファイルを削除する mdeltree MS-DOS のディレクトリを再帰的に削除する mdir MS-DOS のディレクトリを表示する mdu MS-DOS のディレクトリが占める容量を表示する mesg 使用中の端末への書き込み許可属性を制御する mformat 低レベルフォーマットのフロッピーディスクに MS-DOS のファイルシステムを追加する microcom 標準入力から TTY へ、TTY から 標準出力へバイトをコピーする minfo MS-DOS ファイルシステムのパラメーターを表示する mkdir ディレクトリを作成する mkdosfs Linux 上に MS-DOS のファイルシステムを作成する mke2fs ext2/ext3/ext4 ファイルシステムを作成する mkfifo FIFO (名前付きパイプ) を作る mknod ブロックまたはキャラクターの特別なファイルを作成する mlabel MS-DOS のボリュームラベルを作成する mmd MS-DOS のサブディレクトリを作成する mmount MS-DOS のディスクをマウントする mmove MS-DOS のファイルやサブディレクトリの移動または名前を変更する mpartition MS-DOS のファイルシステムをパーティションとして作成する mrd MS-DOS のサブディレクトリを削除する mren MS-DOS のファイルの名前を変更する mshowfat ファイルに割り当てられた FAT クラスターを表示する mtools UNIX で MS-DOS のディスクにアクセスするためのユーティリティ mtype MS-DOS のファイルの内容を表示する mv ファイルを移動する (ファイル名を変更する) mzip Zip/Jaz ドライブの保護モードを変更したり、ディスクをイジェクトする nano テキストエディタ nice スケジュール優先度を変更してプログラムを実行する nmeter システムをリアルタイムで監視する nohup ハングアップに反応しないようにしてコマンドを実行する nslookup 対話的にインターネットネームサーバーに問い合わせる od ファイルを 8 進数 (または他の形式) で出力する openvt 新しい仮想端末でプログラムを起動する patch オリジナルファイルに差分ファイルを適用する pgrep 名前や各種属性に基づきプロセスを閲覧する pidof 名前でプロセスを見つけ、それらの PID を一覧表示する ping ICMP ECHO_REQUEST パケットをネットワーク上のホストに送る ping6 ICMP ECHO_REQUEST パケットをネットワーク上のホストに送る (IPv6 対応版) pivot_root root ファイルシステムを変更する pkill 名前や各種属性に基づきプロセスにシグナルを送信する pmap プロセスのメモリマップを表示する popmaildir リモートのメールボックスの内容をローカルの maildir に取り寄せる powertop インテルベースのラップトップの電源消費を解析する printenv 環境の全部あるいは一部を表示する printf データを整形して表示する ps 現在実行されているプロセスのスナップショットを表示する pscan ポートスキャナー pump BOOTP または DHCP プロトコルを通じてネットワークインターフェースを設定する pwd 現在のディレクトリ (ワーキングディレクトリ) の名前を表示する python スクリプト言語 Python インタープリター raidautorun 自動的に RAID ディスクアレイを検出し起動する raidstart RAID ディスクアレイを起動する raidstop RAID ディスクアレイを停止する rcp リモートファイルのコピー rdate ネットワーク経由で日付と時刻を得る rdev ルートデバイスの問い合わせと設定 readahead 前もってファイルを RAM に読み込む readlink シンボリックリンクの値または標準的なファイル名を表示する readprofile カーネルのプロファイリング情報を読みだすツール realpath 正規化された絶対パス名を返す reformime MIME エンコードされたメッセージを解釈する renice 実行中のプロセスの優先度を変更する reset 端末をリセットする rev 各行ごとに、入力された文字を逆に並べたものを出力する rlogin リモートマシンにログインする rm ファイルやディレクトリを削除する rmdir 空のディレクトリを削除する rmmod Linux カーネルからモジュールを削除する単純なプログラム route IP 経路テーブルの表示/設定 rsh リモートシェル rtcwake 指定した起床時刻までシステムを眠らせる run-parts ディレクトリ内のスクリプト群を実行する runlevel 現在及び一つ前のランレベルを調べる rx XMODEM プロトコルを利用してファイルを受信する scp セキュアコピー (リモートファイルのコピー) script 端末セッションの写し (typescript) を作成する scriptreplay タイミング情報を使って写し (typescript) を再生する sed ストリームエディタ sendmail 標準入力から E メールを読み込み送信する seq 単調増加 (減少) する数値列を表示する setarch uname コマンドの動作を調整する setconsole システムコンソールの出力をデバイスへリダイレクトする setfont EGA/VGA コンソールスクリーンフォントを読み込む setlogcons カーネルの出力を N 番目のコンソールにリダイレクトする setsid 新しいセッションでプログラムを実行する setuidgid 指定したユーザーの UID と GID でプログラムを実行する sftp セキュアなファイル転送プログラム sha1sum SHA1 メッセージダイジェスト値の計算と検証を行う sha256sum SHA256 メッセージダイジェスト値の計算と検証を行う sha512sum SHA512 メッセージダイジェスト値の計算と検証を行う showkey キーボードによって送られるコードを試験する shred ファイルを繰り返し上書きする slattach ネットワークインターフェースをシリアルラインにアタッチする sleep 指定した時間だけ遅延する smemcap /proc にあるメモリ使用データを収集し標準出力へ出力する softlimit ソフトウェア資源を制限してプログラムを実行する sort テキストファイルをソートする split ファイルを決まった大きさに分割する ssh SSH クライアント (リモートログインプログラム) stat ファイルまたはファイルシステムの状態を表示する strings ファイル中の表示可能な文字列を表示する stty 端末ラインの設定を変更・表示する su ユーザ ID とグループ ID を変更してシェルを起動する sum チェックサムとブロック数を表示する sv runsv スーパーバイザーによって監視されたサービスを制御する swapoff デバイスやファイルへのページング、スワッピングを無効にする swapon デバイスやファイルへのページング、スワッピングを有効にする switch_root ルートファイルシステムとして他のファイルシステムに切り替える sync ファイルシステムのメモリバッファをディスクと同期させる sysctl 実行時にカーネルパラメータを設定する tac ファイルを結合して逆順に表示する tail ファイルの末尾の部分を表示する tar Tar アーカイブ・ユーティリティ tee 標準入力から読んだ内容を標準出力とファイルとに書き出す telnet TELNET プロトコルのユーザーインターフェース test ファイル形式のチェックや値の比較を行う tftp 簡単なファイル転送プログラム time コマンドの時間計測やリソース使用量を表示する timeout 指定した時間の後、プログラムにシグナルを送る top Linux のタスクを表示する touch ファイルのアクセス時刻と修正時刻を変更する tr 文字の変換・削除や、連続する文字の圧縮を行う traceroute ネットホークホストへの経路パケット追跡情報を表示する traceroute6 ネットホークホストへの経路パケット追跡情報を表示する (IPv6 対応版) true 何もせずに成功する tty 標準入力に接続されている端末のファイル名を表示する ttysize 標準入力に接続されている端末の一行あたりの文字数と行数を表示する tunctl TUN / TAP ドライバを制御する udhcpc 軽量な DHCP クライアント umount ファイルシステムをアンマウントする uname システムの情報を表示する uncompress compress 形式のファイルを伸長する unexpand スペースをタブに変換する uniq ソートされたファイルから重なった行を削除する unix2dos UNIX から MS-DOS 形式へファイルを変換して置き換える unlzma LZMA でファイルを伸長する unlzop LZO アルゴリズムによってファイルを伸長する unxz XZ によってファイルを伸長する unzip ZIP アーカイブ内のファイルを一覧表示・検査・伸長する uptime システムがどのくらいの期間稼働し続けているかを表示する usleep 100万分の1 秒単位で sleep を実行する uudecode uuencode で作成されたファイルをデコードする uuencode バイナリファイルをエンコードする vconfig VLAN (802.1q) 設定プログラム vi モード付きテキストエディタ vlock 仮想端末をロックする (ロックの解除にはパスワードが必要) volname ISO-9660 ファイルシステムのボリューム名を返す wall 全員の端末にメッセージを送る watch プログラムを定期的に実行し、出力をフルスクリーンで表示する watchdog 定期的に指定したデバイスに書きこむ wc ファイルのバイト数・単語数・行数を表示する wget 非対話型のネットワークダウンローダー which 指定したコマンドの絶対パスを表示する who 誰がログイン中かを表示する whoami 実効ユーザー id を表示する xargs 標準入力を読み込んでコマンドラインを作成し、それを実行する xkbcomp XKB キーボードディスクリプションをコンパイルする xz XZ でファイルを圧縮・伸長する xzcat XZ でファイルを伸長し、標準出力へ出力する yes kill されるまで文字列を繰り返して出力する zcat Lempel-Ziv コーディング (LZ77) を利用してファイルを伸長し、標準出力へ出力する zcip ZeroConf ネットワークの IPv4 リンクローカルアドレスを管理する