CentOS-创建yum本地源

本文涉及的产品
运维安全中心(堡垒机),免费版 6个月
简介: CentOS-创建yum本地源

yum概述


yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。

基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。


本篇博文介绍yum本地源的安装过程,前提下载好了ISO镜像,并上传到了服务器。


安装


制作本地源,用createrepo生成repodata目录,以光驱为源


为了避免从网络下载软件包可能发生的软件包不完整、下载速度慢、网络故障等问题,我们强烈建议您使用本地的 DVD/CD iso 来创建 yum 仓库,这样在安装的时候速度快,而且可以保证所有软件包都能顺利安装。

如果您有局域网内的 yum 仓库,可以直接使用它,就不需要按照以下的步骤重复创建了。

下面的操作都是在安装好 RHEL/CentOS 系统后进行的。


先从光盘或已有的 YUM 仓库安装 createrepo 工具


createrepo 命令用于生成 yum 仓库所必须的一些信息,这些信息都存放在 repodata/ 目录

依次安装依赖包和createrpo包

 rpm -ivh python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm 
 rpm -ivh deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm 
 rpm -ivh python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm 
 rpm -ivh createrepo-0.9.9-22.el6.noarch.rpm 

以上安装包可以从下载的DVD-ISO镜像解压包中获取

20160822205124560.png


使用 ISO 文件制作 yum 仓库


2.1 DVD ISO

2.1.1如果你使用的是 DVD 光盘,可以直接挂载光盘,然后制作 yum 仓库:

Shell 命令:

# mkdir /mnt/dvd/
# mount /dev/cdrom /mnt/dvd/
# cd /mnt
# createrepo .


2.1.2如果您使用的是官方的 DVD ISO,则需要将它复制到系统上,挂载后制作 yum 仓库:

我下载的是DVD ISO

20160822205533405.png

Shell 命令:

# mkdir /mnt/CentOS/
# mount -o loop /soft/CentOS-6.7-x86_64-bin-DVD1.iso /mnt/dvd
# cd /mnt
# createrepo .


2.2 CD ISO

2.2.1如果您使用的是多个 CD iso 文件,需要先复制到系统上,挂载后制作 yum 仓库。

有几个 ISO 就创建几个目录,并将对应的 ISO 挂载上去:

Shell 命令:

# mkdir -p /mnt/{1,2,3,4,5,6}
# mount -o loop rhel5.1-disc1.iso /mnt/1
# mount -o loop rhel5.1-disc2.iso /mnt/2
# mount -o loop rhel5.1-disc3.iso /mnt/3
# mount -o loop rhel5.1-disc4.iso /mnt/4
# mount -o loop rhel5.1-disc5.iso /mnt/5


创建 yum 仓库:

Shell 命令:

# cd /mnt/
# createrepo


20160822210850395.png


20160822210945947.png

定义 yum 仓库

创建 yum 仓库的定义文件:/etc/yum.repos.d/dvdiso.repo,然后加入以下内容:

Shell 命令:

[DVDISO]
name=DVD ISO
baseurl=file:///mnt/
enabled=1
gpgcheck=0


解析:

enabled=1 #是否开启源

gpgcheck=0 #是否验证,可不要

yum.repos.d目录下确保只有 一个 repo结尾的文件,其余的repo文件可以改下名字。


测试 yum 仓库


强烈建议执行 ‘yum clean all’ 命令,将所有 yum metadata 等信息清空,再重新获取最新的仓库信息:

Shell 命令:

# yum clean all
# yum list

如果在 ‘yum list’ 命令的输出中能够看到刚才制作的仓库里的软件包的名字,那就是 OK 了。

再试着安装一个软件包看是否成功:

yum install 包名

Shell 命令:

# yum install sudo.x86_64


如果安装成功,表示 yum 仓库和 RPM 包都没问题。


yum指令的使用


1) yum 语法


yum [options] [command] [package …]

options:可选,选项包括

-h(帮助),

