Solaris flar イメージにパッチを適用する必要がありますが、すべてのコマンドを実行するのにかなり長い時間がかかる問題に直面しています。私がその前に立つのを避けるために、ほぼ完全に機能するシナリオを準備しました。したがって、デフォルトで更新する必要がある既存のflarアーカイブがあります。 common.flarと呼びましょう。スクリプトは推奨パッチを解凍し、common.flarを解凍してパッチを適用してから、アーカイブに再圧縮する必要があります。
私は次の命令に従った。
find . |cpio -ocv|compress > ../flash/archive
スクリプトの外部でこれを行うと正常に動作しますが、スクリプト内で実行するとアーカイブの最初の5つのファイルを処理して「中断」します。
../flash/archive: - ファイルが変更されない
これが発生してスクリプトが完了すると、新しいflarアーカイブは元のファイルとまったく同じサイズです。この操作を手動で行うと、新しいflarが大きくなります。 (この場合は72個のパッチがインストールされています。)
スクリプトは、圧縮パイプコマンドを実行するために正しいディレクトリに移動したことを確認しました。入力をリダイレクトせずに出力をファイルにリダイレクトしますが、それでも失敗する理由はわかりません。
私が行ったもう1つのテストは、2行だけでテストスクリプトを書くことです:cd dir検索。 |cpio -ocv|compress > ../flash/archive これはうまくいきます。