12.Linux软件包管理相关操作

软件管理

1.1 rpm介绍

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

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

1.2 rpm的使用

语法 # rpm -ivh 软件包名称
-i install
-vh verbose human 
-U  upgrade  升级

查询
(从本地的rpm数据库)
-q query
-l list
-f file
-a all
[root@linux-server ~]# rpm -qa | grep 软件名    # 查找软件是否安装
[root@linux-server ~]# rpm -ql httpd           #查询http安装的文件
[root@linux-server ~]# rpm -qf /usr/share/httpd/noindex     #查询该文件属于哪个包
[root@linux-server ~]# rpm -qf /etc/passwd  #查询某一个文件是哪个软件产生的:只能查询已经安装好的软件

卸载
语法:# rpm -e 软件名称
-e erase
[root@linux-server ~]# rpm -e httpd

rpm工具管理软件包总结

1. 很难解决包依赖关系 
2. 如果某个文件没有,很难知道它由哪个rpm包提供

1.3 yum方式管理

#可以自动解决rpm软件依赖关系,虽然是通过yum安装的但是最后执行的还是rpm,也就是说没有rpm命令yum也就不能用了。
分类:本地yum和远程yum
本地yum:
file://
远程yum:
http://
ftp://

yum操作

安装好环境之后我们有centos自带的官方yum源,我们也可以自行更换或者制作自己的yum源

清理yum缓存:
	# yum clean all

缓存软件包信息:    
    提高搜索/安装软件的速度
    # yum makecache
    
查询yum源信息:   
    # yum repolist     
        
查找软件:
	# yum search  mysql   
	此命令会搜索到系统已经安装和yum源里没有安装的软件信息,可以用他简单测试yum是否好用

查看命令属于哪个软件
    # yum provides rz    

查看系统已经安装好的软件和没有安装的软件(源里存在即可查到):
	# yum list	

安装软件:
	# yum install 软件名称
	# yum install mysql mysql-server -y			//-y跳过确认提示直接安装

重装:
    # yum -y reinstall 软件名        
    
卸载软件:
	# yum erase  mysql-server 
	# yum remove mysql-server 
	# yum -y remove mysql-server
[root@linux-server ~]# yum -y remove `rpm -qa | grep httpd`  #yum卸载rpm查找出来所有与httpd相关的软件包全部卸载掉

1.4 更换网络yum源

"更换成阿里云的yum网络源"
#yum.repos.d yum源或者叫yum仓库
[root@linux-server ~]# cd /etc/yum.repos.d 
#换源前先备份
#创建一个备份目录
[root@localhost yum.repos.d]# mkdir CentOS.repo.backup
#将yum.repos.d 的源放入CentOS.repo.backup中
[root@localhost yum.repos.d]# mv *.repo CentOS.repo.backup/
#下载aliyun的yum源
[root@localhost yum.repos.d]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
[root@localhost yum.repos.d]# yum clean all #清理一下缓存
[root@localhost yum.repos.d]# yum makecache #运行makecache生成缓存

参数解释
curl -o  指定存放路径
或者 wget -O 大O小o都是指定存放路径
curl 系统自带, wget需要自己去安装

"安装扩展源--epel.repo"
[root@linux-server ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@linux-server ~]# cd /etc/yum.repos.d/
[root@linux-server yum.repos.d]# ls
CentOS-Base.repo  epel.repo

1.5 制作本地yum源方式

原理:通过CentOS系统镜像去制作本地yum源
把镜像做成软件库,然后我们去它那里下载各种软件包

1.将本地镜像上传到虚拟机root目录中
2.将镜像挂载到目录中,这样就能访问镜像里的文件
[root@linux-server ~]# mkdir /mnt/centos7u4
[root@linux-server ~]# mount CentOS-7-x86_64-DVD-1708.iso /mnt/centos7u4/
3.制作自己的本地镜像源
[root@linux-server ~]# rm -rf /etc/yum.repos.d/* #删除已有的源
[root@linux-server ~]# cd /etc/yum.repos.d/   #yum源配置文件存放目录
#在yum.repos.d目录中编写yum配置文件是必须是.repo
[root@linux-server yum.repos.d]# vim CentOS.Base.repo 
[centos7u4]  #yum源区别名称,用来区分其他的yum源
name=centos7u4  #yum源描述   yum源名字
baseurl=file:///mnt/centos7u4  #指定本地yum仓库所在路径
enabled=1  #是否启用此yum源(1为打开,0为关闭)
gpgcheck=0 #检查软件(0不检查 1检查) 
如果写了1检查,还要写个 key= 做验证

[root@linux-server yum.repos.d]#yum makecache #建立yum缓存 刷新

通过开启yum下载缓存功能制作自己的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
原文地址:https://www.cnblogs.com/eba001/p/14287915.html