软件包管理
RPM(RedHat Package Manager),它是RedHat软件包管理工具
1. RPM查询命令(rpm -qa)
基本语法: rpm -qa
(功能描述:查询所安装的所有rpm软件包)
提示
由于软件包比较多,一般都会采取过滤结果。rpm -qa | grep rpm软件包
## 查询net相关软件安装情况
[root@hadoop100 ~]# rpm -qa | grep net
libnetfilter_conntrack-1.0.6-1.el7_3.x86_64
libnfnetlink-1.0.1-4.el7.x86_64
net-tools-2.0-0.25.20131004git.el7.x86_64
dracut-network-033-572.el7.x86_64
2. RPM 卸载命令(rpm -e)
基本语法
(1) rpm -e RPM软件包
(2) rpm -e --nodeps 软件包
选项 | 功能 |
---|---|
-e | 卸载软件包 |
--nodeps | 卸载软件时,不检查依赖。这样的话, 那些使用该软件包的软件在此之后可能就不能正常工作了。 |
[root@hadoop100 ~]# rpm -e --nodeps firefox
3. RPM 安装命令(rpm -ivh)
基本语法:rpm -ivh RPM 包全名
选项 | 功能 |
---|---|
-i | install,安装 |
-v | --verbose,显示详细信息 |
-h | --hash,进度条 |
--nodeps | 安装前不检查依赖 |
4. YUM的常用命令
YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包, 并且安装可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
提示
YUM类似于我们iava开发中的maven工具,可以从镜像网站上下载应用程序,并直接安装。
基本语法:
yum [选项] [参数] 选项: -y 对所有提问都回答"yes"
参数说明
参数 | 功能 |
---|---|
install | 安装 rpm 软件包 |
update | 更新 rpm 软件包 |
check-update | 检查是否有可用的更新 rpm 软件包 |
remove | 删除指定的 rpm 软件包 |
list | 显示软件包信息 |
clean | 清理 yum 过期的缓存 |
deplist | 显示 yum 软件包的所有依赖关系 |
5. 修改网络YUM源
默认的系统YUM源,需要连接国外apache网站,网速比较慢,可以修改关联的网络YUM源为国内镜像的网站,比如网易163,aliyun等
- 安装wget, wget用来从指定的URL下载文件
[root@hadoop100 ~]# yum install -y wget
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.sjtu.edu.cn
* extras: ftp.sjtu.edu.cn
* updates: mirrors.ustc.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 wget.x86_64.0.1.14-18.el7_6.1 将被 安装
--> 解决依赖关系完成
依赖关系解决
====================================================================================================================================================
Package 架构 版本 源 大小
====================================================================================================================================================
正在安装:
wget x86_64 1.14-18.el7_6.1 base 547 k
事务概要
====================================================================================================================================================
安装 1 软件包
总下载量:547 k
安装大小:2.0 M
Downloading packages:
wget-1.14-18.el7_6.1.x86_64.rpm | 547 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : wget-1.14-18.el7_6.1.x86_64 1/1
验证中 : wget-1.14-18.el7_6.1.x86_64 1/1
已安装:
wget.x86_64 0:1.14-18.el7_6.1
完毕!
- 在/etc/yum.repos.d/目录下,备份默认的repos文件
[root@hadoop100 ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
- 下载网易163或者是aliyun的repos文件,任选其一
[root@hadoop100 ~]# wget https://mirrors.aliyun.com/repo/Centos-7.repo
- 使用下载好的repos文件替换默认的repos文件
[root@hadoop100 yum.repos.d]# mv Centos-7.repo CentOS-Base.repo
- 清理旧缓存数据,缓存新数据
[root@hadoop100 yum.repos.d]# yum clean all
[root@hadoop100 yum.repos.d]# yum makecache
7. 搭建本地yum源
提供yum包有两种方式,第一种搭建http服务地址,第二种通过指定绝对文件路径方式。
第一种方式可以方便其他服务器使用yum包,第二种方式可以方便自己本身服务器使用yum包。他们都可以使用系统iso文件作为yum源。
7.1 方式1使用Apache
下面通过自己手动上传yum包,并生成yum能够识别的目录元数据来搭建yum仓库:
7.1.1 安装并启动Apache
# 安装Apache http
yum install -y httpd
# 启动Apache http
systemctl start httpd
# 设置自启动Apache http
systemctl enable httpd
7.1.2 创建安装文件http根目录
mkdir -p /var/www/html/cm7/yum/RPMS/x86_64/
上传RPM安装文件到/var/www/html/cm7/yum/RPMS/x86_64/
[root@node00 x86_64]# ll
总用量 1852532
-rw-r--r--. 1 root root 30321448 7月 7 23:14 cloudera-manager-agent-7.4.4-15850731.el7.x86_64.rpm
-rw-r--r--. 1 root root 1762171388 7月 7 23:14 cloudera-manager-daemons-7.4.4-15850731.el7.x86_64.rpm
-rw-r--r--. 1 root root 13272 7月 7 23:14 cloudera-manager-server-7.4.4-15850731.el7.x86_64.rpm
-rw-r--r--. 1 root root 10984 7月 7 23:14 cloudera-manager-server-db-2-7.4.4-15850731.el7.x86_64.rpm
-rw-r--r--. 1 root root 104465559 7月 7 23:14 openjdk8-8.0+232_9-cloudera.x86_64.rpm
7.1.3 生成yum仓库meta文件
cd /var/www/html/cm7/yum
yum install -y createrepo
createrepo .
createrepo
命令会将指定文件夹内容打包为yum仓库meta文件,即repodata。
## 查看执行结果
[root@node00 yum]# ll
总用量 4
drwxr-xr-x. 2 root root 4096 7月 7 23:16 repodata
drwxr-xr-x. 3 root root 20 7月 7 23:13 RPMS
7.2 方式2使用本地路径
下面使用Centos对应系统版本的镜像文件作为yum安装包:
- 首先下载iso文件
- 上传到/opt/software上
mkdir /mnt/centos7
## CentOS-7-x86_64-Everything-2207-02.iso上传到/mnt/centos7上
- 挂载iso镜像文件
cd /opt/software
mount -o loop CentOS-7-x86_64-Everything-2207-02.iso /mnt/centos7
7.3 配置yum仓库文件
登录客户端linux服务器(也就是要用到yum源的服务器)
## 在/etc/yum.repos.d创建bak文件夹
mkdir /etc/yum.repos.d/bak
## 移动/etc/yum.repos.d到bak文件夹中
mv /etc/yum.repos.d/* bak
vim /etc/yum.repos.d/cloudera-manager.repo
## 添加如下内容
[cloudera-manager]
name=Cloudera Manager 7.4.4
## 如果是http方式
baseurl=http://node00/cm7/yum/
## 如果是file地址方式
baseurl=file:///mnt/centos7
gpgcheck=0
enabled=1
autorefresh=0
type=rpm-md
7.4 更新仓库信息,确认本地yum源已被添加
yum clean all
yum makecache
查看yum源列表:
yum repolist