私はシステムが実際にDebianベースであるかどうかを知る必要があるシェルスクリプトを書いてきました。今私は見ましたこれ質問がありますが、その答えはあまり役に立ちません。私はチェックサム/etc/os-release
の出力を知っており、同様にコマンドがあることを確認することがディストリビューションがRed HatまたはDebianに基づいているかどうかを確認する別の方法であることを知ってlsb_release
います。しかし、これらの方法にはすべて欠陥があります。数百のさまざまなDebianベースのディストリビューションがあります(それ自体がDebianベースのUbuntuベースのディストリビューションを含む)。内部または出力のフィールドが既知の何百ものDebianベースのディストリビューションと一致していることを確認してください。そのうちの1つを一致させるのに時間がかかります。 。他のディストリビューションからパッケージマネージャをインストールする人もいますので、dpkgとrpmコマンドがあるかどうかを確認するのも完璧ではありません。たとえば、私のUbuntuコンピュータにはRPMがインストールされています。これは、部分的にRPMが必要なOpen Build ServiceのOSCコマンドを使用しているためです。rpm
dpkg
NAME
/etc/os-release
Distributor ID
lsb_release -a
簡単に言えば、私のスクリプトがデプロイされたディストリビューションがDebianベースであるかどうかを確認(決定)する簡単で迅速な方法が必要です。可能ですか?
編集する:この質問に投票した人が暗示しているように、/ etc / debian_versionはすべてのDebianベースのシステムに存在します。これについての証拠がある人はいますか?
ベストアンサー1
/etc/debian_version
すべてのDebian派生製品には、Essentialが提供するこの機能が必要です。base-files
パック。重要なので、インストールに依存する可能性があるため、このファイルも存在します。
デリバティブがファイルを削除するのを防ぐ方法がないため、「しなければならない」と言いますが、私の知る限りは防ぐ方法はありません。バラよりLinux Mintには/etc/debian_versionがありますか?詳細については。