Ubuntu软件包管理


以最新发布的Ubuntu-22.04为例

Ubuntu的软件包都是以deb结尾的,原因是Ubuntu是debian系统的衍生版(deb->debian)

Ubuntu中安装软件使用dpkg(debian packages),相当于红帽系统的rpm

下面列举一些dpkg命令常用的参数

例如,我们从清华源下载一个Ubuntu的软件包,然后通过dpkg命令进行安装,安装成功的前提是这个安装包没有依赖

#-i参数相当于rpm的-i参数

 然后卸载这个软件包(卸载的时候要指定包名,不要指定包全名)

#-r参数表示卸载软件包,相当于rpm的-e参数(erase)

 查看未安装的软件包的安装路径

#-c参数相当于rpm的-qpl参数(软件包未安装情况)

 将下载的软件包装上再查看安装路径

#-L参数相当于rpm的-ql参数(软件包已安装)

 同样也可以长格式显示出来

 查看已安装的软件包(dpkg -l是查看所有已安装的软件包,通常结合grep进行过滤软件包是否安装)

#-l参数相当于rpm的-qa参数

 查看命令所对应的软件包(命令要写成绝对路径)

#-S参数相当于rpm的-qf参数

#-R参数表示安装一个目录下的所有软件包(相当于红帽系统中的rpm -i *.rpm命令) 

列举完dpkg,我们再列举apt(advanced packages tools)dpkg和apt就相当于rpm和yum之间的关系,apt存在的原因就是为了解决软件包之间的依赖关系

apt-get install                            #package 安装包

apt-get reinstall                         #package 重新安装包

apt-get remove                          #package 删除包 

apt-get remove --purge              #package 删除包,包括删除配置文件等

apt-get autoremove --purge        #package 删除包及其依赖的软件包配置文件等

apt-get update                             #更新源

apt-get upgrade                            #更新已安装的包

apt-get dist-upgrade                       #升级系统

#apt-cache主要用于搜索包

apt-cache search                       #package 搜索包

apt-cache show                          #package 获取包的相关信息,如说明、大小、版本等

apt-cache showpkg                     #package 显示软件包信息,包括包的依赖关系,包的提供者

apt-cache pkgnames                  #package  打印软件包列表中所有包的名字

apt-cache dumpavail                  #package 打印软件包列表中所有包的简介信息

apt-cache depends                     #package 了解使用依赖

apt-cache rdepends                    #package 是查看该包被哪些包依赖

#ubuntu配置仓库 /etc/apt/sources.list是默认仓库配置文件

/etc/apt/sources.list.d/目录是仓库子配置文件目录 你可以在/etc/apt/sources.list.d/目录下创建后缀名为list的软件仓库配置文件

#每当你更改过仓库配置文件的时候,必须要使用apt update获取一下仓库的元数据信息(apt update和yum update完全不是一个意思)

#apt命令执行后的默认安装路径

下载的软件存放位置:/var/cache/apt/archives

安装后软件默认位置:/usr/share

可执行文件位置:/usr/bin

配置文件位置:/etc

库文件位置:/usr/lib