Linux之实操篇RPM和YUM

本文详细介绍了RPM和YUM两种Linux环境下常用的软件包管理工具。RPM作为RedHat软件包管理工具,被广泛应用于Linux的分发版本中,如suse, redhat, centos等,成为行业标准。而YUM则是一个基于RPM的Shell前端软件包管理器,它能自动下载并安装依赖的软件包,极大地方便了软件的管理和更新。

RPM

RPM 是 RedHat Package Manager(RedHat 软件包管理工具)的缩写,类似 windows 的setup.exe,这一文件格式名称虽然打上了RedHat的标志,但理念是通用的。Linux 的分发版本都有采用(suse,redhat, centos 等等),可以算是公认的行业标准了。

rpm -qa:查询所安装的所有rpm软件包

rpm -qa | more [分页显示]

rpm -q 软件包名:查询软件包是否安装

rpm -qi 软件包名:查询软件包信息

rpm -e RPM包的名称:卸载rpm包

安装rpm包

基本语法:

rpm -ivh RPM包全路径名称

参数说明:

i=install 安装
v=verbose 提示
h=hash 进度条
 

YUM

Yum 是一个 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。使用 yum 的前提是可以联网。

安装指定的yum包:yum install xxx

<think>嗯,用户这次明确要求查找Linux系统中安装yum仓库的方法。从引用内容看,用户提供了四段参考资料,涵盖了yum仓库的部署配置、命令使用原理说明。虽然引用内容比较零散,但综合来看核心需求是搭建本地或网络yum仓库的步骤。 用户可能正在搭建Linux服务器环境,需要具体的仓库配置指导。考虑到引用[3]提到三种搭建方式(本地/FTP/HTTP),而引用[1][2]侧重配置文件结构,应该优先整合最完整的部署流程。用户没有指定Linux发行版,但根据yum的使用场景,默认以CentOS/RHEL为例比较稳妥。 注意到引用[4]详细解释了仓库原理,这在回答时可以简要提及帮助用户理解,但用户当前更需要的显然是作步骤。需要特别注意几个技术细节: 1. 挂载ISO镜像时的设备路径可能因系统而异,要强调用际设备名替换 2. FTP/HTTP方式必须提醒防火墙SELinux配置 3. 所有仓库配置文件后缀必须是.repo 用户引用的资料里有些重复内容(比如多次提到配置文件位置),需要去重整合。另外引用[2]提到的EPEL仓库虽然相关,但用户当前问题聚焦基础仓库搭建,暂时不需要展开第三方仓库内容。 从安全角度考虑,应该提醒用户验证GPG密钥的作,这在引用[1][3]都有涉及但不够突出。最后客户端配置部分,要强调修改baseurl时的协议一致性(ftp://或http://开头)。 </think> 根据提供的参考资料,以下是Linux系统中部署YUM仓库的详细方法,涵盖本地、FTPHTTP三种主流方式: --- ### **一、基础准备** 1. **挂载安装源** ```bash mkdir /mnt/cdrom # 创建挂载点 mount /dev/cdrom /mnt/cdrom # 挂载ISO镜像(需替换际设备名) ``` - 永久挂载需修改`/etc/fstab`,添加: ``` /dev/cdrom /mnt/cdrom iso9660 defaults 0 0 ``` 2. **安装必要工具** ```bash yum install -y createrepo # 创建仓库元数据 ``` --- ### **二、搭建本地YUM仓库** 1. **配置仓库文件** 创建`/etc/yum.repos.d/local.repo`: ```ini [Local-BaseOS] name=Local BaseOS Repository baseurl=file:///mnt/cdrom/BaseOS # 指向挂载路径 enabled=1 gpgcheck=0 # 测试时可禁用GPG验证 ``` 2. **生成仓库元数据** ```bash createrepo /mnt/cdrom/BaseOS # 创建repodata目录 ``` 3. **刷新缓存** ```bash yum clean all && yum makecache ``` --- ### **三、搭建FTP/YUM仓库** #### **服务端配置** 1. 安装vsftpd: ```bash yum install -y vsftpd systemctl start vsftpd ``` 2. 复制软件包到FTP目录: ```bash cp -r /mnt/cdrom/BaseOS /var/ftp/ # 将ISO内容复制到FTP根目录 createrepo /var/ftp/BaseOS # 生成元数据 ``` #### **客户端配置** 创建`/etc/yum.repos.d/ftp.repo`: ```ini [FTP-Repo] name=FTP YUM Repository baseurl=ftp://<服务器IP>/BaseOS # 替换为服务端IP enabled=1 gpgcheck=0 ``` --- ### **四、搭建HTTP/YUM仓库** #### **服务端配置** 1. 安装Apache: ```bash yum install -y httpd systemctl start httpd ``` 2. 部署软件包: ```bash cp -r /mnt/cdrom/BaseOS /var/www/html/ createrepo /var/www/html/BaseOS ``` #### **客户端配置** 创建`/etc/yum.repos.d/http.repo`: ```ini [HTTP-Repo] name=HTTP YUM Repository baseurl=http://<服务器IP>/BaseOS # 替换为服务端IP enabled=1 gpgcheck=0 ``` --- ### **关键注意事项** 1. **防火墙与SELinux** - 开放对应端口(FTP:21, HTTP:80): ```bash firewall-cmd --add-service=ftp --permanent firewall-cmd --add-service=http --permanent firewall-cmd --reload ``` - 临时禁用SELinux(测试用): ```bash setenforce 0 ``` 2. **验证仓库** ```bash yum repolist # 检查仓库是否加载成功 yum install <包名> # 测试安装 ``` 3. **GPG密钥验证** 正式环境应启用`gpgcheck=1`并导入密钥: ```bash rpm --import /mnt/cdrom/RPM-GPG-KEY-CentOS-7 ``` > 参考说明:本地仓库适用于离线环境,FTP/HTTP仓库支持网络分发。配置文件路径为`/etc/yum.repos.d/`,每个仓库需独立的`.repo`文件[^1][^3][^4]。 --- ### **相关问题** 1. 如何解决`yum`安装时的依赖冲突? 2. 第三方仓库(如EPEL)如何安全添加到YUM? 3. 如何创建自定义软件包的本地YUM仓库? 4. `yum`与`dnf`包管理器的核心区别是什么?
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值