CentOS(以及红帽系列)都有yum软件源的概念,即在终端通过命令可以直接从软件源下载软件并安装。除了网络上的软件源(如网易、搜狐、中科大镜像)外,我们也可以使用下载好的CentOS镜像来作为软件源。它包含了大部分常用软件,而在我们安装CentOS系统的时候,很多时候是选择性安装的,所以并没有把所有的软件安装到系统中。

因为很多人是在虚拟机里配置Linux的,所以这里介绍一些如何在VirtualBox中配置CentOS本地磁盘镜像作为其软件源。学会了这个,即使不是虚拟机,就是在实体机上安装的CentOS,你也会配置你光驱里的磁盘作为yum软件源了。

准备工作

下载VirtualBox软件和CentOS的磁盘镜像(.iso文件)
在VirtualBox虚拟机中安装好CentOS,安装步骤不叙述。

开始配置

操作1 打开虚拟机设置

打开你的VirtualBox软件(主要先不要打开CentOS系统)。选中你的虚拟机后,点击上面的“设置”
点击左侧的“存储”

操作2 添加磁盘镜像iso
可以看到这里的存储树。有两类控制器IDE和SATA,这是模拟的主板上的两种接口。在SATA的控制器的centos.vdi就是虚拟的硬盘,我们安装好的系统就在它上面。理论上来说我们的磁盘镜像iso文件可以添加到任何一种接口上,但是因为我们已经安装好了系统,如果我们把iso文件添加到控制器IDE下面,那么当我们再次打开centos系统的时候,将会变成重新安装系统。因为这里的存储盘片的顺序也是虚拟机启动存储设备的顺序(镜像iso在硬盘centos.vdi之前),就好比我们用U盘给实体机装系统的时候,要设置U盘启动一样。所以我们要把iso文件添加到centos.vdi之后

点击控制器SATA后面的添加虚拟光驱图标
在打开的文件管理器对话框中选择你的iso文件

操作3 启动CentOS虚拟机
打开之后,登录进去。再打开终端。这里不赘述。我安装的centos是没安装图形界面的,所以我直接操作。

操作4 开始配置软件源
1. 用lsblk命令查看一下,光驱的位置

可以看到那个3.9G的就是我们的磁盘iso文件。所以它对应的sr1就是磁盘所在光驱的位置(/dev/sr1)

在实体机中配置的时候,很多时候我们不去查看lsblk的结果。就认作是/dev/cdrom,虚拟机中则会有问题。我们来用命令ll /dev/cdrom来看一下

可以看到/dev/cdrom实际上是sr0的符号链接。而我们虚拟中光驱的位置是sr1

2. 创建挂载点目录
我们要使用光驱里的镜像文件,需要被它挂载到当前系统上。这个挂载位置称为挂载点,通常是在 /mnt/ 或者 /media/ 目录下,创建一个子目录

mkdir /mnt/cdrom #在/mnt下创建目录cdrom

