diff --git a/Input/Linux/Distro/LSB.pm b/Input/Linux/Distro/LSB.pm index 835df43..357b58b 100644 --- a/Input/Linux/Distro/LSB.pm +++ b/Input/Linux/Distro/LSB.pm @@ -6,7 +6,8 @@ use warnings; use FusionInventory::Agent::Tools; sub isEnabled { - return canRun('lsb_release'); + # Only use lsb_release if not on Oracle Linux + return canRun('lsb_release') && unless(-f '/etc/oracle-release'); } sub doInventory { diff --git a/Input/Linux/Distro/NonLSB.pm b/Input/Linux/Distro/NonLSB.pm index 97a36f1..30af8d5 100644 --- a/Input/Linux/Distro/NonLSB.pm +++ b/Input/Linux/Distro/NonLSB.pm @@ -39,6 +39,12 @@ my @distributions = ( # centos-release contains something like "CentOS Linux release 6.0 (Final) [ '/etc/centos-release', 'CentOS', 'release ([\d.]+)', '%s' ], + # system-release contains something like "Scientific Linux release 6.4 (Carbon)" + [ '/etc/system-release', 'Scientific', 'release ([\d.]+)', '%s' ], + + # oracle-release contains something like "Oracle Linux Server release 5.9" + [ '/etc/oracle-release', 'Oracle', 'release ([\d.]+)', '%s' ], + # redhat-release contains something like "Red Hat Enterprise Linux Server release 5 (Tikanga)" [ '/etc/redhat-release', 'RedHat', 'release ([\d.]+)', '%s' ], @@ -63,7 +69,11 @@ our $runMeIfTheseChecksFailed = ["FusionInventory::Agent::Task::Inventory::Input::Linux::Distro::LSB"]; sub isEnabled { - return !canRun('lsb_release'); + if(-f '/etc/oracle-release') { + return + } else { + return !canRun('lsb_release') + } } sub doInventory {