Ubuntuでcronの実装を見つける方法は?

Ubuntuでcronの実装を見つける方法は?

ウィキペディア説明する

GNUプロジェクトとLinuxの出現により、新しいcronが登場しました。これらの中で最も人気のあるのは、もともと1987年にPaul Vixieが作成したVixie cronです。 Vixie cronバージョン3は1993年末にリリースされました。バージョン4.1はISC Cronに名前が変更され、2004年1月にリリースされました。いくつかのマイナーなバグ修正を含むバージョン3は、ほとんどのLinuxおよびBSDディストリビューションで利用できます。

2007年、Red Hatはvixie-cron 4.1をcronieプロジェクトにフォークし、2009年にanacron 2.3に統合しました。

他の広く使用されている実装はanacronとdcronです。しかし、anacronはスタンドアロンのcronプログラムではありません。他のクローン操作はそれを呼び出す必要があります。 dcronはDragonFly BSD創設者Matt Dillonによって開発され、2010年にJim Pryorがメンテナンスしました。 [9]

webcron ソリューションは、Web ホスティング環境で cron 実装が利用できないときはいつでも定期的に実行されるようにリングジョブをスケジュールします。

Lubuntu 18.04でインストールされている他のソフトウェアと同様に、cronの実装が何であるかを調べようとしましたが、失敗しました。

$ cron --version
cron: invalid option -- '-'
usage: cron
$ crontab --version
crontab: invalid option -- '-'

インストールされたプログラムのバージョンを見つけるのにほとんど難しいことはありませんが、なぜこれが私にとってそれほど難しいのか疑問に思います。どうやって見つけることができますか?

ありがとうございます。

答え1

努力するman cron。私のシステム(Ubuntu 18.04)cronをVixie Cronとして識別しました。

答え2

Ubuntuの場合は参照することをお勧めしますこのcrontabコマンドを提供するパッケージcron、コマンドの代わりに存在しない可能性があります。デフォルトはパッケージ(Vixie cron)で提供されていますが、cron少なくとも2つの代替方法があります。

~ aptitude search '~Pcron'
p   bcron-run     - Bruce's cron system
i   cron          - process scheduling daemon
p   cron:i386     - process scheduling daemon
p   systemd-cron  - systemd units to provide cron daemon & anacron functionality

ネザーbcron...でもないsystemd-cronバイナリファイルの提供/usr/sbin/cron(bcronコマンドはすべてbcron)で始まりますが、すべてcrontabコマンドと/etc/crontabファイルを提供します。

答え3

いつでも検索機能を利用できますpackages.ubuntu.comここで現在のバージョンを見つけることができます(まだアップデートを適用していない場合は、ローカルシステムが遅れている可能性があります)。これには通常、アップストリームパッケージへのリンクが含まれます。

どのパッケージがあるか(またはバイナリを指すdpkg --search /usr/sbin/cron場所)を確認してください。type cron

の場合予約されたこと、あなたは以下を指します国際標準委員会ウェブサイト。

ソースコードを直接調査したい場合は、apt-get source cronシステム用のcronを構築するために使用されるソースコードを入手することもできます。

答え4

すべてのパッケージに適用される単一のソリューションはありません。

Ubuntu 18.04の場合、そのWebサイトを使用できます。

https://packages.ubuntu.com/bionic/cron

Vixie cronであることを示す著作権ファイルへのリンクがあります。

バイナリを確認することもできます。

% strings /usr/sbin/cron | grep Vix 
@(#) Copyright 1988,1989,1990,1993,1994 by Paul Vixie

RedHat 7およびその派生バージョンでは、stringsバイナリのaはISCであることを示します。

% strings /usr/sbin/crond | grep Cron | head -1
@(#) ISC Cron V4.1

関連情報