Linux

十一、软件管理

2020-01-25  本文已影响0人  胖虎喜欢小红

一、rpm介绍

rpm软件包名称:
软件名称 版本号(主版本、次版本、修订号) 操作系统 -----90%的规律
#有依赖关系
举例:openssh-6.6.1p1-31.el7.x86_64.rpm  
数字前面的是名称
数字是版本号:第一位主版本号,第二位次版本号,带横杠的是修订号, el几---操作系统的版本。  
noarch : 32位64位都支持
x86_64 :  64位
i4-6 86的包 :32位
======
RPM包安装信息存储到本地RPM数据库中

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

rpm安装

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

`查找rpm包的网站:http://pkgs.org`
1.通过rpm安装
可以先下载下来
[root@biudefor ~]# wget http://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/n/ntfs-3g-2017.3.23-11.el7.x86_64.rpm

[root@biudefor ~]# rpm -ivh ntfs-3g-2017.3.23-11.el7.x86_64.rpm  #安装rpm包

2.直接通过连接安装rpm包
[root@biudefor ~]# rpm -ivh http://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/n/ntfs-3g-2017.3.23-11.el7.x86_64.rpm
--force  在安装的时候用(强制安装)  


案例安装zabbix源
[root@biudefor ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
[root@biudefor ~]# yum install zabbix-server zabbix-agent #安装软件

查询

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

卸载

#rpm -e 软件名称
-e erase
[root@biudefor ~]# rpm -e httpd
[root@biudefor ~]# rpm -e httpd --nodeps #!不检测依赖关系  直接卸载
--nodeps 在卸载的时候用(卸载的时候不检查依赖关系)
# yum -y renove `rpm -qa | grep httpd`
rpm工具管理软件包总结:
1. 很难解决包依赖关系 
2. 如果某个文件没有,很难知道它由哪个rpm包提供

二 yum方式管理

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

本地yum源:

[root@biudefor ~]# mkdir /mnt/CentOS
[root@biudefor ~]# mount /dev/cdrom /mnt/CentOS/
mount: /dev/sr0 is write-protected, mounting read-only
[root@biudefor ~]# mkdir /etc/yum.repos.d/backup
[root@biudefor ~]# mv /etc/yum.repos.d/* /etc/yum.repos.d/backup
[root@biudefor ~]# vim /etc/yum.repos.d/CentOS.repo
[centos7u4]  #yum源区别名称,用来区分其他的yum源
name=centos7u4  #yum源描述   yum源名字
baseurl=file:///mnt/CentOS  #指定本地yum源的路径
enabled=1  #是否使用此yum源(1为打开,0为关闭)
gpgcheck=0 #检查软件

yum操作

清理yum缓存:
    # yum clean all

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

查看软件依赖性关系:                 
    # yum  deplist  httpd

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

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

查看系统已经安装好的软件组和没有安装的软件组(源里存在即可查到):
    # yum grouplist
    
安装软件组:
    # yum groupinstall  ‘软件组名称’   
    如果软件或者软件组名称内有空格,要给空格转义或者加引号

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

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

更换网络yum源--aliyun

[root@biudefor ~]# mv /etc/yum.repos.d/* /etc/yum.repos.d/backup
[root@biudefor ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo  #下载aliyun的yum源
或者:
[root@biudefor ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
安装扩展源--epel.repo:
[root@biudefor ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@biudefor ~]# cd /etc/yum.repos.d/
[root@biudefor yum.repos.d]# ls
CentOS-Base.repo  epel.repo

制作自己的yum源

制作自己的yum源:
打开Yum缓存功能:安装完软件之后,软件不会被删除(默认安装完之后,不会保留安装包)
# vim /etc/yum.conf  修改下面参数的值为1,软件会被保存到cachedir指定的目录下
keepcache=1
[root@biudefor ~]# yum install -y httpd wget
[root@biudefor ~]# cd /var/cache/yum/x86_64/7/base/packages/  #yum缓存仓库
[root@biudefor 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@biudefor ~]# mkdir /myyum   (把rpm安装包放到此目录里面)
把想用yum安装的软件包拷贝到目录下
[root@biudefor ~]# cp /var/cache/yum/x86_64/7/base/packages/* /myyum/
[root@biudefor ~]# yum install -y createrepo
[root@biudefor ~]# createrepo /myyum         //此目录就可以作为yum源了。
[root@biudefor ~]# vim /etc/yum.repos.d/myyum.repo
[myyum]
name=myyum
baseurl=file:///myyum
enabled=1
gpgcheck=0
[root@biudefor ~]# yum repolist
yum排错:
1.yum配置文件必须以.repo结尾      
2.yum.conf里面8,9行的值设置成0
3.配置文件关键字错误
4.检查yum源是否存在
5.baseurl路径是否正确
6.镜像大小是否正确
7.当有Yum进程存在的时,无法同时再打开一个Yum进程
上一篇下一篇

猜你喜欢

热点阅读