Rust AUR包管理工具aur-fetch的使用:轻量高效的Arch Linux软件包获取与安装库

Rust AUR包管理工具aur-fetch的使用:轻量高效的Arch Linux软件包获取与安装库

安装

在项目目录中运行以下Cargo命令:

cargo add aur-fetch

或者在Cargo.toml中添加以下行:

aur-fetch = "0.11.3"

元数据

  • 版本: 0.11.3
  • 发布时间: 9个月前
  • Rust版本: 2018 edition
  • 许可证: GPL-3.0
  • 大小: 19.2 KiB

文档

官方文档: docs.rs/aur-fetch/0.11.3

所有者

Lulu (Morganamilo)

完整示例代码

use aur_fetch::Aur;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    // 创建AUR客户端实例
    let aur = Aur::new();
    
    // 搜索包
    let results = aur.search("yay").await?;
    println!("找到 {} 个结果:", results.len());
    
    // 打印搜索结果
    for pkg in results {
        println!("{} - {}", pkg.name, pkg.description.unwrap_or_default());
    }
    
    // 获取包信息
    let pkg_info = aur.info(&["yay"]).await?;
    if let Some(info) = pkg_info.get(0) {
        println!("\n包详情:");
        println!("名称: {}", info.name);
        println!("版本: {}", info.version);
        println!("维护者: {}", info.maintainer.unwrap_or("无"));
        println!("最后更新: {}", info.last_modified);
    }
    
    Ok(())
}

功能说明

  1. 轻量级: aur-fetch是一个轻量级的AUR包管理工具,专注于提供高效的包查询功能
  2. 异步支持: 使用tokio异步运行时,提供高性能的网络请求
  3. 简单API: 提供简洁的API接口,易于集成到现有项目中
  4. 完整AUR功能: 支持搜索、获取包信息等核心AUR功能

使用场景

  • 构建自定义的AUR包管理器
  • 开发Arch Linux相关的工具
  • 查询AUR包信息而不需要安装完整包管理器
  • 集成AUR功能到现有Rust应用中

注意:此工具仅提供AUR包查询功能,不包含包构建和安装功能。

扩展示例代码

use aur_fetch::{Aur, Package};
use std::error::Error;

#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
    // 初始化AUR客户端
    let aur = Aur::new();
    
    // 示例1: 批量查询多个包信息
    let packages = vec!["yay", "paru", "pamac"];
    let infos = aur.info(&packages).await?;
    
    println!("\n批量查询结果:");
    for info in infos {
        println!("{}: {}", info.name, info.version);
        println!("  描述: {}", info.description.unwrap_or_default());
        println!("  维护者: {}", info.maintainer.unwrap_or("无"));
    }
    
    // 示例2: 搜索并显示前5个结果
    let search_term = "terminal";
    let search_results = aur.search(search_term).await?;
    
    println!("\n'{}' 前5个搜索结果:", search_term);
    for (i, pkg) in search_results.iter().take(5).enumerate() {
        println!("{}. {} - {}", i+1, pkg.name, pkg.description.as_ref().unwrap_or(&String::new()));
    }
    
    // 示例3: 检查包更新
    let local_pkg = Package {
        name: "yay".to_string(),
        version: "10.0.0".to_string(),
        ..Default::default()
    };
    
    if let Some(remote_info) = aur.info(&["yay"]).await?.get(0) {
        if remote_info.version != local_pkg.version {
            println!("\n发现新版本: {} (当前: {})", remote_info.version, local_pkg.version);
        } else {
            println!("\n{} 已是最新版本", local_pkg.name);
        }
    }
    
    Ok(())
}

1 回复

Rust AUR包管理工具aur-fetch使用指南

aur-fetch是一个用Rust编写的轻量级AUR(Arch User Repository)包管理工具,专为Arch Linux用户设计,提供了高效的软件包获取和安装功能。

主要特性

  • 极简设计,专注于核心功能
  • 高性能,得益于Rust的高效实现
  • 无依赖或极少依赖
  • 支持并行下载和构建
  • 简洁直观的用户界面

安装方法

首先需要安装Rust工具链:

# 安装Rust工具链
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

然后通过cargo安装aur-fetch:

# 通过cargo安装aur-fetch
cargo install aur-fetch

基本使用方法

搜索AUR中的软件包

# 搜索AUR中的软件包
aur-fetch search <包名>

示例:

# 搜索neovim包
aur-fetch search neovim

安装软件包

# 安装AUR软件包
aur-fetch install <包名>

示例:

# 安装yay包
aur-fetch install yay

显示软件包信息

# 显示软件包详细信息
aur-fetch info <包名>

示例:

# 查看brave-bin包信息
aur-fetch info brave-bin

更新已安装的AUR包

# 更新所有已安装的AUR包
aur-fetch update

删除已安装的AUR包

# 删除已安装的AUR包
aur-fetch remove <包名>

示例:

# 删除google-chrome包
aur-fetch remove google-chrome

高级用法

并行下载和构建

# 使用4个并行任务安装软件包
aur-fetch install -j4 <包名>

仅下载不安装

# 仅下载软件包不安装
aur-fetch download <包名>

清理构建缓存

# 清理构建缓存
aur-fetch clean

显示依赖关系

# 显示软件包依赖关系
aur-fetch deps <包名>

配置文件

aur-fetch的配置文件通常位于~/.config/aur-fetch/config.toml,可以配置以下选项:

[general]
# 并行任务数
jobs = 4

# 构建目录
build_dir = "/tmp/aur-fetch"

[colors]
# 启用彩色输出
enabled = true

[mirrors]
# 自定义AUR镜像
primary = "https://aur.archlinux.org"

完整使用示例

# 1. 安装aur-fetch
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
cargo install aur-fetch

# 2. 搜索软件包
aur-fetch search neovim

# 3. 查看软件包信息
aur-fetch info neovim-git

# 4. 使用4个并行任务安装软件包
aur-fetch install -j4 neovim-git

# 5. 更新所有已安装的AUR包
aur-fetch update

# 6. 清理构建缓存
aur-fetch clean

# 7. 查看已安装包的依赖关系
aur-fetch deps neovim-git

# 8. 卸载软件包
aur-fetch remove neovim-git

与类似工具对比

相比于yay或paru等AUR助手,aur-fetch具有以下特点:

  • 更小的二进制体积
  • 更快的执行速度
  • 更少的内存占用
  • 更简洁的功能集

aur-fetch特别适合那些只需要基本AUR功能,追求速度和简洁性的Arch Linux用户。

回到顶部