(cpioコマンドを使用)コメントを抽出するために、LinuxのRPMパッケージファイル

RPMパッケージからファイルを抽出する方法を説明する前に、最初はシステムのcpioコマンドについて学習します。

アーカイブからアーカイブファイルを読み取ると、換言すれば、cpioコマンド・ファイル(またはディレクトリ)を抽出してもよいからパッケージにcpioコマンド、アーカイブは、パッケージファイル(またはディレクトリ)にコピーされてもよいです。

アーカイブ、ライブラリ・ファイルも事実は、tarやcpioファイル形式で、ファイルを他のファイルだけでなく、いくつかの関連情報(ファイル名、アクセス権など)を含む、呼び出すことができます。アーカイブは、ディスクファイルまたはテープやパイプの両方をすることができます。

cpioコマンドは、データ(ファイル)がアーカイブライブラリをcpioがためにバックアップすることができますので、あなたは、データ復旧のためのcpioのドキュメントライブラリを使用することができ、バックアップとして見たり、コマンドを復元することができます。

次の点に注意してください、データをバックアップまたは復元するcpioコマンドを使用します。

  • cpioの場合、絶対パスを使用してバックアップデータを使用する場合、自動的に絶対パスでデータを復元するために戻り、相対パスを使用してバックアップデータ場合は同様に、そのデータは、相対パスに復元されます。
  • バックアップを指定する(またはリストア)すること自体ができなくcpioコマンドファイルには、ターゲットファイル(またはディレクトリ)のフルパスを必要とする成功を読み取ることができますので、このコマンドは、多くの場合、findコマンドと一緒に使用されます。
  • データを復元するときにcpioコマンドが自動的に同じファイルを上書きしません、それは(直接現在のフォルダに解凍)ディレクトリを作成しません。


主に次の3つの基本モードでcpioコマンド:

  1. 「-O」モードは:コピーアウトモードを指し、データベースファイルにデータをバックアップすることで、次のように、コマンドの形式は次のとおりです。

    [ルート@ localhostの〜]#のcpio -o [VCB]> [ファイルシュウデバイス]

    次のように各オプションの意味は以下のとおりです。
    • -o:コピーアウトモード、バックアップ。
    • -v:バックアッププロセスを表示します。
    • -c:新しい携帯用フォーマット記憶の使用。
    • -B:入力/出力ブロック5120Bytes、代わりに512バイトモードを設定します。

    たとえば、バックアップデータのcpioコマンドを使用すると、次のとおりです。

    [ルート@ localhostの〜] #findの/ etc -print | cpioの-ocvB> /root/etc.cpio
    #は、/ etc /ディレクトリに、使用>ファイルをetc.cpioにエクスポートバックアップするには、findコマンドを使用することを指定し
    ます。[root @ localhostの〜]#を-H etc.cpio II
    -rw - R&LT - R&LT - .. 1. 6ルートルート12時29分21M etc.cpio付け5。
    ファイル生成etc.cpio

  2. 「-I」モードは:コピーインモードを指し、ファイルリポジトリからデータを回復することで、次のように、コマンドの形式は次のとおりです。

    [ルート@ localhostの〜]#1はcpio -i [VCDU] <[ファイル|デバイス]

    次のように各オプションの意味は以下のとおりです。
    • -i:コピーインモード、減少;
    • -v:表示低減プロセス。
    • -c:新しいポータブル形式のストレージ;
    • -d:新しいディレクトリに自動的に復元します。
    • -u:自動的に新しいファイルが古いファイルを上書きし使用します。

    たとえば、次のように使用したデータは復元コマンドをcpioの前にバックアップ:

    [ルート@ localhostの〜]#cpioの-idvcu </root/etc.cpio
    #バックアップなどの復元
    私たちは、現在のディレクトリ/ルート/を見れば、あなたは何世代に/ etc /ディレクトリを検索しません#を。これは、ときにデータを直接に/ etc /ディレクトリシステムに復元されているが、/ルートの/ etc /ディレクトリに生成されていないので、絶対パスを使用して、バックアップの/ etc /ディレクトリ

  3. 「-p」モード:ディレクトリからすべてのファイルを読み取ることができますが、cpioのライブラリにそれらをバックアップしませんが、直接、別のファイルにコピー-pモードを使用、コピーモードを指します。

    例えば、/テスト/ bootディレクトリにコピー-p /ブーツの使用は/次のコマンドを実行します。

    [ルート@ localhostの〜]#のCDを/ tmp /
    を/ tmp /ディレクトリに#
    [ルート@ localhostのTMP] -rf * #rm
    すべてのデータ#が削除を/ tmp /ディレクトリ
    のテストます。mkdir [ルートはlocalhost tmpの@]#
    はバックアップを作成ディレクトリ
    #[ローカルホストtmpの@ルート]検索/ブーツ/ -print | cpioの-p / tmpに/テスト
    を/ tmp /テスト/ディレクトリに#バックアップ/ブート/ディレクトリ
    [@ルートlocalhostのTMP]#のLSテスト/ブート
    で#/ TMP /テスト/ディレクトリのバックアップ/ブーツ/ディレクトリ

