private static void LoadVersionFromLinux() { Name = FriendlyName = OSUtility.Linux; isLinux = true; string tempFile = GetTempFileName(); using Process p = Process.Start("/bin/bash", "-c \"cat /etc/*release* > " + tempFile + "\""); p.WaitForExit(); System.Threading.Tasks.Task.Delay(100); // wait a small bit for file to really be closed string versionText = File.ReadAllText(tempFile).Trim(); ExtensionMethods.FileDeleteWithRetry(tempFile); if (string.IsNullOrWhiteSpace(versionText)) { Logger.Error(new IOException("Unable to load os version from /etc/*release* ...")); } else { FriendlyName = ExtractRegex(versionText, "^(Id|Distrib_Id)=(?<value>.*?)$", string.Empty); if (FriendlyName.Length != 0) { string codeName = ExtractRegex(versionText, "^(Name|Distrib_CodeName)=(?<value>.+)$", string.Empty); if (codeName.Length != 0) { FriendlyName += " - " + codeName; } Version = ExtractRegex(versionText, "^Version_Id=(?<value>.+)$", Version); } } UsesYumPackageManager = FriendlyName.Contains("centos", StringComparison.OrdinalIgnoreCase) || OSUtility.FriendlyName.Contains("fedora", StringComparison.OrdinalIgnoreCase) || OSUtility.FriendlyName.Contains("red hat", StringComparison.OrdinalIgnoreCase) || OSUtility.FriendlyName.Contains("redhat", StringComparison.OrdinalIgnoreCase); }
public bool Contains(string value) { return ( FriendlyName.Contains(value) || Subject.Contains(value) || Issuer.Contains(value) || SerialNumber.Contains(value) || Thumbprint.Contains(value) || KeyAlgorithm.Contains(value) || SignatureAlgorithm.Contains(value) || Version.Contains(value) || Format.Contains(value) || Extentions.Contains(value) || StoreLocation.Contains(value) || StoreName.Contains(value) || EffectiveDate.ToString().Contains(value) || ExpirationDate.ToString().Contains(value) ); }