タグ付けされた質問 「compatibility」

このタグを使用して、特定の環境設定またはコンピューターでソフトウェアを問題なく実行できるかどうかを確認します。

2
「sh互換」とはどういう意味ですか?
私は、「sh compatible」というフレーズがシェルに関連して通常使用されるのを見てきました。シェル内から実行される可能性のあるプログラムにも適用されるかどうかはわかりません。 シェルまたは他のプログラムが「sh互換」であることはどういう意味ですか?「sh incompatible」とはどういう意味ですか? 編集:bashとshの違いを尋ねるこの質問は非常に関連性があります: shとbashの違い 「sh互換」であるとはどういうことなのか、まだ直接的な回答が欲しいです。「sh compatible」は「Shell Command Languageを実装する」という意味ですが、なぜ「sh compatible」シェルがそれほど多く、なぜ異なるのでしょうか?

6
Linuxの1つの「フレーバー」でコンパイルされたLinux実行可能ファイルは、別の実行可能ファイルで実行されますか?
Linuxの1つのフレーバーでコンパイルされた、以下に示すような非常に単純な小さなプログラムの実行可能ファイルは、異なるフレーバーで実行されますか?または、再コンパイルする必要がありますか? このような場合、マシンのアーキテクチャは重要ですか? int main() { return (99); }

6
ユニバーサルNode.jsシバン?
Node.jsは最近非常に人気があり、いくつかのスクリプトを書いています。残念ながら、互換性は問題です。公式には、Node.jsインタープリターはと呼ばれることになっていますnodeが、DebianとUbuntuはnodejs代わりに呼び出される実行可能ファイルを出荷しています。 Node.jsが可能な限り多くの状況で使用できるポータブルスクリプトが必要です。ファイル名がfoo.jsであると仮定すると、2つの方法でスクリプトを実行したいです。 ./foo.jsnodeまたはのいずれかでnodejsある場合、スクリプトを実行します$PATH。 node foo.jsまた、スクリプトを実行します(インタープリターが呼び出されると仮定node) 注: xavierm02と私による回答は、ポリグロットスクリプトの2つのバリエーションです。純粋なシバンソリューションが存在する場合、それにも興味があります。


10
Linuxと最も互換性のあるラップトップはどれですか?[閉まっている]
Linuxをインストールできるラップトップの選択に関して、私はいつも不運でした。すぐに動作しないのはワイヤレスカードではない場合、ビデオカードです。また、コンピューターを休止状態にしたり、ふたを閉じたり、後で中断したところから再開したりすることもできません。私はいつもラップトップをシャットダウンするか、そのままにしておく必要があります。 パフォーマンスとLinuxとの互換性の間で最適なトレードオフがあると考えられているラップトップベンダーはありますか?そうでない場合、ラップトップを購入するときに何を探すべきですか?

2
Linuxで動作する最も古いバイナリ?
ではLinuxのカーネルとGUIのABIでの後方互換性に関する議論、Alan Cox氏のノートは「と、まだ1992年に建てられたXローグバイナリを実行する私の3.6rcカーネルは、Linuxよりもはるかに古いアプリケーションに戻って互換性があります。」 Linuxはどれだけ後方互換性がありますか アプリケーションバイナリインターフェイスますか? 数年前に実際に作成およびコンパイルされた、最も古いバイナリ実行可能ファイルとは何ですか?それは、現代の汎用Linuxディストリビューションで引き続き実行されますか? これらの言葉はすべて解釈の対象になると確信しています。私の主な概念は、エミュレーターや専用の仮想マシンまたはバイナリトランスレーターを介して実行することはフェアではないということですが、そのようなものはおそらく現代のディストリビューションに組み込まれているので、それについて学ぶことはここでの楽しみの一部です。 ハードウェアアーキテクチャ、実行可能ファイル形式、言語、および主要なライブラリの動的読み込みの依存関係によるバリエーションも重要です。 ルールが緩和された場合、さらに遡る1つの例に注意してください。2002 Webページ現代のRed Hat Linux上で実行ファイルa.outを実行して使用することについて協議本当に古いLinuxのプリELFのa.out形式の実行ファイルやった後modprobe binfmt_aout と取得/lib/ld.soとlibc.so.4 、この質問のための周辺機器の関心のだが、物事の種類を示していることを再びそのさらに掘り下げるときに関与する可能性があります。 更新:あなたBSDのファンのためには、それはiBCS2のが(のようなゾーク/ダンジョン-2.5.6 1990年から)とSCO OpenServerの最近(2008年)のNetBSD 4.0.1のように5.0.xのアプリの古いXENIXアプリケーションをサポートしていることを確認するために素晴らしいことだiBCS2の& NetBSD | 仮想化をお楽しみください。しかし、NetBSD 5.0.xでも同じことが壊れているようです。 更新2:1年後、この質問の「アナウンサー」バッジを取得した後でも、私はまだ答えを探しています。そして、明確にするために、これはAPIについてであるため、少なくともほとんどの場合は元の方法で機能する「実際の」バイナリ(長さ0以外)でなければなりません。

