GNU/Linux >> Tutoriels Linux >  >> Linux

CentOS / RHEL 6 :Comment extraire l'image initramfs et la modifier/afficher

Dans certains cas, vous souhaiterez peut-être extraire le fichier image initramfs pour vérifier le contenu intégré. Cet article fournit des étapes pour extraire les fichiers image initramfs pour RHEL 6.

Étapes

1. Localisez votre image initramfs et vérifiez le type de fichier.

# 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. Créez un répertoire dans /tmp et copiez le fichier image initramfs dans ce répertoire (veuillez vérifier si /tmp dispose d'un espace suffisant pour contenir initramfs) :

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

3. Accédez à /tmp/initramfs et exécutez

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

La commande ci-dessus doit extraire l'image initramfs et créer des répertoires que vous pouvez étudier

# 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

Vous pouvez maintenant vérifier et modifier l'image initramfs, par exemple les journaux de démarrage sont situés dans /var/log annuaire. Vous pouvez également vérifier quels modules sont chargés dans initramfs , pour cela veuillez vérifier /lib/modules ou /lib/dracut .Il est également possible de modifier n'importe quel fichier dans /etc/ si par exemple /etc/multipath.conf doit être modifié.

4. Maintenant, lorsque des modifications sont apportées pour recréer l'image initramfs, exécutez

# 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. Vous pouvez maintenant remplacer cette image initramfs (/tmp/initramfs-2.6.32-358.el6.x86_64.img ) avec un situé dans /boot/

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

Affichage du contenu de l'image initramfs

Pour ne lister que le contenu d'un fichier image initramfs, vous pouvez exécuter :

# 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 :Comment extraire l'image initramfs et la modifier/afficher


Linux
  1. CentOS / RHEL 7 :Comment extraire l'image initramfs et la modifier/afficher

  2. CentOS / RHEL 7 :Comment supprimer une image de secours à l'aide de grubby

  3. Comment reconstruire le "initramfs" avec Multipath dans CentOS/RHEL 6 et 7

  4. CentOS / RHEL 6 :Comment reconstruire l'image initiale du disque RAM

  5. CentOS / RHEL 5 :Comment reconstruire l'image initiale du disque RAM

Comment installer MariaDB sur CentOS 8 / RHEL 8

Comment installer et configurer GlusterFS sur CentOS 7/CentOS 8

Comment installer EPEL Repo sur CentOS et RHEL 7 ?

CentOS / RHEL 5,6 :Comment changer le fuseau horaire

Comment réinitialiser le mot de passe racine dans CentOS/RHEL 8

Comment déboguer le processus de démarrage systemd dans CentOS/RHEL 7 et 8