4 个版本 (破坏性更新)
0.4.0 | 2024 年 3 月 31 日 |
---|---|
0.3.0 | 2024 年 2 月 5 日 |
0.2.0 | 2024 年 1 月 25 日 |
0.1.0 | 2024 年 1 月 22 日 |
#316 在 Unix API
每月 29 次下载
在 2 个 crate 中使用(通过 sys-info-extended)
50KB
932 行
Palin - 包管理器的实用库。
Palin 是一个用于 Linux 包管理器(如 apt、yum、pacman)的实用库。它可以检测 Linux 发行版中安装了哪些包管理器,检查是否安装了该程序。在未来的版本中,将添加新的实用功能。
如果您喜欢这个 crate,请考虑在 github 仓库 上点赞。
指南
use palin::*;
fn main() {
let package_managers = find_package_managers(); // this returns: Vec<&'a str>
// then check which package managers exist and do your stuff depending on that. It usually will return this kind of answer:
// ["apt", "dpkg"]
// ["yum", "dnf", "rpm"]
// ["busybox"]
// etc...
}
然后您可以在包管理器列表中检查程序是否已安装。该函数返回一个布尔值
use palin::*;
fn main(){
let is_wget_exist_in_apt = check_if_exist_in_apt("wget");
let is_wget_exist_in_dpkg = check_if_exist_in_dpkg("wget");
let is_wget_exist_in_yum = check_if_exist_in_yum("wget");
let is_wget_exist_in_dnf = check_if_exist_in_dnf("wget");
let is_wget_exist_in_rpm = check_if_exist_in_rpm("wget");
let is_wget_exist_in_pacman = check_if_exist_in_pacman("wget");
let is_wget_exist_in_busybox = check_if_exist_in_busybox("wget");
}
您还可以检查某些特定程序的存在性
use palin::*;
fn main(){
let is_curl_exist = check_if_curl_exist();
let is_wget_exist = check_if_wget_exist();
let is_dig_exist = check_if_dig_exist();
let is_ip_exist = check_if_ip_exist();
}
然后您可以得到一个 apt 程序,如果 apt 存在的话
use palin::*;
fn main(){
// check if apt exist before
let get_wget_program = get_apt_program("wget").unwrap();
// do your other stuff
}
未来版本计划功能
- 添加对列出包管理器程序的支持。
- 添加对显示包管理器程序更多信息的支持。