Linux软件包管理

一、安装软件方式

1、yum/rpm方式安装,简单不能改变太多多功能

2、源码编译安装,可定制功能,较复杂

3、二进制安装方式(mysql)

二、rpm使用

# 1.命令格式
rpm [选项] [软件包名称]
# 2.安装rpm包
(1)安装常用选项

选项	描述
-i	安装rpm
-v	显示安装详细信息
-h	显示安装rpm进度

rpm -ivh  包名

可以是:
    1网址 http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.18.0-2.el7.ngx.x86_64.rpm
    2全路径带包名 /tmp/nginx-1.18.0-2.el7.ngx.x86_64.rpm
    3.包名 nginx-1.18.0-2.el7.ngx.x86_64.rpm
rpm问题:
无法自动解决依赖,实际工作中使用yum替代
# 3.升级
选项	描述
-U	如果老版本不存在则安装新版本,存在则升级新版本

rpm -Uvh  包名
# 4.查询rpm包
(1)查询常用选项
选项	描述
rpm -q	查看指定软件包是否安装
rpm -qa	查看系统中已安装的所有RPM软件包列表*****

[root@linux html]# rpm -qa tree
tree-1.6.0-10.el7.x86_64
[root@linux html]# rpm -qa|grep tree
tree-1.6.0-10.el7.x86_64

rpm -ql	查询指定软件包所安装的目录、文件列表***
[root@linux html]# rpm -ql net-tools
	/bin/netstat
	/sbin/arp
	/sbin/ether-wake
	/sbin/ifconfig
	/sbin/ipmaddr
	/sbin/iptunnel
	/sbin/mii-diag
	/sbin/mii-tool
	/sbin/nameif
	/sbin/plipconfig
	/sbin/route
	/sbin/slattach

rpm -qf	查询文件或目录属于哪个RPM软件*****
[root@linux html]# yum provides cat #查询cat属于哪个RPM软件*
查文件属于哪个包
[root@linux html]# rpm -e coreutils --nodeps #卸载软件包不带依赖.

[root@linux html]# yum install coreutils -y #安装
[root@linux html]# cat /etc/hosts
[root@linux html]# rpm -qf /etc/hosts
setup-2.8.71-11.el7.noarch

# 5.卸载常用选项
(1)卸载常用选项
选项	描述
-e	卸载软件
--force	强制
--nodeps	忽略依赖关系

[root@linux src]# rpm -qa nginx
nginx-1.20.0-1.el7.ngx.x86_64
[root@linux src]# rpm -e nginx

强制卸载,忽略依赖关系:
rpm -e --force --nodeps 包名

删除有关,都要谨慎
rm,mv        #find+xargs    
rpm -e --nodeps #永远不用。安装了不用理他,不启动就可以了。
yum remove nginx -y  #连带依赖一起卸载,永远不用。安装了不用理他,不启动就可以了。

三、yum使用

1、Linux系统本地yum源配置

1)互联网阿里云yum源配置
#默认系统是国外源,需要替换为国内的源
curl -s -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

2)互联网epel源配置
#扩展源,有很多软件在基本源中没有
curl -s -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum install epel-release

3)互联网特定软件官方源配置
Nginx web软件官方源,有最新的nginx版本,查找方法:
1)进入nginx.org,进入download页面。
2)页面结尾进入“Linux packages for stable and mainline versions.”即可。
3)配置如下
[root@linux ~]# vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo 
baseurl=http://nginx.org/packages/centos/7/$basearch/ 
gpgcheck=0
enabled=1
priority=1 ##设置优先级
PS. http://nginx.org/en/linux_packages.html

配置优先级软件
yum install yum-plugin-priorities -y

2、yum命令的使用

# 1.使用yum查询软件包的方式
[root@linux ~]# yum list
[root@linux ~]# yum list tree  #不需要yum list|grep tree. 模糊匹配

# 2.使用yum安装软件包的方式
[root@linux ~]# yum install tree      #需要确认
[root@linux ~]# yum install tree -y   #非交互

# 3、直接安装网络上的rpm包
[root@linux ~]# yum install http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

# 4、如下的执行很危险,这代表更新整个系统所有的软件,包括内核
[root@linux ~]# yum update -y  ###打补丁

# 5、使用yum删除软件包,注意:慎用,尽量不用。
[root@linux ~]# yum install vsftpd -y
[root@linux ~]# yum remove samba -y

# 6、查找某个命令或文件属于那个软件包(常用)
[root@linux ~]# yum provides /etc/my.cnf
[root@linux ~]# yum provides cd

上一篇:docker中无法使用systemctl的问题的解决


下一篇:Linux基础知识 - 常见目录