CentOS系统做为红帽系列的一款linux系统,由于其免费、开源,在中小企业中获得了普遍应用,生产上为了更好的利用资源,都采用最小系统安装,由于一个图形界面都会占去系统资源的30%到40%,生产上通常都是最经济原则,不装图形界面,软件也是须要什么装什么,通常经过ssh链接或者xshell链接便可。本文从如下四个方面给出了CentOS系统的最小化安装及在线yum源的配置。html
大纲:
1、搭建CnetOS6.5x64最小系统。
2、ip,主机名等的相关配置。
3、本地和在线yum源的配置。
4、快照及克隆。linux
看图,一步一步来便可shell
硬盘大小20G 足够用了, 即便后续不够可,能够再添加硬盘,作成磁盘阵列也是能够的。vim
单个磁盘文件比多个文件好些,若是不许备移动,那么就用单个磁盘文件。centos
2. 启动虚拟机:安装最小系统。缓存
这个地方简单说明一下:若是你在安装的时候,忘记选择某些soft repositories ,好比说:“Develop tools” 这个repository忘记安装了,服务器
或者你后续还想安装其他的repositories,那么能够用yum group list 看一下:网络
[root@xiaolyu ~]# yum grouplist Loaded plugins: fastestmirror, security Setting up Group Process Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * epel: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com Installed Groups: Base E-mail server Graphical Administration Tools Hardware monitoring utilities Legacy UNIX compatibility Networking Tools Performance Tools Perl Support Security Tools System administration tools Available Groups: Additional Development Backup Client Backup Server CIFS file server Client management tools Compatibility libraries Console internet tools Debugging Tools Desktop Desktop Debugging and Performance Tools Desktop Platform Desktop Platform Development Development tools Dial-up Networking Support Directory Client Directory Server Eclipse Emacs FCoE Storage Client FTP server Fonts General Purpose Desktop Graphics Creation Tools Guest Agents High Availability High Availability Management Identity Management Server Infiniband Support Input Methods Internet Applications Internet Browser Java Platform KDE Desktop Large Systems Performance Legacy X Window System compatibility Load Balancer Mainframe Access Messaging Client Support MySQL Database client MySQL Database server NFS file server Network Infrastructure Server Network Storage Server Network file system client Office Suite and Productivity PHP Support PostgreSQL Database client PostgreSQL Database server Print Server Printing client Remote Desktop Clients Resilient Storage Ruby Support SNMP Support Scalable Filesystems Scientific support Server Platform Server Platform Development Smart card support Storage Availability Tools System Management TeX support Technical Writing TurboGears application framework Virtualization Virtualization Client Virtualization Platform Virtualization Tools Web Server Web Servlet Engine Web-Based Enterprise Management X Window System iSCSI Storage Client Available Language Groups: Afrikaans Support [af] Albanian Support [sq] Amazigh Support [ber] Arabic Support [ar] Armenian Support [hy] Assamese Support [as] Azerbaijani Support [az] Basque Support [eu] Belarusian Support [be] Bengali Support [bn] Bhutanese Support [dz] Brazilian Portuguese Support [pt_BR] Breton Support [br] Bulgarian Support [bg] Catalan Support [ca] Chhattisgarhi Support [hne] Chichewa Support [ny] Chinese Support [zh] Coptic Support [cop] Croatian Support [hr] Czech Support [cs] Danish Support [da] Dutch Support [nl] English (UK) Support [en_GB] Esperanto Support [eo] Estonian Support [et] Ethiopic Support [am] Faroese Support [fo] Fijian Support [fj] Filipino Support [fil] Finnish Support [fi] French Support [fr] Frisian Support [fy] Friulian Support [fur] Gaelic Support [gd] Galician Support [gl] Georgian Support [ka] German Support [de] Greek Support [el] Gujarati Support [gu] Hebrew Support [he] Hiligaynon Support [hil] Hindi Support [hi] Hungarian Support [hu] Icelandic Support [is] Indonesian Support [id] Interlingua Support [ia] Inuktitut Support [iu] Irish Support [ga] Italian Support [it] Japanese Support [ja] Kannada Support [kn] Kashmiri Support [ks] Kashubian Support [csb] Kazakh Support [kk] Khmer Support [km] Kinyarwanda Support [rw] Konkani Support [kok] Korean Support [ko] Kurdish Support [ku] Lao Support [lo] Latin Support [la] Latvian Support [lv] Lithuanian Support [lt] Low Saxon Support [nds] Luxembourgish Support [lb] Macedonian Support [mk] Maithili Support [mai] Malagasy Support [mg] Malay Support [ms] Malayalam Support [ml] Maltese Support [mt] Manx Support [gv] Maori Support [mi] Marathi Support [mr] Mongolian Support [mn] Myanmar (Burmese) Support [my] Nepali Support [ne] Northern Sotho Support [nso] Norwegian Support [nb] Occitan Support [oc] Oriya Support [or] Persian Support [fa] Polish Support [pl] Portuguese Support [pt] Punjabi Support [pa] Romanian Support [ro] Russian Support [ru] Sanskrit Support [sa] Sardinian Support [sc] Serbian Support [sr] Sindhi Support [sd] Sinhala Support [si] Slovak Support [sk] Slovenian Support [sl] Somali Support [so] Southern Ndebele Support [nr] Southern Sotho Support [st] Spanish Support [es] Swahili Support [sw] Swati Support [ss] Swedish Support [sv] Tagalog Support [tl] Tajik Support [tg] Tamil Support [ta] Telugu Support [te] Tetum Support [tet] Thai Support [th] Tibetan Support [bo] Tsonga Support [ts] Tswana Support [tn] Turkish Support [tr] Turkmen Support [tk] Ukrainian Support [uk] Upper Sorbian Support [hsb] Urdu Support [ur] Uzbek Support [uz] Venda Support [ve] Vietnamese Support [vi] Walloon Support [wa] Welsh Support [cy] Xhosa Support [xh] Zulu Support [zu] Done
找到你但愿装的软件组,好比:“Develop tools”, yum groupinstall "Develop tools".app
若是不想用这个软件组了,能够yum groupremove "Develop tools";ssh
固然了,若是yum源都没有,那么一切都白搭,因此后续会讲到yum源的配置。
正在安装:
1. 先设置ip,方便进行xshell的链接和后续的在线yum源的安装。
这里采用桥接模式:
在vmware上【edit】-> 【virtual network edit】按下图设置便可。
在我新装的虚拟机上右键【setting】按下图设置便可。
修改ip地址的配置文件。 vi /etc/sysconfig/network-scripts/ifcfg-eth0
而后重启服务: service network restart
看一下本机地址:ifconfig
看一下:宿主机的ip地址:
而后ping 一下宿主机的ip地址和百度的网址测试一下内外网是否相通:
ping 192.168.31.160
ping www.baidu.com
由于内外网已经通了,能够链接xshell了,后续的操做便在xshell中进行:
2. 清空iptables
1)iptables -F 清空iptables的相关配置,而后保存该配置文件。咱们能够man iptables查看iptales的相关命令。这里不展开。
2)直接关闭iptables 的开机自启动。
咱们知道rhel6只要是服务,均可以经过chkconfig service-name off 来关闭开机自启动。
iptables做为可执行文件,在/etc/init.d的目录下,固然能够啦。通常在该目录下都是服务,而不是通常的应用程序。
chkconfig iptables off
2. 关闭selinux服务。
1)查看selinux服务:
2)关闭selinux。修改配置文件.
vi /etc/sysconfig/selinux
检验是selinux是否被关闭,须要重启系统:reboot。
若是只是临时关闭selinux ,能够执行命令setenforce 0.
reboot 以后是这个样子:
3. 主机名的修改以及与ip之间映射配置文件说明
#hostname xxx 命令能够临时修改机器名,但机器从新启动以后就会恢复原来的值。
#hostname 查看主机名
#hostname -i 查看本机器名对应的ip地址
vim /etc/hosts 这个文件,就是咱们一般配置主机名,和主机名与ip之间映射的地方。
通常状况下hosts的内容关于主机名(hostname)的定义,每行为一个主机,每行由三部份组成,每一个部份由空格隔开。
下面是个人配置文件:
把这上面这个配置文件的内容分别写入每台机器的/etc/hosts内容中,这样这两台局域网的机器就能够经过hostname来访问了。后面的服务ssh 远程登陆就用到了主机名和ip地址的映射。
hostname -i 查看本机主机名和ip地址的对应关系。
固然每行也能够是两部份,就是主机IP地址和主机名;例如 192.168.31.76 xiaolyu76
127.0.0.1 是回环地址,好比咱们不想让局域网的其它机器看到咱们测试的网络程序,就能够用回环地址来测试。
为何须要定义ip与主机名的映射呢?
其实理解也简单,好比咱们有三台主机,每台作不一样的事,一台作MAIL服务器,一台作FTP服务器,一台作SMB服务器,因此咱们就能够这样来设计hostname;
修改主机名,修改为你喜欢的主机名。
vi /etc/sysconfig/network
若是想临时修改一下主机名,能够这样:hostname host-name
redhat系列的linux,包含fedora和centos,安装软件,最经常使用的无外乎:yum安装和rpm安装。
yum软件安装,由于不须要依赖包,以及没必要指出具体的软件版本,安装起来极为方便,所以获得了普遍的应用。
1. 本地yum源的配置:
由于本地的yum源,就是咱们的iso镜像系统中的软件包,所以,须要先挂在ISO镜像文件,也即:/dev/sr0。
配置本地yum源:
说明:yum源的文件名以repo为后缀,这是linux中为数很少的区分后缀名的例子。
配置本地yum源后,须要先清空yun 缓存: yum clean all
而后生成yum列表: yum list
来咱们来试试,用yum安装一下vim : yum install -y vim // -y 取消交互式安装,不用提示。
2. 在线yum源的配置:
centos是不须要注册的,因此能够获取在线yum源,固然了,rhel6也能够经过获取centos的在线yun源来配置本身的yum源。
为了便于资料保存,这里给出了CentOS5,6,7的在线yum源的配置方法。
配置网络yum源
阿里云镜像源站点(http://mirrors.aliyun.com/)。
centos镜像参考:http://mirrors.aliyun.com/help/centos
网易163开源镜像网站:(http://mirrors.163.com/)
CentOS镜像参考:http://mirrors.163.com/.help/centos.html
中科大开源镜像网站:http://centos.ustc.edu.cn/
搜狐的Linux安装镜像源:http://mirrors.sohu.com/
北京首都在线科技:http://mirrors.yun-idc.com/
上面的几个国内的开源镜像网站,通常前两个就能够了,固然了,最好的方法是不一样的linux虚拟机配置不一样的在线yum源,经过比较最终选择本身最满意的yum源。
操做彻底同样。
1)、备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2)、下载新的CentOS-Base.repo 到/etc/yum.repos.d/
CentOS 5
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
CentOS 6
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3)、以后运行yum makecache生成缓存。
rhel 网络yum源的配置:
RHEL系统配置:
yum clean all
yum list
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
sed -i 's/$releasever/6.7/g' /etc/yum.repos.d/CentOS-Base.repo
yum clean all
yum list
3. 扩展yum源:epel源的配置:
配置epel源:
配置参考:http://mirrors.aliyun.com/help/epel
Epel
一、备份(若有配置其余epel源)
mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup
二、下载新repo 到/etc/yum.repos.d/
epel(RHEL 7)
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
epel(RHEL 6)
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
epel(RHEL 5)
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-5.repo
当配置在线yum源成功后,进行yum clean all以后,用yum makecache生成yum缓存时,报以下错误:
[root@xiaolyu11 network-scripts]# yum makecache Loaded plugins: fastestmirror, security Determining fastest mirrors * base: mirrors.aliyun.com * epel: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com http://mirrors.aliyun.com/centos/6/os/x86_64/repodata/repomd.xml: [Errno 12] Timeout on http://mirrors.aliyun.com/centos/6/os/x86_64/repodata/repomd.xml: (28, 'Connection time-out') Trying other mirror. http://mirrors.aliyuncs.com/centos/6/os/x86_64/repodata/repomd.xml: [Errno 12] Timeout on http://mirrors.aliyuncs.com/centos/6/os/x86_64/repodata/repomd.xml: (28, 'connect() timed out!') Trying other mirror. Error: Cannot retrieve repository metadata (repomd.xml) for repository: base. Please verify its path and try again [root@xiaolyu11 network-scripts]#
解决方法:
1. 修改DNS。添加辅助dns。
[root@xiaolyu11 network-scripts]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=192.168.31.11 NETMASK=255.255.255.0 GETWAY=192.168.31.1 DNS1=8.8.8.8 DNS2=8.8.4.4
也就是ifcfg-eth0末尾添加两行DNS配置,若是原来有8.8.8.8,那么也必定要加上8.8.4.4,这两个地址是google提供的免费DNS服务器的IP地址。
2. 重启network 服务
[root@xiaolyu11 network-scripts]# service network restart Shutting down interface eth0: [ OK ] Shutting down loopback interface: [ OK ] Bringing up loopback interface: [ OK ] Bringing up interface eth0: Determining if ip address 192.168.31.11 is already in use for device eth0... [ OK ]
该警告通常是因为网卡解析arp协议致使的,可在网卡的配置文件中加入ARPCHECK=NO参数来屏蔽该检查
[root@xiaolyu11 network-scripts]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=192.168.31.11 NETMASK=255.255.255.0 GETWAY=192.168.31.1 DNS1=8.8.8.8 DNS2=8.8.4.4 ARPCHECK=no
网卡配置文件末尾添加:ARPCHECK=no
再次重启网络服务:
3. yum makecache,成功:
[root@xiaolyu11 network-scripts]# yum makecache Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * epel: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com base | 3.7 kB 00:00 base/group_gz | 226 kB 00:00 base/filelists_db | 6.4 MB 00:06 base/primary_db | 4.7 MB 00:04
若是在配置在线yum源的过程当中,也出现关于镜像地址问题,尤为是宿主机和虚拟机能够通讯,虚拟机又能够ping www.baidu.com一般的状况下,
请按照上面的方面进行解决。
说明快照和克隆,必须在虚拟机中,不能在xshell中进行。
1. 快照:
快照比较简单,这里不详细描述。
2. 克隆:
首先说明:要克隆一个虚拟机,必须是在虚拟机关机的状况下才能够克隆,因此克隆一个虚拟机以前,应该先将该虚拟机关机。
在VMware中选择->【VM】->【Manage】->【clone】:
进入以下界面:
克隆完成后,须要作的相关工做:
1)开机运行虚拟机,vim /etc/sysconfig/network-scripts/ifcfg-eth0
删掉mac地址和uuid,否则的话和我原来的机器如出一辙,这个克隆机仍是不能用。下次重启的时候会自动生成新的mac地址和uuid。
若是有ip地址,ip地址也要修改。
我这里暂时尚未作集群,因此主机名,这里就不修改了。修改方法见上面。
原配置文件:
修改后的配置文件:
2)删掉网卡。
rm-rf /etc/udev/rules.d/70-persistent-net.rules
重启系统:reboot
有一点:我也很奇怪:就是为何配置文件中没有mac地址和uuid呢?
vim /etc/sysconfig/network-scripts/ifcfg-eth0