首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Debian软件包常用管理命令整理

Debian软件包常用管理命令整理

作者头像
Debian中国
发布2020-01-27 09:33:13
2.4K0
发布2020-01-27 09:33:13
举报
文章被收录于专栏:Debian中国Debian中国

在Debian及其衍生的系统中,我们需要经常使用的软件包管理命令,对系统进行管理,以便系统达到预期的状态。Debian系统中,常用的软件包命令有 apt、apt-get、dpkg、apt-cache等,这里我们着重列举常见的一些用法。

软件包查询(不需要sudo权限)

$ apt-cache search pkg_keyword     #列出匹配关键字的软件包
$ apt search pkg_keyword           #列出匹配关键字的软件包,包括了版本信息
$ apt list pkgname                 #查找该软件包,会显示版本信息
$ apt-cache show pkgname           #查询软件包详细信息
$ apt show pkgname                 #查询软件包详细信息
$ apt-cache depends pkgname        #查询软件包依赖关系
$ apt-cache rdepends pkgname       #查询被哪些软件包依赖
$ apt-cache showpkg pkgname        #同上
$ apt-cache policy pkgname         #查询软件包的安装状态和版本
$ apt-cache stats                  #查看软件库的统计信息

软件包安装

$ sudo apt-get install pkgname
$ sudo apt install pkgname

$ sudo apt install -f                               #自动修复依赖
$ sudo apt-get install -f

在安装软件包之前,我们一般会执行 apt-get update,更新 apt-get 缓存中的软件包信息,获取最新软件包列表。软件的安装源,是由 /etc/apt/sources.list 和 /etc/apt/sources.list.d/ 目录下的 .list 文件定义的。

$ sudo apt-get upgrade           #更新系统所有已安装软件包,只更新包会忽略依赖关系
$ sudo apt upgrade
$ sudo apt-get upgrade -u        #-u 列出可升级软件列表
$ sudo apt-get upgrade -s        #模拟升级
$ sudo apt-get dist-upgrade      #根据依赖关系更新系统所有已安装软件包
$ sudo apt-get --reinstall install pkgname        #只升级指定的软件包
$ sudo apt-get source pkgname    #只下载源码包
$ sudo apt-get check             #检查破损的依赖关系
$ sudo apt-get autoclean         #自动清楚apt-get缓存

软件包卸载

$ sudo apt-get remove pkgname       #删除已安装的软件包(保留配置文件)
$ sudo apt-get purge pkgname        #卸载软件,同时删除配置文件
$ sudo apt-get autoremove pkgname   #彻底自动卸载软件,删除该软件包及所依赖的,以及不再使用和未使用的软件包

在清理本地缓存时,我们会用到 apt 的 clean 命令。值得一提的是,apt-get autoclean 和 apt-get clean 是略微有区别的。

APT的底层包管理器是dpkg, dpkg 安装软件包时, 会将 *.deb 放在 /var/cache/apt/archives 中。apt-get autoclean 只会删除 /var/cache/apt/archives 已经过期的deb。使用 apt-get clean 会将 /var/cache/apt/archives 的 所有 deb 删掉。

dpkg工具管理deb格式软件包
$ dpkg -l                      #列出所有安装的deb软件包
$ dpkg -l|grep nginx           #查询nginx是否已安装
$ dpkg -s zip                  #查看软件包zip的状态和详细信息
$ dpkg -S openssh-server       #查看软件包openssh-server包含的所有文件
$ dpkg -S /path/to/file        #查看某文件对应的软件包名
$ sudo dpkg -i pkgname.deb     #安装.deb软件包,需要自己解决依赖关系
$ sudo dpkg -r pkgname         #卸载deb格式的软件包(保留配置文件),需要自己解决依赖关系
$ sudo dpkg -P pkgname         #卸载deb格式的软件包(不保留配置文件),需要自己解决依赖关系
$ sudo dpkg -P package-name    #清除软件包的所有文件(removes everything, including conffiles)
使用PPA源安装软件包

所有的PPA都寄存在launchpad.net网站上,该网站由Canonical公司架设。

  • ppa:user/ppa-name #ppa源语法格式
  • sudo add-apt-repository ppa:user/ppa-name #添加ppa源
  • sudo add-apt-repository -r ppa:user/ppa-name #删除ppa源

注意,任何人都可以上传软件包到ppa,所有尽量避免使用ppa,如果必须使用,应选用可以信任的,有固定团队维护的ppa。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-01-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 软件包查询(不需要sudo权限)
  • 软件包安装
  • 软件包卸载
    • dpkg工具管理deb格式软件包
      • 使用PPA源安装软件包
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档