yum、apt、apt-get的使用
前言
在Linux中安装软件时,各种安装的命令整得我有些眼花缭乱的,有curl、wget、yum、apt-get、rpm等等,今天用时间来梳理一下这些软件包的安装工具。
在Linux中要安装软件,有两种方式:源码安装和二进制包,通过源码安装需要经过编译后才能得到可执行的二进制程序,较为繁琐。而通过软件包安装的直接就是可执行的程序,软件包管理起来也很简单。
在Linux中,软件包是管理、安装软件的方式,在Linux发行版中都有自己默认的软件包管理系统。
在Linux中主要有两种格式的软件包:
deb
格式软件包,文件拓展名为.deb
,由Debian Linux提出的,apt是基于deb包管理系统的工具,例如Debian、Ubuntu系统就是使用APT进行软件包的管理rpm
格式的软件包,由RedHat提出的,yum是基于rpm包管理系统的工具,CentOS就是默认使用YUM
yum和apt是两种不同的软件包管理工具,他们分别用于不同的Linux发行版
yum
yum是基于rpm包管理系统的工具,是CentOS的软件包管理工具
yum在安装软件包时,会把这个软件包依赖的包也安装。
yum命令的基本格式
yum [options] [command] [package....]
常用参数
参数 | 描述 |
---|---|
-y | 执行过程中自动回答yes |
-q | 安静模式,不显示安装过程 |
-v | 详细模式 |
-R | 设置yum处理一个命令的最大等待时间 |
常用命令
搜索
yum search nginx
安装
yum install nginx # 安装过程中自动回答yes yum install -y nginx
卸载
yum remove nginx yum earse nginx
查看已安装的软件包
# 查看已安装的包 yum list installed # 查看所有已经安装和可以安装的程序包 yum list
查看某个软件包的信息
yum info nginx
查看某个软件包的依赖情况
# 查看docker的依赖情况 yum deplist docker
更新
# 检查可更新的软件 yum check-update # 更新指定的包 yum update nginx # 更新所有的包 yum update
软件组是一组软件包的集合
# 安装软件组 yum groupinstall groupxxx # 升级软件组 yum groupupdate groupxxx # 查看软件组信息 yum groupinfo gropuxxx # 删除软件组 yum groupremove groupxxx
配置yum源
yum源一般存放在/etc/yum.repos.d/
目录下,文件以.repo
结尾
apt
apt是基于deb软件包管理系统的工具,是Debian和Ubuntu中的软件包管理工具
在Linux中apt
和apt-get
两个命令都是apt工具的命令
但是apt-get是Debian系统中早期的软件包管理工具,可以用来安装、卸载、更新软件包等,apt包管理工具的一部分功能还给到了apt=cache
、apt-config
这些命令,管理包的命令过于分散,后期在Ubuntu中,apt命令出现了,就是为了统一apt-get
、apt-cache
、apt-config
等命令
在使用apt
命令时,用户不再需要从apt-get切换到apt-cache等其他命令,apt统一了包管理的命令。
apt只是取代了apt-get部分常用的命令,并不兼容apt-get
虽然apt-get命令没有被弃用,但是推荐使用apt命令
# 安装软件包 apt-get install package # 删除已安装的软件包(保留配置文件) apt-get remove package # 删除已安装的软件包(删除配置文件) apt-get -purge remove packageName # 更新源 apt-get update # 更新已安装的包 apt-get upgrade
apt命令
安装
apt install packname # 修复依赖关系来安装包 apt install -f packagename # 重新安装包 apt install --reinstall packagename
更新源
apt update
更新软件安装包
# 升级所有已安装的包 apt upgrade
升级指定的包,需要使用安装的命令
apt install packageName
删除包
# 删除软件包(保留配置文件) apt remove packagename # 删除软件包(删除配置文件) apt purge pkgName apt remove --purge pkgName # 自动删除不需要的包 apt autoremove
查看
# 列出可升级的包 apt list --upgradeable # 列出已安装的包 apt list --installed
查看软件包的信息
apt show pkgName
搜索软件包
apt search pkgName
补充
wget并不是Linux的软件包管理工具,是一个下载工具,类似于迅雷这样的下载工具
curl是一个Linux上的网络请求工具,可以通过curl发起HTTP、HTTPS、FTP等网络请求,我们可以拿到服务器返回的数据,类似于PostMan这样的接口调试工具
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
2023-05-10 Java中何时触发类加载
2023-05-10 JVM类加载、类变量初始化顺序