Monday, January 9, 2012

How to extract a specific file From RPM Without installing:-

By mistake If u have deleted /sbin/poweroff file from system.
How to find the RPM has this /sbin/poweroff

# yum whatprovides /sbin/poweroff

systemd-sysvinit-10-2.fc14.1.
i686 contains /sbin/poweroff in Fedora 14.

Now, if you try to install that package using yum, we will get “Package systemd-sysvinit-10-2.fc14.1.
i686 already installed and latest version”.

To restore /sbin/poweroff, all we need is systemd-sysvinit-10-2.fc14.1.
i686.rpm and rpm2cpio, this is bundled with rpm-x.x.x…i386.rpm.

# rpm -ql rpm | grep rpm2cpio
/usr/bin/rpm2cpio

/usr/lib/rpm/rpm2cpio.sh

/usr/share/man/ja/man8/
rpm2cpio.8.gz

/usr/share/man/ko/man8/
rpm2cpio.8.gz

/usr/share/man/man8/rpm2cpio.
8.gz

/usr/share/man/pl/man8/
rpm2cpio.8.gz

/usr/share/man/ru/man8/
rpm2cpio.8.gz

# rpm2cpio systemd-sysvinit-10-2.fc14.1.
i686.rpm | cpio -idmv

# cp sbin/poweroff /sbin/

Note: There is another way to install systemd-sysvinit-10-2.fc14.1.
i686.rpm by forcefully installing it.

# rpm -ivh systemd-sysvinit-10-2.fc14.1.
i686.rpm –force

No comments:

Post a Comment