欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Ubuntu 软件管理

程序员文章站 2022-11-06 22:07:25
Ubuntu软件管理:dpkg和apt Debian软件包通常为预编译的二进制格式的扩展名“.deb”,类似rpm文件, dpkg:package manager for Debian,类似于rpm, dpkg是基于Debian的系统的包管理器。可以安装,删除和构建软件包,但无法自动下载和安装软件包 ......

ubuntu软件管理:dpkg和apt

   debian软件包通常为预编译的二进制格式的扩展名“.deb”,类似rpm文件,
  dpkg:package manager for debian,类似于rpm, dpkg是基于debian的系统的包管理器。可以安装,删除和构建软件包,但无法自动下载和安装软件包或其依赖项 
  apt:advanced packaging tool,功能强大的软件管理工具,甚至可升级整个ubuntu的系统,基于客户/服务器架构
  apt工作原理:在服务器上先复制所有deb包,然后用apt的分析工具genbasedir根据每个deb 包的包头(header)信息对所有的deb包进行分析,并将该分析结果记录在文件夹base内的一个deb 索引清单文件中,一旦apt 服务器内的deb有所变动,要使用genbasedir产生新的deb索引清单。客户端在进行安装或升级时先要查询deb索引清单,从而获知所有具有依赖关系的软件包,并一同下载到客户端以便安装。当客户端需要安装、升级或删除某个软件包时,客户端计算机取得deb索引清单压缩文件后,会将其解压置放于 /var/cache/apt/,而客户端使用apt-get install或apt-get upgrade命令的时候,就会将这个文件夹内的数据和客户端计算机内的deb数据库比对,知道哪些deb已安装、未安装或是可以升级的

dpkg常见用法:
  dpkg -i package.deb 安装包
  dpkg -r package 删除包,不建议,不自动卸载依赖于它的包
  dpkg -p package 删除包(包括配置文件)
  dpkg -l 列出当前已安装的包,类似rpm -qa
  dpkg -l package 显示该包的简要说明,类似rpm –qi
  dpkg -l package 列出该包中所包含的文件,类似rpm –ql
  dpkg -s <pattern> 搜索包含pattern的包,类似rpm –qf
  dpkg -s package 列出该包的状态,包括详细信息,类似rpm –qi
  dpkg --configure package 配置包,-a 使用,配置所有没有配置的软件包
  dpkg -c package.deb 列出 deb 包的内容,类似rpm –qpl
  dpkg --unpack package.deb 解开 deb 包的内容

  apt 相当于 apt-get、apt-cache 和 apt-config 中最常用命令选项的集合
  apt 具有更精减但足够的命令选项,而且参数选项的组织方式更为有效。此外,启用的几个特性也非常有帮助。
    例如:可以在使用 apt 命令安装或删除程序时看到进度条,apt还会在更新存储库数据库时提示用户可升级的软件包个数
  apt 与 apt-get 有一些类似的命令选项,但它并不能完全向下兼容 apt-get 命令,也即可用 apt 替换部分 apt-get 系列命令,但不是全部
apt命令:
  apt 命令 被取代的命令 命令的功能
  apt install apt-get install 安装软件包
  apt remove apt-get remove 移除软件包
  apt purge apt-get purge 移除软件包及配置文件
  apt update apt-get update 刷新存储库索引
  apt upgrade apt-get upgrade 升级所有可升级的软件包
  apt autoremove apt-get autoremove 自动删除不需要的包
  apt full-upgrade apt-get dist-upgrade 在升级软件包时自动处理依赖关系
  apt search apt-cache search 搜索应用程序
  apt show apt-cache show 显示安装细节
    
apt 特有的命令
  apt list 列出包含条件的包(已安装,可升级等)
  apt edit-sources 编辑源列表    
  apt包索引来自/etc/apt/sources.list文件和/etc/apt/sources.list.d目录中定义的存储库的可用包的数据库。要使用存储库中所做的最新更改来更新本地程序包索引
  apt命令操作(如安装和删除软件包)记录在/var/log/dpkg.log日志文件中


apt示例:
安装包:

  apt install tree zip
删除包:
  apt remove tree zip
  说明:apt remove中添加--purge选项会删除包配置文件,谨慎使用
更新包索引:
  apt update
升级包:要升级系统,请首先更新软件包索引,再升级
  apt upgrade