linux 3-包管理器

本文介绍了Linux中几个主要发行版的包管理工具,如Debian和Ubuntu的dpkg与APT,RedHat和Centos的RPM与YUM,以及Ubuntu的SNAP。这些工具用于安装、卸载和管理软件包,处理依赖关系,并提供自动配置功能。此外,还提到了源配置、软件版本管理和包的自动更新问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0. 天虽然并不是很晴,但还是可以出门小逛

linux主要发行的分支系列:

  • RedHat:RedHat Centos
    常见软件包格式:rpm
    常用包管理器:yum
  • Debian:Debian Ubuntu
    常见软件包格式:deb(dpkg -xxx)
    常用包管理器:apt-get
    debian的包管理器GUI:synaptic
    ubuntu的新版包管理器:snap(沙盒形式的)

包管理器 相比 硬核安装 一般会自动配置:
chmod
env
注册到systemctl
添加到用户组

1. debian & deb & dpkg

  • debian发行系统使用dpkg安装/卸载deb程序

  • ubuntu的apt是使用debian的dpkg命令实现的

# 查看已安装
sudo dpkg -l | grep xxx

# 下载
sudo dpkg -i xxx.deb

# 卸载
sudo dpkg -r xxx

# 安装后的各种文件位置
dpkg -L xxx	

2.Ubuntu中apt与apt-get命令的区别

2.1 Debian & 包管理器APT & apt命令

Debian 作为 Ubuntu、Linux Mint 和 elementary OS 等 Linux 操作系统的母板,其具有强健的「包管理」系统,它的每个组件和应用程序都内置在系统中安装的软件包中。
Debian 使用一套名为 Advanced Packaging Tool(APT)的工具来管理这种包系统
不过请不要把它与 apt 命令混淆,它们之间是其实不是同一个东西。

2.2 与APT交互的各种命令行工具 / GUI

在基于 Debian 的 Linux 发行版中,有各种工具可以与 APT 进行交互,以方便用户安装、删除和管理的软件包。apt-get 便是其中一款广受欢迎的命令行工具
另外一款较为流行的是 Aptitude 这一命令行与 GUI 兼顾的小工具

2.3 早期apt-xxx命令的一些不足

如果你已阅读过我们的 apt-get 命令指南,可能已经遇到过许多类似的命令,如apt-cache、apt-config 等
如你所见,这些命令都比较低级又包含众多功能,普通的 Linux 用户也许永远都不会使用到
换种说法来说,就是最常用的 Linux 包管理命令都被分散在了 apt-get、apt-cache 和 apt-config 这三条命令当中

2.4 apt 命令的引入就是为了解决命令过于分散的问题

apt也是基于apt-get等命令实现的
apt将分散在apt-get、apt-cache 和 apt-config的常用指令结合
并且集成这三者的所有功能

3. ubuntu & apt

通过apt指令创建的包,将自动配置环境变量

runoob

apt安装特定版本软件包的过程中可能遇到的问题

# 模糊查询
apt list --installed | grep program_name
# 你如何知道某个软件包有哪些可用的版本?可以使用这个命令
apt list --all-versions package_name
# 想安装一个软件包的一个特别指定的版本?
sudo apt install package_name=package_version

# 查询已安装软件的所有具体信息
apt show softwareName

apt remove

apt autoremove 删除不需要的软件包
apt purge 删除软件包及其配置文件

apt update 刷新存储库索引
apt upgrade 升级所有软件包
apt full-upgrade 升级所有软件包时,自动处理依赖关系

apt edit-sources 编辑源列表

4. ubuntu & snap

snap的一些常用指令
snap的一些常用指令

  • ubuntu下的一款自带的软件包管理器
  • idea 官方建议 ubuntu 使用 snap 方式安装
  • snap 卸载时会顺带带走安装的应用
  • snap 存在自动更新软件最新版的毛病
sudo snap remove softwareName
# 卸载软件包
	
snap info softwareName
# 输出软件包的详细信息

sudo snap install softwareName --channel=xx/stable
# 安装指定版本的软件包

5. RedHat & rpm

rpm runoob

回想,一般都是用来手工安装rpm包才使用

# 安装rpm
# https://www.cnblogs.com/yoyo1216/p/10208690.html
rpm -ivh packageName
-i 安装
-v 输出文件名称
-h 输出进度

6. centos & yum

最大区别:遇到依赖性问题时

  • rpm直接反馈用户
  • yum如果解决尝试失败,反馈用户

6.1 使用命令

yum [optional] command package

yum常用命令
yum runoob

# 清理缓存
yum clean packages
yum clean headers
yum clean oldheaders
yum clean all 清理以上选项

# 查询
# 查不到很正常,先安装该软件包的源
# 软件包名可以加*通配
yum list [ | grep packageName] 从本地查找可安装、已安装的软件包
yum list installed | grep  已安装的软件包
yum list updates 可更新的软件包
yum info packageName 详细信息
yum search packageName 从源查找可安装的软件包
yum deplist packageName 查找软件包的依赖
yum repolist [all | grep packageName] 列出所有源仓库

# 安装
yum -y install

# 卸载
yum remove packageName

# 更新
# upgrade会清理掉旧包,可能会导致旧软件包依赖问题
# https://www.jianshu.com/p/761b24775131
yum check-update 查询可更新的软件包
yum update packageName
yum upgrade packageName

# 以上很多命令都有group软件包组的相应用法
# 软件包以及依赖可以一组一组的安装、维护
# https://blog.csdn.net/danns888/article/details/116450756
yumgroup

6.2 源

yum源配置文件
/etc/yum.repo.d/centos-base.repo


yum更换清华源

6.3 加加餐

yum header
软件包的描述信息而已


报检索密钥错误解决方法

  • 要么手动下载校验文件;
  • 要么在yum的该源配置文件中的密钥校验置0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肯尼思布赖恩埃德蒙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值