Linux rpm包和yum源操作

rpm

操作系统:centos Redhat Oracle Linux 包管理工具:rpm yum
操作系统:Ubuntu Debian				包管理工具:deb apt-get
操作系统:Windows					包管理工具:

安装软件
rpm
www.rpmfind.net
yum
源码安装

卸载软件


rpm介绍

rpm软件包名称:
软件名称 版本号(主版本、次版本、修订号) 操作系统 -----90%的规律
#有依赖关系,不能自动解决依赖关系。
举例:openssh-6.6.1p1-31.el7.x86_64.rpm  
数字前面的是名称
数字是版本号:第一位主版本号,第二位次版本号,带横杠的是修订号, el几---操作系统的版本。  
noarch : 32位64位都支持
x86_64 :  64位
AMD64	
ARM		苹果  鸿蒙
i4-686的包 :32位
devel:表示这个RPM包是软件的开发包;

#用rpm安装需要考虑如下信息:
1.需要考虑系统的版本需要与rpm对应
2.系统的架构:如32位还是64位
3.需要考虑依赖关系

rpm安装

rpm -ivh 软件包名称 |链接
-i install 安装
-vh verbose human 将安装过程人性化
-U  upgrade  更新并安装

查找rpm包的网站:http://rpmfind.net/  http://pkgs.org
1.通过rpm安装
可以先下载下来
wget http://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/n/ntfs-3g-2017.3.23-11.el7.x86_64.rpm
#wget下载命令
#wget -O 指定存放路径
[root@linux-server ~]# rpm -ivh ntfs-3g-2017.3.23-11.el7.x86_64.rpm  #本地安装rpm包

2.直接通过连接安装rpm包
[root@linux-server ~]# rpm -ivh http://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/n/ntfs-3g-2017.3.23-11.el7.x86_64.rpm

各种查询

rpm -qa 查看当前系统所有安装的rpm包
rpm -qa | wc -l 查看当前系统一共安装多少rpm包
-q query 查询
-l list 目录
-f file 文件
-a all 所有
-c config 配置文件

rpm -qa | grep 软件名  			   # 查找软件是否安装
rpm -ql httpd          				 #查询http安装生成的文件
rpm -qf /usr/share/httpd/noindex     #查询该文件属于哪个包
rpm -qf /etc/passwd  #查询某一个文件是哪个软件产生的:只能查询已经安装好的软件
rpm -qc wget  #查看某个安装包创建了哪些配置文件

卸载

rpm -e 软件名称
-e erase
rpm工具管理软件包总结:
1. 很难解决包依赖关系 
2. 如果某个文件没有,很难知道它由哪个rpm包提供

yum

yum源路径 #/etc/yum.repos.d/
#可以自动解决rpm软件依赖关系
分类:本地yum和远程yum
本地yum:
file://
远程yum:
http://
ftp://

yum操作

mirrors.aliyun.com  #阿里yum配置网站
wgrt -O / curl -o
#配置基础源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
#配置扩展源
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo


yum clean all #清理yum缓存
yum makecache #缓存软件包信息;提高搜索/安装软件的速度
yum makecache fast #快速缓存软件包信息;提高搜索/安装软件的速度  
yum repolist #查询列出yum源信息      
yum provides rz #查看命令属于哪个软件
yum list #查看系统已经安装好的软件和没有安装的软件(源里存在即可查到)

#安装软件:
	yum install 软件名称
	yum localinstall 软件名称  #本地安装
	yum -y install		#-y跳过确认提示直接安装
    yum -y reinstall 软件名       # 重装
    
    
#卸载软件:
	yum erase  
	yum remove 
yum -y remove `rpm -qa | grep httpd`  #yum卸载rpm查找出来所有与httpd相关的软件包全部卸载掉
yum instll -y  #非交互式安装
yum update #更新软件包 更安全 只更新安装过的不删除旧的
yum upgrade #更新软件包
yum remove #删除软件包
yum erase # 删除软件包
yum list #查看系统已经安装好的软件和没有安装的软件
yum search #查找软件包
yum reinstall #重新安装软件包
yum provides #查找工具在哪个包
yum clean all #清理yum缓存
yum makecache fast #快速缓存软件包信息
yum repolist #查询列出yum源信息
yum history #查看yum历史
yum history undo id #回滚

制作yum源

1.通过镜像制作本地yum源

image-20230711114710059

虚拟机上操作
1、mount /dev/cdrom /mnt
2、备份yum源
vim /etc/yum.repo/myyum.repo
[xa2304]
name=my repo
baseurl=file:///mnt
gpgcheck=0
enabled=1
3、yum clean all
4、yum makecache
5、yum repolist
首先需要挂载镜像
[root@linux-server ~]# mkdir /mnt/centos7u4
将本地镜像上传到虚拟机中
[root@linux-server ~]# mv /usr/local/home/dir10/CentOS-7-x86_64-DVD-1708.iso /root/
[root@linux-server ~]# mount CentOS-7-x86_64-DVD-1708.iso /mnt/centos7u4/
[root@linux-server ~]# rm -rf /etc/yum.repos.d/*
[root@linux-server ~]# cd /etc/yum.repos.d/   #yum源配置文件存放目录
[root@linux-server yum.repos.d]# vim CentOS.Base.repo  #在编写yum配置文件是必须是.repo
[centos7u4]  #yum源区别名称,用来区分其他的yum源
name=centos7u4  #yum源描述   yum源名字
baseurl=file:///mnt/centos7u4  #指定本地yum源的路径
enabled=1  #是否使用此yum源(1为打开,0为关闭)
gpgcheck=0 #检查软件
2.局域网远程yum源制作(企业案例)----扩展作业
操作系统:centos7.9

