場合によっては、組み込みの内容を確認するために initramfs イメージ ファイルを抽出する必要があります。この投稿では、RHEL 7 の initramfs イメージ ファイルを抽出する手順を説明します。以前のバージョンとは異なり、RHEL 7 では initramfs イメージ ファイルに cpio コマンドを使用しても、すべてのファイルが抽出されるわけではありません (または何らかのエラーが発生します)。例:
# ls -la /boot/initramfs-$(uname -r).img -rw------- 1 root root 19602671 Feb 4 2016 /boot/initramfs-3.10.0-229.el7.x86_64.img
# file initramfs-3.10.0-229.el7.x86_64.img initramfs-3.10.0-229.el7.x86_64.img: gzip compressed data, from Unix, last modified: Thu Feb 4 16:02:04 2016, max compression
# gzip -dc initramfs-3.10.0-229.el7.x86_64.img | cpio -id --- will not extract all files or will give some error
RHEL7 で抽出するには、skipcpio を使用します :
1. initramfs イメージ ファイルをディレクトリにコピーします。
# mkdir /tmp/initramfs # cp /boot/initramfs-3.10.0-229.el7.x86_64.img
2. /usr/lib/dracut/skipcpio を使用してコンテンツを抽出します コマンド:
# cd /tmp/initramfs # /usr/lib/dracut/skipcpio initramfs-3.10.0-229.el7.x86_64.img | zcat | cpio -ivd . var var/lock var/run lib
ここで skipcpio dracut の組み込みツールです .
initramfs イメージの内容の一覧表示
initramfs イメージ ファイルの内容のみを一覧表示するには、lsinitrd を実行します。 :
# lsinitrd /boot/initramfs-3.10.0-229.el7.x86_64.img | more Image: /boot/initramfs-3.10.0-229.el7.x86_64.img: 19M ======================================================================== Version: dracut-033-359.el7 Arguments: -f dracut modules: bash nss-softokn i18n network ifcfg drm plymouth dm kernel-modules lvm resume rootfs-block terminfo udev-rules biosdevname systemd usrmount base fs-lib shutdown ======================================================================== drwxr-xr-x 12 root root 0 May 23 10:27 . crw-r--r-- 1 root root 5, 1 May 23 10:27 dev/console crw-r--r-- 1 root root 1, 11 May 23 10:27 dev/kmsg crw-r--r-- 1 root root 1, 3 May 23 10:27 dev/nullCentOS / RHEL 6 :initramfs イメージを抽出して編集/表示する方法