4 stable releases
2.0.0 | Feb 4, 2022 |
---|---|
1.0.2 | Jun 13, 2020 |
1.0.1 | May 11, 2020 |
1.0.0 | May 9, 2020 |
#689 in Operating systems
97 downloads per month
115KB
2.5K
SLoC
os_info
Overview
This project consists of two parts: the library that can be used to detect the operating system type (including version and bitness) and the command line tool that uses the library.
Library (os_info
)
os_info
usage
To use this crate, add os_info
as a dependency to your project's Cargo.toml:
[dependencies]
os_info = "3"
This project has serde
as an optional dependency, so if you don't need it, then
you can speed up compilation disabling it:
[dependencies]
os_info = { version = "3", default-features = false }
Example
let info = os_info::get();
// Print full information:
println!("OS information: {}", info);
// Print information separately:
println!("Type: {}", info.os_type());
println!("Version: {}", info.version());
println!("Bitness: {}", info.bitness());
Command line tool (os_info_cli
)
A simple wrapper around the os_info
library.
Installation
This tool can be installed using the following cargo command:
cargo install os_info_cli
os_info_cli
usage
Despite being named os_info_cli
during installation, it is actually named
os_info
. You can use the --help
flag to see available options:
os_info --help
Supported operating systems
Right now, the following operating system types can be returned:
- Alpine Linux
- Amazon Linux AMI
- Android
- Arch Linux
- CentOS
- Debian
- DragonFly BSD
- Emscripten
- EndeavourOS
- Fedora
- FreeBSD
- Linux
- Linux Mint
- macOS (Mac OS X or OS X)
- Manjaro
- MidnightBSD
- NetBSD
- NixOS
- OpenBSD
- openSUSE
- Oracle Linux
- Pop!_OS
- Raspberry OS
- Red Hat Linux
- Red Hat Enterprise Linux
- Redox
- Solus
- SUSE Linux Enterprise Server
- Ubuntu
- Unknown
- Windows
If you need support for more OS types, I am looking forward to your Pull Request.
License
os_info
is licensed under the MIT license. See LICENSE for the details.
Dependencies
~6–14MB
~171K SLoC