RPM包的管理
rpm包的简单查询指令
查询已安装的rpm列表 rpm -qa |grep xx
查询所安装的所有rpm软件包 rpm -qa && rpm -qa |more[分页显示]
查询软件包是否安装 rpm -q xx
查询软件包信息 rpm -qi xx
查询软件包中的文件 rpm -ql xx
查询文件所属的软件包 rpm -qf xx
-------------------------------------------------
卸载rpm包 rpm -e xx
强制删除rpm包 rpm -e --nodeps xx
安装rpm包 rpm -ivh RPM包全路径名称
i=install 安装
v=verbose 提示
h=hash 进度条
yum的简单命令
yum list -- 查询所有可用的软件包列表
yum search 关键字 -- 搜索服务器上所有有关键字相关的包
yum info 关键字 -- 查找包名
yum -y install 包名 -- 注: 参数-y 自动回答yes 也就是说不需要我们手动输入yes确认了
升级,卸载操作
yum -y update 包名 --仅更新指定的软件命令
注:如果不加包名,就会升级所有的包,包括内核。所以必须加包名 来升级单个软件包 -- 请慎用升级所有包
yum check-update -- 注:检测升级、列出所有可更新的软件清单命令
yum -y remove 包名
其他操作
yum repolist -- 注: 查看当前可用的yum源
yum clean all -- 注:清除缓存和旧的包
yum deplist httpd -- 注:列出一个包所有依赖的包
yum makecache 将服务器上的软件包信息缓存到本地,以提高搜索安装软件的速度
————————————————————————————————————————————————————————–
yum配置文件解读
yum的配置文件有两种,一个是主配置文件(/etc/yum.conf),一个是各个仓库的配置文件,在/etc/yum.repos.d/目录下。主配置文件里面的配置针对各个仓库的配置文件(/etc/yum.repos.d/)都生效,各个仓库的配置文件里面的配置可以覆盖主配置文件,也就是说优先级比主配置文件yum.conf高。
[main]
cachedir=/var/cache/yum #yum下载的RPM包的缓存目录
keepcache=0 #缓存是否保存,1保存,0不保存。
debuglevel=2 #调试级别(0-10),默认为2(具体调试级别的应用,我也不了解)。
logfile=/var/log/yum.log #yum的日志文件所在的位置
exactarch=1 #在更新的时候,是否允许更新不同版本的RPM包,比如是否在i386上更新i686的RPM包。
obsoletes=1 #这是一个update的参数,具体请参阅yum(8),简单的说就是相当于upgrade,允许更新陈旧的RPM包。
gpgcheck=1 #是否检查GPG(GNU Private Guard),一种密钥方式签名。
plugins=1 #是否允许使用插件,默认是0不允许,但是我们一般会用yum-fastestmirror这个插件。
installonly_limit=3 #允许保留多少个内核包。
exclude=selinux* #屏蔽不想更新的RPM包,可用通配符,多个RPM包之间使用空格分离。
- [base]:容器名称,一定要放在[]中。
- name:容器说明,可以自己随便写。
- mirrorlist:列出这个软件库可以使用的映射站台,这个可以注释掉。
- baseurl:我们的 yum 源服务器的地址。默认是 CentOS 官方的 yum 源服务器,是可以使用的。如果你觉得慢,则可以改成你喜欢的 yum 源地址。
- enabled:此容器是否生效,如果不写或写成 enabled 则表示此容器生效,写成 enable=0 则表示此容器不生效。
- gpgcheck:如果为 1 则表示 RPM 的数字证书生效;如果为 0 则表示 RPM 的数字证书不生效。
- gpgkey:数字证书的公钥文件保存位置。不用修改。
以本地光盘作为 yum 源服务器
如果 Linux 主机不能联网,yum 就不能使用吗? yum 已经考虑到这个问题,所以在 /etc/yum.repos.d/ 目录下 还有一个CentOS-Media.repo 文件,这个文件就是以本地光盘作为 yum 源服务器的模板文件,只需要进行简单的修改即可。
1,放入 CentOS 安装光盘,并挂载光盘到指定位置。命令如下:
root@localhost ~]# mkdir /mnt/cdrom
#创建cdrom目录,作为光盘的挂载点
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom/
mount: block device/dev/srO is write-protected, mounting read-only
#挂载光盘到/mnt/cdrom目录下
2, 修改其他几个 yum 源配置文件的扩展名,让它们失效,因为只有扩展名是"*.repo"的文件才能作为 yum 源配置文件。当然也可以删除其他几个 yum 源配置文件,但是如果删除了,当你又想用网络作为 yum 源时,就没有了参考文件,所以最好还是修改扩展名。 命令如下:
3,修改光盘 yum 源配置文件 CentOS-Media.repo,参照以下方修改:
[root@localhost yum.repos.d]# vim CentOS-Media.repo
[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS/
#地址为你自己的光盘挂载地址
#file:///media/cdrom/
#file:///media/cdrecorder/
#注释这两个的不存在地址
gpgcheck=1
enabled=1
#把enabled=0改为enabled=1, 让这个yum源配置文件生效
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
网络yum源服务器搭建
切换到/etc/yum.repos.d/目录下cd /etc/yum.repos.d
(推荐)备份原有yum源文件mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
下载阿里云yum源wget -O /etc//yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo CentOS-7.repo(以Centos7为例)
清理yum缓存yum clean all
生成新的yum缓存yum makecache
Ftp yum源配置
一、 环境需要
1、2台centos A和B
2、配置两台主机的ip
3、关闭防火墙(2台)
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
关闭selinux
[root@localhost ~]# vim /etc/sysconfig/selinux
把SELINUX=enforcing改为SELINUX=diaabled如图
二、 安装主机A安装yum
1、 挂载镜像
1.1先在opt下创建centos目录
[root@localhost ~]# mkdir /opt/centos
[root@localhost ~]# mkdir /opt/yum
**1.2把镜像挂载到/opt/centos 下**
[root@localhost ~]# mount /dev/cdrom /opt/centos
1.3配置yum源
备份yum源
[root@localhost ~]# mv /etc/yum.repos.d/* /opt/yum
写配置文件
[root@localhost ~]# vim /etc/yum.repos.d/local.repo
[root@localhost ftp]# cat /etc/yum.repos.d/local.repo
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
[root@localhost ftp]# yum makecache
[root@localhost ftp]# yum repolist
成功。
三、 主机A安装ftp服务
1、 下载vsftpd
[root@localhost ftp]# yum -y install vsftpd
**2、修改配置文件**
[root@ localhost ~]# vi /etc/vsftpd/vsftpd.conf
添加anon_root=/opt
保存退出
3、启动
[root@localhost ftp]# systemctl retsatr vsftpd
[root@localhost ftp]# systemctl enabled vsftpd
四、主机B配置
1、配置yum源
备份yum源
[root@localhost ~]# mv /etc/yum.repos.d/* /opt/yum
写配置文件
[root@localhost ~]# vim /etc/yum.repos.d/local.repo
[root@localhost ftp]# cat /etc/yum.repos.d/local.repo
[ftpyum]
name=ftpyum
baseurl=ftp://主机A的ip/centos
gpgcheck=0
enabled=1
[root@localhost ftp]# yum makecache #缓存yum源提高下载速度
[root@localhost ftp]# yum repolist #列出yum源
成功配置主机B通过ftp服务主机A的yum提供服务
设置yum优先级
查看是否安装了优先级的插件
[root@localhost ~]# rpm -qa | grep yum-plugin-
yum-plugin-fastestmirror-1.1.30-37.el6.noarch
我们看没有安装yum-plugin-priorities.noarch这个插件
安装yum-plugin-priorities.noarch插件
[root@localhost ~]# yum install yum-plugin-priorities.noarch -y
查看插件是否可用
[root@localhost ~]# cat /etc/yum/pluginconf.d/priorities.conf
[main]
enabled = 1 1表示可用,0为禁用
修改本地yum源优先使用
添加priority=1,数字越小优先级越高,也可以修改网络源的priority的值