GNU/Linux >> Linux の 問題 >  >> Linux

CentOS / RHEL 6 :initramfs イメージを抽出して編集/表示する方法

場合によっては、組み込みの内容を確認するために initramfs イメージ ファイルを抽出する必要があります。この投稿では、RHEL 6 の initramfs イメージ ファイルを抽出する手順を説明します。

歩数

1. initramfs イメージを見つけて、ファイルの種類を確認します。

# ls -la /boot/initramfs-$(uname -r).img
-rw-r--r--. 1 root root 16196566 Feb  4  2015 /boot/initramfs-2.6.32-358.el6.x86_64.img
# file /boot/initramfs-2.6.32-358.el6.x86_64.img
/boot/initramfs-2.6.32-358.el6.x86_64.img: gzip compressed data, from Unix, last modified: Wed Feb  4 18:31:54 2015, max compression

2. /tmp にディレクトリを作成し、initramfs イメージ ファイルをそのディレクトリにコピーします (/tmp に initramfs を保持するのに十分なスペースがあるかどうかを確認してください):

# mkdir /tmp/initrmafs
# cp /boot/initramfs-$(uname -r).img /tmp/initramfs

3. /tmp/initramfs に移動して実行

# cd /tmp/initramfs
# gzip -dc /boot/initramfs-2.6.32-358.el6.x86_64.img | cpio -id
90556 blocks

上記のコマンドは initramfs イメージを抽出し、調査可能なディレクトリを作成する必要があります

# ls -lrt
total 15924
-rw-r--r-- 1 root root 16196566 Feb  4  2015 initramfs-2.6.32-358.el6.x86_64.img
drwxr-xr-x 2 root root     4096 Sep  2 11:01 pre-udev
drwxr-xr-x 2 root root     4096 Sep  2 11:01 cmdline
drwxr-xr-x 2 root root     4096 Sep  2 11:01 bin
drwxr-xr-x 2 root root     4096 Sep  2 11:01 proc
drwxr-xr-x 4 root root     4096 Sep  2 11:01 var
drwxrwxrwt 2 root root     4096 Sep  2 11:01 tmp
drwxr-xr-x 2 root root     4096 Sep  2 11:01 sysroot
drwxr-xr-x 2 root root     4096 Sep  2 11:01 sys
drwxr-xr-x 7 root root     4096 Sep  2 11:01 etc
-rw-r--r-- 1 root root       19 Sep  2 11:01 dracut-004-303.el6
drwxr-xr-x 2 root root     4096 Sep  2 11:01 pre-trigger
drwxr-xr-x 2 root root     4096 Sep  2 11:01 mount
drwxr-xr-x 2 root root     4096 Sep  2 11:01 initqueue-timeout
drwxr-xr-x 2 root root     4096 Sep  2 11:01 emergency
drwxr-xr-x 7 root root     4096 Sep  2 11:01 lib
drwxr-xr-x 2 root root     4096 Sep  2 11:01 initqueue-settled
drwxr-xr-x 2 root root     4096 Sep  2 11:01 initqueue-finished
-rwxr-xr-x 1 root root     8879 Sep  2 11:01 init
drwxr-xr-x 7 root root     4096 Sep  2 11:01 usr
drwxr-xr-x 2 root root     4096 Sep  2 11:01 pre-pivot
drwxr-xr-x 3 root root     4096 Sep  2 11:01 dev
drwxr-xr-x 3 root root     4096 Sep  2 11:01 lib64
drwxr-xr-x 2 root root     4096 Sep  2 11:01 sbin
drwxr-xr-x 2 root root     4096 Sep  2 11:01 initqueue

initramfs イメージを確認して編集できるようになりました。たとえば、ブート ログは /var/log にあります。 ディレクトリ。どのモジュールが initramfs にロードされているかを確認することもできます。そのためには、/lib/modules を確認してください。 または /lib/dracut .たとえば、/etc/multipath.conf を変更する必要がある場合は、/etc/ 内の任意のファイルを編集することもできます。

4. initramfs イメージを再作成するための変更が行われたら、実行します

# cd /tmp/initramfs
# rm initramfs-2.6.32-358.el6.x86_64.img
# find . | cpio -H newc -o > initramfs-2.6.32-358.el6.x86_64.cpio
# cat initramfs-2.6.32-358.el6.x86_64.cpio | gzip -9 > /tmp/initramfs-2.6.32-358.el6.x86_64.img

5. これで、この initramfs イメージを置き換えることができます (/tmp/initramfs-2.6.32-358.el6.x86_64.img) ) 1 つが /boot/ にあります

# cp /tmp/initramfs-2.6.32-358.el6.x86_64.img /boot/

initramfs イメージ コンテンツの表示

initramfs イメージ ファイルの内容のみを一覧表示するには、次のコマンドを実行します:

# lsinitrd /boot/initramfs-2.6.32-358.el6.x86_64.img
/boot/initramfs-2.6.32-358.el6.x86_64.img: 16M
========================================================================
========================================================================
drwxr-xr-x  24 root     root            0 Feb  4  2015 .
drwxr-xr-x   2 root     root            0 Feb  4  2015 pre-udev
-rwxr-xr-x   1 root     root         1208 Jan  9  2013 pre-udev/30resume-genrules.sh
-rwxr-xr-x   1 root     root          149 Jan 15  2010 pre-udev/30mdmon-pre-udev.sh
....
CentOS / RHEL 7 :initramfs イメージを抽出して編集/表示する方法


Linux
  1. CentOS / RHEL 7 :initramfs イメージを抽出して編集/表示する方法

  2. CentOS / RHEL 7 :grubby を使用してレスキュー イメージを削除する方法

  3. CentOS/RHEL 6 および 7 でマルチパスを使用して「initramfs」を再構築する方法

  1. CentOS/RHEL 7 および 8 で RAR ファイルを抽出する方法

  2. CentOS / RHEL 6 :初期 RAM ディスク イメージを再構築する方法

  3. CentOS / RHEL 5 :初期 RAM ディスク イメージを再構築する方法

  1. CentOS / RHEL 5 :vsftpd サーバーをインストールして構成する方法

  2. RHEL / CentOS 5,6 に telnet をインストールして構成する方法

  3. CentOS/RHEL 7 で Kerberos をインストールして構成する方法