CentOS系统软件安装三种方式(软件管理)

软件管理

在Linux中,不同的发行版软件管理的方式可能不一样,具体来说,主要分为两大派:

1. dpkg      .deb    apt-get
代表发行版: Ubuntu,Debian,Mint
2. rpm       .rpm    rpm,yum
代表发行版: Redhat,Centos,Fedora

RPM: Rpm Package Manager

CentOS系统软件安装三种方式

rpm: 安装简单,可定制性差,一台机器上不能装多个相同的软件,稳定性高
源码包: 编译安装,安装复杂,可定制性好,一台机器上可安装多个相同的软件
二进制包: 安装简单,可定制性差,一台机器可安装多个相同的软件,稳定性较高

怎样获取rpm包

在网络上下载rpm包: http://rpmfind.net/              #下载不常见的rpm包
网络yum源中获取                                     #epel,CentOS
镜像中获取: 在光盘镜像中的Packages目录下

怎样查看光盘的内容

1.将光盘连接上
2.将光盘挂载到相应的挂载点
# mount /dev/cdrom  /mnt
3.通过挂载点访问光盘内容
# ls /mnt

rpm包介绍

zsh-5.0.2-25.el7.x86_64.rpm        包全名
	zsh: 包名
	5.0.2: 主版本号.次版本号.源程序的发行号
	25: rpm发行号
	el7: 平台    一般来说,不同平台的包不兼容
	x86_64: 架构   
		x86_64: 64位      
		i686: 32位      
		noarch: 通用

rpm包管理

rpm工具

安装
# rpm -ivh 包全名             //安装软件包
# rpm -Uvh 包全名             //升级软件包,如果本来没有安装,则安装
卸载
# rpm -e 包名
	--nodeps                //只卸载当前软件,不检查依赖关系
查询
查询已安装的:
查询指定软件包有没有安装: # rpm -q 包名
查询所有已安装的软件包:   # rpm -qa
查询已安装的软件包安装的所有文件: # rpm -ql 包名
查询已安装的软件包安装的配置文件: # rpm -qc 包名
通过文件名反查文件是由哪个包安装的: # rpm -qf 文件的绝对路径

查询未安装的:
查询未安装的软件包将会安装的所有文件: # rpm -qpl  包全名
查询未安装的软件包将会安装的配置文件: # rpm -qpc  包全名

扩展:
``反引:等价于$(),引用命令的输出结果,``内部一定是命令
例:
# rpm -qf `which useradd`
shadow-utils-4.1.5.1-24.el7.x86_64
# rpm -qf $(which useradd)
shadow-utils-4.1.5.1-24.el7.x86_64

rpm包无法自动解决依赖性问题,需要手动解决,非常麻烦…

yum可以解决软件包之间的依赖问题

yum工具

yum仓库

1.多个rpm包
2.记录这些包及包之间的依赖关系   -   repodata目录

配置yum源

本地源
要使用yum仓库,需要先进行配置
主配置文件: /etc/yum.conf

[root@localhost mnt]# tail -2 /etc/yum.conf 
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d   //仓库可以定义在这里 或 /etc/yum.repos.d目录下以.repo结尾的单独的文件中
实验:配置本地yum仓库
配置过程:	
1.将系统光盘挂载到/mnt
2.关闭其他仓库
	# cd /etc/yum.repos.d              //进入仓库配置文件存放目录
	# mkdir repo
	# mv *.repo  repo/                 //将其他的仓库配置文件移动到子目录,让其失效
3.创建配置文件
	# vim localdisk.repo
	[localdisk]                                //仓库ID
	name=local disk of centos7.3               //仓库名称(描述)
	baseurl=file:///mnt                        //仓库的URL
	enabled=1                                  //开关,0为关,1为开
	gpgcheck=0                                 //校验开关
4.检验
	# yum repolist
网络源

常用网络源: centos官方源, epel源

国外源下载比较慢,建议使用国内镜像源: 如阿里云,清华大学,网易… 直接搜索 xxx开源镜像站

例:
# cat /etc/yum.repos.d/tsinghua.repo 
[centos7]
name=centos-el7-tsinghua
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7

[epel]
name=epel-el7-tsinghua
baseurl=https://mirrors.tuna.tsinghua.edu.cn/epel/7/x86_64/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.tuna.tsinghua.edu.cn/epel/RPM-GPG-KEY-EPEL-7

yum命令的使用

# yum list					  //列出所有的软件包,,最后一列以@开头的是本机已安装的
# yum repolist                  //列出所有的仓库
# yum clean all                 //清缓存
# yum makecache                 //创建缓存
# yum install xxx xxx           //安装软件
	-y						  //不交互
	--downloadonly              //仅下载,不安装
	--downloaddir=DIR           //指定下载的目录
# yum reinstall xxx -y          //重新安装
# yum localinstall 包全名 -y     //本地安装,不在仓库里找此包本身
# yum groupinstall xxx -y       //安装组件
# yum remove  xxx xxx           //卸载软件,会卸载本软件及所有依赖本软件的软件
# yum provides path/file        //查询文件是由什么包安装的
# yum search 关键字              //搜索所有源中名称或描述中包含有关键字的包
# yum update xxx                //升级软件包,如果不接包名,将升级所有的软件包

扩展: 安装并保存软件包

如果要保存从网络源上下载的软件,修改主配置文件

[root@clone1 ~]# head -3 /etc/yum.conf 
[main]
cachedir=/var/cache/yum/$basearch/$releasever    //保存的位置
keepcache=1                                      //1为打开,0为关闭,默认关闭

你可能感兴趣的:(centos,linux,服务器)