Questions tagged «compatibility»

使用此标签可以了解软件是否可以在给定的环境设置或计算机上令人满意地运行。

2
“ sh兼容”是什么意思?
我已经看到了通常在引用shell时使用的“ shcompatible”一词。我不确定它是否也适用于可能在Shell中运行的程序。 Shell或其他程序“与sh兼容”是什么意思?“ sh不兼容”是什么意思? 编辑:这个问题问bash和sh之间的区别非常相关: sh和bash之间的区别 我仍然想直接回答“与Windows兼容”的含义。一个合理的期望可能是“ sh兼容”的意思是“实现Shell命令语言”,但是为什么会有那么多的“ sh兼容” shell,又为什么又不同呢?


6
通用Node.js shebang?
如今,Node.js非常受欢迎,我一直在上面编写一些脚本。不幸的是,兼容性是一个问题。正式地,应该将Node.js解释器称为node,但是Debian和Ubuntu附带了一个名为的可执行文件nodejs。 我希望Node.js可以在尽可能多的情况下使用的可移植脚本。假设文件名是foo.js,我真的希望脚本以两种方式运行: ./foo.js如果node或nodejs位于中,则运行脚本$PATH。 node foo.js也运行脚本(假设解释器称为node) 注意: xavierm02和我本人的答案是多语言脚本的两个变体。我仍然对纯粹的shebang解决方案感兴趣,如果有的话。


10
哪台笔记本电脑与Linux最兼容?[关闭]
关于选择可以安装Linux的笔记本电脑,我一直很不幸。如果不是开箱即用的无线网卡,那就是视频卡。而且,我仍然无法休眠计算机,合上机盖,然后在以后的位置恢复到原来的位置。我总是必须关闭笔记本电脑或将其保留。 是否有笔记本电脑供应商在性能和与Linux的兼容性之间取得最佳折衷?如果没有,那么在购买笔记本电脑时我应该寻找什么?

2
在Linux上运行最早的二进制文件?
在关于Linux内核和GUI ABI的向后兼容性的讨论中,Alan Cox指出:“ 我的3.6rc内核仍将运行1992年构建的Rogue二进制文件。X向后兼容比Linux早得多的应用程序。 ” 那么Linux 应用程序二进制接口到底向后兼容吗? 什么是几年前实际编写和编译的最旧的二进制可执行文件,仍然可以在现代的通用Linux发行版上运行? 我确定所有这些词都可以解释。我的主要观点是,通过仿真器或专用虚拟机或二进制转换器运行它是不公平的,但是某些此类内容可能已内置在一些现代发行版中,在这里进行学习是有趣的一部分。 还需要关注硬件体系结构,可执行文件格式,语言和主要库动态加载依存关系的变化。 请注意,放宽规则后,这里有一个更进一步的示例。2002年的网页在现代Red Hat Linux上运行a.out可执行文件讨论了在完成 并获得之后使用非常老的Linux之前的ELF a.out格式的可执行文件,这 再次引起了这个问题的兴趣,但它说明了这类事情进一步挖掘时可能会涉及到。modprobe binfmt_aout/lib/ld.solibc.so.4 为您的BSD粉丝提供更新,很高兴看到iBCS2支持旧的Xenix应用程序(例如1990年的zork / dungeon-2.5.6)和SCO OpenServer 5.0.x应用程序以及最近的NetBSD 4.0.1(来自2008年):iBCS2和NetBSD | 虚拟化的乐趣。但是同一件事在NetBSD 5.0.x中似乎坏了。 更新2:一年后,即使获得了此问题的“播音员”徽章,我仍在寻找答案。而且要澄清的是,由于这是关于API的,因此它应该是“真实的”二进制文件(长度不为零),至少仍然大部分以原始方式工作。

2
哪里没有“ export var = value”?
我可能是在1990年代中期在Usenet上发现的(!) export var=value 是Bashism,而可移植的表达是 var=value export var 我一直提倡这一点,但是最近有人挑战了我,我真的找不到任何文档来支持我的坚定信念。 谷歌搜索"export: command not found"似乎并没有提出任何实际有人遇到这个问题的案例,因此即使它是真实的,我想也不是很常见。 (我发现的命中点似乎是新手,他们复制/粘贴了标点符号,并最终使用了'export: command not found或类似的东西,或者试图export与sudo; 一起使用;而新手csh用户则尝试使用Bourne shell语法。) 我可以肯定地说它可以在OS X以及各种Linux发行版上运行,包括shis 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”中,那就比琐事多了。如果在生产系统中shell确实无法使用此语法,那么了解这一点将很有用。

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,但是我们的一位客户已收到包含以下测试的脚本: RETVAL=`ls -s ./log/cr_trig.log | awk '{print $1}'` if test $RETVAL -ne 0 then echo "Badness: Log not empty" exit 25 fi 供应商声称它可以在他们测试过的两个环境中工作。不用说,它在我测试过的两个地方都严重失败。 所以,我很好奇。什么时候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或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 package,这里是python package files)。 如何打包(配置,制作)和/或准备python脚本进行分发以处理该问题? 我问有关制作易于用户运行的软件包(无需修改环境)的问题 我可以对python py2k脚本和python py3k脚本执行相同的技巧并将其设置为:#!/usr/bin/env python2吗?我可以确定每个python py2k发行版都包含python2文件,因此#!/usr/bin/env python2可以正常工作吗? 如果是,为什么不建议将其作为标准,例如在python py2k文档中?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.