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

银河麒麟桌面版包管理器(五)

PPA

PPA(Personal Package Archives,个人软件仓库)是Canonical公司为Ubuntu操作系统及其衍生版本用户提供的专属服务。该服务允许个人用户和开发者上传Ubuntu软件包,其他用户可通过简易命令添加和安装这些软件包。PPA不仅为开发者提供了发布软件的平台,更为用户打开了获取官方Ubuntu仓库以外的软件的大门。自2009年推出以来,PPA助力Ubuntu及其衍生版软件实现了创新与快速迭代。

使用PPA的主要优势如下所示。

  • 获取最新软件版本:Ubuntu的官方仓库可能不总是提供软件的最新版本。PPA允许用户安装最新的软件版本,甚至是预发布版本,使他们能够体验最新的功能。
  • 简化小型项目或独立开发者的发布流程:对于小型项目或独立开发者而言,将软件纳入Ubuntu的官方仓库可能是一个漫长且复杂的过程。PPA为这些开发者提供了一个直接向用户分发软件的渠道。
  • 促进软件开发和测试:开发者和测试人员可以利用PPA来分发和测试新版本的软件,这有助于在软件最终发布前发现并修复潜在的错误。

PPA主要托管在Canonical公司的Launchpad.net网站上。每个PPA都有一个唯一的URL标识,格式通常为ppa:<用户名>/<仓库名>,这使用户能够轻松地找到并添加所需的软件源。

使用PPA

要使用PPA仓库,首先需要用命令add-apt-repository添加某个软件存储库到系统的软件源列表中,操作系统并未内置add-apt-repository命令,需要额外安装,安装命令如下:

sudo apt install --assume-yes software-properties-common

add-apt-repository命令的基本语法非常直观,主要包括添加软件源、移除软件源和管理密钥的功能。

  • 添加PPA存储库:

sudo add-apt-repository ppa:<用户名>/<仓库名>

  • 删除PPA存储库:

sudo add-apt-repository --remove ppa:user/repository

  • 添加非PPA官方的第三方存储库:

sudo add-apt-repository 'deb [arch=amd64] http://repository.***/ubuntu focal main'

添加某个PPA仓库到系统的软件源列表后,首先运行sudo apt update更新系统的软件源,然后就可以用apt、aptitude等APT前端管理该软件了。PPA仓库中的软件跟官方源里面的软件一样,可以对其安装、升级、卸载等。

通常第三方存储库使用GPG密钥来验证软件包的真实性,add-apt-repository会自动尝试添加这些密钥,但有时也需要手动添加。若有密钥相关报错信息,则可参考3.1.3.4节进行处置。

银河麒麟使用PPA

在银河麒麟桌面版上使用命令add-apt-repository添加PPA时,可能会出现下面的独有错误信息:

aptsources.distro.NoDistroTemplateException: Error: could not find a distribution template for Kylin/kylin

这是因为虽然银河麒麟桌面版是Ubuntu的衍生版,但其使用的发行版名称、版本号等信息不在PPA支持的操作系统列表里。而命令add-apt-repository在添加PPA时,会进行版本检查,所以会报如上的错误。

这时可以手动添加 PPA 仓库,这样就可以跳过检查操作系统版本这一步。下面以添加AppImageLauncher的PPA仓库为例:

(1)在PPA官方网站Launchpad.net上查看该仓库对应的具体源信息。

(2)在操作系统下拉列表中选择“Focal (20.04)”,因为银河麒麟V10 SP1是基于这个版本开发的。后续其他版本以此类推。

(3)在/etc/apt/sources.list.d/目录下新建一个以.list为后缀的文件,例如ppa.list,将图3-22中的软件源复制进去。

(4)更新系统软件源:sudo apt update。

(5)安装相关软件:sudo apt install appimagelauncher。


http://www.kler.cn/a/597806.html

相关文章:

  • 使用vscode搭建pywebview集成vue项目示例
  • Android Coil3阶梯preload批量Bitmap拼接扁平宽图,Kotlin
  • Liunx系统Microsoft SQL Server数据库还原
  • 设计模式:创建型、结构型、行为型
  • 【Spring】深入理解 Spring 事务管理
  • Cesium 自定义路径导航材质
  • 运算放大器(一)运算放大器的参数、选型与应用
  • 防火墙设置屏蔽漏洞
  • 【leetcode题解】链表
  • mysql5.7及mysql8的一些特性
  • python包和模块
  • 深入理解指针(1)(C语言版)
  • 计算机操作系统(六) 进程控制与进程通信 (附带图谱更好对比理解)
  • 指针,数组 易混题解析(一)
  • 在 .NET 9.0 Web API 中实现 Scalar 接口文档及JWT集成
  • JavaEE-MyBatis概述第一个程序
  • 生活电子常识-deepseek-r1本地化部署+ui界面搭建
  • 练习:自动驾驶
  • xy轴不等比缩放问题——AUTOCAD c#二次开发
  • 【leetcode题解】宽搜(BFS)