有關 CentOS 6 的問題

1. 我過往利用 boot.iso 映像進行網絡安裝。它去了哪裡?

由這個發行版本起、上游決定把 boot.iso 移出 images/ 這個目錄並利用另一個獨立的媒體來發行它。基於該映像頗大,我們亦決定同樣做。網絡安裝磁碟的映像名為 netinstall.iso,它只收藏在 isos/ 這個目錄,當中還有其它的安裝映像。

2. 為何我的乙太網絡不能運作,除非我登入並刻意啟用它?

……還有,為甚麼介面名稱完全「逆轉」以往慣例?這樣做違反了 Unix「不更改預期結果」的原則。

上游的預設組態已改用 NetworkManager,而且介面預設是不會被啟用的(針對乙太網來說是較難理解)。權宜之計就是在安裝過程中,等待安裝程式詢問你的語系、鍵盤、基本安裝或其它儲存裝置後,執行「檢查裝置」並顯示「請為這台電腦命名……」的畫面。這個晝面內有一粒「設置網絡」的按鈕。點擊這個按鈕會啟動 NetworkManager。請選取名為 System eth0 的乙太網絡連線並編輯它的設定。假如你選用「自動連線」的選項,網絡連線在日後開機時便會被啟動。你也可以在安裝完成後透過 NetworkManager(「系統;選項;網絡連線」或右按通知區域內的網絡小圖示,選取「編輯連線……」)來作出這個改動。

假如你不採用 NetworkManager,你可以透過編輯網絡介面的設置檔(正常為 /etc/sysconfig/network-scripts/ifcfg-eth0)並把 ONBOOT=no 改為 ONBOOT=yes 來達到相同効果。某些採用 DHCP 的安裝還需要額外一行:BOOTPROTO=dhcp;固定 IP 的安裝當然需要:BOOTPROTO=static

假設介面是 eth0,你可以(透過 root 的身份)這樣編輯 ONBOOT

# cd /etc/sysconfig/network-scripts/ 
# sed -i -e 's@^ONBOOT="no@ONBOOT="yes@' ifcfg-eth0

關於「更改預期結果」:上述例子採用「傳統」的網絡裝置,eth0。其它裝置名稱亦可行,例如:em1p3p1 等。不論你喜歡與否,這個為介面命名的改動是 Linux 的未來趨勢。它已包含在上游的「測試發行版本」作為預覽。此外請參閱:Dell 的介紹及內部員工的網誌

3. 但我只想令它運作及手動式編輯設定檔

很多安裝無須 NetworkManager 工具的複雜性,而採用人手編輯的設定檔。以下是一個 非 NetworkManager 的 DHCP 介面設定範例:

[root@example ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO=dhcp
NM_CONTROLLED="no"
PERSISTENT_DHCLIENT=1
ONBOOT="yes"
TYPE=Ethernet
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME="eth0"
[root@none ~]#

以及一個「靜態分配」設定檔的範例:

[username@hostname]$ cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
HWADDR="00:21:70:10:7E:CD"
NM_CONTROLLED="no"
ONBOOT="yes"
BOOTPROTO=static
# BOOTPROTO=dhcp
IPADDR=10.16.1.106
NETMASK=255.255.255.0
#
# the GATEWAY is sometimes in: /etc/sysconfig/network
GATEWAY=10.16.1.1

此外,通用項目如主機名稱及 DNS 伺服器可選擇性地放置在:

[username@hostname]$ cat /etc/sysconfig/network
HOSTNAME=acme.example.com
DNS1=10.16.1.112
DNS2=8.8.8.8
## DNS2=76.242.0.28
SEARCH=example.com

這些資訊是「選擇性」的,因為一台 DHCP 伺服器能派發這些數值。當一個良好部署的 DNS 環境存在時,initscripts 能夠從 PTR 等記錄找出主機名稱等資訊,但有些用戶需要以人手管理這些細節。要取得更多資訊,你可用以下方式列出整全的 initscripts 文檔:

rpm -qd initscripts 

不論該環境是否安裝了 man 閱讀說明手冊的套件及所依賴的套件。

4. 為何 CentOS-6 拒絕在我的 i686 處理器上安裝?

上游決定了不支援非 PAE 的處理器。如果你的處理器不支援 PAE,執行安裝程式時你將會看見以下錯誤:

你仍可安裝 CentOS-5 但將會無法運行 CentOS-6。

5. 我如何停用 IPv6?

上游僱員 Daniel Walsh 建議不要停用 ipv6 模塊,因為這樣會導致 SELinux 及其它元件出現問題。你可改而在 /etc/sysctl.conf 加入:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

要在運作中的系統停用它:

echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
echo 1 > /proc/sys/net/ipv6/conf/default/disable_ipv6

sysctl -w net.ipv6.conf.all.disable_ipv6=1
sysctl -w net.ipv6.conf.default.disable_ipv6=1

附加備註 #1:要是你在停用 IPv6 的系統上轉接 X 時遇到問題,請編輯 /etc/ssh/sshd_config 及作出以下一組改動:

(1) 更改這一行

#AddressFamily any

AddressFamily inet

(inet 指定 ipv4;inet6 指定 ipv6)

或者

(2) 移除這行行首的井號(#)

#ListenAddress 0.0.0.0

然後重新啟動 ssh。

附加備註 #2:要是你在停用 IPv6 的系統上啟動 postfix 時遇到問題,你可選擇

(1) 編輯 /etc/postfix/main.cf 並備註掉 localhost 部份的設定及採用 ipv4 迴路。

#inet_interfaces = localhost
inet_interfaces = 127.0.0.1

(2) 從 /etc/hosts 取掉 ipv6 的 localhost。

附加備註 #3 :如要停用 RPCBIND ipv6(rpcbind、rpc.mountd、prc.statd),請在 /etc/netconfig 備註掉 udp6 及 tcp6 行:

udp tpi_clts v inet udp - -
tcp tpi_cots_ord v inet tcp - -
#udp6 tpi_clts v inet6 udp - -
#tcp6 tpi_cots_ord v inet6 tcp - -
rawip tpi_raw - inet - - -
local tpi_cots_ord - loopback - - -
unix tpi_cots_ord - loopback - - -

6. 為何我在匯入某個軟件庫的 GPG 金鑰時出現錯誤?

很多設置第三方軟件庫的指引都包括以 rpm --import ... 匯入 GPG 金鑰。如何你遇到以下錯誤:

error: http://apt.sw.be/RPM-GPG-KEY.dag.txt: key 1 import failed.

你可以忽略它,因為該金鑰已經被匯入。你可執行以下指令來確定:

rpm -q --qf "%{NAME}-%{VERSION}-%{RELEASE} \n %{SUMMARY} \n" gpg-pubkey

7. 為何我無法在我的 32 位元 CentOS 上安裝 KVM?

上游只為 64 位元(x86_64)提供 KVM 支援,因此 CentOS 的支援亦相同。你必需選用 64 位元的安裝才能使用 KVM。

8. 安裝時的各個選項包含哪些群組?

根據 images/install.img 上的 /usr/lib/anaconda/installclasses/rhel.py,以下選項可供選擇:

Desktop: base, core, debugging, directory-client, java-platform, network-file-system-client, server-platform, fonts, print-client, basic-desktop, desktop-debugging, desktop-platform, general-desktop, graphical-admin-tools, input-methods, legacy-x, x11, internet-applications, internet-browser, office-suite, remote-desktop-clients

Minimal Desktop: base, core, debugging, directory-client, java-platform, network-file-system-client, server-platform, fonts, print-client, basic-desktop, desktop-debugging, desktop-platform, input-methods, legacy-x, x11, internet-browser, remote-desktop-clients

Minimal: core

Basic Server: base, console-internet, core, debugging, directory-client, hardware-monitoring, java-platform, large-systems, network-file-system-client, performance, perl-runtime, server-platform

Database Server: base, console-internet, core, debugging, directory-client, hardware-monitoring, java-platform, large-systems, network-file-system-client, performance, perl-runtime, server-platform, mysql-client, mysql, postgresql-client, postgresql, system-admin-tools

Web Server: base, console-internet, core, debugging, directory-client, java-platform, network-file-system-client, performance, perl-runtime, server-platform, web-server, web-servlet, php, turbogears, mysql-client, postgresql-client

Virtual Host: base, console-internet, core, debugging, directory-client, hardware-monitoring, java-platform, large-systems, network-file-system-client, performance, perl-runtime, server-platform, virtualization, virtualization-client, virtualization-platform

Software Development Workstation: base, core, debugging, directory-client, java-platform, network-file-system-client, performance, perl-runtime, server-platform, fonts, print-client, basic-desktop, desktop-debugging, desktop-platform, general-desktop, graphical-admin-tools, input-methods, legacy-x, x11, internet-browser, graphics, emacs, tex, remote-desktop-clients, virtualization, virtualization-client, virtualization-platform, desktop-platform-devel, development, eclipse, server-platform-devel, technical-writing, additional-devel

你可如此查看每組的內容

yum groupinfo <groupname>

9. 我如何在系統上運用兩台顯示器?是否須要官方的驅動程式?

有異於普遍的錯誤理解,雙顯示器設置在安裝完成後已獲支援,而且不須要官方的驅動程式。以下是一個達至此效果的簡易教程。

  1. 接駁你的顯示器及開啟它們的電源。
  2. 我們必須先確定已知的資訊。為此,請執行:
     xrandr -q 
    你會看見類似以下的輸出:
    [wolfy@wolfy ~]$ xrandr -q
    Screen 0: minimum 320 x 200, current 2560 x 1024, maximum 2560 x 2560
     DFP1 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 338mm x 270mm
       1280x1024 60.0*+ 75.0
       1152x648 60.0 +
       1280x960 75.0 60.0
       1280x800 75.0 60.0
       1152x864 75.0 60.0
       1280x768 74.9 59.9
       1280x720 60.0
       1024x768 75.0 70.1 60.0
       800x600 72.2 75.0 70.0 60.3 56.2
       720x480 60.0
       640x480 75.0 72.8 60.0
     DFP2 disconnected (normal left inverted right x axis y axis)
     CRT1 connected 1280x1024+1280+0 (normal left inverted right x axis y axis) 338mm x 270mm
       1280x1024 60.0 + 75.0*
       1280x960 75.0 60.0
       1280x800 75.0 60.0
       1152x864 75.0 60.0
       1280x768 74.9 59.9
       1280x720 60.0
       1024x768 75.0 70.1 60.0
       800x600 72.2 75.0 70.0 60.3 56.2
       720x480 60.0
       640x480 75.0 72.8 60.0
    
    在上述例子,重點是我們有一台顯示器連接至 DFP1 數碼介面並支援 1280x1024 解像度,及一台類比顯示器連接至 CRT1 介面而且也支援 1280x1024 解像度。其它常見介面名稱包括 VGA、DVI、HDMI 及 LVDS。(這些名稱視乎輸出裝置及視訊驅動程式。)這例子中的兩台顯示器擁有相同的最高解像度純屬巧合。
  3. 利用上一步所取得的資訊,再次執行 xrandr,要求它把資訊按你的喜好放置在兩台畫面上:
    xrandr --output DFP1 --auto --left-of CRT1 
    這樣你便能為兩台顯示器選用首選的解像度,及把類比顯示器(在此例子中是 CRT1)擺放在數碼顯示器(DFP1)的右邊。透過 xrandr 做的改動都會即時生效。每台顯示器的輸出都是獨立操控的,因此解像度及頻率都不必相同。(這個功能非常好用,尤其是當你的手提電腦連接著一台大型顯示器,或兩台顯示器擁有不同解像度。)

xrandr 的說明頁及互聯網上眾多的教程均能展示 xrandr 的強大功能,因此我們強烈建議你善用這些資源。

Translation of revision 32

zh-tw/FAQ/CentOS6 (last edited 2014-06-21 02:05:26 by TimothyLee)