3. 设置开机自动挂载
通常情况下,我们用mount命令来手动挂载光驱到/mnt/cdrom目录下,但是这样每次重新开机后,都要敲命令是比较麻烦的。我们可以编辑fstab文件来设置开机自动挂载。
用vi(或其他你顺手的编辑器)来编辑吧:vi /etc/fstab/
在最下面来加上这样一句:`/dev/sr1 /mnt/cdrom iso9660 default 0 2

设备位置 挂载点 文件系统 挂载选项 是否备份 检查文件系统的顺序
/dev/sr1 /mnt/cdrom iso9660 default 0 2

文件系统的检查顺序这个字段是不固定的,依据你当前fstab文件中已有的条目,依次递增这个字段(我的硬盘设备的该字段为1)。如果不想检查则设为0


4. 编辑yum软件源配置文件
确切的说yum的软件源叫做repository server(仓库 服务器)。其配置文件在 /etc/yum.repos.d/目录下。

编辑/etc/yum.repos.d/CentOS-Media.repo 文件的baseurl,设置enable=1,内容如下

repo文件的格式由多个字段组成,可以使用的字段不止图中这几个,还有其他的。这里介绍这几个字段的含义

baseurl gpgcheck gpgkey enable
字段 解释
[ ] 方括号包裹的是仓库服务器的id,名称随意,但要保证不和已有的仓库id名重复
name 是仓库的名字,也任意
基础路径。它支持三种协议http、ftp、file。图中的file:///mnt/cdrom分成两段来理解:file://(协议名) , /mnt/cdrom(挂载点)。若有多个baseurl则依次写出
gpg密钥检查字段,值1为则检查gpg密钥,0为不检查
gpg密钥所在路径。最后的文件名可能不同centos版本不同。提前检查一下你的/etc/pki/rpm-gpg目录中的文件
是否启用该仓库服务器,值为1则启用,0为不启用

5. 检查并重启
用yum repolist all命令来检查一下:

重启的目的是为了让系统在开机的时候自动挂载。在重启之后,你可以用yum命令安装几个常用软件试试

yum install xinetd
yum install openssh-server如果能正确安装就证明你成功了

yum -y install httpd //安装Apache,-y 自动回答yes

常见问题
Couldn't open file /etc/pki/rpm-gpg/RPM-GPG-KEY...
在用yum安装软件的时候可能会报Couldn't open file /etc/pki/rpm-gpg/RPM-GPG-KEY...这样类似的错误,就是说不能打开gpg密钥。解决办法有两个:

  1. 关闭gpg密钥检查。即编辑刚才的.repo文件,将其gpgcheck字段的值设置为0
  2. 导入gpg密钥。使用命令:rpmkeys --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 注意不同的系统版本最后密钥名称不同,请检查你的/etc/pki/rpm-gpg/目录

转自http://www.linuxidc.com/Linux/2015-02/113380p2.htm

VirtualBox中配置CentOS的本地磁盘镜像作为其软件源的更多相关文章

  1. XCode 5远程调试OS X应用程序

    我正在使用XCode5.0.2在OSX10.9上开发一个应用程序并获得了一个我无法在这台开发机器上重现的错误报告.但是,我有一个10.7虚拟机出现崩溃,所以我想调试那里没有在这个VM中安装XCode.我搜索了有关远程调试的信息,但我没有得到有用的答案.我甚至担心它根本不受支持.但无论如何我还是要问一下.或者,除了执行完整的XCode安装等之外,还有哪些其他选项来调试这样的问题?

  2. 在两个屏幕上运行的iOS应用程序(无镜像)

    我创建了一个包含幻灯片的iPad应用程序,当用户点击此幻灯片时,他/她可以输入一些信息.我现在要做的是在通过AirPlay连接电视和iPad时在电视上显示幻灯片显示内容可以这样做吗?如何在iOS中完成?所以不要反映整个应用程序.解决方法您可以使用Airplay和AppleTV编写应用程序以处理2个UIScreens,然后为电视UIScreen和iPadUIScreen设置单独的根视图控制器.然后在电视的视图控制器上显示图像或幻灯片,并从iPad视图控制器的事件中运行该图像或幻灯片!

  3. ios – 如何镜像UIBezierPath?

    我有一个UIBezierPath,我想得到它的镜像.我该如何做到这一点?

  4. ios – Airplay:外部窗口镜像子视图

    米解决方法称为AirPlay镜像的技术命名不佳.它实际上以两种模式运行,一种是将整个iOS设备镜像到AirPlay设备,另一种模式下,一旦连接了镜像AirPlay设备,开发人员就可以使用两个UIWindow/UIScreen.您正在使用后一种模式,通常被称为“镜像”,但是您真的有一个完全独立的窗口/屏幕进行管理,应该有更好的术语来指代这种操作模式.上面所描述的内容基本上是将UIView从设备窗口移动到AirPlay窗口,它的工作原理与之一致!

  5. iOS AirPlay:我的应用程序仅在镜像开启时通知外部显示器?

    >为什么我的应用程序会收到通知我开镜像时的外部显示……我显然误解了一些东西,但是看起来像镜像应该通知我的应用程序外部显示器已经消失代码示例如下.在此先感谢您的帮助!

  6. cinder swift的区别

    [原]OpenStack入门以及一些资料之2014-4-29阅读1144评论0注:本文内容均来自网络,我只是在此做了一些摘抄和整理的工作,来源均有注明。它拥有自己的文件系统,通过网络文件系统NFS或通用文件系统CIFS对外提供文件访问服务。Raid,不同的raid等级在增加数据可靠性以及增加存储器(群)读写性能间取得平衡。卷组描述区域,和磁盘将包含分区信息的元数据保存在位于分区的起始位置的分区表中一样,逻辑卷以及卷组相关的元数据也是保存在位于物理卷的VGDA中。

  7. OpenStack中Swift和cinder区别

    swift是objectstorage,将object存储到bucket里,你可以用swift创建container,然后上传文件,例如视频,照片,这些文件会被replication到不同服务器上以保证可靠性,swift可以不依靠虚拟机工作。如果你把这个虚拟机terminate了,这个volume和里边的数据依然还在,你还可以把它接到其他虚拟机上继续使用里边的数据。cinder创建的volume必须被接到虚拟机上才能工作。

  8. 让你真正明白cinder与swift、glance的区别

    Cinder——提供块存储,类似于Amazon的EBS块存储服务,目前仅给虚机挂载使用。Cinder包含以下三个主要组成部分APIservice:Cinder-api是主要服务接口,负责接受和处理外界的API请求,并将请求放入RabbitMQ队列,交由后端执行。Cinder目前提供VolumeAPIV2Schedulerservice:处理任务队列的任务,并根据预定策略选择合适的VolumeService节点来执行任务。目前版本的cinder仅仅提供了一个SimpleScheduler,该调度器选择卷数量

  9. Swift属性观察者在协议扩展?

    换句话说,我可以观察协议扩展中的属性的更改吗?这并不意味着它是不可能实现的,但如果我们有这样的话可能会有点令人惊讶.

  10. 解决Swift 3中缺少递归协议约束的问题

    Swift3目前对“递归协议约束”有一个限制.有一个公开的问题here,在here,here和here有类似的讨论.但是,我仍然没有看到应该如何解决这个限制.可能吗?或者我需要开始引入较不严格的协议,直到在Swift中实现?会出现.然而,通过这种方法,我们可以得到正确的类型,而无需做很多专业化.当然,可以添加更多的协议来获得更多的抽象,但同样的解决方案将会适用.由于某些原因/语言缺陷,您必须在View.foo中分配委托时使用显式转换:viewmodel.delegate=selfas?

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部