软件管理"/>
Linux软件管理
Linux软件管理-yum工具
文章目录
- Linux软件管理-yum工具
- yum基本概述
- yum源的配置
- yum实战案例
- 制作本地yum仓库
- 制作企业级yum仓库
- 用Nginx做镜像仓库
yum基本概述
什么是yum
yum
是RedHat以及CentOS中的软件包管理器,能够通过互联网下载以rpm结尾的包,并且安装,并可以自动处理依赖性关系,无需繁琐的一次次下载安装。
1.联网获取软件
2.基于RPM管理
3.自动解决依赖
4.命令简单好记
5.生产最佳实践
什么是yum源
要成功的使用yum工具安装软件包,就需要有一个包含各种rpm软件包的repository(软件仓库),这个软件仓库我们习惯称之为yum源
或者yum 仓库
这个源可以是本地的也可以是网络的。
yum源的配置
安装完系统后,必须要有的两个仓库:
基础仓库:base
扩展仓库:epel
仓库的配置文件
位置:/etc/yum.repos.d/
名字:全部都是以repo结尾的文件
配置:
## 阿里Base源配置的两种方法:
wget -O /etc/yum.repos.d/zls_base.repo .repo
curl -o /etc/yum.repos.d/zls_base.repo .repo## 阿里epel源配置的两种方法:
wget -O /etc/yum.repos.d/epel.repo .repo
curl -o /etc/yum.repos.d/epel.repo .repo
各大镜像源:
阿里云:
清华源:/
163源:/
华为源:/
科大源:/
yum实战案例
yum仓库内软件包的查询
## 查看当前系统所有可用仓库里面的安装包
yum list## 查看仓库里指定包的详细信息(未安装的也可以查)
例如:yum info tree ## 查询ifconfig命令属于哪个包
yum provides */ifconfig
yum仓库查询
## 查看当前yum的可用仓库都有哪些
yum repolist## 查看yum的所有仓库有哪些
yum repolist all## 使用命令开启或者关闭仓库(yum install -y yum-utils)
yum-config-manager --disable base
yum-config-manager --enable base
yum安装软件包
## 安装
yum install -y 包名## 本地安装,并且解决依赖关系(依赖的包必须在仓库里有)
yum localinstall## 网络资源安装
yum install -y .9.2009/os/x86_64/Packages/vsftpd- 3.0.2-28.el7.x86_64.rpm
yum重装软件
## 如果误删除软件的配置文件,或者相关目录,可以使用reinstall
yum reinstall nginx -y
yum更新软件
## 检查当前系统中的软件,与yum仓库中的软件对比,需要更新的软件
yum check-update## 更新软件
yum update -y 包名## 全部更新(非常危险)
yum update -y
yum删除软件包
## remove和erase都会删除相关的依赖
yum remove -y tree
yum erase -y tree
yum缓存相关命令
## 清除所有的缓存
yum clean all ## 加载缓存(把仓库中的所有软件包名加载到内存中)
yum makecache
yum包组相关命令
## 查看包组(列出已经安装和所有可使用的软件组)
yum groups list## 安装包组(安装Development tools这个组的软件)
yum groups install Development tools## 删除包组(删除Development tools这个包组)
yum groups remove -y Development tools
yum历史命令
## 查看历史执行的命令
yum history## 查看指定的历史yum命令的详细信息 25:ID
yum history info 25## 撤销历史命令
yum history undo 35
yum只下载不安装选项
yum install -y wget --downloadonly --downloaddir=/tmp
--downloadonly 只下载不安装
--downloaddir=/路径
yum的配置文件
yum的配置一般有两种方式:
1.全局配置文件/etc/yum.conf/
2.子配置文件/etc/yum.repos.d/目录下的所有.repo文件
vim /etc/yum.conf
cachedir=/var/cache/yum/$basearch/$releasever //缓存目录
keepcache=0 //缓存软件包, 1启动 0 关闭
debuglevel=2 //调试级别
logfile=/var/log/yum.log //日志记录位置
exactarch=1 //检查平台是否兼容
obsoletes=1 //检查包是否废弃
gpgcheck=1 //检查来源是否合法,需要有制作者的公钥信息
plugins=1 //是否启用查询
installonly_limit=5
bugtracker_url
# metadata_expire=90m //每小时手动检查元数据
# in /etc/yum.repos.d //包含repos.d目录
制作本地yum仓库
yum仓库的配置文件
## 仓库的名字
[base]## 对仓库的描述信息,可以自定义
name=CentOS-$releasever - Base - mirrors.aliyun## 仓库的地址
baseurl=/$releasever/os/$basearch/ ## 是否检查公钥私钥
gpgcheck=1## 公钥的位置
gpgkey= 开启yum仓库
enabled=1http:// 超文本传输协议
https:// 超文本传输加密协议
ftp:// 文件传输协议
file:// 本地文件协议
制作仓库
# 1.压缩所有的yum仓库文件
[root@oldboy ~]# gzip -r /etc/yum.repos.d/# 2.创建本地仓库目录
[root@oldboy ~]# mkdir /yum_cangku# 3.镜像挂载在该目录下
[root@oldboy ~]# mount /dev/cdrom /yum_cangku/# 4.手写仓库配置文件
[root@oldboy ~]# vim /etc/yum.repos.d/bendi.repo
[base]
name=This is local repository
baseurl=file:///yum_cangku/
gpgcheck=0
enable=1# 5.加载缓存
yum makecache
制作企业级yum仓库
本地光盘提供基础软件包Base
yum缓存提供update
软件包
yum缓存提供常用软件包: nginx
, zabbix
, docker
, saltstack
准备环境
IP | 角色 |
---|---|
10.0.0.10 | yum仓库server |
10.0.0.100 | 普通服务器client |
**目标:**任意一台虚拟机,修改yum源为10.0.0.10这台机器都可以使用yum安装
10.0.0.10制作成yum仓库
# 1.安装vsftpd服务,让该机器变成网络服务
[root@localhost ~]# yum install -y vsftpd# 2.启动服务
[root@localhost ~]# systemctl start vsftpd# 3.关闭selinux
## 查看selinux是否开启
[root@localhost ~]# getenforce
Enforcing## 临时关闭(一旦重启就又会开启)
[root@localhost ~]# setenforce 0## 永久关闭(重启之后才会生效)
[root@localhost ~]# vim /etc/sysconfig/selinux
SELINUX=disabled# 4.关闭防火墙
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld# 5.在ftp的目录下创建好base目录
[root@localhost ftp]# mkdir /var/ftp/base# 6.挂载光盘
[root@localhost ftp]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only# 7.拷贝所有的rpm包
[root@localhost ftp]# cp /mnt/Packages/* /var/ftp/base/# 8.安装仓库制作命令,并创建repodata仓库(注意: 如果此仓库每次新增软件则需要重新生成一次)
[root@localhost base]# yum install -y createrepo# 9.创建仓库
[root@localhost base]# createrepo /var/ftp/base
在10.0.0.100上更改yum源
[root@oldboy /etc/yum.repos.d]# vim /etc/yum.repos.d/ftp.repo
[ftp_base]
name=ld_base
baseurl=
gpgcheck=0
enabled=1## 同步别人的源
rsync rsync://mirrors.ustc.edu/epel/7/x86_64/Packages/n/
/
用Nginx做镜像仓库
10.0.0.10制作成yum仓库
# 1.下载Nginx
[root@oldboy ~]# yum install -y nginx# 2.修改/etc/nginx/nginx.conf
server {listen 80;root /nginx_yum;server_name localhost;location / {autoindex on;}
}# 3.关闭selinux
## 查看selinux是否开启
[root@oldboy ~]## getenforce
Enforcing## 临时关闭(一旦重启就又会开启)
[root@oldboy ~]## setenforce 0## 永久关闭(重启之后才会生效)
[root@oldboy ~]## vim /etc/sysconfig/selinux SELINUX=disabled# 4.关闭防火墙
[root@oldboy ~]## systemctl stop firewalld
[root@oldboy ~]## systemctl disable firewalld# 5.启动Nginx
[root@oldboy ~]## systemctl start nginx# 6.创建/nginx_yum/base和/nginx_yum/zabbix这两个目录
[root@oldboy ~]# mkdir /nginx_yum/base
[root@oldboy ~]# mkdir /nginx_yum/zabbix# 7.挂载光盘
[root@oldboy ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only# 8.拷贝所有的rpm包到/nginx_yum/base/下
[root@oldboy ~]# cp -rp /mnt/Packages/* /nginx_yum/base/# 9.从网上下载所有的zabbix中的包到/nginx_yum/zabbix/下
[root@oldboy ~]# curl .2/rhel/7/x86_64/|awk -F '"' '{print "wget -P /nginx_yum/zabbix/ .2/rhel/7/x86_64/"$4}'|grep '.rpm$'|bash# 10.创建仓库
[root@oldboy ~]# createrepo /nginx_yum/base/
[root@oldboy ~]# createrepo /nginx_yum/zabbix/
在10.0.0.100上更改yum源
[root@oldboy /etc/yum.repos.d]# vim nginx_base.repo
[root@oldboy /etc/yum.repos.d]# cat nginx_base.repo
[nginx_base]
name=This is a nginx repository
baseurl=/
gpgcheck=0
enabled=1[nginx_zabbix]
name=This is a nginx zabbix repository
baseurl=/
gpgcheck=0
enabled=1
更多推荐
Linux软件管理
发布评论