Модуль: OS::Linux Приватный
- Расширен модулем:
- Utils::Output::Mixin
- Определён в:
- os/linux.rb,
extend/os/linux/keg.rb,
extend/os/linux/search.rb,
extend/os/linux/cleaner.rb,
extend/os/linux/cleanup.rb,
extend/os/linux/formula.rb,
extend/os/linux/install.rb,
extend/os/linux/sandbox.rb,
extend/os/linux/cmd/info.rb,
extend/os/linux/test_bot.rb,
extend/os/linux/compilers.rb,
extend/os/linux/diagnostic.rb,
extend/os/linux/cask/config.rb,
extend/os/linux/hardware/cpu.rb,
extend/os/linux/keg_relocate.rb,
extend/os/linux/bundle/bundle.rb,
extend/os/linux/cask/caskroom.rb,
extend/os/linux/dev-cmd/tests.rb,
extend/os/linux/system_config.rb,
extend/os/linux/bundle/skipper.rb,
extend/os/linux/cask/installer.rb,
extend/os/linux/dev-cmd/bottle.rb,
extend/os/linux/extend/ENV/std.rb,
extend/os/linux/cask/quarantine.rb,
extend/os/linux/linkage_checker.rb,
extend/os/linux/simulate_system.rb,
extend/os/linux/cask/utils/trash.rb,
extend/os/linux/extend/ENV/super.rb,
extend/os/linux/development_tools.rb,
extend/os/linux/extend/ENV/shared.rb,
extend/os/linux/extend/pathname/os.rb,
extend/os/linux/cask/artifact/moved.rb,
extend/os/linux/dev-cmd/update-test.rb,
extend/os/linux/bottle_specification.rb,
extend/os/linux/bundle/brew_services.rb,
extend/os/linux/dependency_collector.rb,
extend/os/linux/formula_cellar_checks.rb,
extend/os/linux/cask/artifact/relocated.rb,
os/linux/ld.rb,
os/linux/glibc.rb,
os/linux/elf/os.rb,
os/linux/kernel.rb,
os/linux/libstdcxx.rb
Обзор
Этот модуль является частью закрытого API. Этот модуль можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого модуля, поскольку он может быть удалён или изменён без предупреждения.
Вспомогательный модуль для получения системной информации в Linux.
Определено в пространстве имён
Модули: BottleSpecification, Bundle, Cask, Cleaner, Cleanup, Cmd, CompilerSelector, DependencyCollector, DevCmd, DevelopmentTools, Diagnostic, Elf, Formula, FormulaCellarChecks, Glibc, Hardware, Install, Keg, Kernel, Ld, Libstdcxx, LinkageChecker, Pathname, Sandbox, Search, SharedEnvExtension, SimulateSystem, Stdenv, Superenv, SystemConfig, TestBot
Краткое описание методов класса свернуть
- .inside_docker? ⇒ Boolean приватный
- .language ⇒ String? приватный
- .languages ⇒ Array<String> приватный
- .os_version ⇒ String внутренний
Получить версию ОС.
- .wsl? ⇒ Boolean приватный
- .wsl_version ⇒ Version приватный
Методы, включённые из Utils::Output::Mixin
issue_reporting_message, odebug, odeprecated, odie, odisabled, ofail, oh1, oh1_title, ohai, ohai_title, onoe, opoo, opoo_outside_github_actions, opoo_without_github_actions_annotation, pretty_deprecated, pretty_disabled, pretty_duration, pretty_install_status, pretty_installed, pretty_uninstalled, pretty_upgradable, pretty_warning
Подробное описание методов класса
.inside_docker? ⇒ Boolean
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
50 51 52 53 54 55 56 | # File 'os/linux.rb', line 50 def self.inside_docker? return true if File.file?("/.dockerenv") return true if File.file?("/run/.containerenv") return false unless File.file?("/proc/1/cgroup") File.read("/proc/1/cgroup").match?(/azpl_job|actions_job|docker|garden|kubepods/) end |
.language ⇒ String?
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
94 95 96 | # File 'os/linux.rb', line 94 def self.language languages.first end |
.languages ⇒ Array<String>
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | # File 'os/linux.rb', line 75 def self.languages return @languages if @languages.present? locale_variables = ENV.keys.grep(/^(?:LC_\S+|LANG|LANGUAGE)\Z/).sort ctl_ret = Utils.popen_read("localectl", "list-locales") list = T.let([], T::Array[String]) if ctl_ret.present? list = T.cast(ctl_ret.scan(/[^ \n"(),]+/), T::Array[String]) elsif locale_variables.present? keys = locale_variables.select { |var| ENV.fetch(var) } list = keys.map { |key| ENV.fetch(key) } else list = ["en_US.utf8"] end @languages = list.map { |item| item.split(".").fetch(0).tr("_", "-") } end |
.os_version ⇒ String
Этот метод является частью внутреннего API. Этот метод можно использовать только внутри репозиториев, принадлежащих Homebrew, за исключением casks и формул. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Получить версию ОС.
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | # File 'os/linux.rb', line 24 def self.os_version if which("lsb_release") lsb_info = Utils.popen_read("lsb_release", "-a") description = lsb_info[/^Description:\s*(.*)$/, 1]&.force_encoding("UTF-8") odie "Failed to parse lsb_release output: #{lsb_info.inspect}" unless description codename = lsb_info[/^Codename:\s*(.*)$/, 1] if codename.blank? || (codename == "n/a") description else "#{description} (#{codename})" end elsif ::OS_VERSION.present? ::OS_VERSION else "Unknown" end end |
.wsl? ⇒ Boolean
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
45 46 47 | # File 'os/linux.rb', line 45 def self.wsl? OS.wsl? end |
.wsl_version ⇒ Version
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
59 60 61 62 63 64 65 66 67 68 69 70 71 72 | # File 'os/linux.rb', line 59 def self.wsl_version return Version::NULL unless wsl? kernel = OS.kernel_version.to_s if Version.new(T.must(kernel[/^([0-9.]*)-.*/, 1])) > Version.new("5.15") Version.new("2 (Microsoft Store)") elsif kernel.include?("-microsoft") Version.new("2") elsif kernel.include?("-Microsoft") Version.new("1") else Version::NULL end end |
© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/OS/Linux.html