Ubuntu 20.04 部署 qpress:从依赖缺失到成功安装的完整指南
1. 为什么我们需要qpress?
如果你正在使用Ubuntu 20.04系统处理数据库备份或压缩任务,可能会遇到一个叫qpress的工具。这是一个专门为数据库备份设计的快速压缩工具,特别适合与Percona XtraBackup这类数据库备份工具配合使用。我第一次接触qpress是在处理MySQL数据库备份时,发现系统提示缺少这个关键组件。
qpress最大的特点是它在处理数据库备份文件时的出色表现。相比传统的gzip或bzip2,qpress在压缩速度和压缩率之间取得了很好的平衡。实测下来,它对大型数据库备份文件的处理速度能快2-3倍,这对于需要频繁备份的生产环境来说简直是福音。
2. 安装前的准备工作
2.1 确认系统版本
在开始安装前,我们需要确认系统版本是否匹配。Ubuntu 20.04的代号是"Focal Fossa",这个信息很重要,因为后续添加软件源时需要用到。打开终端输入:
lsb_release -a你会看到类似这样的输出:
No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.4 LTS Release: 20.04 Codename: focal重点看"Codename"这一行,确认显示的是"focal"。如果不是,说明你可能不是20.04系统,后续步骤可能需要调整。
2.2 尝试直接安装
先试试最简单的方法 - 直接通过apt安装:
sudo apt update sudo apt install qpress如果提示"无法定位软件包",那就说明默认软件源中没有包含qpress。别担心,这正是我们需要解决的问题。
3. 添加Percona软件源
3.1 为什么选择Percona源
Percona是一家知名的数据库服务公司,他们维护的软件源中包含了很多有用的数据库工具,qpress就是其中之一。我刚开始时也疑惑为什么Ubuntu官方源没有qpress,后来了解到这是因为qpress主要是作为数据库工具链的一部分,而不是通用压缩工具。
3.2 添加软件源文件
我们需要创建两个新的软件源文件。首先创建主仓库文件:
sudo vim /etc/apt/sources.list.d/percona-original-release.list在文件中添加以下内容:
# This repo is managed by "percona-release" utility, do not edit! 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内容如下:
# This repo is managed by "percona-release" utility, do not edit! deb http://repo.percona.com/prel/apt focal main deb-src http://repo.percona.com/prel/apt focal main注意:这里的关键是确保"focal"与你系统的代号匹配。我曾经因为手误写成"bionic"导致后续步骤失败。
4. 解决GPG公钥问题
4.1 更新软件包列表时的错误
添加完软件源后,运行更新命令:
sudo apt update很可能会遇到这样的错误:
Err:6 http://repo.percona.com/percona/apt focal InRelease The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 9334A25F8507EFA5这是因为系统缺少验证Percona软件包所需的GPG密钥。这个问题困扰了我很久,直到找到正确的解决方法。
4.2 导入GPG公钥
解决方法是手动导入Percona的公钥:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 9334A25F8507EFA5如果一切顺利,你会看到类似这样的输出:
gpg: key 9334A25F8507EFA5: public key "Percona Development Team (Packaging key) <info@percona.com>" imported gpg: Total number processed: 1 gpg: imported: 1有时候网络问题可能导致密钥服务器连接失败,可以尝试更换为hkp://keyserver.ubuntu.com:80或者多试几次。
5. 完成qpress安装
5.1 再次更新软件包列表
导入密钥后,再次运行更新:
sudo apt update这次应该不会再有公钥错误了。你会看到Percona的软件源被成功加载。
5.2 安装qpress
现在可以正式安装qpress了:
sudo apt install qpress安装过程会显示类似这样的信息:
The following NEW packages will be installed: qpress 0 upgraded, 1 newly installed, 0 to remove and 86 not upgraded. Need to get 39.9 kB of archives. After this operation, 98.3 kB of additional disk space will be used.5.3 验证安装
安装完成后,检查版本确认安装成功:
qpress -v应该会输出类似"qpress 1.1"的版本信息。如果看到这个,恭喜你,qpress已经成功安装并可以使用了!
6. 常见问题排查
6.1 软件源更新失败
如果更新软件源时遇到问题,首先检查网络连接是否正常。我曾经因为公司防火墙设置导致无法连接Percona的仓库。可以尝试ping repo.percona.com测试连通性。
6.2 密钥导入失败
如果密钥导入失败,可以尝试以下替代方案:
gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 9334A25F8507EFA5 gpg --export --armor 9334A25F8507EFA5 | sudo apt-key add -6.3 安装后命令找不到
如果安装后输入qpress提示命令找不到,可能是因为PATH环境变量问题。尝试重新登录终端或者运行:
source ~/.bashrc7. qpress的基本使用
虽然这不是本文的重点,但简单介绍下qpress的基本用法还是有帮助的。压缩文件:
qpress -vfo source_file.qp source_file解压文件:
qpress -vd source_file.qp destination_dir-v参数表示显示详细信息,-f表示强制覆盖,-o表示输出到文件,-d表示解压。
8. 性能优化建议
在实际使用中,我发现qpress配合以下参数可以获得更好的性能:
qpress -T4 -o backup.qp backup_file-T参数指定线程数,可以根据CPU核心数调整。在我的8核服务器上,使用-T8能显著提高压缩速度。