指定されたファイルでRPMパッケージを抽出するために、cpioコマンドを使用します

システムファイルを誤って削除または誤って変更された場合は、サーバー・プロセスを使用することで、生のRPMパッケージファイルシステムのcpioの抽出コマンドを使用することを検討して、ソースファイルには、故障を修復することです。

RPMパッケージには、次のようにコマンド形式は、一つ一つを抽出するために、パッケージファイルを許可します。

[ルート@ localhostの〜]#のrpm2cpioパッケージフルネーム| cpioの-idv絶対ファイルパス。

コマンドは、それがcpioコマンド形式に、RPMのrpm2cpioパケットで、cpioコマンドをファイルのcpio指定されたライブラリファイルから抽出することができます。

たとえば、私たちは/ binに/ LSは、修復するには通常2つの方法を削除コマンド慎重でないと仮定します。

  1. coreutilsの-8.4-19.el6.i686パッケージ(RPMパッケージからなるlsコマンド)、その後、-forceオプションでそれをインストールします。
  2. パッケージのcoreutils-8.4-19.el6.i686 / binに/ lsのファイルから抽出されたcpioコマンドを使用して、適切な場所にコピーします。


ここでは、最初の二つの方法を選択してください。一部の読者はどのようにしてlsコマンドは、RPMパッケージ、それの一部であることを知っています、求めることができますか?使用するのは非常に簡単で  rpm -qf 、次のようにコマンドを:

[ルートlocalhostの@〜]#-qf RPM / binに/ LSの
coreutilsの-8.4-19.el6.i686
#lsがファイルを閲覧されたパッケージに属しています

これに基づき、我々は単にcpioの抽出されたコマンドlsコマンドファイルからRPMパッケージを使用して、次のコマンドを達成するために対応する位置にコピーします:

[ルートlocalhostの@〜]#mvを/ binに/ lsの/ルート/
/ binに/ lsのは、誤って削除の錯覚を作成し、次/ルート/ディレクトリに移動するためのコマンドへ#
[ルート@ localhostの〜]#のLS
-bash:LS:いないコマンド見つかった
#LSはコマンドをこの時点で、システムが報告します"コマンドが見つかりません"というエラー
[ルート@ localhostの〜]#rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.el6.i686.rpm
| cpioの-idv ./bin / LSの
#は、現在のディレクトリにlsコマンドファイルを抽出
[ルート@ localhostの〜]#cpは/ルート/ binに/ lsの/ binに/
#/ bin /ディレクトリに抽出されたlsコマンドファイルをコピー
[ルート@ localhostの〜]#をLS
install.logにinstall.log.syslogのLSのinittabのアナコンダ-ks.cfgのビン
#は、lsコマンド、見ることができ、適切に使用することができます

例:

  1. 最初に表示含まれるファイルのリストをコマンドrpmを使用します
rpm2cpio your.rpm | cpio -t
  1. 次に、以下のコマンドを実行し、リストが必要なファイルを表示見つけます:
rpm2cpio your.rpm | cpio -id your-file

おすすめ

転載: www.cnblogs.com/life-Meer/p/11407228.html