Next Previous Contents

2. 一般系統設定

2.1 安全問題

在開始啟動系統之前,首先應該決定要採用何種級別的安全規範。在作出這項決定之前,不要將電腦與網絡連接。 電腦安全是極其重要的問題,但它不屬於這份 HOWTO 的討論範圍。不過,要了解電腦的安全問題可從兩方面著手:“ Linux 安全管理員手冊”( Linux Security Administrator's Guide) http://www.seifried.org/lasg 和“ Linux 安全手冊”( Linux Security Guide) http://nic.com/ (譯註:此處英文原文有漏) 下列步驟:使用Shadow password(Shadow Password HOWTO )限制網路進入機器(Section 限制網路進入Restricting Network Access)、 使用 Secure Shell ( http://www.cs.hut.fi/ssh/) 或使用 Secure Remote Password ( http://srp.stanford.edu/srp/)。祝您好運。

2.2 工作日誌

要保證安裝順利,必須確切知道機器裡安裝了什麼,何時作了修改,何時作了清除。因此,在動手之前,首先應該建立一本“工作日誌”,紀錄作為 root 的一切舉動;在我的工作日誌中,有一節專門紀錄所有改動的系統文檔、增加的 .rpms 和安裝的 .tar.gz。理論上,往回追溯以往的任何改變,應該可以回復到最初原始的安裝狀態。

千萬記住,在改動任何系統文件之前,製作備份。更理想的是用 RCS;這樣就能追蹤以往的所有改變。作為 root,決不可隨意改動系統而不加紀錄。

2.3 鍵盤

如在安裝時遺漏了這一步驟,或改用了他種鍵盤,則需要:

要載入鍵盤表,使用/etc/rc.d/init.d/keytable start指令。其他特殊鍵位將在以下各節再作說明。

要在開機時自動設定 NumLock,則在/etc/rc.d/rc.sysinit中加入以下內容:

for tty in /dev/tty[1-9]*; do
  setleds -D +num < $tty
done

2.4 啟動和援救軟片

為剛安裝好的系統,應該製作兩、三張啟動軟片,以備不時之需。您使用的 Linux 版本可能已經包括了製作這種軟片的指令,否則可用下列指令:

#
#
(譯註:作者似乎忘了填入指令)

此外,至少也要製作几片援救軟片。在 ftp://metalab.unc.edu/pub/Linux/system/recovery可找到各種援救軟片; 如果您不知道選用哪一種,我建議您試試 Tomsbtrt。

2.5 內核

IMHO,其次首先要做的工作是編制最適合您的系統的內核。編制工作並不困難,但無論如何都先看一看/usr/src/Linux/內的README檔或內核 HOWTO (Kernel HOWTO )。注意事項:

2.6 Sendmail停機

有些系統的sendmail會使機器在啟動時停頓兩、三分鐘。原因有二: (1)機器沒有與網際網路直接連接;(2)直接連接網際網路,並有永久的IP地址。

立即解決第一種問題的辦法是確定/etc/hosts內有下列一行:

127.0.0.1   localhost

造成停頓的第二種原因是往往在/etc/hosts內有內容如下的一行:

127.0.0.1   localhost   your_host_name

可將其分成以下兩行:

127.0.0.1    localhost
w.x.y.z      your_host_name

同時請參考 Hostname一節

2.7 硬盤性能

如果謹慎使用 hdparm(8)就會大大提高 (E)IDE 硬盤的性能。假設使用的 Linux 中沒有包含這個軟件,可從 ftp://metalab.unc.edu/pub/Linux/system/hardware查找;設法在這個網址上找一個稱為hdparm-X.Y.tar.gz的軟件。

由于使用這個軟件的細節取決于硬盤的種類和控制程序,因此在此無法提出通則。使用不當, 可能會損及文檔系統,因此使用之前,務必詳細閱讀 man 說明。以最簡單的例子而言,在/etc/rc.d/rc.sysinit內可增加一行,內容如下:

/sbin/hdparm -c1 /dev/hda  #  -- 假定為第一個 IDE 硬盤

這行提供了 (E)IDE 32-bit I/O 的支持。關於 -m 選項,hdparm的作者 Mark Lord 告訴我:

(...) 如果系統內的組件是前几年的產品 [< 1997],一般都沒有問題。如果是老舊的設備,可能不行(但也許沒問題)。真正發生問題的是 2 - 3 年前在 486 和 (早期)586 母板上廣泛使用的 CMD0646 和 RZ1000 這兩種晶片。

下列設置應可使用于最近的電腦:

/sbin/hdparm -c1 -A1 -m16 -d1 /dev/hda

2.8 并聯埠 Zip 磁碟機

利用最近內核(2.x.x)所帶的驅動程序就可使用并聯埠的 Zip 磁碟機。在設置內核時,務必加裝使用 SCSI 和 SCSI 磁盤的功能。注意:打印機和 Zip 磁碟機共用并聯埠時可能會發生衝突,因此最好使用內核模組設置。在 http://www.torque.net/ 上還有一個代用的 ppa 驅動程序。

Zip 磁片出售時已經格式化,其分割為 /dev/sda4。在設定 Zip 磁碟機時,在 /etc/rc.d/rc.sysinit 檔中加附下列內容:

# Enable the Zip drive  -- 設定 Zip 磁碟機
/sbin/modprobe ppa

Zip 磁片可在/etc/fstab中加列以下內容或通過 Mtools 在/etc/mtools.conf中增加下列內容加載:

drive z: file="/dev/sda4" exclusive

此外,mzip指令也可用于彈出、查詢機況、讀寫和附加密碼于 Zip 磁片;詳情請查閱man mzip。 Mtools 的網址在 http:// Linux .wauug.org/pub/knaff/mtools

2.9 設備驅動程序

列在/dev中(或連接到實際設備驅動程序)的設備可能並不確切。檢查滑鼠、數據機和光碟驅動程序對應的設備為何,然後作出下列設定:

/dev# ln -s ttyS0 mouse; ln -s ttyS1 modem; ln -s hdb cdrom; ln -s sda4 zip
在多數筆記本電腦上,鼠標的設置是/dev/psaux:在設置 X11 時應將此列入考慮。

不妨將這些設置都通過 chmod 666 改變屬性,使所有使用者均可使用這些設備。

2.10 聲卡

我只有一張舊聲卡 Sound Blaster 16;即使您的聲卡與我的不同,不過下列方法也可引導您如何設置聲卡。

我將聲卡的驅動程序作為模組(sb.o)編入內核。然後將下列內容列入/etc/conf.modules:

options sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330
alias sound sb

要啟動聲卡,首先運行modprobe sound,或者使用 RedHat 的工具sndconfig

2.11 登錄信息

如要自設登錄信息,首先檢查/etc/rc.d/rc.local是否覆蓋/etc/issue和/etc/motd的內容。(RedHat 覆蓋內容)如屬肯定,請打開文本編輯器。

如要使登錄信息帶有顏色,可在rc.local中列入下列內容:

# put a real escape character instead of ^[. To do this:
# emacs: ^Q ESC   vi: ^V ESC   joe:  ` 0 2 7   jed: ` ESC
ESC="^["  # a real escape character
BLUE="$ESC[44;37m"
NORMAL="$ESC[40;37m"
CLEAR="$ESC[H$ESC[J"

> /etc/issue
echo "$CLEAR" >> /etc/issue
echo "$BLUE   Welcome to MyServer (192.168.1.1)   " >> /etc/issue
echo "$NORMAL " >> /etc/issue
echo "" >> /etc/issue

2.12 主機名稱

只運行hostname new_host_name指令也許不夠。要解決sendmail死機的問題,可採用下列步驟(只適用于單機):

2.13 滑鼠(Mouse)

gpm 的滑鼠功能對在主控台進行剪貼至為有用,也可在一些應用中使用滑鼠。在 Red Hat 系統中,檢查有否一個稱為/etc/sysconfig/mouse 的文檔,內容如下:

MOUSETYPE="Microsoft"
XEMU3=yes

此外,還得有一個/etc/rc.d/init.d/gpm檔,其中還可設定一些指令。我設定的指令如下:

...
       daemon gpm -t $MOUSETYPE -d 2 -a 5 -B 132 # two-button mouse -- 雙按鈕滑鼠
...

顯而易見,其中設置當然得與滑鼠的類型相符。在多數筆記型型電腦中, MOUSETYPE 應設為 “PS/2”

在Caldera系統中,只要在/etc/rc.d/rc.boot中加入此行即可:

/usr/bin/gpm

在S.u.S.E.中,在/etc/rc.config中加入gpm部分;在Debian系統中,則需修改 /etc/gpm.conf。

如果喜歡用Ctrl按鈕使用主控台的菜單,則需設置gpm-root。修改 /etc/gpm-root.conf中的預設菜單,然後從/etc/rc.d/rc.local啟動 gpm-root

2.14 加載位置(Mount Points)

為方便使用,應對軟盤、其他設備和NFS的輸出目錄設定加載位置。例如,可採用下列辦法:

/mnt# mkdir floppy; mkdir cdrom; mkdir win; mkdir zip; mkdir server

此行設定了 DOS/Win 軟盤(ext2磁片)、CD-ROM、Windows 分割區、平行口 Zip 驅動器和 NFS 目錄的加載位置。

然後修改 /etc/fstab 檔,并增加下列內容:

/dev/fd0        /mnt/floppy     auto            user,noauto 0 1
/dev/cdrom      /mnt/cdrom      iso9660         ro,user,noauto 0 1
/dev/zip        /mnt/zip        vfat            user,noauto,exec 0 1
/dev/hda1       /mnt/win        vfat            user,noauto 0 1
server:/export  /mnt/server     nfs             defaults

顯而易見,第一欄必須使用正確的設備名稱。最近發表的內核已經支持 fat32;以前的內核需要修補。修補軟件可從 http://bmrc.berkeley.edu/people/chaffee/fat32.html取得。有關這方面的進一步資料,可查詢 man mount

注意第一行中的“auto”文檔系統格式;這表示可加載 ext2 和 vfat(DOS/Windows)兩種系統格式製作的磁片。mtools也是相當好用的工具。

2.15 lilo(8) 和 LOADLIN.EXE

許多使用者在電腦上同時運行 Linux 和 DOS/Windows 兩套操作系統,並在開機時選用其中之一;這應在安裝時作出設定,如果當時沒有設定, 可採取下列辦法解決。首先假定 /dev/hda1中裝有 DOS/Windows, /dev/hda2 中裝有 Linux .

將 /dev/hda 作為默認設備!

Command (m for help):a
Partition number (1-4): 2

Command (m for help):w

經過這項設定, Linux 分割區成為啟動操作系統。然後在/etc/lilo.conf中作出設定:

boot = /dev/hda2
compact                # may conflict with "linear"  --可能與“linear”衝突
delay = 100            # 10 seconds  --等待10秒
linear                 # gets rid of the "1024 cylinder" problem --解決1024磁圈的問題
# message = /boot/bootmesg.txt  # write your own, if you will --自訂開機信息
root = current
image = /boot/vmlinuz  # boot  Linux  by default as this entry comes first --默認的內核
  label =  Linux 
  read-only
#  append="mem=128M"   # to see more memory than 64M  --如果記憶內存大於64M
other = /dev/hda1
  table = /dev/hda
  label = dos

運行/sbin/lilo后就大功告成。由于lilo是安裝中極其重要的部分, 無論如何應該詳細閱讀有關這方面的資料。

如果不打算重作設定,而要從 DOS/Windows 內啟動 Linux ,可把 LOADLIN.EXE 放入一個屬於 DOS 路徑的子目錄(DOS 分割區);然後將內核拷貝到該子目錄,例如C:\TEMP\VMLINUZ。利用下面簡單的 .BAT檔就可啟動 Linux:

rem    Linux .bat
smartdrv /C
loadlin c:\temp\vmlinuz root=/dev/hda2 ro

如使用 Windows 9X,則設定這個.BAT檔的特性,使其從 MS-DOS 狀態啟動。

安全考量

在安裝 Linux 之前,先製作一張 MBR 區的備份磁片,以防不測。先運行restorrb(包括在FIPS的軟件包內), 或以下面的指令製作 Linux 的死機解救磁片:

rescue:

然後至少製作兩片有MBR檔的磁片。如果一旦故障停機, 可用下列指令恢復原先的 MBR:

rescue:

當然,這要在/mnt已加載包含MBR的磁片。否則,利用 DOS 的解救磁片運行FDISK /MBR

2.16 電子郵件

如何閱讀以 HTML 格式或含有其他各種文件格式的電子郵件呢?首先要有兩個文檔:/etc/mime.types 和/etc/mailcap。第一個文檔列出文件的格式及其擴展名:

application/postscript          ps eps
image/jpeg                      jpe jpeg jpg
text/html                       html

而第二個文檔規定如何顯示這種文檔的格式。

有時有的電子郵件使用 Microsoft Outlook 發送,其內容含有多重 MIME 格式。閱讀這類電子郵件需要在etc/mailcap中加入下列兩行:

text/plain; less %s; needsterminal
text/html; lynx -force_html %s; needsterminal

2.17 打印機的設置

就我所知,各種 Linux 版本均有設置打印機的工具(printtoolyastmagicfilter); 否則可用基本的手動設定。

假定要用非 PostScript 打印機(也非“Windows-only”的打印機)來打印原始文件(例如 C 程序的原始碼文本)和利用 GhostScript 來打印 PostScript 文檔(此處假定已安裝了 GhostScript)。

設定打印機的步驟如下:

其他更為複雜或少見的打印設置,請參考 Printing-HOWTO。

注意:如使用printtool,Printtool選取的 GSDEVICE 可以用于打印,但不一定是最好的選擇。不妨對postscript.cfg檔作些修改;例如,把 GSDEVICE 內cdj500 改為 djet500,就可加快打印的速度。

2.18 SVGATextMode

放在 ftp://tsx-11.mit.edu/pub/ Linux /sources/sbin上的工具軟件對改變主控台的屏幕分辨率、字體和游標的形狀非常有用。 在主控台上工作時,需要使用重音字體的文字(譯註:如歐洲文字) 或需要改變筆記本電腦游標的大小都可使用這套軟件。

從默認的 VGA 參數開始,首先編輯/etc/TextConfig或/etc/TextMode。 使用歐洲文字的用戶應該對其中含有“LoadFont”一節感到慶幸。

Option "LoadFont"
FontProg "/usr/bin/setfont"
FontPath "/usr/lib/kbd/consolefonts"
FontSelect "lat1u-16.psf"   8x16 9x16 8x15 9x15
FontSelect "lat1u-14.psf"   8x14 9x14 8x13 9x13
FontSelect "lat1u-12.psf"   8x12 9x12 8x11 9x11
FontSelect "lat1u-08.psf"   8x8  9x8  8x7  9x7

完成這項設定之後,運行SVGATextMode "80x34x9"。如果覺得一切運行順利,從/etc/TextMode中刪除警告,并將下行寫入 etc/rc.d/rc.sysinit:

# SVGATextMode
/usr/sbin/SVGATextMode "80x34x9"

注意:方塊游標只在有些模式下有效;在我的筆記本電腦上,其數值為“80x32x9”。


Next Previous Contents