当前位置: 首页 > news >正文

保姆级教程:在Ubuntu 20.04上搞定Percona源并安装qpress(附公钥错误解决方案)

Ubuntu 20.04系统下Percona源配置与qpress安装全指南

每次在Ubuntu上配置第三方软件源时,总会遇到各种"拦路虎"——公钥错误、依赖缺失、版本冲突。作为数据库管理员,我深知Percona工具链的重要性,而qpress作为XtraBackup的压缩组件更是不可或缺。本文将带你从零开始,彻底解决Percona源配置和qpress安装过程中的所有疑难杂症。

1. 环境准备与问题诊断

在开始之前,我们需要确认系统环境并理解问题的根源。很多新手会直接跳转到安装步骤,却忽略了前期诊断的重要性,这往往导致后续操作事倍功半。

首先检查系统版本信息:

lsb_release -a

典型输出应显示:

No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.4 LTS Release: 20.04 Codename: focal

尝试直接安装qpress时,系统通常会报错:

apt install qpress

错误信息:

E: Unable to locate package qpress

这个错误表明:

  1. 默认Ubuntu官方源不包含qpress软件包
  2. 需要添加包含qpress的第三方源(这里是Percona源)
  3. 源配置可能涉及GPG密钥验证问题

提示:Ubuntu的软件源管理采用严格的加密验证机制,任何未经认证的源都会被拒绝,这是系统安全的重要保障。

2. Percona源配置详解

Percona官方提供了两种主要的软件源配置方式,适用于不同场景:

源类型适用场景包含内容稳定性
original-release生产环境经过充分测试的稳定版
prel-release测试环境预览版和实验性功能

2.1 添加Percona官方源

创建源配置文件:

sudo vim /etc/apt/sources.list.d/percona-original-release.list

添加以下内容:

deb http://repo.percona.com/percona/apt focal main deb-src http://repo.percona.com/percona/apt focal main

对于需要尝鲜新功能的用户,可以同时添加prel源:

sudo vim /etc/apt/sources.list.d/percona-prel-release.list

内容为:

deb http://repo.percona.com/prel/apt focal main deb-src http://repo.percona.com/prel/apt focal main

2.2 解决GPG公钥错误

更新软件包列表时,很可能会遇到公钥验证错误:

The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 9334A25F8507EFA5

解决方法分三步:

  1. 从Ubuntu密钥服务器导入公钥:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 9334A25F8507EFA5
  1. 验证密钥指纹(安全最佳实践):
gpg --fingerprint 9334A25F8507EFA5

应显示:

pub rsa4096 2020-03-19 [SC] [expires: 2025-03-18] Key fingerprint = 9334 A25F 8507 EFA5 uid [ unknown] Percona Development Team (Packaging key) <info@percona.com>
  1. 将密钥添加到可信密钥环:
sudo gpg --export --armor 9334A25F8507EFA5 | sudo apt-key add -

3. qpress安装与验证

完成源配置后,安装过程就变得简单了:

  1. 更新软件包列表:
sudo apt update
  1. 安装qpress:
sudo apt install qpress
  1. 验证安装:
qpress -v

应输出类似:

qpress 1.1

3.1 qpress在Percona工具链中的作用

qpress不是孤立的工具,它在Percona备份方案中扮演关键角色:

  • 压缩效率:相比gzip,qpress提供更快的压缩/解压速度
  • 流式处理:支持管道操作,适合与XtraBackup配合使用
  • 块级压缩:允许随机访问压缩文件中的特定部分

典型备份命令示例:

xtrabackup --backup --compress --compress-threads=4 --stream=xbstream | qpress -i -o /backup/compressed.xb.qp

4. 常见问题排查手册

即使按照步骤操作,仍可能遇到各种意外情况。以下是五年运维经验总结的排错指南:

4.1 软件源更新失败

症状

Failed to fetch http://repo.percona.com/... Connection timed out

解决方案

  1. 检查网络连接:
ping repo.percona.com
  1. 尝试更换镜像源(如使用国内镜像):
sudo sed -i 's/repo.percona.com/mirrors.percona.com/g' /etc/apt/sources.list.d/percona-*.list
  1. 清除apt缓存:
