ful*_*inu 36 file-format files
我正在尝试发送应用程序文件 /usr/bin/file 的错误报告
但是咨询那个人并发送电子邮件
错误 请报告错误并将补丁发送到http://bugs.gw.com/上的错误跟踪器 或 ?file@mx.gw.com 的邮件列表?(先访问 http://mx.gw.com/mailman/listinfo/file订阅)。
让我发现邮件地址不存在。
是否有另一种与社区沟通的方式?希望这里的问题已经是其中的一部分:)
所以这是我的电子邮件:
可能的功能失败:该
--extension选项似乎没有输出任何内容Run Code Online (Sandbox Code Playgroud)$ file --extension "ab.gif" ab.gif: ???能够轻松地使用它的输出将文件重命名为其正确的扩展名会很有用。
--likely_extension如果检测太低,文件之类的东西只会输出可能检测到的扩展名或错误像这样:
Run Code Online (Sandbox Code Playgroud)$ file --likely_extension "ab.gif" gif更好,但将是一个
--correct_extension选择:Run Code Online (Sandbox Code Playgroud)$ file --correct_extension "ab.jpg" $ ls ab.gif此应用程序的 Tyvm :)
Ste*_*itt 48
您正在按照正确的程序提交问题或增强请求:如果程序的文档中提到了如何执行此操作,请按照这些说明进行操作。
不幸的是,经常发生项目死亡,或者您拥有的版本中的说明不再准确的情况。在这些情况下,事情变得有点困难。一种可能的通用方法是在您的发行版中提交错误;但是,成功可能会碰巧失败......(我应该提到,如果您使用的是软件包,通常最好向您从中获得软件包的发行版报告错误;如果打包版本比当前的“上游”版本旧,如果您还没有检查问题是否仍然存在。)
对于file具体而言,官方文档已被更新一提的是bug跟踪系统和邮件列表下降,而且还提供了一个直接的电子邮件地址当前的维护者,你可以用它来与他联系。
Bas*_*tch 23
除了Stephen Kitt 的回答之外,您还可以考虑(特别是如果您自己是开发人员,并且如果该程序(file就您而言)具有不太难理解的源代码)获取该程序的源代码(可能来自您的发行版) - 因为它是免费软件- 并修补它,并发送补丁。
如果您花时间研究源代码,您可能会做出更好的错误报告。
如果您花更多时间提出修复补丁,您可能会被更认真地考虑(恕我直言,您的行为更多的是本着自由软件的精神)。
所以使用自由软件提供的自由:研究它的源代码(freedom#1)并改进它(freedom#3)。
今天很容易发布(例如在github 上)您的改进版本并共享它(自由#2)。
确保拥有最新版本的file程序。许多发行版没有使用它(也许你的发行版中的错误已经在上游修复了)。
我不确定您的--correct_extension行为属于file(这是一个查询而不是更改您的数据的程序)。但是如果是这样,它可能应该拼写--correct-extension或 --rename-extension......一旦你尝试实现它,你可能会发现有一些奇怪的极端情况(gzipped tar 文件,或压缩的 C 源文件,或者可能需要几个文件扩展名)。
请注意(与 Windows 相反)在 Linux 和 Unix 上,文件实际上是一个inode(请参阅inode(7))并且可以有多个名称(或没有),并且可以同时由多个进程打开(阅读文件描述符) -或没有,即使大多数文件只有一个名称(但请参阅link(2)和stat(2))。由于可以命名相同的文件foo.txt,bar.gz因此重视文件扩展名没有多大意义。另见path_resolution(7)。
因此,如果您尝试实现您的correct-extension想法,您会发现实现(甚至指定)并不那么简单,并且没有明显的简单行为。
可能,您的想法不是很好,并且无法在 Linux 和 POSIX 系统上轻松实现(至少,不是所有情况)。
因此,我建议甚至避免提交功能请求(在其初始形式中,这对您和 的开发人员来说都是浪费时间file)。或者,在上面做很多工作,改进它的规范,然后提交一个补丁......当然你会在这上面花费大量的工作(我真的认为这不值得)。
也许还阅读了一些 Unix 编程书籍(如旧的ALP或更新的东西;还有intro(2)和syscalls(2))和操作系统:三个简单的部分。
mat*_*tdm 11
你问:
在 GNU Linux 中要求功能的正确方法是什么?
要回答这个问题,重要的是要知道没有“GNU Linux”这样的单一事物本身。GNU 项目是开发自由软件的合作项目。其中一些免费软件 - 以及大量其他免费和开源软件 - 由其他项目收集:要么是 Fedora* 或 Debian 之类的协作开放项目,要么是具有不同开放程度的企业努力,甚至是个人。这些集合被称为“Linux 发行版”或“GNU/Linux 发行版”(那里有一场政治辩论,我不会涉及)。
一般来说,如果你对功能增强感兴趣,最好的办法是与编写软件的开发人员合作——发行版有很多工作要做,只需收集各种软件并使其协同工作,通常会喜欢这些变化发生的“上游”。
所以,你在这里做对了——你找到了记录在案的上游源并试图在那里报告。
但是,您感兴趣的软件的文档化通信方法似乎不起作用。在这种情况下,您有多种选择:
file最初由 Ian Darwin 编写并名义上位于http://www.darwinsys.com/file/ 的命令,以及您提到的邮件列表。但是就像那些邮件列表一样,主站点似乎已关闭。在这个时代,检查 GitHub 是一个很好的第二步,我找到了https://github.com/file/file——它说
文件 CVS 存储库的只读镜像,每半小时更新一次。注意:不要在这里提出拉取请求,也不要评论任何提交,将它们以通常的方式提交给错误跟踪器或邮件列表。这不是立即有用,但我注意到有过去一周对该回购进行了更改。因此,下一步可能的行动是查看谁进行了这些提交并与他们联系。fileFedora,请参阅此页面。由于他们定期使用该软件,因此他们可能有其他联系上游的方式。根据发行版,最好通过提交错误或直接联系来完成 - 您需要了解个人文化。(在 Fedora 中,我建议使用开发邮件列表。)* 我在 Fedora 上工作。我受雇于 Red Hat。
小智 5
这是您的发行版中的一个错误。如果发行版提供的手册页已经过时,您应该针对提供该手册页的软件包提交错误。如果您使用的是 debian,则可以使用诸如 reportbug 之类的工具来简化此操作。