rmp.png
1.软件包管理rpm,yum
1.1 rpm的使用
rpm -ivh #安装包
rpm -Uvh #升级包
rpm -e #卸载包
rpm -q #查看包是否安装
rpm -qa #查看所有包
rpm -ql #查看安装包所有的配置文件
rpm -qf #查看命令来自哪个安装包 rpm -qf $(which vim)
1.2 yum命令,搭建仓库,同步软件包
1.2.1 base基础源
epel三方扩展源
各种软件的官方源:(nginx,zabbix,ELK......)
配置repo文件有三种方式: 手动添加repo文件
通过wget下载已编辑好的文件
通过release软件包实现
1.2.2 如何安装,升级,卸载,组包,查询,查看仓库有多少安装包
yum install -y package #安装
yum- y reintall package #重新安装
yum update package #升级
yum localinstall packag #yum会自动搜寻依赖关系并安装
yum list #查询是否安装
yum list installed #查询是否安装
yum provides 命令|文件路径 属于哪个软件包(联网查询系统中所有的repo仓库)yum provides docker 查看这个命令是那个包
yum -y remove package # 卸载
1.2.3 构建本地私有yum仓库
1) 将本地光盘挂在到/mnt目录下
mount /dev/cdrom /mnt目录下
2)配置epel文件
gzip /etc/yum.repos.d/* #注释所有的repo文件
编写本地local.repo文件
vim /etc/yum.repo.d/local.repo
#仓库名称
[local]
name = "本地仓库"
baseurl = file:///mnt/
gpgcheck=0
enabled = 1
使用yum repolist 查看本地源
[root@yum-client ~]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id repo name status
local "本地仓库" 3,971
repolist: 3,971
yum -y install zsh #测试安装 观察是否走的是本地源
1.2.4 搭建私有YUM仓库,同步公网软件包
思路:
① 下载同步软件包
两种种实现方式:wget 所有软件包(①命令拼接②脚本实现)
rsync 同步软件包
②搭建本地文件共享(ftp,httpd)利用createrepo创建仓库索引
③配置客户端的repo文件
1)下载软件包-同步软件包:
①命令拼接:curl -s https://mirrors.aliyun.com/zabbix/zabbix/5.1/rhel/7/x86_64/ | grep "a href" | awk -F '"' '{print $2}' | sed -r "s#(.*)# wget -O /var/ftp/zabbix/\1 https://mirrors.aliyun.com/zabbix/zabbix/5.1/rhel/7/x86_64/\1#g" | bash
②脚本方式:
脚本实现的思路:
1首先定义变量获取:rpm-name=包名
2定义一个变量:rpm-url=url地址
3.通过遍历循环包名 然后拼接url地址+包名,
实现代码:wget_jenkins.sh
#!/usr/bin
#通过变量截取清华大学的软件包名
rpm_name_j=$(curl -s https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/ | grep "href" | awk -F '"' '{print $4}' | grep rpm
#定义清华大学jenkins路径地址
rpm_url_j=https://mirrors.aliyun.com/jenkins/redhat/
#定义本地jenkins-rpm包存放路径
jenkins_path=/var/ftp/jenkins
#遍历下载
for i in ${rpm_name_j}
do
cd ${jenkins_path} &&
wget $rpm_url_j$i
done
③sync同步软件包
rsync -avz rsync://rsync.mirrors.ustc.edu.cn/repo/nginx/centos/7/x86_64/RPMS/ /var/ftp/nginx/ #后续会单独讲
2)搭建本地共享server(ftp或nginx服务)端:
yum -y install vsftpd nginx createrepo #放在最开始做,mkdir -p /var/ftp/{jenkins,zabbix,nginx}
creterepo /var/ftp/nginx
creterepo /var/ftp/zabbix
creterepo /var/ftp/jenkins
3)配置客户端repo文件
gzip /etc/yum.repo.d/*
编写本地repo文件[yum-server-ftp]
name = yum-server
baseurl=ftp://10.0.0.230/var/ftp/zabbix
enabled=1
gpgcheck=0
[yum-server-ftp]
name = yum-server
baseurl=ftp://10.0.0.230/var/ftp/jenkins
enabled=1
gpgcheck=0
[yum-server-ftp]
name = yum-server
baseurl=ftp://10.0.0.230/var/ftp/nginx
enabled=1
gpgcheck=0
如果是nginx服务配置nginx
配置nginx
location / {
root /var/ftp;
autoindex on; #开启目录结构
}
#配置nginx 将ftp协议替换成http
[nginx-yum-jenkins]
name = nginx-jenkins仓库
baseurl=http://10.0.0.230/jenkins
enabled=1
gpgcheck=0
1.2.5 安装源码包为二进制包
wget http://nginx.org/download/nginx-1.21.1.tar.gz
修改源码包的版本信息,软件名称参考地址
https://jingyan.baidu.com/article/1709ad805b074c4635c4f041.html
1.2.6 ubutu的dpkg,apt(待补充)
ubuntu:
dpkg:
apt:
网友评论