rpm -qa 查看系统中已安装的所有 RPM 软件包列表 rpm -qi 包名 查看指定软件所安装的信息。
rpm -ql 包名 查看指定软件所安装目录,文件列表 5)查询未安装的 RPM 包文件:
rpm -qpl 包全名 #查询指定未安装软件所安装的目录、文件列表 rpm -qpR 包全名 #查询指定未安装软件的依赖文件
6)查询文件或者目录属于哪个 RPM 软件 rpm -qf 文件或目录名
例 1:RPM 包安装过程:
1)安装 RPM 包 tree 命令:
[root@localhost Packages]# rpm -ivh tree-1.6.0-10.el7.x86_64.rpm卸载:
[root@localhost Packages]# rpm -e tree #卸载时不用指定包全名。 2)安装 gcc:
[root@localhost Packages]#rpm -ivh gcc-4.8.5-36.el7.x86_64.rpm [root@localhost Packages]#rpm -ivh cpp-4.8.5-36.el7.x86_64.rpm
[root@localhost Packages]#rpm -ivh glibc-devel-2.17-260.el7.x86_64.rpm [root@localhost Packages]#rpm -ivh glibc-headers-2.17-260.el7.x86_64.rpm [root@localhost Packages]#rpm -ivh kernel-headers-3.10.0-957.el7.x86_64.rpm [root@localhost Packages]#rpm -ivh glibc-headers-2.17-260.el7.x86_64.rpm [root@localhost Packages]#rpm -ivh glibc-devel-2.17-260.el7.x86_64.rpm [root@localhost Packages]#rpm -ivh gcc-4.8.5-36.el7.x86_64.rpm
#安装 GCC 过程中因为有软件包依赖关系,所以安装过程显得特别困难。
- YUM 安装:
因为在 RPM 安装过程中经常要解决依赖关系,而有些依赖关系并不会有准确的依赖安装包提示信息。
centos-Media.repo的配置文件介绍
YUM 是 yellow dog update modified 的简写。YUM 是一个 RPM 包管理工具,可以很好的解决 RPM 包安装过程中会遇到的依赖关系问题。YUM 可以从多个源当中搜索软件以及软件安装所依赖的安装包,并自动安装相应的依赖软件。使用 YUM 安装软件时至少需要一个 YUM 源,可以把 YUM 源理解为一个存放一些 RPM 包的文件夹。用户可以使用 ftp、http 等方式访问 YUM 源。
配置yum源:
本地YUM源:
1.应该确保网络yum源失效。默认情况下系统中只有Centos-Base.repo文件。
#mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
2.修改本地yum源配置文件。
#vim /etc/yum.repos.d/CentOS-Media.repo
#baseurl=file:///mnt #能够找到rpm包和依赖关系的目录。
#enabled=1 #是否启用yum源,0不开启,1开启。
网络YUM源:
局域网YUM源:
- 设置 YUM 源:
Centos7 当中 YUM 源的配置文件存在于/etc/yum.repos.d/目录下,用户可以自定义 yum 配置文件名称,但是后缀必须是以.repo 结尾。
[root@localhost Packages]# cat /etc/yum.repos.d/CentOS-Base.repo [base] #YUM 源唯一 ID 号,可任意填写。 name=CentOS-$releasever - Base #YUM 源描述,可任意填写。
mirrorlist=http://mirrorlist.centos.org/release=$releasever&arch=$basearch& repo=os&infra=$infra #指定镜像站点目录。
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/#指定 YUM 源 URL(统一资源定位)地址,FTP 或 HTTP 地址。
gpgcheck=1 #是否开启 gpg 验证,0 关闭,1 开启。 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #检查软件包 gpg 验
证信息位置。
[root@localhost Packages]# cat /etc/yum.repos.d/CentOS-Media.repo [c7-media]
name=CentOS-$releasever - Media baseurl=file:///mnt/
# file:///media/cdrom/
# file:///media/cdrecorder/ gpgcheck=1
enabled=1 #是否启用该 YUM 源,0 不启用,1 启用。 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
- yum 管理命令 yum 安装:
yum install 软件名
yum groupinstall 软件组名 yum 卸载
yum remove 软件名
yum groupremove 软件组名 yum 升级
yum groupdate
yum 软件包查询
yum list 查询所有可以安装的软件包
yum list 包名 查询 yum 源中是否有所查询包
yum info 软件名 查询指定软件包的信息
yum grouplist 查询所有可以安装的软件组 yum groupinfo 软件组名 列出软件组中包含的软件 yum provides 查询未安装命令安装包名称
yum search 查询包含指定关键字的安装包
注:
频繁切换 yum 源后可能会出现安装错误的现象。
需要执行 yum clean all 命令来清空一下 yum 缓存信息。之后使用 yum makecache 根据配置文件建立新的缓存数据。再执行 yum list 读取 yum 可安装的软件包。
例 1:软件组安装-字符界面安装图形化:
yum -y groupinstall "X Window System" yum -y groupinstall "GNOME Desktop"
- 局域网 YUM 源:
在日常工作情况下,多台服务器可能都需要安装同样的服务等。那么我们重复下载多次同样的安装包就是并不合理的了(占用带宽、下载时间较长等问题)。所以我们更需要 “一次下载,多次使用”的方式来使用。
在这种情况下,需要分清“服务器端”和“客户端”两种身份。
服务器端我们使用 centos7.6 当作服务器端,将 RPM 包共享给客户端,在当前实验下,我们使用光盘 YUM 源作为共享。我们主要使用 createrepo 命令创建 repository 仓库。在当前此命令是安装过的。如果没有此命令 yum 安装即可。
服务器端:
安装 httpd、createrepo。
将光盘中 Packages 的所有内容 cp 到/var/www/html/package 下。 createrepo /var/www/html/
createrepo /var/www/html/ -g /mnt/repodata/*comps.xml --update 关闭防火墙。 #-g 生成软件组依赖,--update 在已有基础上生成。启动 http 服务。
客户端:
关闭防火墙。(通过 IP/package 的方式用浏览器验证)客户端/dev/sr0 卸载。
修改/etc/yum.repos.d/CentOS-Media.repo 将 enabled=1 修改为 0。修改/etc/yum.repos.d/CentOS-Base.repo,注释所有信息
添加:
[test] name=centos7
baseurl=http://192.168.30.252 gpgcheck=0
enabled=1
6. 保存退出。测试安装效果。
- yum clean all 清除原有 yum 缓存
- yum makecache 建立元数据缓存
- yum repolist 查看当前使用 yum 源
- yum list 查看当前源下安装包