2
「export var = value」はどこで利用できませんか?
おそらく1990年代半ばのUsenetで(!) export var=value バシズムであり、携帯式は var=value export var 私はこれを長年擁護してきましたが、最近、誰かが私にそれについて異議を唱えました。 Googling for "export: command not found"は、誰かが実際にこの問題を抱えているケースを引き起こさないようです。 (私が得るヒットは、句読点をコピー/貼り付けして、最終的に、'export: command not foundまたはそのようなもので使用exportしたり、Bourneシェル構文を使用しようsudoとしている初心者cshユーザーであるようです。) OS X、およびshis を含むさまざまなLinuxディストリビューションで動作することは確かにわかりますdash。 sh$ export var=value sh$ echo "$var" value sh$ sh -c 'echo "$var"' # see that it really is exported value 今日の世界では、それexport var=valueが安全に使用できると言っても安全ですか? 結果が何であるかを理解したいと思います。v7 "Bourne classic"に移植できない場合、それは雑学以上のものではありません。シェルが実際にこの構文に対応できない実稼働システムがある場合は、知っておくと便利です。

2
古いカーネルで新しいglibcバージョンを使用できますか?
どうやらglibcをコンパイルし--enable-kernelて古いカーネルバージョンをサポートできるようです。ただし、特定のglibcバージョンでサポートされているカーネルバージョンに関する情報を見つけることができませんでした。理想的には、すべてのglibc(2.x)およびカーネル(2.6.x)リリースの互換性マトリックスを確認する必要があります。存在しますか? 存在しない場合、おそらく、すべてのglibcバージョン(過去5年程度)が2.6.0以降のすべてのカーネルをサポートしているためでしょうか? (Arch = x86-64、それが重要な場合)



3
`ls -s`が「0」を出力するのはいつですか
もちろん、ファイルが空かどうかをテストする標準的な方法はですがtest -s FILE、クライアントの1人が次のようなテストを含むスクリプトを受け取りました。 RETVAL=`ls -s ./log/cr_trig.log | awk '{print $1}'` if test $RETVAL -ne 0 then echo "Badness: Log not empty" exit 25 fi サプライヤからは、テストした2つの環境で動作するという主張がありました。言うまでもなく、テストした2つの場所の両方でひどく失敗しました。 それで、私は興味を持ちました。ない場合はls -s、印刷0空のファイルのため? これはこれまでの私の発見です: Linux上のGFS:4 Linux上のext4:0 Solaris上のZFS:1 SolarisのUFS:0 AIX上のjfs:0 HP-UX上のVxFS:0 HP-UX上のHFS:0 Mac OS X上のHFS:0 ネットワーク化されたファイルシステムについてはまだ調べていません。 質問:スクリプトが間違っていることを他の人にエレガントに説明するにはどうすればよいですか? 私の意見では、「正しい」バージョンは次のようになります。 if test ! -s ./log/cr_trig.log then echo "Badness: Log …

3
python == python2 OR python == python3?python py2kスクリプトをパッケージ化して配布する方法は?
システムに応じて、python== python2またはpython== python3。 実行可能なPythonスクリプト。 #!/usr/bin/env python #!/usr/bin/env python2 #!/usr/bin/env python3... Python py3kの場合、ドキュメントで提供されているので、バージョン番号で使用する必要があります/使用できるため、次のようにします。 #!/usr/bin/env python3 しかし、私はpy2kスクリプトに問題を発見しました。 滞在中py2kドキュメントには、使用に書き込まれます#! /usr/bin/env python、 一部の* nix-esでは、python py3kがデフォルトであるため、python == python3です。(たとえば、ArchLinux pythonパッケージ、ここではpythonパッケージファイル)。 それを処理するための配布用のpythonスクリプトをパッケージ化(構成、作成)および/または準備する方法は? ユーザーが(環境を変更せずに)簡単に実行できるソフトウェアパッケージの作成について質問します python py3kスクリプトと同じトリックをpython py2kスクリプトと同じようにして、次のように設定でき#!/usr/bin/env python2ますか?各python py2kディストリビューションにpython2ファイルが含まれていることを確認できます#!/usr/bin/env python2か? はいの場合、なぜそれが標準として提案されていないのですか、たとえばpython py2kのドキュメントでは?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.