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 软件包的详细信息

查看软件包的详细信息

相关推荐
AlfredZhao1 小时前
用 crontab 给 LLM 使用量装上“监控眼”
linux
刃神太酷啦4 小时前
Linux 系统 MySQL 完整安装配置教程:从卸载 MariaDB 到优化 my.cnf----《Hello MySQL!》(1)
android·linux·c语言·c++·mysql·leetcode·mariadb
赵文宇(温玉)5 小时前
OpenEuler24.03 SP4 系统安装(欧拉/麒麟V10)
linux·openeuler·欧拉
Brilliantwxx6 小时前
【Linux】 进程(7)深度剖析 进程内核O(1)调度队列 + 饥饿问题
linux·运维·服务器
刚入门的大一新生7 小时前
Linux-命令行参数和环境变量
linux·运维·服务器
我星期八休息8 小时前
Linux I/O多路转接—epoll
java·linux·运维·服务器·开发语言·jvm·算法
wuminyu8 小时前
Java FFM处理网络读写事件源码剖析
java·linux·c语言·jvm·c++
实心儿儿9 小时前
Linux —— 数据链路层
linux·网络·智能路由器
智购科技无人售货机厂家9 小时前
2026自动售货机出货口防夹手设计:从红外检测到电机反转的工程实践~YH
大数据·linux·单片机·嵌入式硬件·微信
新时代牛马10 小时前
异常向量与VBAR_ELx:Linux entry.S 中的vectors 布局
linux·运维·服务器