Saya mencoba mengirim laporan bug untuk file aplikasi, / usr / bin / file
Tetapi berkonsultasi dengan pria itu dan mengirim email
BUGS Silakan laporkan bug dan kirim tambalan ke pelacak bug di http://bugs.gw.com/ atau milis di ⟨[email protected]⟩ (kunjungi http://mx.gw.com/mailman/ daftar info / file terlebih dahulu untuk berlangganan).
Membuat saya mengetahui bahwa alamat surat tidak ada.
Apakah ada cara lain untuk berkomunikasi dengan komunitas? Semoga pertanyaan di sini sudah menjadi bagian dari itu :)
Jadi inilah email saya:
kemungkinan kegagalan fitur:
--extension
opsi sepertinya tidak menghasilkan apa-apa$ file --extension "ab.gif" ab.gif: ???
Akan berguna untuk dengan mudah dapat menggunakan output ini untuk mengubah nama file ke ekstensi yang benar.
sesuatu seperti file
--likely_extension
hanya akan menampilkan ekstensi yang terdeteksi atau kesalahan jika deteksi terlalu rendahseperti itu:
$ file --likely_extension "ab.gif" gif
meskipun lebih baik akan menjadi
--correct_extension
pilihan:$ file --correct_extension "ab.jpg" $ ls ab.gif
Tyvm untuk aplikasi ini :)
sumber
file --extension
tidak bekerja untuk beberapa jenis file (seperti .jpg). Mungkin itu tidak "bekerja" fir .gif karena tidak ada ekstensi file yang valid.file --extension calf.jpg flower.gif
output:calf.jpg: jpeg/jpg/jpe/jfif
danflower.gif:
menunjukkan kemungkinan ekstensi lain untuk file-file tersebut (tidak ada dalam kasus file GIF). Perhatikan bahwafile
hanya tebakan yang terpelajar pada jenis file - ia menggunakan seperangkat heuristik untuk melakukan itu. Itu tidak mendeteksi ekstensi dari nama. Jika saya mengganti namacalf.jpg
untukcalf.txt
itu masih file JPEG danfile
memberitahu saya bahwa ketika saya menjalankannyafile calf.txt
juga memberi tahu saya bahwa ekstensi yang mungkin adalahjpeg/jpg/jpe/jfif
ketika saya menjalankanfile --extension calf.txt
.Jawaban:
Anda mengikuti prosedur yang benar untuk mengajukan masalah atau permintaan tambahan: jika dokumentasi program menyebutkan cara melakukannya, ikuti instruksi tersebut.
Sayangnya sering terjadi bahwa proyek mati, atau bahwa instruksi dalam versi yang Anda miliki tidak lagi akurat. Dalam kasus ini, segalanya menjadi sedikit lebih sulit. Salah satu pendekatan umum yang mungkin adalah mengajukan bug dengan distribusi Anda; sukses di sana bisa agak hit-or-miss ... (Saya harus menyebutkan bahwa biasanya lebih baik melaporkan bug ke distribusi dari mana Anda mendapatkan paket Anda, jika Anda menggunakan sebuah paket; ini terutama benar jika paket tersebut dikemas versi lebih tua dari versi "hulu" saat ini, dan jika Anda belum memeriksa apakah masalah masih ada di sana.)
Untuk
file
secara khusus, dokumentasi resmi telah diperbarui untuk menyebutkan bahwa bug tracker dan mailing list yang turun, dan juga menyediakan alamat email langsung untuk pemelihara saat ini, yang bisa Anda gunakan untuk menghubungi dia.sumber
Selain jawaban Stephen Kitt , Anda dapat mempertimbangkan (terutama jika Anda adalah pengembang sendiri, dan jika program -
file
dalam kasus Anda - memiliki kode sumber yang tidak terlalu sulit untuk dipahami) mengambil kode sumber dari program itu (mungkin dari Anda distribusi) - karena ini adalah perangkat lunak bebas - dan menambalnya, dan juga mengirim tambalan.Jika Anda meluangkan waktu untuk mempelajari kode sumber , Anda mungkin akan membuat laporan bug yang lebih baik.
Jika Anda membutuhkan lebih banyak waktu untuk mengusulkan perbaikan patch , Anda cenderung dianggap lebih serius (dan IMHO Anda bertindak lebih dalam semangat perangkat lunak bebas).
Jadi gunakan kebebasan yang disediakan oleh perangkat lunak bebas : pelajari kode sumbernya (kebebasan # 1) dan tingkatkan (kebebasan # 3).
Hari ini sangat mudah untuk mempublikasikan (misalnya di github ) versi Anda yang ditingkatkan dan membagikannya (kebebasan # 2).
Pastikan untuk memiliki rilis terbaru
file
program ini. Banyak distribusi tidak menggunakan itu (dan mungkin bug di distro Anda sudah diperbaiki di hulu).Saya tidak yakin
--correct_extension
perilaku Anda termasuk dalamfile
(yang merupakan program untuk meminta , bukan mengubah, data Anda). Tetapi jika ya, mungkin harus dieja--correct-extension
atau--rename-extension
... Dan setelah Anda mencoba menerapkannya, Anda mungkin menemukan bahwa ada kasus sudut aneh (bagaimana dengan file tar gzip, atau file sumber C terkompresi, atau sesuatu yang mungkin perlu beberapa ekstensi file).Perhatikan bahwa (bertentangan dengan Windows) di Linux & Unix file sebenarnya adalah inode (lihat inode (7) ) dan dapat memiliki beberapa nama (atau tidak ada), dan dapat dibuka oleh beberapa proses sekaligus (baca tentang deskriptor file ) - atau tidak ada, bahkan jika sebagian besar file hanya memiliki satu nama (tetapi lihat tautan (2) & stat (2) ). Karena file yang sama dapat dinamai
foo.txt
danbar.gz
tidak masuk akal untuk mementingkan ekstensi file. Lihat juga path_resolution (7) .Jadi, jika Anda mencoba menerapkan
correct-extension
ide Anda, Anda akan menemukan bahwa itu tidak sesederhana untuk diimplementasikan (dan bahkan untuk menentukan), dan bahwa tidak ada perilaku sederhana yang jelas untuk itu.Mungkin, ide Anda tidak terlalu bagus, dan tidak dapat dengan mudah diimplementasikan pada sistem Linux dan POSIX (setidaknya, tidak untuk semua kasus).
Jadi saya sarankan untuk menghindari mengirimkan permintaan fitur (dalam bentuk awal, itu adalah waktu yang hilang untuk Anda, dan untuk pengembang
file
). Atau yang lain, banyak mengerjakannya, meningkatkan spesifikasinya, dan mengirimkan tambalan .... Tentu saja Anda akan menghabiskan banyak pekerjaan untuk itu (dan saya benar-benar tidak berpikir itu sepadan dengan rasa sakitnya).Mungkin juga membaca beberapa buku pemrograman Unix (seperti ALP lama , atau sesuatu yang lebih baru; dan juga intro (2) & syscalls (2) ) dan Sistem Operasi: Tiga Potongan Mudah .
sumber
file
memberikan informasi, dan tidak mengubah apa pun. Juga, gagasan bahwa "ekstensi" file dengan cara apa pun menunjukkan aplikasi apa yang harus digunakan untuk membukanya sangat berorientasi Windows. Linux selalu mengikuti pendekatan "angka ajaib" dengan meletakkan tanda tangan khusus pada beberapa byte pertama file, dan kemudian membiarkan namanya menjadi apa saja. Sebagai analogi, saya adalah file dalam sistem Windows, saya harus menjadi "Monty Harder.human" agar apa pun untuk mengetahui siapa saya, tetapi Linux melihatnya sebagai bagian dari konten saya, dan namanya adalah tidak dibatasi.file
denganmagic
file, jadi saya tidak tahu bagaimana "retro-fitted" itu. Pendekatan MacOS meletakkan jenis file eksplisit dalam file metadata ("fork resource"), yang disimpan di dalam file tetapi dalam wadah yang terpisah.Anda bertanya:
dan untuk menjawab itu, penting untuk mengetahui bahwa tidak ada yang namanya "GNU Linux", per se. Proyek GNU adalah upaya kolaboratif untuk mengembangkan perangkat lunak bebas. Beberapa perangkat lunak bebas - bersama dengan jumlah besar lainnya perangkat lunak bebas dan open source - dikumpulkan oleh lainnya proyek: baik kolaboratif, proyek terbuka seperti Fedora * atau Debian, atau upaya perusahaan dengan berbagai tingkat keterbukaan, atau bahkan individu. Koleksi-koleksi ini disebut "Distribusi Linux" atau "Distribusi GNU / Linux" (ada perdebatan politik di sana yang tidak akan saya bahas).
Secara umum, jika Anda tertarik pada peningkatan fitur , hal terbaik yang harus dilakukan adalah bekerja dengan pengembang yang menulis perangkat lunak - distribusinya memiliki banyak pekerjaan yang harus dilakukan untuk hanya mengumpulkan berbagai perangkat lunak dan membuatnya bekerja bersama, dan biasanya lebih suka perubahan itu terjadi "hulu".
Jadi, Anda melakukan hal yang benar di sini - Anda menemukan sumber hulu yang terdokumentasi dan mencoba melaporkan di sana.
Namun, tampaknya metode komunikasi terdokumentasi untuk perangkat lunak yang Anda minati tidak berfungsi. Dalam hal ini, Anda memiliki beberapa opsi:
file
perintah yang awalnya ditulis oleh Ian Darwin dan secara nominal bertempat di http://www.darwinsys.com/file/ , dengan milis yang telah Anda sebutkan. Tapi seperti milis itu, situs utama tampaknya turun. Di zaman sekarang ini, memeriksa GitHub adalah langkah kedua yang baik, dan saya menemukan https://github.com/file/file - yang mengatakan mirror Read-only file dari repositori file CVS, diperbarui setiap setengah jam. CATATAN: jangan membuat permintaan tarik di sini, atau mengomentari komitmen apa pun, mengirimkannya dengan cara biasa ke pelacak bug atau ke milis. Itu tidak segera membantu, tetapi saya perhatikan di sana memilikitelah berubah pada repo itu dalam seminggu terakhir. Jadi, satu langkah selanjutnya yang mungkin dilakukan adalah melihat siapa yang melakukan itu dan menghubungi mereka.file
di Fedora, lihat halaman ini . Karena mereka bekerja dengan perangkat lunak secara teratur, mereka mungkin memiliki cara lain untuk menghubungi bagian hulu. Tergantung pada distro, ini paling baik dilakukan dengan mengajukan bug atau melalui kontak langsung - Anda perlu mengetahui budaya masing-masing. (Di Fedora, saya akan menyarankan milis devel .)* Saya bekerja di Fedora. Dan saya dipekerjakan oleh Red Hat.
sumber
Ini adalah bug dalam distribusi Anda. Jika distribusi adalah pengiriman halaman manual yang kedaluwarsa, Anda harus mengajukan bug terhadap paket yang menyediakannya. Jika Anda menggunakan debian, Anda bisa menggunakan alat seperti reportbug untuk membuatnya lebih sederhana.
sumber
[0] berarti bingkai pertama, yang dapat membantu jika Anda tidak sengaja menggunakannya pada video karena jika tidak menggunakan pustaka ffmpeg untuk membuat salinan sementara dari setiap frame.
Ini hanya berfungsi untuk gambar. Saya tidak tahu bagaimana melakukannya untuk file generik.
ffmpeg mengembalikan 'avc1' untuk file mp4 acak (file mp4 lainnya dapat mengembalikan string yang berbeda, dan Anda masih harus menguraikannya), dan saya tidak melihat cara untuk mendapatkannya dari ke 'mp4'. 'avc1' tidak di mana pun di / usr / share / mime.ffmpeg, atau setara ffprobe, mencantumkan beberapa format file yang digunakan demuxer pada awal outputnya. Untuk file mp4 katanya
untuk png katanya
sumber