系統設置-HOWTO 作者:Guido Gonzato, [1]guido ``at'' ibogeo.df.unibo.it (譯者:趙平望 tchao@worldnet.att.net) v1.3.7, 1999年9月6日翻譯日期:2000年1月1日 _________________________________________________________________ 編寫本文的目的是要使您能更快、更容易地調試剛安裝好的 Linux 系統。文內附 有一些最常用的應用軟件的設置辦法。 _________________________________________________________________ 1. 導言 * 1.1 為什麼要編寫這份 HOWTO * 1.2 我們將作何種配置 2. 一般系統設定 * 2.1 安全問題 * 2.2 工作日誌 * 2.3 鍵盤 * 2.4 啟動和援救軟片 * 2.5 內核 * 2.6 Sendmail停機 * 2.7 硬盤性能 * 2.8 并聯埠 Zip 磁碟機 * 2.9 設備驅動程序 * 2.10 聲卡 * 2.11 登錄信息 * 2.12 主機名稱 * 2.13 滑鼠(Mouse) * 2.14 加載位置(Mount Points) * 2.15 lilo(8) 和 LOADLIN.EXE * 2.16 電子郵件 * 2.17 打印機的設置 * 2.18 SVGATextMode 3. 管理員的一般工作 * 3.1 網路設置 * 3.2 分享網際網路 * 3.3 限制網路連接 * 3.4 NFS輸出 * 3.5 域名服務器 4. 軟件設置 * 4.1 bash(1) * 4.2 ls(1) * 4.3 less(1) * 4.4 emacs(1) 文本編輯器 * 4.5 joe(1) 文本編輯器 * 4.6 jed(1) 文本編輯器 * 4.7 pine(1) 郵件閱讀器 * 4.8 minicom(1) * 4.9 efax(1) 軟件 * 4.10 Ghostscript * 4.11 TeX 的使用 * 4.12 避免PPP的問題 * 4.13 POP用戶端程序 * 4.14 X 視窗系統 (XFree86) * 4.15 使用者的設置文檔 * 4.16 製作 .rpm * 4.17 Upgrading 5. 設置軟件 6. 結束 * 6.1 版權說明(譯者:保留原文) * 6.2 反饋意見 * 6.3 免責聲明Disclaimer _________________________________________________________________ 1. 導言 1.1 為什麼要編寫這份 HOWTO 我在許多 PC 上都安裝過 Linux 系統,發現目前流行的各種 Linux 版本都相當 不錯,但感到不便的是缺少一些基本設置文檔。多數應用軟件在安裝後都可立即 使用, 但有些軟件卻不行。我還注意到同樣的問題在 c.o.l.setup 上一再重復 出現。為了彌補這種缺憾,並為了我個人方便,我作了一些筆記,後來加以修改 潤色, 終於成為這份 HOWTO。文內附有設置最常用的一些應用軟件和程式的訣竅 和實例,這應能節省您不少時間和精力。 文中所列的一些實例有時取決于使用何種 Linux 版本。目前我只有安裝 Red Hat 5.2 的 Linux 系統,內核是 2.0.36;因此如果您的 Linux 是其他版本,那 就別把我提供的訣竅視為金科玉律。不過,把我提供的辦法略作修改, 改用于其 他版本,倒也並非難事。 這份 HOWTO 不能代替其他 HOWTO,而且它也無意替代 其他 HOWTO 。翻閱相關文件和其他 HOWTO 都會使人獲益匪淺,因此如果您想進 一步了解這套系統,就必需勤于查找翻閱。此外, 也不要想在這裡占便宜:如果 您知道對某方面不了解,就請查找相關的 HOWTO 。再次提醒:Usenet 的 [2]news:comp.os.linux.setup是尋求 Linux 配置方面的協助的最好地點。我的 工作十分繁忙,務請不要找我解決配置方面的問題。 這份文件以及一些翻譯正式存放在 [3]http://metalab.unc.edu/mdw/HOWTO。在 這個網址也可找到我提到的所有其他 HOWTO 。本文的最新版本存放在 [4]http://ibogeo.df.unibo.it/guido/Configuration 1.2 我們將作何種配置 PC的硬件配置種類繁多,但依我的經驗,有一種配置十分普遍,即裝有一個划分 為三個分割區(一個DOS/Windows區、一個 Linux 區和一個交換(swap partition)區)的大容量硬盤、音效卡、數據機、光盤機、打印機和滑鼠的 PC 。目前,許多 PC 還安裝了平行埠的 ZIP 磁碟機。這樣設定的 PC 極可能是 Windows-Linux 搭配組成的網絡系統的一部分,一般作為服務器之用。 我假定這些設備是您要設置的硬件,不過將設置這些設備的辦法轉用于不同的硬 件也非難事。此外, 我還假定您在編輯調試硬件時,具有root的權限。 好吧!現在就讓我們捲起袖子來幹吧! 2. 一般系統設定 2.1 安全問題 在開始啟動系統之前,首先應該決定要採用何種級別的安全規範。在作出這項決 定之前,不要將電腦與網絡連接。 電腦安全是極其重要的問題,但它不屬於這份 HOWTO 的討論範圍。不過,要了解電腦的安全問題可從兩方面著手:“ Linux 安 全管理員手冊”( Linux Security Administrator's Guide) [5]http://www.seifried.org/lasg 和“ Linux 安全手冊”( Linux Security Guide) [6]http://nic.com/ (譯註:此處英文原文有漏) 下列步驟:使 用Shadow password(Shadow Password HOWTO )限制網路進入機器(Section [7]限制網路進入Restricting Network Access)、 使用 Secure Shell ( [8]http://www.cs.hut.fi/ssh/) 或使用 Secure Remote Password ( [9]http://srp.stanford.edu/srp/)。祝您好運。 2.2 工作日誌 要保證安裝順利,必須確切知道機器裡安裝了什麼,何時作了修改,何時作了清 除。因此,在動手之前,首先應該建立一本“工作日誌”,紀錄作為 root 的一 切舉動;在我的工作日誌中,有一節專門紀錄所有改動的系統文檔、增加的 .rpms 和安裝的 .tar.gz。理論上,往回追溯以往的任何改變,應該可以回復到 最初原始的安裝狀態。 千萬記住,在改動任何系統文件之前,製作備份。更理想的是用 RCS;這樣就能 追蹤以往的所有改變。作為 root,決不可隨意改動系統而不加紀錄。 2.3 鍵盤 如在安裝時遺漏了這一步驟,或改用了他種鍵盤,則需要: * 從/usr/lib/kbd/keymaps/中選取適當的鍵盤表;例如,it.map 就代表義大 利鍵盤; * 編輯/etc/sysconfig/keyboard文檔,使其讀取:KEYTABLE="it"; * 設定鍵盤的重複率和延遲時間,將以下內容加附到 /etc/rc.d/rc.sysinit (Red Hat) 或 /etc/rc.d/rc.boot (Caldera) 或 /etc/rc.d/boot (S.u.S.E.): /sbin/kbdrate -s -r 16 -d 500 # or whatever you like --或其他設定的數值 要載入鍵盤表,使用/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 版本可能已經包括了製作這種軟片的指令,否則可用下列指令: # # (譯註:作者似乎忘了填入指令) 此外,至少也要製作几片援救軟片。在 [10]ftp://metalab.unc.edu/pub/Linux/system/recovery可找到各種援救軟片; 如果您不知道選用哪一種,我建議您試試 Tomsbtrt。 2.5 內核 IMHO,其次首先要做的工作是編制最適合您的系統的內核。編制工作並不困難, 但無論如何都先看一看/usr/src/Linux/內的README檔或內核 HOWTO (Kernel HOWTO )。注意事項: * 仔細想清楚需要電腦完成何種工作。一次選定內核,同時作出必要的修補 (patch),遠比每月作一次設置或編譯一次內核來得省事;如果把 Linux 作 為伺服器使用,尤應如此。不要忘記把未來可能會增加的硬件(例如,SCSI 、Zip和網路卡等)都先編制在內核內;通常利用模組是最好的辦法; * 如果你的電腦用 Cyrix 芯片,而內核對它的支持不足,則應作出必要修補, 以便提高電腦性能。有關資料見: [11]http://www.Linuxhq.com/patch/20-p0591.html; * 使用筆記型電腦的用戶應改進屏幕的視覺效果。我曾經建議修補內核, 但SVGATextMode (見 [12]SVGATextMode一節)可能是最理想的解決辦法。 不論採用何種辦法,在 [13]http://www.Linuxhq.com/patch/20-p0239.html可以找到大型游標的內 核修補軟件。 * 此外,不要將筆記型電腦串行 PCMCIA modem/fax 卡作為模組編譯;將其作 為內核的一部分編譯,否則,PCMCIA modem 就無法運作; * 如果使用 PCMCIA 卡,記住務必編譯這些模組;此外,如果使用 PCMCIA 網 路卡,不要忘記修改/etc/pcmcia/network.opts; * 如果屏幕顯示來自modprobe的信息,指出不能確定某些模組的位置,這表示 需要修改/etc/conf.modules。例如,如果不使用ipx和appletalk模組,則增 加下列兩行: alias net-pf-4 off alias net-pf-5 off * 為了節省下次配置和編譯內核的時間,不妨將配置設定作為一個文檔妥善保 存。注意: 如果內核升級,則這個配置設定檔必然無用,因為它沒有包含新 內核的各種要素。 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 同時請參考 [14]Hostname一節 2.7 硬盤性能 如果謹慎使用 hdparm(8)就會大大提高 (E)IDE 硬盤的性能。假設使用的 Linux 中沒有包含這個軟件,可從 [15]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 磁碟機 共用并聯埠時可能會發生衝突,因此最好使用內核模組設置。在 [16]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 的網址在 [17]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死機的問題,可 採用下列步驟(只適用于單機): * 編輯/etc/sysconfig/network和改變其中的主機名稱(例 如new_host_name.localdomain); * 相應地編輯/etc/HOSTNAME; * 將新機名編入/etc/hosts; 127.0.0.1 localhost new_host_name.locadomain 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; 以前的內核需要修補。修補軟件可從 [18]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 版本均有設置打印機的工具(printtool,yast 或magicfilter); 否則可用基本的手動設定。 假定要用非 PostScript 打印機(也非“Windows-only”的打印機)來打印原始 文件(例如 C 程序的原始碼文本)和利用 GhostScript 來打印 PostScript 文 檔(此處假定已安裝了 GhostScript)。 設定打印機的步驟如下: * 檢查并行口的打印機: ~# echo "hello, world" > /dev/lp0 ~# echo "hello, world" > /dev/lp1 記下聯機的打印機和端口。 * 設定兩個 spool 子目錄: /var/spool/lpd/# mkdir raw; mkdir postscript * 如果打印機印出的結果有“台階”現象(多數 InkJet 打印機都有這種現象 ),則需要一個過濾器。試印下面兩列: ~# echo "first line" > /dev/lp1 ; echo "second line" > /dev/lp1 如果印出的結果如下: first line second line 將此文檔作為/var/spool/lpd/raw/filter保存: #!/bin/sh # 這個過濾器可消除“台階”現象 awk '{print $0, "\r"}' 運行chmod 755 /var/spool/lpd/raw/filter使其成為可執行文檔。 * 要製作用于PostScript仿真的過濾器,則將過濾器定名為 /var/spool/lpd/postscript/filter: #!/bin/sh DEVICE=djet500 RESOLUTION=300x300 PAPERSIZE=a4 SENDEOF= nenscript -TUS -ZB -p- | if [ "$DEVICE" = "PostScript" ]; then cat - else gs -q -sDEVICE=$DEVICE \ -r$RESOLUTION \ -sPAPERSIZE=$PAPERSIZE \ -dNOPAUSE \ -dSAFER \ -sOutputFile=- - fi if [ "$SENDEOF" != "" ]; then printf "\004" fi (上例使用 HP DeskJet 打印機。如為他種打印機,則作出相應修改。) * 最後在/etc/printcap內增加下列內容: # /etc/printcap lp|ps|PS|PostScript|djps:\ :sd=/var/spool/lpd/postscript:\ :mx#0:\ :lp=/dev/lp1:\ :if=/var/spool/lpd/postscript/filter:\ :sh: raw:\ :sd=/var/spool/lpd/raw:\ :mx#0:\ :lp=/dev/lp1:\ :if=/var/spool/lpd/raw/filter:\ :sh: 其他更為複雜或少見的打印設置,請參考 Printing-HOWTO。 注意:如使用printtool,Printtool選取的 GSDEVICE 可以用于打印,但不一定 是最好的選擇。不妨對postscript.cfg檔作些修改;例如,把 GSDEVICE 內cdj500 改為 djet500,就可加快打印的速度。 2.18 SVGATextMode 放在 [19]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”。 3. 管理員的一般工作 要做的工作那麼多,時間又那麼少!儘管有許多工作要完成,但我們還是先從這 一節開始。 這一節主要與網路有關。 網路聯網涉及的問題佷多,無法在此全部 概括。首先應參考NET-3 HOWTO,此外,多數 Linux 版本也提供了如何設定網路 功能的資料。此處只預備討論其中几項要點。 假設在 Linux 上預備安裝calendar或reminder、Http、Samba、telnet/ssh登錄 、匿名 ftp(anonymous ftp)、POP/IMAP服務器和NFS等功能。 3.1 網路設置 設定 Linux 各種版本網路功能的方法可能相當複雜,但下述腳本足夠啟動網路: #!/bin/sh # net-up.sh: set up network access --設定聯網 DEVICE=eth0 #-- 網卡 IPADDR=192.168.1.100 NETMASK=255.255.255.0 NETWORK=192.168.1.0 GATEWAY=192.168.1.1 ifconfig $DEVICE $IPADDR netmask $NETMASK up route add -net $NETWORK netmask $NETMASK $DEVICE route add default gw $GATEWAY 這個腳本在使用解救磁片連接網路時非常有用。當然,它只能使機器通過 ping ,ftp 和 telnet 與外界聯絡。 3.2 分享網際網路 Linux 服務器的一項最有用的功能就是分享網際網路。目前,大多數現成可用的 內核都已附有 IP firewalling、masquerading 和 forwarding 的功能。如要知 道詳細功能,可參看 IP-Masquerade mini-HOWTO。然後安裝 ipfwadm(內核 2.0.x; [20]http://www.xos.nl/ Linux /ipfwadm/)或 ipchains(內核2.2.x ; [21]http://www.adelaide.net.au/)。 注意:對需要的功能,啟動相應的內核模組。例如,如需要ftp,則應將下行加入 /etc/rc.d/rc.sysconfig: /sbin/modprobe ip_masq_ftp 其他模組通常都放在/lib/modules/KERNEL-VERSION/ipv4檔中。 為本地網路的其他機器啟動IP masquerading功能的程序非常簡單。首先檢查網路 初始化腳本/etc/sysconfig/network (應在應該放置的位置)是否有內容 為FORWARD_IPV4=true的一行。通常在網路啟動時 /proc/sys/net/ipv4/ip_forward均設為 1。 在/etc/rc.d/rc.sysinit中增加以下數行: # default: packets cannot go reach the outside # 預設為數據包無法發送到網際網路 /sbin/ipfwadm -F -p deny # allow all machines on the local network to reach the Internet # 使本地網路上的所有機器均可連接網際網路 /sbin/ipfwadm -F -a m -S 192.168.1.0/24 -D 0.0.0.0/0 # alternatively, allow only these two machines # 或只讓下面兩台電腦連到網際網路 # /sbin/ipfwadm -F -a m -S 192.168.1.100/24 -D 0.0.0.0/0 # /sbin/ipfwadm -F -a m -S 192.168.1.101/24 -D 0.0.0.0/0 如 Linux 已使用 2.2.x 系列內核,以ipfwadm-wrapper代替ipfwadm可加快啟動 速度。 現在應使用戶端機器撥接ISP;可試用Mserver( [22]http://cpwright.villagenet.com/mserver/)。修改etc/mserver.conf; 只需改動“checkhost”、“shadow”和“cname”三項。然後設定聯網參數。 3.3 限制網路連接 假定電腦通過PPP連到網際網路。任何機器連到網際網路就有可能遭到外界的入侵 。在 /etc/hosts.allow中列入以下內容: # only allow access to localhost # 只允許連到localhost ALL: 127. 並在/etc/hosts.deny中列入: # deny access to everyone # 不讓任何人進入 ALL: ALL 如果電腦所屬的網路直接與網際網路連接,由于安全的理由,最好取消finger 、telnet等功能; 利用ssh替代telnet。此處只要修改/etc/inet.conf檔即可。 同時, 也可在/etc/hosts.allow中增加下列內容限制網路連接: in.telnetd: 192.168.1., .另一個.可信的.網路地址 in.ftpd: 192.168.1., .另一個.可信的.網路地址 並在/etc/hosts.deny中增加下列內容: in.telnetd: ALL in.ftpd: ALL 3.4 NFS輸出 這種方式用于服務器用戶目錄的輸出;但如果用戶的 UID 和 GID 在各台機器上 各不相同,就會發生問題。如果用戶 guido 在server上的 UID/GID 為 500, 在client上的 UID/GID 為 512,則可設置如下: # /etc/exports /tmp my.client.machine(rw) /home/guido my.client.machine(rw,map_static=/etc/nfs/client.map) 在/etc/nfs/client.map檔中填入: # /etc/nfs/client.map # NFS mapping for client # remote local uid 512 500 gid 512 500 3.5 域名服務器 有待編寫 (譯註:作者顯然忘了編寫這部分內容) 4. 軟件設置 下列設置檔必需加以設定:/etc/profile /etc/bashrc .bashrc .bashrc .bash_profile .bash_logout .inputrc .less .lessrc .xinitrc .fvwmrc .fvwm2rc95 .Xmodmap .Xmodmap.num .Xdefaults .jedrc .abbrevs.sl .joerc .emacs . 在完成系統設定以前不要增添用戶;需要將點文檔(dot files)放 入/etc/skel。 4.1 bash(1) 有人認為,這個軟件是除內核之外最重要的軟件。要使bash適合個人口味, 可修 改下列文檔: * /etc/bashrc 存有整個系統的別名和功能; * /etc/profile 存有整個系統的環境參數和啟動程式; * $HOME/.bashrc 存有用戶的的別名和功能; * $HOME/.bash_profile 存有用戶的環境參數和啟動程式; * $HOME/.inputrc 存有主要綁定數值和其他位元數值; 下文例舉對這些文檔的修改。首先,最重要的文檔是:/etc/profile。以下几節 中可以看到, 修改這個文檔可以設定 Linux 的各種功能。 _________________________________________________________________ # /etc/profile # System wide environment and startup programs # --整個系統環境和啟動程式 # # Functions and aliases go in /etc/bashrc # --/etc/bashhrc中包含功能和別名 # # This file sets up the following features and programs: # --這個文檔設定下列功能: # # o path --路徑 # o prompts --提示符 # o a few environment variables --几個環境變數 # o colour ls --ls 的顏色 # o less behaviour --設定less的功能 # o rxvt # # Users can override these settings and/or add others in their # $HOME/.bash_profile # 用戶可在 $HOME/.bash_profile 中取消這些設定和(或)增加其他設定 # set a decent path # 設定可行的路徑 PATH="$PATH:/usr/X11R6/bin:$HOME/bin:." # notify the user: login or non-login shell. If login, the prompt is # coloured in blue; otherwise in magenta. Root's prompt is red. # See the Colour-ls mini HOWTO for an explanation of the escape codes. # 通知用戶:登錄(login)或不登錄(non-login)的外圍程序(shell)。 # 如果登錄,則提示符為藍色,否則為紫紅色。Root的提示符為紅色。 # 參閱Colour-ls mini HOWTO 中對換碼符(escape codes)的使用解釋。 USER=`whoami` if [ $LOGNAME = $USER ] ; then COLOUR=44 # blue --藍色 else COLOUR=45 # magenta --紫紅色 fi if [ $USER = 'root' ] ; then COLOUR=41 # red --紅色 PATH="$PATH:/usr/local/bin" fi ESC="\033" PROMPT='\h' # hostname --主機名 STYLE=';1m' # bold --粗體 # PROMPT='\u' # username --用戶名 # STYLE='m' # plain --一般字體 PS1="\[$ESC[$COLOUR;37$STYLE\]$PROMPT:\[$ESC[37;40$STYLE\]\w\\$ " PS2="> " # no core dumps, please # 請勿轉儲內存信息 ulimit -c 0 # set umask # 設定umask if [ `id -gn` = `id -un` -a `id -u` -gt 14 ]; then umask 002 else umask 022 fi # a few variables # 几項變數 USER=`id -un` LOGNAME=$USER MAIL="/var/spool/mail/$USER" # sendmail, postfix, smail # MAIL="$HOME/Mailbox" # qmail NNTPSERVER=news.myisp.it # put your own here VISUAL=jed EDITOR=jed HOSTNAME=`/bin/hostname` HISTSIZE=1000 HISTFILESIZE=1000 export PATH PS1 PS2 USER LOGNAME MAIL NNTPSERVER export VISUAL EDITOR HOSTNAME HISTSIZE HISTFILESIZE # enable colour ls # 設定ls的顏色 eval `dircolors /etc/DIR_COLORS -b` export LS_OPTIONS='-s -F -T 0 --color=yes' # customize less # 設定less LESS='-M-Q' LESSEDIT="%E ?lt+%lt. %f" LESSOPEN="| lesspipe.sh %s" LESSCHARDEF=8bcccbcc13b.4b95.33b. # show colours in ls -l | less # LESSCHARSET=latin1 PAGER=less export LESS LESSEDIT LESSOPEN VISUAL LESSCHARDEF # fix the backspace key in rxvt/xterm # 設定rxvt/xterm中的退後鍵 CTRL_H="\010" NULL_STRING=" $CTRL_H" # space + backspace if [ "$NULL_STRING" != "" ] ; then stty erase ^? else stty erase ^H fi # set xterm title: full path case $TERM in xterm*) PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"' ;; esac for i in /etc/profile.d/*.sh ; do if [ -x $i ]; then . $i # beware - variables and aliases might get overridden! fi done # call fortune, if available --如有fortune if [ -x /usr/games/fortune ] ; then echo ; /usr/games/fortune ; echo fi _________________________________________________________________ 此處為 /etc/bashrc: _________________________________________________________________ # /etc/bashrc # System wide functions and aliases # 整個系統的功能和別名 # # Environment stuff goes in /etc/profile # /etc/profile中的環境參數 # # Insert PS1 definitions here if you experience problems. # 如有問題可將PS1的參數放在此處 export CDPATH="$CDPATH: # common aliases --共同別名 alias cp='cp -i' alias l=less alias ls="ls $LS_OPTIONS" alias mv='mv -i' alias rm='rm -i' alias rmbk='/bin/rm -f .* alias u='cd ..' alias which="type -path" alias x=startx # A few useful functions --几項有用的功能 c () # cd to the new directory and list its contents { cd $1 ; ls } inst() # Install a .tar.gz archive in current directory --在當前目錄中建立.tar .gz儲存庫 { if [ $# != 0 ]; then tar zxvf $1; fi } cz() # List the contents of a .zip archive --列出.zip的內容 { if [ $# != 0 ]; then unzip -l $*; fi } ctgz() # List the contents of a .tar.gz archive --列出.tar.gz的內容 { for file in $* ; do tar ztf ${file} done } tgz() # Create a .tgz archive a la zip. --建立壓縮檔.tgz { if [ $# != 0 ]; then name=$1.tar; shift; tar -rvf ${name} $* ; gzip -9 ${name} fi } crpm() # list information on an .rpm file --列出.rpm檔的內容 { if [ $# != 0 ]; then rpm -qil $1 | less; fi } _________________________________________________________________ 此處為 .bashrc: _________________________________________________________________ # $HOME/.bashrc # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi # this is needed to notify the user that they are in non-login shell # 需要以下設定,以便通知處於不登錄(non-login)外圍程序(shell)中的用戶 if [ "$GET_PS1" = "" ] ; then COLOUR=45; ESC="\033"; STYLE=';1m'; # STYLE='m' USER=`whoami` export PS1="\[$ESC[$COLOUR;37$STYLE\]$USER:\[$ESC[37;40$STYLE\]\w\\$ " fi # personal aliases # 個人別名 alias backup='tar -Mcvf /dev/fd0' alias dial='eznet up myisp' alias f='cd alias hangup='eznet down' alias lyx='lyx -width 580 -height 450' alias restore='tar -M -xpvf /dev/fd0' # personal functions # 几個個人使用的功能 xj() # Launch xjed and a file in background --在背景啟動xjed和文檔 { xjed $1 & } _________________________________________________________________ 此處為.bash_profile: _________________________________________________________________ # $HOME/.bash_profile # User specific environment and startup programs # 用戶特定的環境參數和啟動程式 # # This file contains user-defined settings that override # those in /etc/profile # 這個文檔中存有用戶自訂的設置,可取代/etc/profile 中的數值 # # Get aliases and functions # 設定別名和功能 # if [ -f then GET_PS1="NO" # don't change the prompt colour --不改變提示符的顏色 . fi # set a few `default' directories # 設定几個“默認”目錄 export CDPATH="$CDPATH:$HOME:$HOME/text:$HOME/text/geology" _________________________________________________________________ 此處為 .inputrc: _________________________________________________________________ # $HOME/.inputrc # key bindings # 主要綁定 "\e[1 "\e[3 "\e[4 # (F1 .. F5) are "\e[[A" ... "\e[[E" # (F1 .. F5) 分別為 "\e[[A" ... "\e[[E" "\e[[A": "info \C-m" set bell-style visible # please don't beep # 喇叭不發聲 set meta-flag On # allow 8-bit input (i.e, accented letters) # 允許8-位元輸入(例如重音字符)譯註:用于歐洲 set convert-meta Off # don't strip 8-bit characters # 不取消8-位元字符 set output-meta On # display 8-bit characters correctly # 正確顯示8-位元字符 set horizontal-scroll-mode On # scroll long command lines # 長指令行自動翻轉 set show-all-if-ambiguous On # after TAB is pressed # 按TAB鍵 _________________________________________________________________ 設定下列參數使 backspace 和 delete 兩鍵在xterm 和其他X11應用中運作正常 : * 在.xinitrc中添加: usermodmap=$HOME/.Xmodmap xmodmap $usermodmap * 在.Xmodmap中添加: keycode 22 = BackSpace keycode 107 = Delete 以上就設定了主控台的參數。要修改xterm,則更改如下: * 在.Xdefaults中增添: xterm*VT100.Translations: #override BackSpace: string(0x7F)\n\ Delete: string(0x1b) string("[3 Home: string(0x1b) string("[1 End: string(0x1b) string("[4 CtrlPrior: string(0x1b) string("[40 CtrlNext: string(0x1b) string("[41 nxterm*VT100.Translations: #override BackSpace: string(0x7F)\n\ Delete: string(0x1b) string("[3 Home: string(0x1b) string("[1 End: string(0x1b) string("[4 CtrlPrior: string(0x1b) string("[40 CtrlNext: string(0x1b) string("[41 rxvt的問題比較複雜,因為在編輯時的一些設定會影響它的功能。參看上文 /etc/profile部分。 在bash(1) 和 readline(3) 的 man 說明中有更多這方面的資料。 不要以為這些設定在每種應用中都可正常運作。例如,在xterm中運行joe, 有些 鍵位就不起作用;運行rxvt也有相同的問題。 4.2 ls(1) ls可用顏色顯示目錄,突出不同種類的文檔。如上文所示,要使用這項功能,只 要在 /etc/profile 增加几行內容即可。不過,這對有些版本的rxvt不起作用; 得使用 xterm 替代。看來一些老版本的rxvt有設計不全之處,以致在有些情況下 無法正確使用環境參數。 Caldera版本的ls不顯示顏色,但它有一個類似的color-ls。 將以下內容加到 /etc/bashrc: alias ls="color-ls $LS_OPTIONS" 4.3 less(1) 利用這個優越的頁面調度程序不僅能瀏覽一般文字文檔,也能觀看壓縮的 gzip 文檔和以 tar 和 zip 格式儲存的檔案文檔和 man 文檔,其設置如下: * 如要配合使用方向鍵,則將以下以ASCII編寫的一般文字檔.lesskey 置 于home目錄內: ^[[A back-line ^[[B forw-line ^[[C right-scroll ^[[D left-scroll ^[OA back-line ^[OB forw-line ^[OC right-scroll ^[OD left-scroll ^[[6 ^[[5 ^[[1 ^[[4 ^[[7 ^[[8 然後運行指令lesskey。(這是類似vt100型終端機的換碼符)。 這會生成綁 定鍵位的二進制文檔 .less。 * 編制下列稱為w /usr/local/bin/lesspipe.sh的文檔: _____________________________________________________________ #!/bin/sh # This is a preprocessor for 'less'. It is used when this environment # variable is set: LESSOPEN="|lesspipe.sh %s" # 此為‘less’的預處理器。當環境參數定為LESSOPEN="|lesspipe.sh %s" # 時,便起用這個預處理器。 lesspipe() { case "$1" in *.tar) tar tf $1 2>/dev/null ;; # View contents of .tar and .tgz files # 閱讀.tar和.tgz檔的內容 *.tgz|*.tar.gz|*.tar.Z|*.tar.z) tar ztf $1 2>/dev/null ;; *.Z|*.z|*.gz) gzip -dc $1 2>/dev/null ;; # View compressed files correctly # 正確閱讀壓縮文檔 *.zip) unzip -l $1 2>/dev/null ;; # View archives # 閱讀檔案文檔 *.arj) unarj -l $1 2>/dev/null ;; *.rpm) rpm -qpil $1 2>/dev/null ;; *.cpio) cpio --list -F $1 2>/dev/null ;; *.1|*.2|*.3|*.4|*.5|*.6|*.7|*.8|*.9|*.n|*.l|*.man) FILE=`file -L $1` FILE=`echo $FILE | cut -d ' ' -f 2` if [ "$FILE" = "troff" ]; then groff -s -p -t -e -Tascii -mandoc $1 fi ;; *) file $1 | grep text > /dev/null ; if [ $? = 1 ] ; then # it's not some kind of text strings $1 fi ;; esac } lesspipe $1 _____________________________________________________________ 然後運行chmod 755 lesspipe.sh,使其成為可執行檔。 * 按照上文將必要的變數放入/etc/profile。 4.4 emacs(1) 文本編輯器 由于我不太用emacs,因此心得不多。有些emacs 版本沒有預先設置顏色和語法標 示。可在.emacs中增添: (global-font-lock-mode t) (setq font-lock-maximum-decoration t) 這只對X11有用。如需使用重音符號,可增加此行: (standard-display-european 1) 我讓您自己從關於emacs的文件資料中尋找設定符合您的需要的方法,有時這需要 几個月的時間。 點文檔產生器( [23]設置軟件)可以幫些忙。 4.5 joe(1) 文本編輯器 有些joe的版本不在主控台顯示顏色,並且有些特殊鍵位不起作用。解決這項問題 的最快方法是: (譯註:原文似乎有漏) 要使特殊鍵位發生作用,只要修改.joerc、.jstarrc或喜愛的仿真設定; 首先改 變/usr/lib/joe中的設置文檔。利用第四部分(鍵位梆定)設定Home和 End兩鍵 。 bol ^[ [ 1 eol ^[ [ 4 找出ESC的次序,鍵入cat,然後再鍵入特殊鍵。 4.6 jed(1) 文本編輯器 這是相當好用的編輯器:比emacs短小精悍,也宜於設定,使用方式也與其他編輯 器十分類似。 我們大學的許多用戶都用jed替代VMS的系統編輯器EDT。 jed的設置文檔為 .jedrc和/usr/lib/jed/lib/*;前者可從後者目錄中的jed.rc 修改而得。 * 要使jed的特殊鍵位設置正確,編制/usr/lib/jed/lib/defaults.sl檔, 其 內容如下: () = evalfile(" Linux "); * 如果xjed不識別DEL鍵,則在.jedrc中增加下列內容: #ifdef XWINDOWS x_set_keysym (0xFFFF, 0, "\e[3 setkey (``delete_char_cmd'', "\e[3 #endif * 編輯/usr/lib/jed/lib/ Linux .sl,設定Info_Directory = "/usr/info"; 并在/UCB_Mailer = "/bin/mail";后添加/bin/mail; * 設置jed模擬EDT(或其他編輯器)的工作不難:只須編輯 .jedrc 中的几行 內容。 如果要用小鍵盤中的‘+’鍵刪字,而不只刪一個字母,則在.jedrc 中() = evalfile("edt")(或類似的設定)之後增添下列內容: unsetkey("\eOl"); unsetkey("\eOP\eOl"); setkey("edt_wdel", "\eOl"); setkey("edt_uwdel", "\eOP\eOl"); * 在EDT模擬中,要使xjed使用數字小鍵盤,則須在 .Xmodmap 中添加下列內容 : keycode 77 = KP_F1 keycode 112 = KP_F2 keycode 63 = KP_F3 keycode 82 = KP_F4 keycode 86 = KP_Separator * 在.Xdefaults中增加以下內容可以更改xjed的顏色: xjed*Geometry: 80x32+150+50 xjed*font: 10x20 xjed*background: midnight blue # and so on... * 設定“簡稱表”可節省許多時間。編輯一個稱為 $HOME/.abbrevs.sl 的程序 (如要改變名稱,可在.jedrc中插入variable Abbrev_File = "/usr/lib/jed/abbrev.sl";): create_abbrev_table ("Global", "0-9A-Za-z"); define_abbrev ("Global", "GG", "Guido Gonzato"); create_abbrev_table ("TeX", "\\A-Za-z0-9"); define_abbrev ("TeX", "\\beq", "\\begin{equation}"); define_abbrev ("TeX", "\\eeq", "\\end{equation}"); % and so on... 並鍵入ESC x abbrev_mode使其運行。如要自動運行簡稱功能,將下列內容加 入 .jedrc: define text_mode_hook () { set_abbrev_mode (1); } % define fortran_hook () { set_abbrev_mode (1); use_abbrev_table ("Fortran"); } % and so on... 4.7 pine(1) 郵件閱讀器 修改/usr/lib/pine.conf中涉及整個系統的設置,特別注意: user-domain 、smtp-server和nntp-server。同時注意 inbox-path取決于使用何種 MTA:如使 用 sendmail 或 postfix,則為 var/spool/mail/$USER;如使用 Qmail,則為 /home/$USER/Mailbox (但 root 使用 /usr/lib/pine.conf)。 4.8 minicom(1) 除非 root 修改影響整個系統的設置,否則用戶無法使用 minicom。記住修改。 4.9 efax(1) 軟件 可能這是一套最容易收發傳真(fax)的軟件。只要修改 /usr/bin/fax 內的指令 即可;修改不難,但有些小地方卻需注意: * 利用 at+fclass=? 指令找出系統內的數據機的級別為 class 1、2或2.0型。 系統的回覆可能為 0,1,2;1 和 2 表示數據機支持的級別; * DIALPREFIX: 單單使用“T”或“P”可能不適用于有些國家(至少不適用于 義大利)。改用 “ATDT”或“ATDP”撥號; * INIT and RESET: efax 需要起始參數 “-i”和 “-k”。 如需使用 AT 指 令,則將其從指令中消除,並以 “-i” 或 “-k”替代。例如:在 INIT 中 使用 “ATX3” 指令,則加入 “-iX3”即可。 完成這項設置後,還要設置几項使用者的權限設定,這樣非 root 的使用者才能 收發傳真。首先要使 /var/lock 和 /var/spool/fax 成為可寫目錄。要完成這項 工作, 不妨設立 faxusers 群組,將使用者加入其中,然後以下列指令改變屬性 : chmod g+w /var/spool/fax 4.10 Ghostscript 這個有用的軟件有點小問題。因為美國的出口限制,pdf2ps 不能在加密的 .pdf 文檔上使用。解決辦法是將瀏覽器接上 [24]http://www.ozemail.com.au/, 把 pdf_sec.ps 文檔取代 Ghostscript 中的同名文檔即可。 4.11 TeX 的使用 假設 Linux 機上已安裝了LeTeX。 * 從最近的鏡像站下載其他與LaTeX有關的軟件,例如 [25]ftp://ftp.dante.de/pub/tex。將這些文檔放在 /usr/share/texmf/tex/latex 目錄下,然後運行指令texhash,使 teTeX知 道新軟件的存在; * 設置連字符(hyphenation),則可修改 /usr/share/texmf/tex/generic/config/language.dat檔,然後運行: texconfig hyphen * 如要設定dvips,則需編輯 /usr/share/texmf/dvips/config/config.ps檔。 注意:有關默認分辨率的參數也影響 xdvi的運行;如果每次運行時發現都要 創造字體,則可改動 .Xdefault的內容如下: XDvi*mfmode: 這應有所幫助。 * 擴大TeX的尋找範圍可將子目錄中的PostScript數字包括再內。將下列指令放 入 .bash_profile: export TEXINPUTS="$HOME/figures::./figures" 這使TeX在查找默認目錄之前先查找$HOME/figures,并在查找默認目錄之後 查找 ./figures。 4.12 避免PPP的問題 目前 Linux 的內核幾乎都已編入了 PPP + TCP/IP 功能,設定了回送地址 (loopback)和正確安裝了pppd軟件和作為suid root。當然,ISP 得支持PPP。 目前有兩種方式可使 PPP 正常運作:(a)手動設定;和(b)利用一個程式自動 設定。不論採用何種方式,均請收集下列資料: * ISP的電話號碼 * ISP的名字、郵件和新聞服務器的地址 * ISP的域名 * 用戶名字和密碼 手動設置是件單調無聊、十分乏味的事。雖然涉及的工作無非是修改文檔和編輯 腳本,並不麻煩, 但極易出錯,新手往往不敢輕易嚐試。幸好有 PPP HOWTO 可 以參考。此外,也有工具可以使用,輸入上述資料,然後自動為您設置。 Gnome 和KDE兩套軟件中分別包括了gnome-ppp和kppp兩個工具,方便安裝PPP, 令人十 分感激。此外,也不妨使用在主控台上操作的工具wvdial和eznet。 只要提 供ISP的電話號碼、用戶姓名、密碼,就聯網上路了。它們的網頁是 [26]http://www.worldvisions.ca/wvdial和 [27]http://www.hwaci.com/sw/eznet,不妨試用。這兩個工具都十分好用,也需 後者更方便一些。 使用eznet 首先,建立一個文檔/etc/resolv.conf,內容如下: nameserver w.x.y.z 其中填入您使用的ISP的域名伺服器(nameserver)的地址。要利用eznet建立帳 戶, 可使用下列指令: #(譯註:原文有漏) 這會產生一個屬於root的文檔/var/eznet/eznet.conf,使用權限為600; 如要讓 大家都能使用,用chmod將其改為666。利用eznet up YOUR_ISP撥號給ISP。如果 數據機一直等待電話的接撥信號,無法接通,試試下列指令: #(譯註:原文有漏) 要掛斷電話,只要發出eznet down指令。不是十分簡單嗎! 使用wvdial wvdial的設置甚至更短。鍵入wvdialconf /etc/wvdial.conf,然後修改這個文檔 使其列入用戶姓名、密碼和電話號碼。 用wvdial試撥,希望一切順利。要斷線, 用 Ctrl-C即可。 4.13 POP用戶端程序 要從POP伺服器收取郵件,可使用POP用戶端程序,如fetchpop或 fetchmail等; 後者比較先進,但需要運行sendmail。這對低檔電腦而言, 似乎是多此一舉。這 些軟件可從 [28]ftp://metalab.unc.edu/pub/ Linux /system/mail/pop得到。 設置用戶端的程式如下: * fetchpop:在第一次運行這個軟件時會要求輸入一些資料。只要回答所有問 題即可。 如果ISP的POP3伺服器不能正確執行LAST指令,在使用fetchpop時 必需加附參數-r * fetchmail:修改.fetchmailrc如下: # $HOME/.fetchmailrc poll mbox.myisp.com with protocol pop3; user john there with password _Loo%ny is john here 有個用戶指出在第二行中增加“smtphost localhost”能大大改善運行速度 。 必須運行chmod 600 .fetchmailrc設定此檔的使用權限,否則fetchmail 會完全拒絕運行。 這個例子只是一種非常基本的設定,還有其他各種可能設 定的辦法, 可參看 [29]http://www.ccil.org/。 4.14 X 視窗系統 (XFree86) 設定X伺服器 歸根結底,設定X伺服器已經沒有以前那麼困難。所有版本的 Linux 現在都包括 了設定X11的工具(XConfigurator、sax、XF86Setup 或至少有xf86config)。目 前X伺服器的設置幾乎完全自動, 只是有少數几種視像卡可能拒絕工作。在設 定X伺服器時如遭遇困難,可用下列簡單的方法解決: * 確定安裝了通用的VGA伺服器; * 連接到 [30]ftp://ftp.XFree86.org/pub/XFree86/current/binaries,cd到 適當的 Linux 子目錄,下載X_version_bin.tgz、X_version_set.tgz和所有 伺服器。 在其他軟件中,第一個存檔軟件內載有最新的SuperProbe; * 將X_version_bin.tgz打開到一個臨時目錄,cd到該目錄,然後運行 ./SuperProbe。如果這個程式測得視像卡,那就有可能設定視像卡。否則就 沒有希望; * 從/usr/X11R6/安裝各個伺服器和X_version_set.tgz,然後運行 XF86Setup 。 這種方法一般都萬無一失,但各人的情況可能不同。X11不開始運行的多數原因是 視像器的參數選擇過高。 不妨從比較低的參數開始,例如選800x600和256色,然 後逐步上升。注意: 這些操作應謹慎小心,可能會損壞視像器! 數字小鍵盤 上文已經示範如何設定几個特別鍵位。如果使用Xjed,示範文檔.Xmodmap就符合 需要, 但缺點是無法使用數字小鍵盤(keypad)。因此需要.Xmodmap.num另作設 定: ! Definitions can be found in ! 在中可找到各項定義 keycode 77 = Num_Lock keycode 112 = KP_Divide keycode 63 = KP_Multiply keycode 82 = KP_Subtract keycode 86 = KP_Add keycode 79 = KP_7 keycode 80 = KP_8 keycode 81 = KP_9 keycode 83 = KP_4 keycode 84 = KP_5 keycode 85 = KP_6 keycode 87 = KP_1 keycode 88 = KP_2 keycode 89 = KP_3 keycode 90 = KP_0 keycode 91 = KP_Decimal 確定/etc/X11/XF86Config中不得有下列三行: ServerNumLock Xleds XkbDisable 否則用#註銷。要重新使用數字小鍵盤,運行指令xmodmap .Xmodmap.num。 用xdm圖像登錄 要使用圖像登錄,不妨修改/etc/inittab,使其包含下列內容: x:5:respawn:/usr/bin/X11/xdm -nodaemon 其中5是X11的運行級別(runlevel)(S.u.S.E. 用4)。按照下列方法修改默認 運行級別(通常為2或3): id:5:initdefault: 顏色的數值設定于/etc/X11/xdm/Xserver: :0 local /usr/X11R6/bin/X :0 -bpp 16 vt07 # first X server, 65k colours :1 local /usr/X11R6/bin/X :1 -bpp 32 vt08 # second X server, true colour 如果已有.xinitrc,將其複製成.xsession,并運行chmod +x .xsession使其成為 可執行檔。然後運行指令telinit 5,那就大功告成了。 視窗管理器 一旦X伺服器能夠無誤地工作,那就有各種組合的設置;當然,這得看用哪種視窗 管理器(window manager),目前就有几十種可選。多數設置都是修改一、兩個主 目錄內的文本文件(ASCII files);也有根本不需作任何修改的視窗管理器,而用 一個小程式或甚至菜單來管理。 舉例如下: * 屬於fvwm家族: 拷貝 /etc/X11/fvwm/system.fvwmrc (或類似的程式)到主目 錄, 打開試用。用這種方法可能會浪費不少時間,不過這樣才會真正知道它 的特性,並了解是否投你所好; * WindowMaker: 它有几個設置文檔,都在 $HOME/GNUstep內,并有一個相當不 錯的小程式(applet); * KDE 和 Gnome: 沒有任何修改之處:任何設定都通過菜單進行。 簡言之,如果不在乎修改設置文檔,可選用icewm、fvwm*、blackbox等; 否則就 選用目前常見的KDE、Gnome、WindowMaker和XFCE。 應該要有一個好的.xinitrc。舉例如下: #!/bin/sh # $HOME/.xinitrc usermodmap=$HOME/.Xmodmap xmodmap $usermodmap xset s noblank # turn off the screen saver -- 關閉屏幕保護軟件 xset s 300 2 # screen saver start after 5 min -- 5分鐘之後啟動屏幕保護 xset m 10 5 # set mouse acceleration -- 設定鼠標的速度 rxvt -cr green -ls -bg black -fg white -fn 7x14 \ -geometry 80x30+57+0 & if [ "$1" = "" ] ; then # default WINMGR=wmaker else WINMGR=$1 fi $WINMGR 雖然並非必需,但將其變成可執行檔chmod +x .xinitrc。 這個 .xinitrc 讓你選用視窗管理器: $ startx startkde # or other w.m. -- 或其他視窗管理器 (不過它不適用于有些版本的 S.u.S.E.) X11 應用軟件的默認值 找出app-defaults的所在位置(應該在/usr/X11R6/lib/X11/app-defaults)。 有 几個應用軟件的設置文檔都在這個目錄內。 4.15 使用者的設置文檔 完成 Dot 文檔的編輯後,將這些設置文檔按 [31]軟件設置的方法抄到 /etc/skel。 4.16 製作 .rpm rpm是一種管理整套軟件的好方法,除非在特殊情況下(安全理由), 一般我都不 太願意安裝.tar.gz軟件。要安裝.tar.gz軟件時,不妨將其轉換成.rpm檔, 然後 再安裝;參考RPM HOWTO。此外,在使用比較新的gcc版本時,例如 egcs或pgcc, 不妨將下列內容加入/etc/rpmrc: optflags: i386 -O2 -mpentium 4.17 Upgrading 在機器升級時,應首先製作備份,並保存一些重要文檔,其中應包括 /etc/X11/XF86Config、/usr/bin/fax和/usr/local 中的所有文檔以及內核設置 、全套/etc和/var/spool/mail中的所有郵件。 然後應該升級(極少降級)軟件版本附帶的應用軟件,和增加應用軟件。 5. 設置軟件 有一些程式使 Linux 易于安裝和設置。有些程式已經成為標準: Red Hat 和 Caldera 以及一些附帶 setup、printtool、netcfg、usertool的版本, S.u.S.E.奉送整套設置程序Yast。其他有用的程序包括: * The Dotfile Generator: X視窗的應用軟件和模組,以便設置emacs、bash 、procmail等軟件。 其網址為 [32]http://www.imada.ou.dk/ * Linux conf: 最有用的設置工具。它能在主控台和X下均可運行。要查找資料 ,不妨利用 [33]http://www.solucorp.qc.ca/ Linux conf網址。 6. 結束 6.1 版權說明(譯者:保留原文) Unless otherwise stated, Linux HOWTO documents are copyrighted by their respective authors. Linux HOWTO documents may be reproduced and distributed in whole or in part, in any medium physical or electronic, as long as this copyright notice is retained on all copies. Commercial redistribution is allowed and encouraged; however, the author would like to be notified of any such distributions. All translations, derivative works, or aggregate works incorporating any Linux HOWTO documents must be covered under this copyright notice. That is, you may not produce a derivative work from a HOWTO and impose additional restrictions on its distribution. Exceptions to these rules may be granted under certain conditions; please contact the Linux HOWTO coordinator at the address given below. In short, we wish to promote dissemination of this information through as many channels as possible. However, we do wish to retain copyright on the HOWTO documents, and would like to be notified of any plans to redistribute the HOWTO s. If you have questions, please contact Tim Bynum, the Linux HOWTO coordinator, at [34]Linux-HOWTO@metalab.unc.edu via email. 6.2 反饋意見 這份 HOWTO 也許比其他 HOWTO 更需要您提出意見和作出評論。我不僅對此表示 歡迎,事實上,這還是必需的。如果您發現遺漏或錯誤, 請務必通知我。如果您 使用的版本不同于 Red Hat/Mandrake,並且設置文檔放置在不同的目錄內,請通 知我,我會列入您的使用心得。 我希望大家使用 Linux 能越方便越好。 Linux 的版本很多,因此不可能羅列所有各種說明。 請將您的要求和建議儘量符 合最“合理”的程式 - 我留待您自己決定何者為合理的程度。 6.3 免責聲明Disclaimer “系統設置 HOWTO ”是我 Guido Gonzato [35]guido@ibogeo.df.unibo.it編寫 的,在此我要感謝所有其他 HOWTO 的作者和 man 說明的作者和(或)管理人員 ,因為我時常剽竊他們的心得,實感汗顏。 我並要感謝所有對我的文章提出批評 和建議的同好。 這份文件就以以上的內容提供給大家。我已盡力使內容正確,請各位斟酌使用, 但我對大家使用這份文件可能造成的後果不負任何責任。 我衷心希望這篇文章對您有用,因為我在安裝新 Linux 系統時,也都時時借 助.... 希望您用得得心應手。 Guido =8-) References 1. file://localhost/tmp/zh-sgmltools.21377/guido``at''ibogeo.df.unibo.it 2. news:comp.os.linux.setup 3. http://metalab.unc.edu/mdw/HOWTO 4. http://ibogeo.df.unibo.it/guido/Configuration 5. http://www.seifried.org/lasg 6. http://nic.com/ 7. file://localhost/tmp/zh-sgmltools.21377/Config-HOWTO.txt.html#Restricting 8. http://www.cs.hut.fi/ssh/ 9. http://srp.stanford.edu/srp/ 10. ftp://metalab.unc.edu/pub/Linux/system/recovery 11. http://www.Linuxhq.com/patch/20-p0591.html 12. file://localhost/tmp/zh-sgmltools.21377/Config-HOWTO.txt.html#SVGA 13. http://www.Linuxhq.com/patch/20-p0239.html 14. file://localhost/tmp/zh-sgmltools.21377/Config-HOWTO.txt.html#Hostname 15. ftp://metalab.unc.edu/pub/Linux/system/hardware 16. http://www.torque.net/ 17. http://Linux.wauug.org/pub/knaff/mtools 18. http://bmrc.berkeley.edu/people/chaffee/fat32.html 19. ftp://tsx-11.mit.edu/pub/Linux/sources/sbin 20. http://www.xos.nl/Linux/ipfwadm/ 21. http://www.adelaide.net.au/ 22. http://cpwright.villagenet.com/mserver/ 23. file://localhost/tmp/zh-sgmltools.21377/Config-HOWTO.txt.html#Config sw 24. http://www.ozemail.com.au/ 25. ftp://ftp.dante.de/pub/tex 26. http://www.worldvisions.ca/wvdial 27. http://www.hwaci.com/sw/eznet 28. ftp://metalab.unc.edu/pub/Linux/system/mail/pop 29. http://www.ccil.org/ 30. ftp://ftp.XFree86.org/pub/XFree86/current/binaries 31. file://localhost/tmp/zh-sgmltools.21377/Config-HOWTO.txt.html#config 32. http://www.imada.ou.dk/ 33. http://www.solucorp.qc.ca/Linuxconf 34. file://localhost/tmp/zh-sgmltools.21377/Linux-HOWTO@metalab.unc.edu 35. file://localhost/tmp/zh-sgmltools.21377/guido@ibogeo.df.unibo.it