[devel] /usr/bin/crc32
Igor Vlasenko
vlasenko на imath.kiev.ua
Ср Июл 21 18:24:15 UTC 2010
On Wed, Jul 21, 2010 at 09:53:25PM +0400, Dmitry V. Levin wrote:
> On Wed, Jul 21, 2010 at 08:11:43PM +0300, Igor Vlasenko wrote:
> > On Tue, Jul 20, 2010 at 07:23:43PM +0400, Alexey Tourbin wrote:
> > > > * cpan2rpm не умеет? паковать скрипты из %_bindir.
> > > > однако в вот этих %_bindir/* зря не упакован.
> > [...]
> > > > perl-Archive-Zip crc32
> > >
> > > Скрипт crc32 не имеет не документации, ни даже опции --help.
> > > Класть его в /usr/bin (в том числе по этим причинам) неохота.
> >
> > Как минимум Бубунта и Федора/ЦентОсь как /usr/bin/crc32
> > кладет именно этот скрипт.
> >
> > И нормальной альтернативной реализации нет. Дурацкая ситуация получилась
> > с /usr/bin/crc32 из-за его простоты. Народ вовсю пользуется
> > самодельнми реализациями в ~/bin, начиная от 4-хстрочника на питоне,
> > есть и готовый С код,
> > но как-то всем лень добавить getopt, оформить его в нормальный пакет
> > в /usr/bin с --help, man и прочая.
> >
> > Сложилась традиция брать /usr/bin/crc32 из perl-Archive-Zip,
> > давайте и мы будем придерживаться.
> >
> > Я понимаю нежелание клась вместе с модулем, но если в подпакет вынести?
> > Ня-файлы чем-то проверять надо.
>
> А /usr/bin/cksum -- это случайно не то же самое, но "с --help, man и прочая"?
нет, это POSIX.2 checksum.
checksum это не один алгоритм, а целое семейство,
зависящее, в частности, от выбора полинома, with, init, и т.д., см.
http://ru.wikipedia.org/wiki/%D0%A6%D0%B8%D0%BA%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B8%D0%B7%D0%B1%D1%8B%D1%82%D0%BE%D1%87%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4
В BSD cksum есть опция -o, и там можно выбрать -o 3,
что даст crc32. у нас такой возможности нет.
[BSD man quote]...
-o
Use historic algorithms instead of the (superior) default one.
...
Algorithm 3 is what is commonly called the `32bit' CRC algorithm. This is a 32-bit checksum. ...
[/quote]
--
Dr. Igor Vlasenko
--------------------
Topology Department
Institute of Math
Kiev, Ukraine
Подробная информация о списке рассылки Devel