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(())
}
功能说明
- 轻量级: aur-fetch是一个轻量级的AUR包管理工具,专注于提供高效的包查询功能
- 异步支持: 使用tokio异步运行时,提供高性能的网络请求
- 简单API: 提供简洁的API接口,易于集成到现有项目中
- 完整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用户。