Linux Tips



RPM コマンドの使い方

パッケージのインストール

     $ rpm -i package-1.1.0-i386.rpm                              インストール
     $ rpm -ivh package-1.1.0-i386.rpm hogehoge-1.1.0-i386.rpm    複数(依存関係が競合する場合など) 
     $ rpm -U package-1.1.0-i386.rpm                              アップグレード
     $ rpm -i --oldpackage package-1.1.0-i386.rpm                 古いパッケージをインストール
     $ rpm -i --force package-1.1.0-i386.rpm                      強制インストール
    

クエリー

     $ rpm -q hogehoge                       パッケージの確認
     $ rpm -qi hogehoge                      詳細な情報
     $ rpm -ql hogehoge                      パッケージに含まれるファイル
     $ rpm -qf /usr/X11R6/lib/libX11.so.6    どのパッケージに含まれていたか?
     $ rpm -qR hogehoge                      パッケージの必要とするファイル
     $ rpm -qa                               インストール済みの全パッケージ
    

RPM パッケージからファイルを取り出す

rpmパッケージを cpio 形式のファイルに変換

rpm2cpio コマンド(redhat)を使う

     $ rpm2cpio hogehoge.rmp > hogehoge.cpio
    

cpio 形式のアーカイバからファイルを復元

   $ cat hogehoge.cpio | cpio -id
 or
   $ cpio -id < hogehoge.cpio
  

Xフォントシステムの研究

fonts.dirの作成(でっち上げ)

vfontcapの作成(でっち上げ)

市販のブートローダーを使わずにマルチブート環境を構築する方法

最近のハードディスクにリカバリー領域を持つノートパソコン等では、 市販のブートローダー(BootMagicなど)を不用意にインストールすると、 リカバリー領域にアクセスできなくなり、リカバリー不能になることがある (私がそうだった)。このため、マスターブートレコード(MBR) の バックアップ方法や、MBR を いじらずに、マルチブート環境を構築する方法を知っていると便利。

Linux のローダー (LILO. GRUB 等)は boot パーティションの先頭ブロックに インストールする(MBR はいじらない)。何等かの方法で Linux を起動し boot パーティションの先頭ブロックをファイル化する。 例えばブートパーティションが /dev/hda5 であれば、

    # dd if=/dev/hda5 of=linux_boot.pbr bs=512 count=1
   
ファイル linux_boot.pbr を Windows のディレクトリ(例えば C:\)に コピーし、 boot.ini の [operating systems] のセクションに linux の項目を 付け加える。例。
    [boot loader]
    timeout=30
    default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional"/fastdetect
    C:\linux_boot.pbr="Linux"     <--  追加
   
これで、Windows の起動時に起動する OS の選択が出来るようになる。

また
    # dd if=/dev/hda of=linux_boot.pbr bs=512 count=1
   
とすることで、MBR のバックアップがとれる。ディスクの先頭 2〜63 ブロックは 通常は使われないようだが、ツールによってはこの領域を使用するものもある。 よって、先頭ブロックだけでなく、 その後のブロック(例えば count=64 とする)のバックアップも とっておいた方が安全かもしれない。