Linux学习笔记05 -- Linux中软件包的管理

1.简介

Linux下的软件包管理工具有多种,其中包括类windows下的图形界面、简单的文本窗口界面以及最实用的命令行等。其中命令行的软件包管理是在linux下最常用且最实用的,常用的命令行软件包管理工具有

  • dpkg-deb
  • dpkg
  • apt

其中dpkgapt在不同的Linux发行版本中应用非常广泛,且根据不同的需求搭配选用效率非常高

2.dpkg软件包管理

1)相关常用命令

apkg命令安装软件包最大的特地是不强制系统在联网状态下,可以直接将已经下载好的deb包同个dpkg命令安装到本地,常用命令如下所示

命令 功能
dpkg -i 安装一个在本地文件系统上存在的Debian包
dpkg -r 移除一个已经安装的软件包
dpkg -P 移除已安装软件包及配置文件(彻底清除)
dpkg -L 列出安装的软件包清单
dpkg -s 显示出软件包的安装状态

3.apt软件包管理

1)apt工作原理

  • 以Ubuntu操作系统为例,Ubuntu采用集中式的软件仓库机制,将各式各样的软件包分门别类的存放在软件仓库中,进行有效的组织和管理,然后,将软件仓库置于叙叙多多的镜像服务器中,并保持基本一致。这也是当今许多软件源网站所争相效仿的 ,因此,对于用户而言,这些镜像服务器就是他们的软件源。
  • 用户需要某个软件安装包,就链接到本操作系统中的软件源配置文件,联网情况下,在服务器的镜像站点处的软件清单中分类别找出所需要的软件资源,再反馈到本机,以便本地主机的查询和安装。

2)apt-get常用命令

命令 功能
apt-get update 下载更新软件包列表信息
apt-get upgrade 将系统中所有软件包升级到最新的版本
apt-get install 下载所需软件包并进行安装配置
apt-get install --reinstall 重新安装软件包
apt-get remove 卸载软件包
apt-get remove package --purge 完全卸载软件包
apt-get autoremove 将不满足依赖关系的软件包自动卸载
apt-get source 下载源码包
apt-get bulid-dep 为源码包构建所需要的编译环境
apt-get dist-upgrade 发布版升级
apt-get dselect-upgrade 更具dselect的选择来进行软件包升级
apt-get clean 删除缓冲区中所有已下载的包文件
apt-get autoclean 删除缓冲区中老版本的已经下载的包文件
apt-get check 检查系统中依赖关系的完整性

以下载rxvt终端命令行工具为例

  • apt-get install rxvt安装软件包l命令

在这里插入图片描述

  • apt-get install rxvt --reinstall重新安装软件包命令

在这里插入图片描述

  • apt-get clean表示清除缓冲区中下载的所有软件包命令,apt-get autoclean则为清除缓冲区中下载的软件包,保留最新下下载软件包版本命令

在这里插入图片描述

3)apt-get其他辅助子命令

一下子命令常用于搭配apt-get + command使用

命令 功能
-d 仅下载软件包,而不安装或者解压
-f 修复系统中存在的软件包依赖性问题
-m 当发现缺少关联软甲包时,仍视图继续执行
-q 将输出作为日志保留,不获取命令执行进度
-b 在下载完源码包后,编译生成相应的软件包
-s 不做实际操作,知识模拟命令执行结果
-y 对所有询问都做肯定的回答,apt-get不再进行任何提示
-u 获取已经升级的软件包列表
-h 获取帮助信息
-v 获取apt-get版本号

4.查询软件包信息

使用apt-cache命令完成查询软件源和软件包的相关信息,搭配一下子命令使用

命令 功能
show 获取二进制软件包的详细信息
showsrc 获取源码包的详细描述信息
showpkg 获取二进制软件包的常规描述信息
stats 获取软件源的基本软件信息
depends 获取该软件包的依赖关系
rdepends 获取所有依赖于该软件包的软件包
pkgnames 列出所有已经安装包的名字
policy 获取软件包当前的安装状态

如下所示apt-cache show gcc,查看gcc的软件信息

在这里插入图片描述

如下所示apt-cache policy gcc查看安装状态

在这里插入图片描述

如下所示apt-cache depends gcc查询依赖关系

在这里插入图片描述

5.dpkg和apt软件包的区别

  • dpkg:用来安装.deb文件,但不会解决模块的依赖关系,且不会关心Ubuntu的软件仓库内的软件,可以用于安装本地的deb文件(离线状态)
  • aptapt会解决和安装模块的依赖问题,并会咨询软件仓库, 但不会安装本地的deb文件, apt是建立在dpkg之上的软件管理工具(在线状态)

在Linux系统中常用的是apt管理软件包的方式

发布了64 篇原创文章 · 获赞 16 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_41488943/article/details/105158439