./configure
ソフトウェアの実行可能ファイルを実行しようとしていますが(PuTTYを使用してリモートLinuxシステムを介してこれを実行しています)、ある時点で次のように表示されます。
ATTENTION! pax archive volume change required.
Ready for archive volume: 1
Input archive name or "." to quit pax.
Archive name >
そのため、ソフトウェアメーカーにこの警告を送信したところ、私のUIDが21桁より大きく、paxエラーが発生したという。実行する前にこれを試してみることをお勧めします./configure
。
alias pax='/usr/bin/pax -O "S@'"
これを試してみると、何かを入力するように求められますが、何を入力するのかわかりません。
オンラインで見つけましたが、この問題に対する解決策が見つかりませんでした。パックスがどういう意味なのか説明してもらえますか?一種のアーカイブですが、実際には私のファイルエクスプローラにあるフォルダですか、それとも別のフォルダですか?
また、開発者が私に送った「私のUID> 21桁」とはどういう意味ですか?
この人員に何かを入力する必要がありますか?それともログアウトするとどうなりますか?ソフトウェアがコンパイルされていないようです。
すべての提案/ヒントをいただきありがとうございます!私は実際にソフトウェアエンジニアリングの経験がありませんが、学んでいます!
答え1
この行の意図は、明らかにスクリプトがコマンドを呼び出すと、スクリプトpax
がoptionsを使用して呼び出したかのように動作することです-O
。ただし、このコマンドにはいくつかのエラーがあります。正しいコマンドは
alias pax='pax -O'
(コピーして貼り付けてください。もう一度入力しないでください。)
また、シェルに入力しても役に立ちません。スクリプトに入れる場合にのみ役立ちますconfigure
。 (私は役に立つかもしれないし、できないかもしれませんが、開発者の言葉が正しいと役立つことを願っています)configure
。
#!/bin/sh
alias pax='pax -O'
(最初の行は#! /bin/sh
or #!/usr/bin/env sh
or #!/bin/ksh
or 変更など少しずつ異なる場合があります。)
-O
paxに渡すと、実際に問題が解決するかどうかわかりません。これは、アーカイブが単一ボリュームであると仮定するようにpaxに指示しますが、これはpaxがアーカイブを正しく解析するのに役立たないため、データが失われる可能性があります。
このpax
コマンドはアーカイブを操作するユーティリティです。アーカイブ形式は(デフォルトでは)tar形式のバリエーションの1つです。 paxがアーカイブに書き込むときに、ファイルが2 ^ 21より大きいユーザーIDを持つユーザーが所有している場合、拡張ヘッダーが生成されます。所属するグループも同じだ。おそらく、このソリューションを考案した開発者は、スクリプトがconfigure
paxを呼び出してアーカイブを作成し、このアーカイブを読み取るために再呼び出しして再読み込みするときに拡張ヘッダーに関連するエラーがあると分析しました。
id
シェルプロンプトでコマンドを使用して、ユーザーとグループIDを確認できます。
答え2
これがUIDの問題の場合は、次を使用してください。
sudo ./configure
ルートのUIDは0で、数字は1つだけなので、問題は解決されます。