资源: CentOS-7-x86_64-DVD-2009.iso镜像
实验服务器两台:

192.168.137.142  (作为vsftpd服务端)

192.168.137.141  (客户端)
 
首先测试两台主机可否ping通
 
在192.168.137.142上操作
[root@192 ~]# ping 192.168.137.141
[root@192 ~]# systemctl stop firewalld
[root@192 ~]# setenforce 0  #关闭selinux

在192.168.137.141上操作:
[root@linux-server ~]# ping 192.168.137.142
[root@linux-server ~]# systemctl stop firewalld
[root@linux-server ~]# setenforce 0

==========================================================
在192.168.137.142上操作---制作本地yum源,作为yum服务端

[root@192 ~]# yum install -y vsftpd

[root@192 ~]# systemctl start vsftpd

[root@192 ~]# mkdir /var/ftp/yum

[root@192 ~]# cd /var/ftp/

[root@192 ~]# cp /mnt/Packages/*  yum/			(拷贝一部分即可)

[root@192 ftp]# yum install -y createrepo

[root@192 ftp]# createrepo yum/

===================================================================
yum客户端
在192.168.137.141上操作:
[root@linux-server ~]# cd /etc/yum.repos.d/
[root@linux-server yum.repos.d]# vim my.repo
[ftpYum]
name=centos
baseurl=ftp://192.168.137.142/yum
enabled=1
gpgcheck=0
[root@linux-server yum.repos.d]# yum clean all
[root@linux-server yum.repos.d]# yum makecache
[root@linux-server yum.repos.d]# yum repolist
3.通过开启yum下载缓存功能制作本地yum源
制作自己的yum源:
打开Yum缓存功能:安装完软件之后,软件不会被删除(默认安装完之后,不会保留安装包)
# vim /etc/yum.conf  修改下面参数的值为1,软件会被保存到cachedir指定的目录下
keepcache=1
[root@linux-server ~]# yum install -y httpd wget
[root@linux-server ~]# cd /var/cache/yum/x86_64/7/base/packages/  #yum缓存仓库
[root@linux-server packages]# ls
httpd-2.4.6-90.el7.centos.x86_64.rpm        wget-1.14-18.el7_6.1.x86_64.rpm
httpd-tools-2.4.6-90.el7.centos.x86_64.rpm

自己制作yum源
[root@linux-server ~]# mkdir /myyum   (把rpm安装包放到此目录里面)
把想用yum安装的软件包拷贝到目录下
[root@linux-server ~]# cp /var/cache/yum/x86_64/7/base/packages/* /myyum/
[root@linux-server ~]# yum install -y createrepo  #创建repo文件工具
[root@linux-server ~]# createrepo /myyum         //此目录就可以作为yum源了。
[root@linux-server ~]# vim /etc/yum.repos.d/myyum.repo
[myyum]
name=myyum
baseurl=file:///myyum
enabled=1
gpgcheck=0
[root@linux-server ~]# yum repolist
yum排错:
1.yum配置文件必须以.repo结尾      
2.配置文件关键字错误
3.检查yum源是否存在
4.baseurl路径是否正确
5.镜像大小是否正确
6.当有Yum进程存在的时,无法同时再打开一个Yum进程
4.克隆yum源

在公司内网中,可能无法连接外部网络,这时需要我们将外部yum源中的包克隆到本地

# 在yum源服务器上
[root@linux-server ~]# curl -o /etc/yum.repos.d/myrepo.repo https://download.beyourself.org.cn/repo/centos7-repo && echo -e "10.36.172.9 package.qf.com package2.qf.com" >> /etc/hosts
[root@linux-server ~]# yum install -y yum-utils epel-release
[root@linux-server ~]# yum install -y nginx
[root@linux-server ~]# cd /usr/share/nginx/html
[root@linux-server ~]# rm -rf *
[root@linux-server ~]# reposync -r base -r epel -r extras -r updates 同步一部分
[root@linux-server ~]# createrepo base/
[root@linux-server ~]# createrepo epel/
[root@linux-server ~]# createrepo extras/
[root@linux-server ~]# createrepo updates/
[root@linux-server ~]# vim /etc/nginx/nginx.conf +43
location / {
	root /usr/share/nginx/html;
	autoindex on;
}
[root@linux-server ~]# systemctl restart nginx

# 在客户端
[root@linux-client ~]# vim /etc/yum.repos.d/myrepo.repo
[http-base-yum]
name=http-yum
baseurl=http://192.168.137.142/base
enabled=1
gpgcheck=0
[root@linux-server ~]# vim /etc/nginx/nginx.conf +43
location / {
	root /usr/share/nginx/html;
	autoindex on;
}
[root@linux-server ~]# systemctl restart nginx

# 在客户端
[root@linux-client ~]# vim /etc/yum.repos.d/myrepo.repo
[http-base-yum]
name=http-yum
baseurl=http://192.168.137.142/base
enabled=1
gpgcheck=0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值