解決在 CentOS Linux 重新啟動網路時出現的警告訊息

重新安裝了一台 CentOS Linux 6.x,重新啟動網路時會出現如下面的警告訊息
看訊息似乎 IP 已經有別的電腦使用了,但很確定是沒有其它的電腦正在使用。
而且網路也可以正常執行,只是看到這樣的訊息,有些礙眼。
Determining if ip address xxx.xxx.xxx.xxx is already in use for device eth0…
[@more@]解決方式:
參考網站:Linux下network提示Determining if ip address_百度经验

在每一片網路卡的設定中加入 ARPCHECK=no
不做 arp 的檢查

重新啟動網路後,就沒有再出現警告的訊息了!
# /etc/init.d/network restart

或 參考:RHEL/CentOS 6 ip address is already in use for device eth0 | SingleRack Hosting Solution
一次完成

# find /etc/sysconfig/network-scripts -name ifcfg* -type f -exec sh -c ‘echo ARPCHECK=no >> $1’ — {} ;

CentOS 6.x 設定網路

原本在 CentOS 6.x 設定網路時,都是直接先用 DHCP 取得 IP 後,再去複製別台 Server 的設定過來修改,不過剛好在區網中並沒有 DHCP Server 或是其它的 Server 的設定可以參考,一時之間又無法完全記住要如何設定,這時候就可以利用 system-config-network-tui 來進行設定。
以管理者身份執行
# system-config-network-tui
-bash: system-config-network-tui:命令找不到

如果出現上面的畫面,代表系統沒有安裝,底下是安裝指令
# yum install system-config-network-tui[@more@]執行

原本的 IP 設定
# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:0C:29:84:76:57
          inet addr:192.168.1.115  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe84:7657/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:10306 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4903 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:8055677 (7.6 MiB)  TX bytes:463560 (452.6 KiB)

重新啟動網路
# service network restart
正在停用 eth0 介面:                                       [  確定  ]
正在停用 loopback 介面:                                   [  確定  ]
正在啟動 loopback 介面:                                   [  確定  ]
正在啟動 eth0 介面:                                       [  確定  ]

更新後 IP 設定
# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:0C:29:84:76:57
          inet addr:192.168.1.55  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe84:7657/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:10306 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4903 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:8055677 (7.6 MiB)  TX bytes:463560 (452.6 KiB)

客製化 CentOS 6.7 x86_64 Server 光碟

因為試裝了 CentOS 6.7 x86_64 光碟,也因為最近學校有些 Server,要重新安裝系統,所以就自行製作了這一片安裝 Server 的光碟。
安裝 CentOS 6.7 x86_64 Server 只要二步驟:設定 root 管理者密碼分割硬碟

已經取消倒數計時
[@more@]設定 root 管理者密碼

分割硬碟

不用挑選要安裝的套件,逕行安裝

安裝開機管理程式

安裝後的設定

這個版本的特點:
1. 套件更新到 2015-08-08
2. 套件更新伺服器改成臺灣
3. 預設啟動 LAMP (Linux + Apache + MySQL + PHP) / vsFTP Server
4. Apache Web Server 增加一些安全性上的設定
    ServerTokens Prod
    ServerSignature Off
5. MySQL Server 修改成 UTF-8 的使用環境
6. PHP 部分的設定,僅列出部份的修改
    時區改成 Asia/Taipei
    upload_max_filesize = 500M
    post_max_size = 500M
7. 修改 SELinux 讓 vsFTP Server 能正常使用(SELINUX=enforcing)
8. 每天早上 6 點向 time.stdtime.gov.tw 對時
9. 個人使用環境的設定…..等等

試裝 CentOS 6.7 x64 版本

和之前的版本幾乎都一樣
光碟開機畫面
[@more@]跳過光碟檢查

按 Next 繼續

安裝語系設定

鍵盤設定

安裝媒體設定

硬碟設定

網路設定

時區設定

root 管理者密碼設定

硬碟分割設定

硬碟分割確認

硬碟分割及格式化

安裝類型,預設是基本安裝

這裡以安裝 Web Server 為主,加上 自定安裝

自定安裝畫面

相依性確定及開始進行安裝程序

套件安裝中

安裝完成,重新開機

開機畫面

開機完成!

CentOS Linux 6.7

CentOS Linux 6.7 已經釋出,可以下載 ISO 檔來安裝,或使用 yum update 來更新到最新版本。
# yum update

