コマンドラインを使用してXIPアーカイブを抽出する方法を検索しましたので、私自身の解決策を残しています(bash
関数)。コマンドラインを使用してxipアーカイブを抽出する方法は?
私のインスピレーションはhereでした。
コマンドラインを使用してXIPアーカイブを抽出する方法を検索しましたので、私自身の解決策を残しています(bash
関数)。コマンドラインを使用してxipアーカイブを抽出する方法は?
私のインスピレーションはhereでした。
function unxip()
{
[ -z "$1" ] && echo "usage: unxip /path/to/archive.xip" && return
# http://newosxbook.com/src.jl?tree=listings&file=pbzx.c
PBZX="/usr/local/src/pbzx/pbzx" && [ ! -x "$PBZX" ] && echo "$PBZX not found." && return
[ ! -f "$1" ] && echo "$1 not found." && return
[ -f "Content" ] || [ -f "Metadata" ] && echo "Content or Metadata already exists." && return
pkgutil --check-signature "$1" && xar -xf "$1" && "$PBZX" Content | sudo tar x --strip-components=1
rm "Content" "Metadata"
}
我々はまずxar
を使用して、その内容を抽出xip
ファイル署名を確認します。次に、Jonathan Levin pbzxを使用して、チャンクを適切に解凍し、出力をtar
にパイプし、現在の作業ディレクトリのアクセス権を上書きしないように.
をスキップします。
これは、OS X El CapitanのXcode8.xip
アーカイブを解凍するための秘訣です。
あなただけ実行することができます:
open archive.xip
open -W archive.xip
は、アーカイブが開口部を完了するまで、それはその後、ブロックしますので、より良い動作します。
システムにインストールされているネイティブツール(/ System/Library/CoreServices/Applications/Archive Utility.app/Contents/MacOS/Archicユーティリティ)が既にインストールされている場合、サードパーティのアプリケーションをインストールする必要があるため、CIの観点からは望ましくありません。仕事をしなさい。 – ablarg