CentOS系統作為紅帽系列的一款linux系統,因為其免費、開源,在中小企業中得到了廣泛應用,生產上為了更好的利用資源,都采用最小系統安裝,因為一個圖形界面都會占去系統資源的30%到40%,生產上一般都是最經濟原則,不裝圖形界面,軟件也是需要什么裝什么,一般通過ssh連接或者xshell連接即可。本文從以下四個方面給出了CentOS系統的最小化安裝及在線yum源的配置。
大綱:
一、搭建CnetOS6.5x64最小系統。
二、ip,主機名等的相關配置。
三、本地和在線yum源的配置。
四、快照及克隆。
一、搭建CentOS6.5x64的最小系統。
看圖,一步一步來即可





硬盤大小20G 足夠用了, 即使后續不夠可,可以再添加硬盤,做成磁盤陣列也是可以的。
單個磁盤文件比多個文件好些,如果不准備移動,那么就用單個磁盤文件。



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".
如果不想用這個軟件組了,可以yum groupremove "Develop tools";
當然了,如果yum源都沒有,那么一切都白搭,所以后續會講到yum源的配置。
正在安裝:



第二步、ip,主機名等的相關配置。
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)的定義,每行為一個主機,每行由三部份組成,每個部份由空格隔開。
- 第一部份:網絡IP地址;
- 第二部份:主機名.域名,注意主機名和域名之間有個半角的點,比如 mast.org;
- 第二部份:主機名(主機名別名),其實這才是真正的主機名;
下面是我的配置文件:

把這上面這個配置文件的內容分別寫入每台機器的/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

三、本地和在線yum源的配置。
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
1、備份(如有配置其他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
2、下載新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

