GNU Linuxで機能を要求する正しい方法は何ですか?

GNU Linuxで機能を要求する正しい方法は何ですか?

アプリケーションファイル/usr/bin/fileに関するエラーレポートを送信しようとしています。

しかし、その男に相談してEメールを送る

バグバグを報告し、バグトラッカーにパッチを送ってください。http://bugs.gw.com/ またはメーリングリスト⟨[Eメール保護]>(訪問する http://mx.gw.com/mailman/listinfo/fileまず購読してください)。

メールアドレスが存在しないことを確認します。

コミュニティと通信する他の方法はありますか?ここにある質問がすでにその一部であることを願っています:)

これは私のEメールアドレスです:

考えられる機能的な欠陥:--extensionオプションが何も出力しないようです。

$ file --extension "ab.gif" 
ab.gif: ???

この出力を簡単に使用してファイル名を正しい拡張子に変更できる場合は便利です。

ファイルのようなものは、--likely_extension検出可能な拡張子のみを出力するか、検出レベルが低すぎるとエラーになります。

このように:

$ file --likely_extension "ab.gif"
gif

しかし、より良い--correct_extensionオプションは次のとおりです。

$ file --correct_extension "ab.jpg"

$ ls
ab.gif

このアプリケーションのためのTyvm :)

答え1

問題または改善のリクエストを送信するための正しい手順に従います。プログラムのマニュアルにこれを行う方法が記載されている場合は、その指示に従ってください。

残念なことに、プロジェクトがしばしば終了するか、現在のバージョンの指示はもはや正確ではありません。このような状況では、状況が少し難しくなる可能性があります。考えられる一般的なアプローチの1つは、ディストリビューションにバグを報告することです。しかし、成功するかどうかはやや不透明かもしれません。 (一般的にバグを報告する方が良いことに言及したいと思います。抜け穴パッケージを使用している場合は、パッケージを受け取ったディストリビューションにアクセスしてください。パッケージのバージョンが現在の「アップストリーム」バージョンより古く、問題がまだ存在するかどうかを確認していない場合は特にそうです。 )

具体的にはfile公式文書バグトラッカーとメーリングリストが閉じられたことを言及するように更新され、現在管理者に連絡するために使用できる直接電子メールアドレスも提供しています。

答え2

またSteven Kitの答え、(特にあなたが開発者であり、プログラム(fileあなたの場合)に理解するのが難しいソースコードがある場合)、プログラムのソースコード(おそらくディストリビューションから)を取得することを検討できます。フリーソフトウェア- パッチを適用してパッチを送信します。

時間をかければソースコード研究、より良いバグレポートを提出することができます。

もっと時間を過ごすと修正提案、あなたはより深刻に見なすことができます(あなたはフリーソフトウェアの精神でより多く行動します)。

だから与えられた自由を活用するフリーソフトウェア:ソースコード研究(無料#1)とそれを改善する(自由#3)。

今日は簡単に公開されています(例:フラッグハブ)改善されたバージョンと共有する(自由#2)。

file最新バージョンのプログラムがあることを確認してください。多くのディストリビューションではこれを使用しません(デプロイメントのバグがアップストリームで修正された可能性があります)。

--correct_extensionあなたの行動が以下に該当するかどうかはわかりませんfile。 (これはプログラムです。尋ねる、データを変更する代わりに)。しかし、もしそうなら、それはおそらく--correct-extensionorでスペルでなければなりません--rename-extension。それを実装しようとすると、複数のファイルが必要な奇妙なコーナーケース(gzipで圧縮されたtarファイル、圧縮されたCソースファイルなど)があることがわかります。拡張子)。

Windowsとは異なり、LinuxとUnixのファイルは実際にはインデックスノード(望むよりインデックスノード(7))と複数の名前を持つことができます(またはそうではない)、そしてすることができます開いている同時に複数のプロセスを介して(読み取りファイル記述子) - またはなし、ほとんどのファイルに名前が1つしかない場合も同様です。リンク(2)&統計(2))。 ~から同じファイル名を指定できfoo.txtbar.gzファイル拡張子に集中することは意味がありません。また、見ることができますパス解像度(7)

したがって、アイデアを実装しようとすると、correct-extension実装(または指定)がそれほど単純ではなく、明白で単純な動作もないことがわかります。

たぶんあなたのアイデアはあまり良くなく、実装するのは簡単ではないかもしれません。LinuxおよびPOSIXシステム(少なくともすべての場合ではない)。

したがって、機能要求を送信することを避けることをお勧めします(初期形式では、お客様と開発者の両方に時間がかかりますfile)。それとも、多くの作業をして、仕様を改善し、パッチを提出してください。