關於 CentOS 6.7 的介紹可以參考:CentOS 6.7 發行注記
CentOS Linux ISO 6.7 版下載
i386
樹德科技大學
ftp://ftp.stu.edu.tw/Linux/CentOS/6.7/isos/i386/
元智大學
ftp://ftp.yzu.edu.tw/Linux/CentOS/6.7/isos/i386/
國立交通大學資訊工程學系
http://centos.cs.nctu.edu.tw/6.7/isos/i386/
Hinet IDC
http://mirror01.idc.hinet.net/CentOS/6.7/isos/i386/
義守大學
ftp://ftp.isu.edu.tw/pub/Linux/CentOS/6.7/isos/i386/
崑山科技大學
http://ftp.ksu.edu.tw/pub/CentOS/6.7/isos/i386/
國家高速網路與計算中心
ftp://ftp.twaren.net/Linux/CentOS/6.7/isos/i386/
頭城國小
ftp://140.111.74.109/CentOS/6.7/isos/i386/

[@more@]
x86_64
樹德科技大學
ftp://ftp.stu.edu.tw/Linux/CentOS/6.7/isos/x86_64/
元智大學
ftp://ftp.yzu.edu.tw/Linux/CentOS/6.7/isos/x86_64/
國立交通大學資訊工程學系
http://centos.cs.nctu.edu.tw/6.7/isos/x86_64/
Hinet IDC
http://mirror01.idc.hinet.net/CentOS/6.7/isos/x86_64/
義守大學
ftp://ftp.isu.edu.tw/pub/Linux/CentOS/6.7/isos/x86_64/
崑山科技大學
http://ftp.ksu.edu.tw/pub/CentOS/6.7/isos/x86_64/
國家高速網路與計算中心
ftp://ftp.twaren.net/Linux/CentOS/6.7/isos/x86_64/
頭城國小
ftp://140.111.74.109/CentOS/6.7/isos/x86_64/

在 Linux 中使用 screen 指令工具

screen 指令工具是一個非常方便的工具程式,有時工作到一半時,因為有事情要離開或是下班,但因為目前套件的安裝或編譯還未完成,如果中斷了,可能要重新再來一次,或是可能還會造成一些嚴重的後果,這時候如果可以把工作放在背景視窗,繼續工作,然後有空的話,再接續回來。
screen 指令工具就有這樣的功能,利用分離(Detach)功能,可以將視窗內的程序放入背景,即使登出主機切斷連線,只要該主機一直維持運作,分離的視窗就會持續地保留在背景。

安裝方式:
CentOS Linux
# yum install screen

Debian/Ubuntu Linux
$ sudo apt-get install screen

Arch Linux
# pacman -S screen

Gentoo Linux
# emerge screen[@more@]Screen 的功能非常強大,這裡只針對 分離(Detach) 來做說明
1. 登入主機後執行 screen 指令,執行之後畫面不會有任何變化
# screen

2. 退出的方式
# exit

3. 畫面會出現 [screen is terminating],表示已經退出 screen

4. 使用分離(Detach) 功能,執行 screen 後

執行要放入背景的工作,並按 CTRL+A 之後,再按 D
# /usr/bin/emerge -u world

工作會放到背景,畫面上會出現 [detached]

5. 執行 screen -ls 列出放在背景的視窗
# screen -ls
There is a screen on:
        31862.pts-0.share       (Detached)
1 Socket in /root/.screen.

6. 取出
# screen -r
# screen -r 31862.pts-0.share
因為目前只有一個工作,所以只要直接使用 -r 即可,如果有很多個,就要加上編號

7. 就取回原來的工作了!

Linux – 找出佔用磁碟空間最大的目錄/檔案

在 Linux 中 du / find  的功能非常強大,尤其是搭配 sort / head 指令後,可以快速尋找出所需的目錄/檔案及佔用磁碟空間最大的目錄/檔案。
找出 /home 目錄中佔用磁碟空間最大的目錄
# du -hsx /home/* | sort -hr | head
15G     /home/share
13G     /home/s0990
12G     /home/www
6.3G    /home/t850008
6.2G    /home/s0970
5.6G    /home/s0980
4.4G    /home/s0960
3.8G    /home/s0100
3.8G    /home/homework
1.5G    /home/s0950

找出佔用磁碟空間最大的學生前三名
# du -hsx /home/s0990/* /home/s0980/* | sort -hr | head -n 3
340M    /home/s0980/s0980055
281M    /home/s0990/s0990145
281M    /home/s0990/s0990136[@more@]找出前 10 大的檔案
# find /home -type f -printf ‘%s %pn’ | sort -nr | head
4670320640 /home/www/course_3-6.iso
2519356635 /home/share/PhotoCap/PCMaterial_V5_MultiFrame.exe
1785901819 /home/share/PhotoCap/PCMaterial_V6_MultiFrame.exe
1593472746 /home/53.tar.bz2
1552238558 /home/share/38/38.html.tar.bz2
1513110984 /home/www/all_g3_big5.zip
1513110912 /home/www/all_g3.zip
1507640047 /home/drbl.tar.bz2
1258466165 /home/share/PhotoCap/PCMaterial_V5_Frame.exe
1131084431 /home/share/PhotoCap/PCMaterial_V6_Frame.exe

