#package-manager #apt #linux #yum #program #programs

无需 std palin

Linux 包管理器(如 apt、yum、pacman)的实用库

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 日

#316Unix API

每月 29 次下载
2 个 crate 中使用(通过 sys-info-extended

MIT 许可证

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 
}

未来版本计划功能

  • 添加对列出包管理器程序的支持。
  • 添加对显示包管理器程序更多信息的支持。

无运行时依赖