おそらくUnixプログラミングブックを読むこともできます。アルカリ性ホスファターゼ、またはより新しいもの。はじめに(2)&システムコール(2))とオペレーティングシステム:3つの簡単な部分

答え3

尋ねる:

GNU Linuxで機能を要求する正しい方法は何ですか?

この質問に答えるには、「GNU Linux」自体が存在しないことを知ることが重要です。 GNUプロジェクトはフリーソフトウェアを開発するための共同努力です。これらのフリーソフトウェアのいくつか - と多くその他無料およびオープンソースソフトウェア - コレクターその他プロジェクト:Fedora*やDebianなどのコラボレーション、オープンプロジェクト、さまざまなレベルの開放性を持つ企業活動や個人も可能です。これらのコレクションを「Linuxディストリビューション」または「GNU/Linuxディストリビューション」と呼びます(ここでは政治的な議論があるので扱いません)。

一般的に興味があれば特徴機能を向上させる最善の方法は、ソフトウェアを書いた開発者と協力することです。ディストリビューションは、さまざまなソフトウェアを収集して連携させるために必要なことが多いです。好むこれらの変更は「アップストリーム」で発生します。

したがって、あなたはここで正しいことをしました。レコードのアップストリームソースを見つけてそこに報告しようとしました。

しかし、関心のあるソフトウェアの録音通信方式が機能していないようです。この場合、いくつかのオプションがあります。

  1. ソフトウェア開発者に連絡する他の方法を見つけてください。この場合、ほとんどのディストリビューションには、名目上、file次の場所にあるIan Darwinによって最初に作成されたコマンドが含まれています。http://www.darwinsys.com/file/、そしてあなたが言及したメーリングリスト。しかし、メーリングリストのようにメインサイトもダウンしているようです。最近同じ時代にはGitHubをチェックするのが良い第2段階です。https://github.com/file/file- 言う 30分ごとに更新されるファイルCVSリポジトリの読み取り専用ミラー。注:ここからプルリクエストを提出しず、コミットについて言及しないでください。一般的な方法でバグトラッカーまたはメーリングリストに送信してください。すぐには役に立ちませんが、気づきました。持つ先週、このリポジトリに変更が適用されました。したがって、次の可能なステップは、誰がこれらの提出物を提出したかを確認し、それらに連絡することです。
  2. 使用しているディストリビューションのパッケージ担当者に連絡できます。fileFedoraの場合は、以下を参照してください。このページ。彼らはソフトウェアを定期的に使用するので、アップストリームに連絡するための別の方法があるかもしれません。ディストリビューションに応じてバグを報告するか、直接お問い合わせください。個人文化を理解する必要があります。 (Fedoraではおすすめです。メーリングリストの開発.)
  3. Red Hat Enterprise Linux*などの商用ディストリビューションを使用している場合は、サポートチケットを送信できます。有料のお客様として、サプライヤーに影響を与えて解決策を見つけることができます。
  4. 他のすべての方法が失敗した場合、興味のあるプロジェクト死んだ上流。この場合、プロジェクトを「フォーク」できます。独自のバージョンを作成し、それを中心に新しいアップストリームコミュニティを構築できます。お客様のバージョンが維持され、他のバージョンが使用されなくなった場合、リリースが続く可能性が高くなります。

*私はFedoraで働いています。私はRed Hatに取り組んでいます。

答え4

identify -format %m file.gif[0]

%m画像ファイル形式(ファイルマジック)

[0]は最初のフレームを表し、誤ってビデオに使用した場合に役立ちます。それ以外の場合は、ffmpegライブラリを使用して各フレームの一時コピーを作成します。

これは画像でのみ機能します。通常のファイルでこれを行う方法がわかりません。ffmpegは任意のmp4ファイルに対して「avc1」を返しますが(他のmp4ファイルは別の文字列を返す可能性があるため、まだ解析する必要があります)、そのファイルから「mp4」にインポートする方法が見つかりませんでした。 'avc1' は /usr/share/mime どこにもありません。

ffmpeg(またはそれに対応するffprobe)は、出力の先頭でデマルチプレクサが使用するいくつかのファイル形式をリストします。 mp4ファイルの場合は次のようになります。

に #0, mov,mp4,m4a,3gp,3g2,mj2 と入力します。 。
[。 。 .]
映像 : h264(メイン)(avc1/0x31637661)

pngについて言う

で#0、png_pipeと入力します。 。
[。 。 .]
ビデオ:png、rgb24(pc)

関連情報