找出前 10 大的 exe 檔案
# find /home -type f -iname ‘*.exe’ -printf ‘%s %pn’ | sort -hr | head
2519356635 /home/share/PhotoCap/PCMaterial_V5_MultiFrame.exe
1785901819 /home/share/PhotoCap/PCMaterial_V6_MultiFrame.exe
1258466165 /home/share/PhotoCap/PCMaterial_V5_Frame.exe
1131084431 /home/share/PhotoCap/PCMaterial_V6_Frame.exe
663175919 /home/share/PhotoCap/PCMaterial_V100.exe
459156905 /home/share/PhotoCap/PCMaterial_V4_Frame.exe
439657482 /home/share/PhotoCap/PCMaterial_V4_MultiFrame1.exe
431579494 /home/share/PhotoCap/PCMaterial_V300.exe
408804542 /home/share/PhotoCap/PCMaterial_V200.exe
401967094 /home/share/PhotoCap/PCMaterial_V4_MultiFrame2.exe

colordiff 讓 diff 比對檔案時加上顏色區別

diff 是一個用來比對檔案的指令
# diff sources.list sources.list.save

結果有些難以閱讀[@more@]使用 colordiff
# colordiff sources.list sources.list.save

用顏色來區別,看起來就會好一些

安裝方式:
CentOS 6.x/7.x
# yum install colordiff –enablerepo=epel

Debian / Ubuntu
$ sudo apt-get install colordiff

Arch Linux
# pacman -S colordiff

Gentoo Linux
# emerge colordiff

Wake-on-LAN Client on Linux

關於 Wake-on-LAN 網路喚醒的介紹,可以參考:網路喚醒 – 維基百科,自由的百科全書

在 Ubuntu 14.04 LTS Server 上安裝
$ sudo apt-get install wakeonlan

在 CentOS 6.x 上安裝
# yum install wol –enablerepo=epel

# yum install net-tools[@more@]使用方式:
在 Ubuntu 14.04 LTS Server
$ sudo wakeonlan 00:11:22:33:44:55

在 CentOS 6.x
# wol 00:11:22:33:44:55

# ether-wake -i eth1 00:11:22:33:44:55

MaraDNS 輕量級 DNS Server 設定 – authoritative DNS server

參考網頁:How to install the fast and lightweight DNS Server MaraDNS on CentOS 7
                  MaraDNS tutorial
                  http://maradns.samiam.org/tutorial/man.csv2.html
建置 authoritative DNS server
1. 修改 /etc/mararc 設定檔
# egrep -v ‘^#|^$’ /etc/mararc
# 設定 MaraDNS 為 authoritative DNS server
csv2 = {}
# 管理的網域
csv2[“example.net.”] = “db.example.net”
# MaraDNS Server IP
ipv4_bind_addresses = “127.0.0.1”
# 設定檔的位置
chroot_dir = “/etc/maradns”[@more@]2. 建立網域設定檔 /etc/maradns/db.example.net
# cat /etc/maradns/db.example.net
example.net.      +14400    soa    ns1.example.net. dns@example.net. 2012010117 14400 3600 604800 14400 ~
example.net.      +14400    ns     ns1.example.net. ~
example.net.      +14400    ns     ns2.example.net. ~
ns1.example.net.  +14400    a      127.0.0.1 ~
ns2.example.net.  +14400    a      127.0.0.1 ~
example.net.      +14400    a      127.0.0.1 ~
www.example.net.  +14400    a      127.0.0.1 ~
example.net.      +14400    mx     10 mail.example.net. ~
mail.example.net. +14400    a      127.0.0.1 ~
ftp.% +14400    a      192.168.1.2 ~
2.1.168.192.in-addr.arpa. ptr ftp.% ~
ftp.%   AAAA    fd4d:6172:6144:4e53:ffe::f ~
disk.% +14400    a      192.168.1.3 ~
nas.% +14400    cname      disk.% ~
3.1.168.192.in-addr.arpa. ptr disk.example.net. ~

3. 重新啟動 MaraDNS Server
# systemctl restart maradns

4. 進行測試
# host ftp.example.net 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:

ftp.example.net has address 192.168.1.2
ftp.example.net has IPv6 address fd4d:6172:6144:4e53:ffe::f

# host nas.example.net 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:

nas.example.net is an alias for disk.example.net.
disk.example.net has address 192.168.1.3

# host 192.168.1.3 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:

3.1.168.192.in-addr.arpa domain name pointer disk.example.net.

# host 192.168.1.2 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:

2.1.168.192.in-addr.arpa domain name pointer ftp.example.net.