-y(当安装过程提示选择全部为”yes”),

-q(不显示安装的过程)等等。


command:要进行的操作。

package操作的对象。


2) rpm包的更新


#检查可以更新的软件包 
yum check-update 
#更新所有的软件包 
yum update 
#更新特定的软件包 
yum update kernel 
#大规模的升级 
yum upgrade


3) rpm包的安装和删除

rpm包的安装和删除

yum install  <package_name>
yum remove  <package_name>

4) yum缓存的相关信息

#清楚缓存中rpm包文件 
yum clean packages 
#清楚缓存中rpm的头文件 
yum clean  headers 
#清除缓存中旧的头文件 
yum clean old headers 
#清除缓存中旧的rpm头文件和包文件 
yum clean all


5) 软件包信息查询

#列出资源库中所有可以安装或更新的rpm包 
yum list 
#列出资源库中特定的可以安装或更新以及已经安装的rpm包 
yum list firfox* 
N:可以在rpm包名中使用通配符,查询类似的rpm包
#列出资源库中所有可以更新的rpm包 
yum list updates 
#列出已经安装的所有的rpm包 
yum list installed 
#列出已经安装的但是不包含在资源库中的rpm包 
yum list extras 
N:通过如网站下载安装的rpm包  
#rpm包信息显示(info参数同list),列出资源库中所有可以安装或更新的rpm包的信息 
yum info 
#列出资源库中特定的可以安装或更新以及已经安装的rpm包的信息 
yum info firefox* 
N:可以在rpm包名中使用匹配符 
#列出资源库中所有可以更新的rpm包的信息
yum info updates 
#列出已经安装的所有的rpm包的信息
 yum info installed 
#列出已经安装的但是不包含在资源库中的rpm包的信息 
yum info extras 
N:通过如网站下载安装的rpm包的信息
#搜索匹配特定字符的rpm包   <keyword>
yum search firofox
#搜索包含特定文件的rpm包   <keyword>
yum provides firefox



实例

实例 1

安装 pam-devel


[root@www ~]# yum install pam-devel
Setting up Install Process
Parsing package install arguments
Resolving Dependencies  <==先检查软件的属性相依问题
--> Running transaction check
---> Package pam-devel.i386 0:0.99.6.2-4.el5 set to be updated
--> Processing Dependency: pam = 0.99.6.2-4.el5 for package: pam-devel
--> Running transaction check
---> Package pam.i386 0:0.99.6.2-4.el5 set to be updated
filelists.xml.gz          100% |=========================| 1.6 MB    00:05
filelists.xml.gz          100% |=========================| 138 kB    00:00
-> Finished Dependency Resolution
……(省略)

实例 2

移除 pam-devel

[root@www ~]# yum remove pam-devel
Setting up Remove Process
Resolving Dependencies  <==同样的,先解决属性相依的问题
--> Running transaction check
---> Package pam-devel.i386 0:0.99.6.2-4.el5 set to be erased
--> Finished Dependency Resolution
Dependencies Resolved
=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Removing:
 pam-devel               i386       0.99.6.2-4.el5   installed         495 k
Transaction Summary
=============================================================================
Install      0 Package(s)
Update       0 Package(s)
Remove       1 Package(s)  <==还好,并没有属性相依的问题,单纯移除一个软件
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Erasing   : pam-devel                    ######################### [1/1]
Removed: pam-devel.i386 0:0.99.6.2-4.el5
Complete!


实例 3

利用 yum 的功能,找出以 pam 为开头的软件名称有哪些?

[root@www ~]# yum list pam*
Installed Packages
pam.i386                  0.99.6.2-3.27.el5      installed
pam_ccreds.i386           3-5                    installed
pam_krb5.i386             2.2.14-1               installed
pam_passwdqc.i386         1.0.2-1.2.2            installed
pam_pkcs11.i386           0.5.3-23               installed
pam_smb.i386              1.1.7-7.2.1            installed
Available Packages <==底下则是『可升级』的或『未安装』的
pam.i386                  0.99.6.2-4.el5         base
pam-devel.i386            0.99.6.2-4.el5         base
pam_krb5.i386             2.2.14-10              base