sudo apt clean sudo rm -rf /var/lib/apt/lists/*

4.2 软件包依赖冲突

症状

The following packages have unmet dependencies...

解决方案

  1. 尝试修复依赖:
sudo apt --fix-broken install
  1. 明确指定版本安装:
sudo apt install qpress=11-3.focal
  1. 查看可用版本:
apt-cache policy qpress

4.3 密钥服务器不可用

症状

gpg: keyserver receive failed: No route to host

替代方案

  1. 使用备用密钥服务器:
sudo apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 9334A25F8507EFA5
  1. 直接下载密钥文件:
wget -O - https://repo.percona.com/percona/apt/PERCONA-PACKAGING-KEY | sudo apt-key add -

5. 进阶配置与优化

对于生产环境,还需要考虑以下优化措施:

5.1 源优先级管理

创建优先级配置文件:

sudo vim /etc/apt/preferences.d/percona.pref

内容示例:

Package: * Pin: origin repo.percona.com Pin-Priority: 600

5.2 自动化安装脚本

对于需要批量部署的场景,可以使用以下脚本:

#!/bin/bash # 自动安装qpress set -e echo "添加Percona源..." sudo sh -c 'echo "deb http://repo.percona.com/percona/apt $(lsb_release -sc) main" > /etc/apt/sources.list.d/percona.list' echo "导入GPG密钥..." wget -O - https://repo.percona.com/percona/apt/PERCONA-PACKAGING-KEY | sudo apt-key add - echo "更新并安装qpress..." sudo apt update sudo apt install -y qpress echo "验证安装:" qpress -v

5.3 性能调优建议

根据服务器配置调整压缩参数:

参数建议值适用场景
-TCPU核心数多核服务器
-b64kSSD存储
-s1M高带宽网络传输

示例优化命令:

qpress -T4 -b64k -s1M -i input.xb -o output.qp
http://www.jsqmd.com/news/758806/

相关文章:

  • 即梦去水印手机版怎么操作?即梦手机如何去掉水印?2026最新实测有效方法全解析 - 爱上科技热点
  • STM32 HAL库实战:用L298N和编码器实现直流电机的“稳如老狗”PID控制
  • 黑苹果启动盘修复实战:EFI分区故障诊断与完整解决方案指南
  • 如何快速构建US.KG域名批量查询工具:基于WHOIS协议的完整指南
  • 如何5分钟搞定电脑风扇噪音?FanControl软件完全指南
  • Tyk API网关负载测试终极指南:使用k6模拟10万并发用户的完整实践
  • 如何彻底告别臃肿:G-Helper终极华硕笔记本轻量化控制指南
  • 英雄联盟Akari助手:5个智能功能提升你的游戏体验
  • 植物大战僵尸杂交版手机版下载最新版分享及V3.16 全版本详细测评
  • 如何使用Jupyter Docker Stacks实现PyTorch Lightning与TensorBoard的无缝集成:机器学习实验跟踪的完整指南
  • VinXiangQi:基于YOLOv5的免费象棋连线工具终极指南
  • 2025届学术党必备的十大AI辅助论文神器解析与推荐
  • 【权威实测】Dify v0.11→v0.12升级后调试断点失效率飙升47%:附向后兼容补丁+迁移checklist
  • 如何开启阿里云 ECS 网络增强型实例的 SR-IOV 功能?
  • 3步打造专属Windows:终极精简系统的完整构建方案
  • 如何将Git与监控系统集成:打造高效Prometheus指标与Grafana可视化方案
  • Dify API调不通?90%开发者忽略的4层调试链路全拆解:从请求头到LLM响应流
  • Dify车载问答系统通过AEC-Q100认证全过程(含EMC整改记录+功能安全FMEDA报告)
  • 第5篇:循环语句——重复执行任务 生中文编程
  • 终极Milkdown快捷键指南:10个高效编辑组合键提升写作效率
  • MinGW-w64压缩包名称详解:手把手教你根据项目需求选对x86_64、posix、seh、UCRT版本
  • 佐治亚理工学院:为孩子打造博物馆展品,单人体验竟引发社交行为!
  • Qwerty Learner 终极指南:如何通过打字练习高效记忆英语单词
  • OpenPano全景拼接神器:从零构建自动全景图像处理系统
  • 从零开始:5步搞定黑苹果安装,让你的PC也能运行macOS
  • 避免R 4.5并行反模式,深度剖析foreach+doParallel内存泄漏与负载倾斜问题,
  • 终极JavaScript编码指南:从零开始构建标准化项目的完整实践
  • 别再死记硬背LSTM公式了!用Python和PyTorch手把手带你‘画’出记忆细胞的工作流程
  • 别再只用Nginx了!用Squid在Windows搭建透明代理网关,实现内网统一出口访问控制
  • 视频怎么在线去水印?2026最新 视频在线去水印方法实测,免费在线视频去水印工具推荐 - 爱上科技热点