## 配置主機名稱
修改“/etc/hostname”主機名稱文件。
## 配置網卡
在RHEL 5、RHEL 6中,網卡配置文件的前綴為eth,第1塊網卡為eth0,第2塊網卡為eth1;以此類推。而在RHEL 7中,網卡配置文件的前綴則以ifcfg開始,加上網卡名稱共同組成了網卡配置文件的名字,例如ifcfg-eno16777736;
現在有一個名稱為ifcfg-eno16777736的網卡設備,我們將其配置為開機自啟動,并且IP地址、子網、網關等信息由人工指定,其步驟應該如下所示。
第1步:首先切換到`/etc/sysconfig/network-scripts`目錄中(存放著網卡的配置文件)。
第2步:使用Vim編輯器修改網卡文件ifcfg-eno16777736,逐項寫入下面的配置參數并保存退出。由于每臺設備的硬件及架構是不一樣的,因此請讀者使用ifconfig命令自行確認各自網卡的默認名稱。
> 設備類型:TYPE=Ethernet
> 地址分配模式:BOOTPROTO=static
> 網卡名稱:NAME=eno16777736
> 是否啟動:ONBOOT=yes
> IP地址:IPADDR=192.168.10.10
> 子網掩碼:NETMASK=255.255.255.0
> 網關地址:GATEWAY=192.168.10.1
> DNS地址:DNS1=192.168.10.1
第3步:重啟網絡服務并測試網絡是否聯通。
進入到網卡配置文件所在的目錄,然后編輯網卡配置文件,在其中填入下面的信息:
```
[root@linuxprobe ~]# cd /etc/sysconfig/network-scripts/
[root@linuxprobe network-scripts]# vim ifcfg-eno16777736
TYPE=Ethernet
BOOTPROTO=static
NAME=eno16777736
ONBOOT=yes
IPADDR=192.168.10.10
NETMASK=255.255.255.0
GATEWAY=192.168.10.1
DNS1=192.168.10.1
```
執行重啟網卡設備的命令(在正常情況下不會有提示信
```
systemctl restart network
```
## 配置Yum
Yum軟件倉庫的作用是為了進一步簡化RPM管理軟件的難度以及自動分析所需軟件包及其依賴關系的技術。可以把Yum想象成是一個碩大的軟件倉庫,里面保存有幾乎所有常用的工具,而且只需要說出所需的軟件包名稱,系統就會自動為您搞定一切。
第1步:進入到/etc/yum.repos.d/目錄中(因為該目錄存放著Yum軟件倉庫的配置文件)。
第2步:使用Vim編輯器創建一個名為rhel7.repo的新配置文件(文件名稱可隨意,但后綴必須為.repo),
```
[rhel-media] :Yum軟件倉庫唯一標識符,避免與其他倉庫沖突。
name=linuxprobe:Yum軟件倉庫的名稱描述,易于識別倉庫用處。
baseurl=file:///media/cdrom:提供的方式包括FTP(ftp://..)、HTTP(http://..)、本地(file:///..)。
enabled=1:設置此源是否可用;1為可用,0為禁用。
gpgcheck=1:設置此源是否校驗文件;1為校驗,0為不校驗。
gpgkey=file:///media/cdrom/RPM-GPG-KEY-redhat-release:若上面參數開啟校驗,那么請指定公鑰文件地址。
```
第3步:按配置參數的路徑掛載光盤,并把光盤掛載信息寫入到/etc/fstab文件中。
第4步:使用“yum install httpd -y”命令檢查Yum軟件倉庫是否已經可用。
進入/etc/yum.repos.d目錄中后創建Yum配置文件:
```
[root@linuxprobe ~]# cd /etc/yum.repos.d/
[root@linuxprobe yum.repos.d]# vim rhel7.repo
[rhel7]
name=rhel7
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0
```
創建掛載點后進行掛載操作,并設置成開機自動掛載(詳見第6章)。嘗試使用Yum軟件倉庫來安裝Web服務,出現Complete!則代表配置正確:
```
[root@linuxprobe yum.repos.d]# mkdir -p /media/cdrom
[root@linuxprobe yum.repos.d]# mount /dev/cdrom /media/cdrom
mount: /dev/sr0 is write-protected, mounting read-only
[root@linuxprobe yum.repos.d]# vim /etc/fstab
/dev/cdrom /media/cdrom iso9660 defaults 0 0
[root@linuxprobe ~]# yum install httpd
Loaded plugins: langpacks, product-id, subscription-manager
………………省略部分輸出信息………………
Dependencies Resolved
===============================================================================
Package Arch Version Repository Size
===============================================================================
Installing:
httpd x86_64 2.4.6-17.el7 rhel 1.2 M
Installing for dependencies:
apr x86_64 1.4.8-3.el7 rhel 103 k
apr-util x86_64 1.5.2-6.el7 rhel 92 k
httpd-tools x86_64 2.4.6-17.el7 rhel 77 k
mailcap noarch 2.1.41-2.el7 rhel 31 k
Transaction Summary
===============================================================================
Install 1 Package (+4 Dependent packages)
Total download size: 1.5 M
Installed size: 4.3 M
Is this ok [y/d/N]: y
Downloading packages:
-------------------------------------------------------------------------------
………………省略部分輸出信息………………
Complete!
```
## 接收用戶參數
- $0對應的是當前Shell腳本程序的名稱
- $#對應的是總共有幾個參數
- $*對應的是所有位置的參數值
- $?對應的是顯示上一次命令的執行返回值,而$1、$2、$3……則分別對應著第N個位置的參數值

## 判斷用戶參數
按照測試對象來劃分,條件測試語句可以分為4種:
- 文件測試語句;
- 邏輯測試語句;
- 整數值比較語句;
- 字符串比較語句。
使用free -m命令查看內存使用量情況(單位為MB),然后通過grep Mem:命令過濾出剩余內存量的行,再用awk '{print $4}'命令只保留第四列,最后用FreeMem=`語句`的方式把語句內執行的結果賦值給變量。
```
[root@linuxprobe ~]# free -m
total used free shared buffers cached
Mem: 1826 1244 582 9 1 413
-/+ buffers/cache: 830 996
Swap: 2047 0 2047
[root@linuxprobe ~]# free -m | grep Mem:
Mem: 1826 1244 582 9
[root@linuxprobe ~]# free -m | grep Mem: | awk '{print $4}'
582
[root@linuxprobe ~]# FreeMem=`free -m | grep Mem: | awk '{print $4}'`
[root@linuxprobe ~]# echo $FreeMem
582
[root@linuxprobe ~]# [ $FreeMem -lt 1024 ] && echo "Insufficient Memory"
Insufficient Memory
```