Linux软件包类型:
二进制包 .rpm
源码包 编译 .tar.gz tar.xz
mysql-community-common-5.7.12-1.el7.x86_64.rpm
yum-utils-1.1.30-14.el6.noarch.rpm
ntfs-3g-2011.4.12-5.el5.x86_64.rpm
软件名字 版本号 发布版本 平台架构 后缀
安装软件 获取对应包
网址:
https://rpmfind.net/ (注意:操作系统版本)
ftp://ftp.redhat.com
软件官网(mysql )
安装软件时,都有依赖关系,特别时二进制包
案例:源码包编译安装
Linux 很多的发行版本 Ubuntu DPKG dpkg (apt ) Centos rpm (yum rpm)
yum -y install 软件包名 httpd nginx ...
先下载 后安装
从哪里下载? yum 仓库
目录:存的是仓库文件 .repo结尾 /etc/yum.repos.d/
CentOS-Base.repo 基础仓库文件 BASE仓库
扩展仓库文件 EPEL仓库
仓库文件里提供的是包的下载地址 (国外)
初始化的操作: 更换yum仓库或者更换yum源
1.自带删除 rm -rf /etc/yum.repos.d/*
阿里 华云 腾讯 网易 等等
https://mirrors.aliyun.com
2.获取BASE仓库 获取BASE源
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
3.获取epel仓库 获取EPEL源
curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
4.清空yum缓存;在重新加载yum缓存[加快软件的安装速度]
yum clean all
yum makecache 或者 yum makecache fast
注意:
判断如否有wget的命令,如果没有先安装(前提有BASE仓库),然后在使用wget -O
wget -O
在系统中有一些软件BASE和EPEL仓库中没有,来自于软件官网
BASE和EPEL中mariadb,没有mysql
数据库 mysql
mysql仓库文件所对应的安装包,安装该包,就能得到mysql的仓库文件
yum -y install https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm
WEB服务器 Nginx
[root@ziyang yum.repos.d]# vi /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
yum 软件包管理的命令
install 安装 [yum -y install sl]
remove 卸载 [yum -y remove sl]
reinstall 重新安装 [yum -y reinstall sl]
如何判断一个软件来自于那个仓库?
1.安装的时候看返回的结果可以判断该软件来自于那个仓库
yum list 列出所有包
yum repolist 列出所有的仓库(可用仓库)
安装软件
yum -y install httpd
yum -y install nginx sl wget
yum -y install https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm
yum -y install /opt/mysql80-community-release-el7-11.noarch.rpm
yum -y install /opt/*.rpm
普通包
组包
grouplist
groupinstall
查询
yum provides 命令 (查询该命令所对应的软件包名) / 配置文件、命令文件
当需要执行一条命令,但是该命令没有安装,为了使用该命令 需要安装该命令 得到该命令对应的软件
search搜索yum仓库里的包
info搜索
1.补充
ifconfig 查到不到对应的软件包 包:net-tools
2.yum这个软件包管理的命令 自动解决依赖关系
1.yum仓库 yum仓库文件内容
一个仓库配置文件[epel.repo]有多个仓库
[epel] 标签
name=xingdian 指定仓库的名字
baseurl=http://mirrors.aliyun.com/epel/7/$basearch 仓库的地址
ftp://
file:///
http:// 和 ftp:// 网络地址 file:/// 本地地址
enabled= 0 1 0关闭 1开启 仓库是否启用 默认该参数的值为1
gpgcheck= 0 1 0关闭 1 开启
gpgkey
2.yum命令 配置文件 /etc/yum.conf
cachedir= 指定缓存位置/目录
keepcache= 0 1 0关闭 1开启 缓存功能
案例:
开启yum的缓存功能,可以在安装软件的过程中保留软件包
修改/etc/yum.conf 把keepcache的值改为1 开启缓存功能 缓存软件包
cachedir所定义的目录下找对应包 /var/cache/yum/x86_64/7
根据该软件所对应的仓库进入到对应的目录下找到packages目录,包就在该目录下
3.yum-config-manager 控制仓库是否启用 enable 启用 disable 关闭
yum-config-manager 对应的软件 yum-utils
[root@ziyang ~]# yum-config-manager --disable base[仓库标签] 关闭base仓库
[root@ziyang ~]# yum-config-manager --enable base 启用改仓库
注意:
修改配置文件 启用关闭仓库属于交互式
使用yum-config-manager的方式启用关闭仓库属于非交互式 (用于未来脚本使用)
自制yum仓库 自制yum源