yum软件源更新


国内 yum 源

网易(163)yum源是国内最好的yum源之一 ,无论是速度还是软件版本,都非常的不错。

将yum源设置为163 yum,可以提升软件包安装和更新的速度,同时避免一些常见软件版本无法找到。

安装步骤

首先备份/etc/yum.repos.d/CentOS-Base.repo

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup


下载对应版本repo文件, 放入/etc/yum.repos.d/(操作前请做好相应备份)

CentOS5 :http://mirrors.163.com/.help/CentOS5-Base-163.repo

CentOS6 :http://mirrors.163.com/.help/CentOS6-Base-163.repo

运行以下命令生成缓存

yum clean all
yum makecache


除了网易之外,国内还有其他不错的yum源,比如中科大和搜狐。

中科大的yum源,安装方法查看:

https://lug.ustc.edu.cn/wiki/mirrors/help/centos

sohu的yum源安装方法查看:

http://mirrors.sohu.com/help/centos.html

相关文章
|
1月前
|
Linux 虚拟化 开发者
一键将CentOs的yum源更换为国内阿里yum源
一键将CentOs的yum源更换为国内阿里yum源
2086 8
|
3月前
|
关系型数据库 MySQL Linux
在CentOS上使用yum安装与使用MySQL
在CentOS操作系统上使用yum包管理器安装和配置MySQL数据库的详细步骤,包括下载MySQL的yum源配置、安装MySQL服务、启动和停止服务、设置开机自启动、获取临时密码、修改root用户密码、授权用户以及处理相关问题。同时,文章还包含了一些操作的截图,帮助用户更直观地理解安装和配置过程。
703 0
在CentOS上使用yum安装与使用MySQL
|
3月前
|
Web App开发 缓存 Ubuntu
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
184 11
|
2月前
|
Linux
centos使用阿里的yum源
centos使用阿里的yum源
|
3月前
|
网络协议 Linux
CentOS7 yum安装报错“Could not resolve host: mirrorlist.centos.org;"之解决办法(换源)
CentOS7 yum安装报错“Could not resolve host: mirrorlist.centos.org; Name or service not known“之解决办法(换源)
|
3月前
|
缓存 Linux 网络安全
解决 CentOS 7 官方 yum 仓库无法使用的最佳实践
【8月更文挑战第18天】若 CentOS 7 的官方 YUM 仓库无法使用,可按以下步骤解决: 1. **检查网络连接**: - 确认服务器能正常上网,可通过访问外部网站或网络诊断测试。 - 检查防火墙设置,避免其阻挡 YUM 的网络访问。 2. **检查 YUM 配置**: - 核实 `/etc/yum.repos.d/` 下的 `CentOS-Base.repo` 文件中仓库地址正确无误。 - 确认配置文件内的 `enabled` 选项设为 `1` 以启用仓库。
1357 0
|
3月前
|
Linux Docker 容器
在CentOS操作系统上使用yum安装/使用/卸载Docker容器引擎
在CentOS操作系统上安装、配置、使用和卸载Docker容器引擎的详细步骤,包括配置Docker镜像加速的方法。
317 0
|
3月前
|
安全 Java 应用服务中间件
如何通过 Yum 在 CentOS 7 上安装 Apache Tomcat 7
如何通过 Yum 在 CentOS 7 上安装 Apache Tomcat 7
184 0
|
3月前
|
jenkins Java Devops
CentOS 7上安装 Jenkins 2.346 -- yum 方式
CentOS 7上安装 Jenkins 2.346 -- yum 方式
162 0
|
3月前
|
jenkins Linux 持续交付
CentOS 7上安装 Jenkins 2.227 -- yum 方式
CentOS 7上安装 Jenkins 2.227 -- yum 方式
158 0