Linux操作系统(六)——软件包管理

一、rpm与deb的软件包理解

最初,基于Linux系统的开发者在完成应用程序开发后,将很多二进制文件发给用户,用户使用之前需要将很多程序逐个安装。因此,Debian Linux 首先提出软件包的管理机制------Deb软件包 ,将应用程序的二进制文件、配置文档、man/info帮助页面等文件合并打包在一个文件中,用户使用软件包管理器直接操作软件包,完成获取、安装、卸载、查询等操作。随即,Redhat Linux 基于这个理念推出了自己的软件包管理机制------Rpm软件包 。当然,Redhat采用了自己的打包格式生成Rpm包文件,由Rpm包管理器负责安装、维护、查询,甚至是软件包版本管理。随着Linux操作系统规模的不断扩大,系统中软件包间复杂的依赖关系,导致Linux用户麻烦不断。Debian Linux开发出了APT软件包管理器。检查和修复软件包依赖关系,利用Internet网络帮助用户主动获取软件包,APT工具再次促进了Deb软件包更为广泛地使用,成为Debian Linux的一个无法替代的亮点。

二、dpkg命令行管理工具

离线软件包安装工具,dpkg是最早的Deb包管理工具,它在Debian一提出包管理模式后就诞生了。使用dpkg可以实现软件包的安装、编译、卸载、查询,以及应用程序打包等功能。但是由于当时Linux系统规模和Internet网络条件的限制,没有考虑到操作系统中软件包存在如此复杂的依赖关系,以及帮助用户获取软件包(获取存在依赖关系的软件包)。因而,为了解决软件包依赖性问题和获取问题,就出现了APT工具。dpkg是Ubuntu Linux中最基本的命令行软件包管理工具,用于安装、编译、卸载和查询Deb软件包,缺陷:

  • 第一,不能主动从镜像站点获取软件包;
  • 第二,安装软件包时,无法检查软件包的依赖关系。

因此,在对一个软件组件的依赖关系不清楚的情况下,建议使用APT软件包管理器。除非用户对软件包的依赖关系非常清楚,再使用dpkg

三、apt命令行管理工具

APT系列工具可能是Deb软件包管理工具中功能最强大的。Ubuntu将所有的开发软件包存放在Internet上的许许多多镜像站点上。用户可以选择其中最适合自己的站点作为软件源。然后,在APT工具的帮助下,就可以完成所有的软件包的管理工作,包括维护系统中的软件包数据库、自动检查软件包依赖关系、安装和升级软件包、从软件源镜像站点主动获取相关软件包等。常用的APT实用程序有:apt。

1、apt install 安装软件

2、apt remove 卸载软件

3、apt policy 查看软件安装状态

4、apt list 软件清单

5、apt purge 卸载软件和配置文件

在可以用的软件包中搜索制定的包 , 如果找到,该命令将返回名称与搜索词匹配的包。

7、apt update 更新软件目录

从服务器更新软件信息到本地 ,保持本地的软件信息和服务器一致 。

8、apt upgrade 更新软件到最新

把系统升级到最新

9、apt clean 删除下载的软件包

在安装软件时 , 需要先下载软件包到本地, 之后才可以安装软件包,软件包被下载在: /var/cache/apt/archives/

10、apt show 软件包的详细信息

查看软件包的详细信息

相关推荐
_upupup2 小时前
Linux的调试工具——gdb/cgdb
linux·服务器
JeJe同学2 小时前
Docker镜像导入、容器启动
linux·运维·docker
Jason_zhao_MR3 小时前
Linux与实时控制如何兼得
linux·嵌入式硬件·机器人·工业控制
闲云野鹤在人间3 小时前
MySQL|从理论、安装、备份到主从复制、MHA高可用详解
linux·运维·数据库·mysql·云计算
一个风轻云淡4 小时前
GCC 和 GDB命令简单解读
java·linux·前端
H.莓飛5 小时前
【数据结构】二叉树_OJ题
linux·开发语言·数据结构·算法
资料库015 小时前
Linux 8个常见运维故障排查
java·linux·运维
零基础1235 小时前
Ubuntu 常用命令汇总
linux·运维·开发语言
Android系统攻城狮6 小时前
Linux Gstreamer深度解析之gst_audio_sink_get_type调用流程与实战(六十五)
linux·运维·服务器·音视频·gstreamer音视频·音视频进阶·gstreamer音视频进阶
xiaoqiMikko6 小时前
Linux 实战(一):CentOS 7、Rocky 9、Ubuntu 24.04 三台真机实测 —— 认清系统、换源、装包的版本坑
linux·centos