linux問答式學習

問:在Linux下如何安裝RPM等格式的軟件?

答:RPM格式的軟件使用方法如下。
  1.安裝,代碼如下:
  $ rpm -ivh 文件名
  2.升級,代碼如下:
  $ rpm -Uvh 文件名
  3.刪除,代碼如下:
  $ rpm -e 包名(注意不是安裝用的文件名)
  4.查看安裝的包,代碼如下:
  $ rpm -qa 將列出所有安裝的rpm包
  5.查看包的信息,代碼如下:
  $ rpm -qpi 包名
  6.查看包的文件安裝內容:
  $ rpm -qpl 包名
  此外,軟件包還有其它一些常見的格式,如.tar、.gz格式。一般的步驟是:
  $ tar zxvf name.tar.gz
  展開文件後根據其中的安裝文檔進行。遇到有特殊功能要求的軟件安裝時(如MySQL、PHP等)
還需要自己編譯,此處不詳述。


問:在Linux下如何獲得命令幫助?

答:可使用man、info實現。將man的信息保存到文件的代碼:
$ man 命令 | col -b > 保存的文件名
例如,將cp的命令保存到文件cp.txt,代碼如下:
$ man cp | col -b > cp.txt


問:如何將文件備份、打包?

答:1.用tar打包
將指定文件(目錄)打包,可使用如下代碼:
$ tar cvf 包名 文件(或者目錄)列表
例如將/usr/local/var目錄的內容打包到var.tar,可以操作如下:
$ tar cvf var.tar /usr/local/var
如果要查看包中文件的內容,可以使用如下代碼:
$ tar tvf var.tar 將列出var.tar中文件的內容
展開包的內容時,操作如下:
$ tar xvf var.tar
向已經打好的包中增加文件時,可做如下操作:
$ tar rf 包名 要添加的文件列表
例如將當前目錄下的所有.sql文件加入var.tar,可用以下代碼實現:
$ tar rf var.tar *.sql
2.用gzip打包
壓縮文件時(如將var.tar壓縮),可使用如下命令:
$ gzip var.tar
壓縮後的包名爲var.tar.gz。
解壓可用如下代碼:
$ gzip -d var.tar.gz
或者:
$ gunzip var.tar.gz
tar可調用gzip將壓縮文件解壓並展開。比如,將var.tar.gz解壓並展開到當前目錄,可使用如下命令:
$ tar zxvf var.tar.gz
其中的z選項表示調用gzip。


問:如何配置Samba?

答:1.配置/etc/services,代碼如下:
$ netbios-ns 137/tcp 137/udp
$ netbios-dgm 138/tcp 138/udp
$ netbios-ssn 139/tcp 139/udp
2.配置smb.conf
以下是/etc/smb.conf文件的內容:
[global]
workgroup = develop
#設置本機所屬的工作組
netbios name = server
#設置本機在網上鄰居中的顯示名
server string = file server
#設置備註
security = user
#安全級別爲用戶級
[public]
comment = Public Stuff
path = /home/Share
browseable = yes
guest ok = yes
public = yes
writable = yes
#定義了共享目錄,所有的用戶對這個目錄都有讀寫權限 ,需要
用chmod 0777 /home/Share,修改/home/Share訪問權限。   
3. 添加用戶,並設置口令,代碼如下:
$ smbpasswd -a username
4.測試。可以使用testparm 命令來解析和描述 smb.conf 文件的
內容,它可以發現配置上的錯誤。
5.重新啓動Samba,代碼如下:
$ /etc/rc.d/init.d/smb restart


問:在Linux下如何配置網卡?

答:對於Red Hat Linux,用setup設置“network configuration”中的IP、NetMask、GW、DNS即可。
或者用命令ifconfig來設置第一個網卡 的netmask 和IP,代碼如下:
$ ifconfig eth0 netmask 255.255.255.0 192.168.6.2


問:如何查看硬盤使用情況?

答:可以使用df命令,代碼如下:
$ df -m
其中m表示按M顯示各個分區使用情況。可以使用du查看某個目錄佔用的空間,代碼如下:
$ du -sm
或者查看/usr目錄佔用的空間(單位爲MB),代碼如下:
$ du -sm /usr


問:在Linux下如何查找文件?

答:下面以實例說明在Linux下查找文件的方法。
1. 在當前路徑查找文件名爲*.sql的文件,代碼如下:
$ find . -name "*.sql"
2. 查找大於100MB的文件,代碼如下:
$ find . -size +100000
後面的數字的單位是KB。
3. 查找含有print的文件,代碼如下:
$ find . -name "*" -exec grep -l "print" {} /
4. 查找並刪除tmp*的文件,代碼如下:
$ find . -name "tmp*" -exec rm {} /
5. 查找7天內沒有修改過的文件,代碼如下:
$ find . -mtime +7:


問:如何保護文件不被誤刪除?

答:設置rm爲rm -I,刪除時將有相應的提示。保護文件不被誤刪除可使用如下代碼:
$ chattr +r 文件名


問:如何設置顏色?

答:修改$HOME/.bashrc文件,加入如下代碼:
alias ls="ls --color"
然後使用如下代碼使修改立即生效:
$ source .bashrc
Linux中常見的顏色含義爲:藍色表示目錄;綠色表示可執行文件;紅色表示壓縮文件;淺藍
色表示鏈接文件;灰色表示其它文件。


問:如何在Linux下進行文字編輯工作?

答:較爲常用的文字編輯工具是vim,在Linux中缺省安裝。vim的一些用法如下。
1. 打開/關閉語法顏色,設置如下:
syn on/syn off
2. 複製指定的區域內容
複製到開始處:mk。
複製到結尾:"ay'k。此時已經將指定的內容壓到緩衝區a中。
複製到目標:"ap。這裏表示將"a的內容粘貼到當前位置。
3. 查找替換
將文件的所有abc替換爲d,代碼如下:
%s/abc/def
將第一行到30替換,並且不區分abc的大小寫,代碼如下:
1,30s/abc/def/i
4. 同時編輯兩個文件,代碼如下:
vi file1 file2
用:n、:N在兩個文件之間切換。
5. 快速移動光標
用w、b實現向前/後移動一個單詞;用Ctrl+d和Ctrl+u可實現向後/前翻半頁。
除此之外,還可以安裝一些Office工具進行文件編輯。
下面是兩款與MS Office的格式兼容比較好的軟件的下載地址:
StarOffice http://freesoft. online.sh.cn/mirrors/StarOffice/
文傑 http://www.haansoft .com.cn/

第2章:安裝指南

2.1 安裝前的準備
1、收集系統資料:爲了能夠順利安裝和設置Linux系統,你必須將以下資料記錄在案,以備系統安裝時使用:
硬盤:數量, 容量和類型;
內存:您的計算機所裝內存的數量;
CD-ROM:接口類型(IDE, SCSI);
SCSI卡:卡的型號;
網卡:網卡的型號;
鼠標:鼠標的類型(串口、PS/2、總線型),協議(Microsoft,Logitech, MouseMan, 等等),按鍵的數量,對串口鼠標還要知道它接在哪個串口;
顯示卡:顯示卡的型號(或者它用的芯片組), 顯示內存的數量;(大多數PCI總線的顯卡可以被安裝程序自動識別.)
顯示器:型號,以及水平和垂直刷新頻率的範圍。
你可以用Windows的控制面板 -> 設備管理器來獲取相應資料,當然還可以查閱相應的隨機資料。
2、檢查CMOS設置:
Anti vrius: Disable 關閉該選項,防止安裝時死機,因爲安裝程序要寫主引導扇。
Swap A,B:Disable 以免啓動時可能出現問題。
Boot Sque:CDROM,A,C 讓計算機從光盤啓動。
Memory Hole : Disable 若未關閉,則LINUX只能識別16M內存。
3、瞭解LINUX的硬盤分區的命名設計與文件系統知識:
Linux安裝至少要兩個分區:Linux native(文件)分區和Linux Swap(交換)分區。主分區用作存放LINUX的文件,交換分區爲運行LINUX時提供虛擬內存。
交換分區每個16~32M,最多可以有8個,具體可根據內存的多少來決定。一般來說,建一個16M的交換分區就可以了。
文件分區則根據需要和硬盤大小來決定,一般來說不應少於200M。
由於我們接觸最多的是DOSxx作系統,所以大多數人都習慣於使用類似於////'C////'的符號來標識硬盤分區,但這在LINUX卻不是這樣。Linux的命名設計比其他xx作系統更靈活,能表達更多的信息。Linux通過字母和數字的組合來標識硬盤分區,如“hda1”,其具體含義是:分區名的前頭兩個字母表明分區所在設備的類型,例如hd指IDE硬盤,sd(指SCSI硬盤);第三個字母分區在哪個設備,按a,b,c,d的順序排列,如hda是IDE 1口的主硬盤,則IDE 2口的主硬盤就應該是hdc了;最後的數字在該設備上的分區順序,前四個分區(主分區或擴展分區)用數字1 到4表示, 邏輯分區從5開始, 例如: hda3表示第一個IDE硬盤上的第三個主分區或擴展分區。
在Linux的文件系統中,不論有幾個文件分區,全部集合於一個樹形的目錄結構中。比如說,你可以將某個分區指定給/(根目錄)使用,某個分區指定給/usr目錄使用,然而但你進入Linux系統後,你根本感覺不到他們在不同的分區中,你只是感覺都在一棵樹上。不過如果你只有一個文件分區,一定要給/(根目錄)使用。
4、爲硬盤作好安裝LINUX的準備:
一般說來,大家電腦上的硬盤跟我一樣已經全部用於MS-DOS/WINxx作系統的分區。爲了能夠安裝LINUX,只好爲LINUX重新分配硬盤空間。我立馬把朋友的硬盤借來,數據統統備份下來,再重裝系統。不過有三種可供選擇的方法:
1) 將MSDOS下的最後一個邏輯盤上的數據全部移到其它分區中,將該邏輯盤用分區工具刪除,將這部分空間給LINUX使用。
2) 重新將硬盤分區,這是最直接和最麻煩的一種方法。具體xx作如下:
. 備份用戶的文件
. 用MS-DOS系統盤啓動系統
. 用FDISK刪除原有分區,重建新的分區,將分配給LINUX的空間留下來不分配給任何一個分區
. 重新安裝原來的用戶系統
3) 利用一些分區工具在不刪除硬盤原有數據的情況下重新分區。如分區魔術師等。

2.2 從CDROM安裝Red Hat Linux 7.1
我們可以通過光盤、硬盤、網絡安裝Red Hat Linux 7.1系統,最常見的方法就是使用光盤安裝。使用光盤安裝無外乎就是三個要求:
1) 你的主板支持光盤啓動
2) 你有光驅
3) 你有Red Hat Linux 7.1安裝光盤
通常情況下,這是沒問題的。筆者也建議您使用光盤安裝,這樣是這簡單的。隨着Linux系統下的應用軟件逐漸增多,一張光盤已無法容納,Red Hat Linux 7.1安裝光盤有兩張,第一張可以直接從光盤啓動,包含了大部分的軟件包和一些安裝工具。第二張光盤則是許多附加的軟件包。不過這次與以往不同的是,Red Hat公司專門進行了改進,安裝程序可以從多個光盤讀取資料。安裝的時候,你就會發現中途提示你更換第二張光盤。現在我們就一起開始Red Hat Linux 7.1安裝之旅。
第一步:選擇安裝模式
塞入第一張光盤,讓計算機從CDROM啓動,將會出現了簡潔的歡迎信息。這時可以選擇不同的安裝模式:
1) 圖形模式:直接按回車即可,整個安裝過程就象Windows一樣,而且可以使用鼠標xx作。不過此時的Red Hat好象對顯卡很挑剔,有的出現屏幕太大,找不到按鈕,有的則根據無法顯示圖形界面。如果是這樣,你可以按下熱啓動鍵重選文本模式進行安裝。
2) 文本模式:輸入text,再按回車。就會進入文本模式的安裝界面,有一定經驗的人還是使用這種方式比較好。
3) 專家模式:輸入expert,再按回車。在這種情況下,安裝程序就好象沒有腦子一樣,所有的東西都要您來決策。除非你十分熟悉Linux,並且有一些特殊的硬件安裝程序無法正確配置,否則不要使用這種方式。
4) 救援模式:這不是在首次安裝時使用的,它僅是用於原有的Linux系統無法正常啓動的情況下使用。這種方式下,你將進入一個微型的Linux系統,並且提供了許多恢復Linux的工具供你使用。
5) 驅動盤模式:如果你有特殊的硬件驅動盤,需要在安裝時提供給Linux系統使用,則你就輸入“linux dd”,再按回車,安裝程序會提供機會讓你插入驅動軟盤。
建議使用文本模式進行安裝。

第二步:選擇語言
Red Hat Linux 7.1提供了18種不同的語言,可惜還是沒有中文,只能選擇“english”。然後繼續。
注:Red Hat公司已在近期推出了中文版,大家可以找來試一試。

第三步:選擇鍵盤
在此選擇us,繼續。
注:筆者試過在Red Hat Linux 7.1下使用羅技公司的Logitech iTouch無線鍵盤,那麼普通的104鍵盤更不會有問題了。

第四步:選擇安裝方式
Red Hat Linux 7.1提供了Workstation,Server,Laptop,Custom,Upgrade Existing(分別是工作站,服務器,筆記本電腦,用戶自定義,升級老版本)這五種安裝方式。我們可以根據自己的實際需要來選擇安裝方式。
1) Workstation:工作站方式。對於一般用戶建議使用此方式。工作站類型安裝將會清除掉所有硬盤上原有的所有Linux分區,對於非Linux分區(如Windows 98)會置之不理。這種方式安裝十分簡單,而且如果你的機器上如果原來有Windows 98的話,安裝完後,會自動完成LILO雙啓動的配置。但是,如果你的機器上原來是NT的話,那就千萬不要使用這種方式,否則你的NT可能再也無法啓動。
2) Server System:服務器系統方式。警告:採用這種方式安裝,將會幹掉所有硬盤上所有分區的一切信息。這絕對不是開玩笑!許多初學者已經付出了血與淚的代價。通常在你需要在一臺空PC上構建一臺網絡服務器,才選擇它。
3) Laptop:便攜機、筆記本方式。筆顧名思義,當你在筆記本電腦上安裝時,建議採用該方式。
4) Custom System:定製安裝。對於Linux有一定了解的朋友,建議使用該方式,自由地構建Linux。在下第一次安裝Linux的時候就勇敢地採用了這種方式。
5) Upgrade Existing System:升級現有系統。假設你的硬上有老版本的Red Hat Linux的話,這是你最佳的選擇。
建議使用“定製安裝”。

第五步:進行硬盤分區
首先,會讓你選擇不同的分區工具:Disk Druid和fdisk,建議使用Disk Druid。
在Disk Druid的主界面的最上面是////'Current Disk Partitions////'區,列出各個硬盤分區的信息。每行由五個項目組成:Mount Point -- 指定該分區對應的Linux系統目錄;Device -- 硬盤分區的設備名;Requested -- 分區定義時申請的最小空間;Actual -- 當前分配給這個分區的空間;Type --分區類型。
而中間的是////'Drive Summaries////'區,一行對應一個物理硬盤,每行由六個項目組成:Drive -- 硬盤的設備名;Geom [C/H/S] -- 硬盤的物理信息,包括柱面、 磁頭和扇區的數量;Total -- 硬盤所有可用空間;Used -- 硬盤已分配空間;Free -- 硬盤未分配空間;Bar Graph -- 硬盤已用空間表示圖。
最下面的是Disk Druid的按鈕區,由五個按鈕組成:Add -- 申請一個新的分區; Edit -- 修改在////'Current Disk Partitions////'區中選中的分區的屬性;Delete -- 刪除////'Current Disk Partitions////'區中選中的分區;Ok -- 確認分區xx作,重寫硬盤分區表;Back -- 不保存修改而退出,回到前一個屏幕,重新開始。
我建議爲Linux分一個根分區,一個交換分區(建議64M、128M或256M),即:
用Tab選擇Add鈕,按回車,這時屏幕上將會出現一個題爲////'Edit New Partition////'的對話框。首先我們在Mount Point項中,輸入這個分區所對應的系統目錄:“/”(根目錄);接着在Size(Megs)項中,輸入分區的大小;在Type這一項中用光標上、下鍵鍵選擇適當的分區類型,我們選中Linux的文件分區Linux native;最後按OK確認。這樣我們就成功地建立起一個爲Linux所用的分區了。當然如果你的硬盤空間允許,你完全可以再建立一個或幾個分區給Linux使用。接着用同樣的方法給Linux增加一個交換分區,不同的僅在於Mount Point項讓它空着,在Type項目中選擇Linux Swap。
注:如果你在前面選擇的是圖形界面安裝的話,將會提供一個圖形化的分區界面,使用起來也是很方便的,而且還可以使用自動分區的辦法。讓安裝程序自已創建分區。
在做這一步時需要謹慎,不要不小心刪掉原來的分區,那就慘了。確認沒有錯後,按OK按鈕繼續。然後根據提示將新的Linux分區格式化,以便使用。

第六步:LILO配置
LILO,就是Linux Loader,即Linux引導器,它負責啓動Linuxxx作系統。我們可以通過配置它實現雙啓動。首先,安裝程序會讓你填寫有什麼內核參數需要傳給LILO,通常是不需要的。接着,會詢問你要將LILO安裝在什麼位置,通常有兩種選擇:1)第一硬盤的主引區(MBR);2)Linux分區的引導扇。
如果你想使用LILO來做雙啓動的話,你需要選擇第一種,如果是想用Linux啓動軟盤或其它系統引導器引導Linux的話,那就選擇第二種。

第七步:設置主機名
隨便爲你的機器取一個名字。

第八步:選擇系統安全等級
這也是Red Hat Linux 7. 1提供的新選項,它提供了三種選擇:
1) High:如果你選擇High級,那麼所有來自外界的網絡訪系問都將被禁止;
2) Medium:默認的級別,選擇該級別,則對於外界的網絡訪問僅限於該系統提供的網絡服務;
3) No firewall:最低的安全保障,任何外界的網絡訪問都將被允許。

第九步:常用選項設置
接着,設置鼠標、選擇你需要支持的語言種類(注意,這裏是提供了中文支持的喲),以及時區(圖形界面下應點China,而在文本模式下則應選擇PRC)。
第十步:用戶設置
1) 首先設置系統管理員(就是root用戶)密碼,系統管理員是系統的最高權限者,擁有該系統,所以這個密碼是十分重要的;
2) 接着安裝程序提供了一個增加用戶的工具,你可以通過這個工具很輕鬆地添加系統用戶。
3) 最後是關於用戶認證的配置:
a. Shadow Passwords:默認是選中的,請不要修改。該功能是用來保護密碼安全的;
b.使用MD5密碼加密:默認也是選中的,請不要修改,它也是保護密碼安全的;
c.使用NIS:當你要通過網絡上的NIS服務器進行用戶驗證時,請填寫相關信息;
d.使用LDAP:當你要通過網絡上的LDAP服務器進行用戶驗證時,填寫相關信息;
e.使用Kerberos:當你要使用Kerberos系統進行用戶驗證時,填寫相關信息;

第十一步:選擇軟件包
這一步是安裝過程中最重要的一步,你可以根據提示選擇你需要的軟件。安裝程序將所有的軟件分成了許多類:
Printer Support:打印機支持
X Window System:X Window系統
GNOME:桌面管理器GNOME
KDE:桌面管理器KDE
Mail/WWW/News Tools:一些收發Mail、WEB瀏覽、新聞閱讀的常用工具
DOS/Windows Connectivity:提供DOS和Windows的兼容工具
Graphics Manipulation:圖形xx作軟件
Games:遊戲軟件
Multimedia Support:多媒體支持軟件
Laptop Support:筆記本電腦專用的支持軟件
Networked Workstation:網絡工作站工具,如Telnet、FTP等客戶端
Dialup Workstation:拔號上網工具
News Server:新聞服務器
NFS Server:網絡文件系統服務器
SMB(Samba)Server:Samba(就是NetBIOS協議)服務器系統
IPX/Netware? Connectivity:IPX協議支持軟件
Anonymous FTP Server:匿名FTP服務器
SQL Server:postgresql 與MySQL數據庫服務器
Web Server:WEB服務器(Apache)
DNS Name Server:域名服務器
Network Management Workstation:網管工作站,提供一些SNMP支持
Authoring/Publishing:出版方面的軟件
Emacs:著名的集成編輯軟件
Development:開發工具包
Kernel Development:內核開發包,包括內核源程序
Utilities:一些常見工具,如Linuxconf
Everything:所有軟件包,如果你的Linux分區足夠大(2400M以上),那麼你可以選中它,將所有的軟件都裝上。
注:在選擇界面之下,有一個選項,選中時它會列出詳細的軟件安裝列表,你還可以進行一些選擇。
選擇完要安裝的軟件包後,系統會自己進行軟件包依賴檢查,接着就開始了文件的拷貝。這時你可以休息一下了。不過與以前不一樣,拷貝到一半時,需要你更換光盤!

第十二步:製作啓動盤
安裝完成之後,會提示你製作一張Linux啓動軟盤。雖然不是很有用,但是對於初學者而言還是做一張備用爲好。因此在以下情況時,能夠用得上:
1) 準備將LILO放在Linux分區中,可以通過軟盤引導Linux;
2) 裝在MBR上的LILO程序在安裝Windows時被覆蓋,則可以使用這張軟盤引導,再運行“/sbin/lilo”,重新往MBR上寫LILO程序;
3) 當系統崩潰時,可以使用Linux啓動軟盤啓動,做一些恢復。

第十三步:拷貝文件
接下來就是歷時最長,也是最核心的過程:拷貝文件。Linux安裝程序將你所選擇的軟件包通通拷貝到硬盤分區中。要注意的是,在安裝過程中是需要你換第二張光盤的。

第十四步:配置顯卡/X Window
接下來,安裝程序將自動檢測你的顯卡、顯示器,由於Red Hat Linux 7.1採用了最新的XFree86 4.0,所以對顯示卡的支持更好了,大部分顯卡都可以被識別,由於無法識別的話,那就只好等安裝完以後再配置了。
如果你的顯卡、顯示器都幸運地被識別,那麼安裝程序將要求你選擇圖形界面的分辨率,如果你的顯卡很好,那就選擇800*600*24位色或1024*768*24位色,象我使用的顯卡太老,就只好選擇800*600*16位色。你也可以選擇多種(啓動後,可以使用Ctrl+Alt +和-來切換)。
設置完分辨率後,安裝程序將測試X Window,如果你的選擇正常的話,那麼你可以看到漂亮的X Window,那你也就可以輕鬆地按OK,表示確定。
按下OK按鈕後,安裝程序會詢問你的Linux系統是否一啓動就進入X Window,默認爲“是”。不過我是不喜歡,在此選擇了“NO”,這樣啓動Linux後將進入字符狀態,需要X Window時再執行startx命令手動啓動。

好,到此大功告成,Red Hat Linux 7.1將提示你取出光盤,重新啓動電腦,帶着小紅帽子的企鵝落戶你家了。
注:Red Hat Linux 7.1在第一次啓動時將會自己運行一個叫Kudzu的程序,用來完成一些硬件添加xx作,通常是網卡和聲卡。xx作十分簡單,你只需選擇Configure按鈕,系統會幫助你完成這些硬件的配置工作。

2.3 其它安裝方式簡介
如果你沒有光驅的話,那麼你還可以通過以下幾種方式來完成安裝:
1) 從FTP站點安裝
2) 從NFS服務器安裝
3) 從SMB共享卷安裝
4) 從硬盤安裝
1.製作Linux啓動盤
如果採用這些安裝方式,那你首先得製作兩張Linux啓動盤。
1) 在安裝光盤上找到LINUX啓動盤的映象文件,/p_w_picpaths目錄下的boot.img(啓動盤)和supp.img(擴展盤)這兩個文件。
2)從/p_w_picpaths、/install或/dosutils目錄中找到製作映象盤的工具RAWRITE.EXE。
3)將映象文件和RAWRITE.EXE拷入同一目錄,然後在DOS命令行下執行RAWRITE:
C:linst>RAWRITE
Enter disk p_w_picpath source file name:在這裏輸入映象文件名
Enter target diskette drive:在這裏輸入目標盤符如A:
2.從FTP站點安裝
要使用這種方式安裝必須滿足以下條件之一:
1) 你的機器與存放着安裝盤的FTP服務器以局域網形式相連;
2) 在你的局域網的FTP服務器上有安裝盤。
要注意,你的FTP服務器必須支持長文件名,纔可能成功安裝。你需要使用Linux的啓動盤和擴展盤啓動,並配置有效的域名服務器或指定FTP服務器的IP地址,進行安裝。
3.從NFS服務器安裝
如果在你的局域網中有一臺NFS服務器的話,你可以將安裝盤複製到NFS服務器上,然後用Linux的啓動盤啓動,訪問NFS服務器進行安裝。同樣的,這也需要NFS服務器能夠支持長文件名。
4.從SMB共享卷安裝
將安裝盤放到一個支持共享卷的Windows 9x/NT/2000服務器上,然後使用Linux啓動盤與擴展盤啓動,通過訪問共享卷中的安裝盤實現安裝。
5.從硬盤安裝
這種方式適合於從網上下載了安裝盤的用戶,首先,你可以將Red Hat Linux包文件拷貝到您的硬盤:
1) 所有的文件都要放在一個硬盤分區上;
2) 將所有的內容放在RedHat目錄下;
3) 然後將要安裝的包拷貝到另一個子目錄RPMS
接着就可以使用Linux的啓動盤與擴展盤啓動進行系統安裝。
第3章:Red Hat Linux 7.1使用基礎
3.1 登錄和退出系統

1. 啓動系統
通常LILO是安裝在MBR上的,計算機啓動後,MBR上的程序被執行,將出現一個不是很漂亮的圖形:左邊是一個小紅帽圖像,右邊列出了可以啓動的xx作系統,你可以使用鍵盤箭頭切換。剛安裝好後默認值是Linux,也就是你不選擇,一會兒將自己啓動Linux。
如果你想默認的選擇是Windows的話,那你可以在啓動Linux後,用vi修改/etc目錄下的lilo.conf文件,加上default=windows,然後再執行/sbin/lilo重新生成LILO。

2. 用戶登錄
Linux是一個真正意義上的多用戶xx作系統,用戶要使用該系統,首先必須登錄,使用完系統後,必須退出。用戶登錄系統時,爲了使系統能夠識別該用戶,必須輸入用戶名和密碼,經系統驗證無誤後纔可以登錄系統使用。
Linux下有兩種用戶:
1) root用戶:超級權限者,系統的擁有者,在Linux系統中有且只有一個root用戶,它可以在系統中任何xx作。在系統安裝時所設定的密碼就是root用戶的密碼。
2) 普通用戶:Linux系統可以創建許多普通用戶,併爲其指定相應的權限,使其有限地使用Linux系統。
關於用戶的管理,我們將在後面詳細說明。
用戶登錄分兩步進行:
1) 輸入用戶的登錄名,系統根據該登錄名來識別用戶;
2) 輸入用戶的口令,該口令是用戶自己選擇的一個字符串,對其他用戶完全保密,是登錄系統時識別用戶的唯一根據,因此每一個用戶都應該保護好自己的口令!
系統在建立之初,僅有root用戶,其它的用戶則是由root用戶創建的。由於root用戶的權限太大了,所以如果root用戶誤xx作將可能造成很大的損失。所以建議系統管理員爲自已新建一個用戶,只有需要做系統維護、管理任務時才以root用戶登錄。
下面就是一個登錄實例:(其中黑體字爲輸入)
Red Hat Linux release 7.1 (Seawolf)
Kernerl 2.4.2-2 on an i686
Home login:root
Password:
在上面的例子中,我們發現在Password後面是空的,其實並不是不輸入密碼,而是在輸入時,Linux系統不會把它顯示出來,這樣用來保護密碼!
如果登錄成功的話,我們將獲得Shell(Shell是用來與用戶交互的程序,它就象DOS中的COMMAND.COM,不過在Linux下可以有多種Shell供選擇,如bash、csh、ksh等)提示符,如果以root用戶登錄的話,那麼獲得的提示符是“#”,否則將是“$”。
提示:如果當時在安裝時設置爲一啓動就進入圖形界面的話,那系統啓動後,用戶登錄界面將是圖形化的,有點象Windows,而且當你輸入正確的用戶名與密碼,就會直接進入X Window。這個設置是可以修改的:
在/etc目錄下有一個inittab文件,其中有一行配置:
id:3:default
其中,數字3就是代表一啓動進入字符終端,如果改爲5則代表一啓動進入X Window。

3. 修改口令
爲了更好地保護用戶帳號的安全,Linux允許用戶在登錄之後隨時使用passwd命令修改自己的口令。修改口令需要經歷:
1) 輸入原來的口令,如果口令輸錯,將中止程序,無法修改口令;
2) 輸入新的口令;
3) 提示重複一遍新的口令,如果兩次輸入的口令相吻合,則口令修改成功。
需要注意的是,Red Hat Linux 7.1爲了更好地保護口令,如果你輸入的新口令過於簡單,它將會拒絕修改。下面就是一個修改口令的實例:(其中黑體字爲輸入)
$ passwd
Changing password for user1
(current) UNIX password: ? 在些輸入原來的密碼
New UNIX password: ? 輸入新的密碼
Retype new UNIX password: ? 再輸入一遍新的密碼
Passwd:all authentication tokens updated successfully ? 修改成功!
注意,在這裏輸入的口令同樣不會顯示出來。
而如果是root用戶修改口令,則不需要輸入老密碼!也就是說,它可以修改任何用戶的口令。

4. 退出登錄
不論你是root用戶還是普通用戶,只需簡單地執行exit命令就可以退出登錄。

5. 關閉機器
在Linux系統中,普通用戶是無權關閉系統的!只有root用戶才能夠關閉它。當然如果你是按關機按鈕則別當別論。我們可以通過以下幾種方法實現:
1) 按下CTRL+ALT+DEL組合鍵,這樣系統將重新啓動!
2) 執行reboot命令,這樣系統也將重新啓動!
3) 執行shutdown -h now命令,這樣系統將關閉計算機!
4) 執行halt命令,可以關閉計算機。
注意千萬不要隨意採用硬關機、重啓動鍵等方式關閉系統,那樣會導致Linux文件系統遭受破壞!

6. 虛擬控制檯
Linux是真正的多用戶xx作系統,可以同時接受多個用戶的遠程和本地登錄,也允許同一個用戶多次登錄。Linux爲本地用戶(也就是做在計算機面前的用戶)提供了虛擬控制檯訪問方式,允許用戶在同一時間從不同的控制檯進行多次登錄。
虛擬控制檯的選擇可以通過按ALT鍵加上F1-F6六個功能鍵來實現。例如,用戶登錄後,按一下ALT+F2組合鍵,用戶又可以看到“login:”提示符,這其實就是第二個虛擬控制檯,而這時再按下ALT+F1組合鍵,用戶則又可以回到第一個虛擬控制檯。
大家可以通過使用虛擬控制檯來感受Linux系統多用戶的特性。例如用戶可以在某一虛擬控制檯上進行的工作尚未結束時,就可以切換到另一個虛擬控制檯上開始另一項工作。例如在開發軟件時,可以在一個控制檯上編輯程序,在另一個控制檯上進行編譯,在第三個控制檯上查閱信息。


3.2 文件與目錄xx作
與其它xx作系統一樣,在Linux系統下用戶的數據和程序也是以文件的形式保存的。所以在使用Linux的過程中,是經常要對文件與目錄進行xx作的。現在我們就以一個Window用戶的立場來學習一下Linux下的文件與目錄xx作方法。

1. 文件名與文件類型
文件名是一個文件的標識。從這個角度來說,文件名的規則與Windows 9x下的是基本上相同的。它同樣是由字母、數字、下劃線、圓點組成,最大的長度是255個字符。
與Windows 9x一樣,Linux系統中也有普通文件和目錄文件,不過目錄文件在Window中被簡稱爲目錄就是了。而在Linux系統中有一種特殊的文件,那就是設備文件。在Linux系統中,把每一個I/O設置都映射成爲一個文件,可以象普通文件一樣處理,這就使得文件與設備的xx作儘可能統一。從用戶的用戶來說,對I/O設備的使用和一般文件的使用幾乎一樣,這樣就可以不必瞭解I/O設備的細節。

2. 目錄結構
與Windows下一樣,在Linux中也是通過目錄來組織文件的。但不同的是,在Linux下只有一個根目錄,而不象Windows那樣一個分區一個根目錄。如果有多個分區的話,就需要將其它分區mount到根目錄上來用。
大家回憶一下當時爲Linux分區時,有一個選項要填,那就是Mount Point,我們將其中一個寫成了“/”,也就是根目錄(這點與Windows相反,一個是“/”,一個是“/”,真是天生冤家)。其它的則可能是/home、/usr。
安裝完系統後,你會發現/home、/usr就是根目錄下面的home、usr目錄!對了,整個分區就用於該目錄了。
安裝完Linux後,有許許多多的目錄,下面我們就說明一些重要的目錄:
/bin:存放着一百多個Linux下常用的命令、工具
/dev:存放着Linux下所有的設備文件!
/home:用戶主目錄,每建一個用戶,就會在這裏新建一個與用戶同名的目錄,給該用戶一個自己的空間
/lost+found:顧名思義,一些丟失的文件可能可以在這裏找到
/mnt:外部設備的掛接點,通常用cdrom與floppy兩個子目錄!它的存在簡化了光盤與軟盤的使用。你只需在塞入光盤後,運行:mount /mnt/cdrom,就可以將光盤上的內容Mount到/mnt/cdrom上,你就可以訪問了。不過你使用完成後,應該離開該目錄,並執行umount /mnt/cdrom。同樣的,軟盤就是mount /mnt/floppy和umount /mnt/floppy了。
/proc:這其實是一個假的目錄,通過這裏你可以訪問到內存裏的內容。
/sbin:這裏存放着系統級的命令與工具
/usr:通常用來安裝各種軟件的地方
/usr/X11R6 X Window目錄
/usr/bin與/usr/sbin 一些後安裝的命令與工具
/usr/include、/usr/lib及/usr/share 則是存放一些共享鏈接庫
/usr/local 常用來安裝新軟件
/usr/src Linux源程序
/boot:Linux就是從這裏啓動的
/etc:這裏存放在Linux大部分的配置文件
/lib:靜態鏈接庫
/root:root用戶的主目錄,這就是特權之一!
/var:通常用來存放一些變化中的東西!
/var/log:存放系統日誌
/var/spool:存放一些郵件、新聞、打印隊列等
另外,要說明的是,在Linux下“當前目錄”、“路徑”等概念與Windows下是一樣的。
3. 顯示文件內容
使用過DOS命令的人都應該知道,我們可以使用type命令來查看一個文件的內容。在Linux下有五個相關的命令,功能各有千秋,不過它們都象type命令一樣,只能用來查看文本文件。
1) cat命令
cat命令是最象type命令的,使用的方法很簡單:“cat 文件名”。不過比type命令更強大的是,它可以同時查看多個文件:“cat 文件名一 文件名二”。
2) more命令
如果文本文件比較長,一屏無法顯示完,那麼使用cat命令就可能無法看清。這裏我們可以簡單地使用more來代替cat命令即可。其效果與type 文件名/p類似。使用more命令將一次顯示一屏文本,顯示滿後,停下來,並提示出已顯示全部內容的百分比,按空格鍵就可以看到下一屏。
3) less命令
less命令的功能幾乎和more命令一樣,也是按頁顯示文件,不同之處在於less命令在顯示文件時允許用戶既可以向前又可以向後翻閱文件。
? 向前翻:按b鍵;
? 向後翻:按p鍵;
? 指定位置:輸入百分比
? 退出:q
我經常使用more和less,幾乎不使用cat查看文件。
4) head命令
通過head命令可以僅查看某文件的前幾行,格式爲:
head 行數 文件名
如果未指定行數,則使用默認值10。
5) tail命令
與head命令相對應的,我們可以使用tail命令來查看文件尾部的內容。通常用來實時監測某個文件是否被修改,通常用來觀察日誌。如:
tail -f maillog

4. 編輯文件
在Red Hat Linux 7中有許多文字編輯工具,其中最常用的應該是vi,這是一個廣泛應用於所有UNIX系統的編輯器。它的使用有些特別:
首先,可以使用命令“vi 文件名”打開一個文件。
剛啓動的時候,vi處於命令狀態,不能夠輸入任何字符。在這個狀態下,可以使用方向鍵進行移動,而需要輸入內容時,你需要輸入“i”或“a”命令進入編輯狀態。編輯完成後,你需要按下“ESC”鍵回到命令狀態。
在命令狀態下,你可以輸入“:q!”不存盤退出,輸入“q”存盤退出。

5. 文件的複製、刪除與移動
大家都早已熟知在DOS下我們可以使用copy、del、move命令來實現文件的複製、刪除與移動。下面我們說說如何在Linux系統中做以上xx作。
1) cp命令:文件/目錄複製命令
它的語法格式爲:cp [選項] 源文件或目錄 目標文件或目錄
常用的選項有:
? a 該選項常在複製目錄時使用,它保留鏈接、文件屬性,並遞歸地複製目錄,就象DOS中的xcopy /s一樣
? f 如果目標文件或目錄已存在,就覆蓋它,並且不做提示
? i 與f選項正好相反,它在覆蓋時,會讓用戶回答“Y”來確認
? p 使用該選項,複製文件時將保留修改時間和訪問權限
? r 若給出的源是一個目錄,那麼cp將遞歸複製該目錄下所有的子目錄和文件,不過這要求目標也是一個目錄名
另外,大家要注意的是,如果源是文件名,目標是目錄名的話,那麼使用cp命令可以指定多個源文件名。如:
$ cp a.txt b.txt /home/user1
該命令將把a.txt和b.txt文件複製到/home/usr1目錄中。
2) rm命令:文件/目錄刪除命令
它的語法格式爲:rm [選項] 文件 …
常用的選項有:
? f 在刪除過程中不給任何指示,直接刪除
? r 指示rm將參數中列出的全部目錄和子目錄都遞歸地刪除
? i 交互式的刪除,每個文件在刪除時都給出提示
使用rm命令時一定要小心,特別是以root用戶登錄時,我就看到過一個朋友在使用rm命令刪除/home/tmp目錄時將命令“rm -rf /home/tmp”誤輸成了 “rm -rf / home/tmp”,結果等他走回電腦面前,整個系統都被刪除了!
3) mv命令:文件/目錄移動命令
它的語法格式爲:mv [選項] 源文件或目錄 目標文件或目錄
常用的選項有:
? f 如果xx作要覆蓋某已有的目標文件時不給任何指示
? i 交互式的xx作,如果xx作要覆蓋某已有的目標文件時會詢問用戶是否覆蓋
mv命令的執行效果與參數類型的不同而不同!
第一參數(源) 第二個參數(目標) 結果
文件名 文件名 將源文件名改爲目標文件名
文件名 目錄名 將文件移動到目標目錄
目錄名 目錄名 目標目錄已存在:源目錄移動到目標目錄
目標目錄不存在:改名
目錄名 文件名 出錯

6. 目錄相關xx作
1) 創建新目錄:mkdir,它的使用與DOS下的md相同:mkdir 目錄名;
2) 刪除空目錄:rmdir,它的使用與DOS下的rd相同:rmdir 目錄名;
3) 改變目錄:cd,它的使用與DOS下的cd命令基本相同,唯一一個不同的是,不管目錄名是什麼,cd與目錄名之間必須有空格,也就是:“cd/”、“cd..”、“cd.”都是非法的,而應該輸入:“cd /”、“cd ..”、“cd .”,如果直接輸入命令“cd”,而不加任何參數,將回到這個用戶的主目錄。
4) 顯示當前目錄:pwd
5) 列目錄命令:ls,相當於DOS下的dir
它的語法爲:ls [選項] [目錄或文件]
常用的選項有:
? a 顯示指定目錄下所有的子目錄與文件,包括隱藏文件;
? c 按文件的修改時間排序
? l 採用長格式來顯示文件的詳細信息,每個文件一行信息,其內容爲:文件類型與權限 鏈接數 文件屬主 文件屬組 文件大小 最近修改時間 文件名

7. 文件與目錄的權限xx作
在Linux系統中,每一個文件和目錄都有相應的訪問許可權限,我們可以用它來確定誰可以通過何種方式對文件和目錄進行訪問和xx作。文件或目錄的訪問權限分爲可讀、可寫和可執行三種,分別以r,w,x表示,其含義爲:
r w x
文件 可讀 可寫 可執行
目錄 可列出目錄 可在目錄中做寫xx作 可以訪問該目錄
在文件被創建時,文件所有者可以對該文件的權限進行設置。
對於一個文件來說,可以將用戶分成三種,並對其分別賦予不同的權限:
1) 文件所有者
2) 與文件所有者同組用戶
3) 其它用戶
每一個文件或目錄的訪問權限都有三組,每組用三位表示,如:
d rwx r-x r--
第一部分:這裏的d代表目錄,其它的有:- 代表普通文件 c 代表字符設備文件;
第二部分:文件所有者的權限字,這裏爲r w x表示可讀、可寫、可執行 (目錄的可執行指的可以進入目錄);
第三部分:與文件所有者同組的用戶的權限字,這裏爲r - x表示可讀、不可寫、可執行。由於同組用戶之間交流較多,讓他看看文件,別亂改就行了嘛。
第四部分:其它用戶的權限字,這裏爲- - -,當然給我無關的人嘛,我的文件當然不但不給你寫,也不讓你讀。
1) 文件/目錄權限設置命令:chmod
這是Linux系統管理員最常用到的命令之一,它用於改變文件或目錄的訪問權限。該命令有兩種用法:
? 用包含字母和xx作符表達式的文字設定法
其語法格式爲:chmod [who] [opt] [mode] 文件/目錄名
其中who表示對象,是以下字母中的一個或組合:
u:表示文件所有者
g:表示同組用戶
o:表示其它用戶
a:表示所有用戶
opt則是代表xx作,可以爲:
+:添加某個權限
-:取消某個權限
=:賦予給定的權限,並取消原有的權限
而mode則代表權限:
r:可讀
w:可寫
x:可執行
例如:爲同組用戶增加對文件a.txt的讀寫權限:
chmod g+rw a.txt
? 用數字設定法
而數字設定法則更爲簡單:chmod [mode] 文件名
關鍵是mode的取值,一開始許多初學者會被搞糊塗,其實很簡單,我們將rwx看成二進制數,如果有則有1表示,沒有則有0表示,那麼rwx r-x r--則可以表示成爲:
111 101 100
再將其每三位轉換成爲一個十進制數,就是754。
例如,我們想讓a.txt這個文件的權限爲:
自己 同組用戶 其他用戶
可讀 是 是 是
可寫 是 是
可執行
那麼,我們先根據上表得到權限串爲:rw-rw-r--,那麼轉換成二進制數就是110 110 100,再每三位轉換成爲一個十進制數,就得到664,因此我們執行命令:
chmod 664 a.txt
2) 改變文件的屬主命令:chown
語法格式很簡單:chown [選項] 用戶名 文件/目錄名
其中最常用的選項是“R”,加上這個參數,可以將整個目錄裏的所有子目錄和文件的屬主都改變成指定用戶。
3) 改變文件屬組命令:chgrp
該命令也很簡單:chgrp 組名 文件名

3.3 用戶管理
用戶管理

用戶管理,主要的工作就是建立一個合法的用戶帳戶、設置和管理用戶的密碼、修改用戶帳戶的屬性以及在必要時刪除已經廢棄的用戶帳號。

1. 增加一個新用戶
在Linux系統中,只有root用戶才能夠創建一個新用戶,如下的命令將新建一個登錄名user1的用戶。
# useradd user1
但是,這個用戶還不能夠登錄,因爲還沒給它設置初始密碼,而沒有密碼的用戶是不能夠登錄系統的。在默認情況下,將會在/home目錄下新建一個與用戶名相同的用戶主目錄。如果需要另外指定用戶主目錄的話,那麼可以使用如下命令:
# useradd -d /home/xf user1
同時,該用戶登錄時將獲得一個Shell程序:/bin/bash,而假如你不想讓這個用戶登錄,也就可以指定該用戶的Shell程序爲:/bin/false,這樣該用戶即使登錄,也不能夠執行Linux下的命令:
# useradd -s /bin/false user1
在Linux中,新增一個用戶的同時會創建一個新組,這個組與該用戶同名,而這個用戶就是該組的成員。如果你想讓新的用戶歸屬於一個已經存在的組,則可以使用如下命令:
# useradd -g user user1
這樣該用戶就屬於user組的一員了。而如果只是想讓其再屬於一個組,那麼應該使用:
# useradd -G user user1
完成了這一xx作後,你還應該使用passwd命令爲其設置一個初始密碼。

2. 刪除一個用戶
刪除用戶,只需使用一個簡單的命令“userdel 用戶名”即可。不過最好將它留在系統上的文件也刪除掉,你可以使用“userdel -r 用戶名”來實現這一目的。

3. 修改用戶屬性
在前面我們看到了在新建一個用戶的時候如何指定它的用戶主目錄,如何指定它的Shell,如何設置它所屬的組…等等。在Linux中提供了一個命令來實現:
usermod -g組名 -G 組名 -d 用戶主目錄 -s 用戶Shell
還有一種直接的方法,那就是修改/etc/passwd文件,在這個文件中每個用戶佔用一行,它的內容爲:
用戶名:密碼:用戶ID:組ID:用戶全名:用戶主目錄:用戶Shell
不過值得注意的是,密碼這一項通常是用一個*號代替的,你是看不到的。

4. 增加一個組
還記得Linux的文件可以爲同組的人、非同組的人設置不同的訪問權限嗎?我們可以根據自己的需要創建用戶組:
groupadd 組名

5. 刪除一個組
同樣的,我們有時會需要刪除一個組,它的命令就是groupdel 組名。

6. 修改組成員
如果我們需要將一個用戶加入一個組,只需編輯/etc/group文件,將用戶名寫到組名的後面。例如將newuser用戶加入到softdevelop組,只需找到softdevelop這一行:
softdevelop:x:506:user1,user2
然後在後面加上newuser,形成:
softdevelop:x:506:user1,user2,newuser
另外,在Red Hat Linux中還提供一個圖形化的用戶管理工具:userconf,通過它可以更直接地進行用戶管理。
3.4 進程管理

Linux是一個多用戶多任務的xx作系統。多用戶是指多個用戶可以在同一時間使用計算機系統;多任務是指Linux可以同時執行幾個任務,它可以在還未執行完一個任務時又執行另一項任務。
在Linux系統上所有運行的東西都可以稱之爲一個進程。每個用戶任務、每個系統管理守護進程,都可以稱之爲進程。Linux用分時管理方法使用所有的任務共同分享系統資源。下面我們就看一下如何控制這些進程。

1. 啓動進程
在Linux系統中有兩種啓動進程的方法:
1) 直接輸入命令,就將直接啓動一個進程
? 在普通情況下,進程將在前臺執行,這時我們無法再執行新的命令
? 如果我們在命令之後加上一個“&”,那行進程將會放在後臺執行,我們仍然可以執行新的命令
2) 通過at、cron、crontab命令可以像Windows中的計劃任務一樣定時啓動某個進程,具體的使用方法大家可以使用man 命令名來查詢。

2. 查看進程
在Linux系統中,我們可以使用ps命令來查看正在運行的進程例如:
列出屬於當前用戶的進程:
# ps
PID TTY TIME CMD
16767 pts/1 0:00 ps
18029 pts/1 0:00 bash
其中PID代表進程ID,TTY是該進程是由哪個控制檯啓動的,CMD則是命令。
如果你想列出更詳細的信息,則可使用命令:“ps -auxw”。

3. 終止進程
一個進程在任務完成之後,將會自動完成。如果要中途中止該進程的話,有兩種方法:
1) 對於在前臺運行的程序,直接通過組合鍵CTRL+C就可以中止進程;
2) 而對於在後臺運行的程序,則需要通過前面介紹的ps命令找到它的進程號,然後使用“kill 進程號”來終止該進程。


3.5 磁盤管理

系統軟件和應用軟件,都要以文件的形式存儲在計算機的磁盤空間中,做爲系統管理員應隨時監視磁盤空間的使用情況。我們可以使用下面兩個命令來實現:

1. df命令
df,就是Disk Free,顧名思義就是檢查磁盤上還剩下多少空間等信息。下面是一個使用實例:
# df
FileSystem 1k-blocks Used Available Use% Mounted on
/dev/hda5 4134900 1749728 2175124 45% /
/dev/hda6 6048320 5741092 0 100% /home
共顯示了6列信息:
1) FileSystem:硬盤分區
2) 1k-blocks:按K計算的分區大小
3) Used:已經使用的分區大小(按K計算)
4) Available:還要用的分區大小
5) Use%:已使用的空間所佔百分比
6) Mounted on:掛接點
可以看到/home是另一個分區,現在空間已經用完了!這都時當時沒有規劃好!
如果對與以K爲計算單位表示硬盤空間,那麼你可以使用df -m,這樣就會以M爲計算單位。

2. du命令
du,就是disk usage,就是看一下磁盤使用了多少。下面就是一個使用實例:
# pwd
/var/log
# du
4 ./uucp
776 .
在這裏,我們使用du命令列出了/var/log目錄所佔用的磁盤空間。它統計出了該目錄有一個子目錄:uucp,佔用了4K,而/var/log目錄下的文件則共有776K。
該命令還有一些常用的選項,用來完成更多的功能:
? -a 將列出當前目錄下所有的文件、子目錄、子目錄下的文件、子目錄下的子目錄…的磁盤佔用情況
? -b 以字節爲單位表示佔用的磁盤空間
? -c 在最後顯示出一個統計值
3.6 軟件安裝

在Red Hat Linux下,應用軟件的安裝包通常有兩種格式:
1) rpm包,如software-1.2.3-1.i386.rpm。它是Redhat Linux創造的一種包封裝格式。
2) tar包,如software-1.2.3-1.tar.gz。它是使用UNIX系統的打包工具tar打包的。
而且,大多數Linux應用軟件包的命名也有一定的規律,它遵循:
名稱-版本-修正版-類型
例如:
sfotware-1.2.3-1.i386.rpm
軟件名稱:software
版本號:1.2.3
修正版本:1
可用平臺:i386,適用於Intel 80x86平臺。
類型:rpm,說明是一個rpm包。
根據Linux應用程序軟件安裝包中的內容不同可以分爲::
1) 是可執行文件,也就是解開包後就可以直接運行的。在Windows中所有的軟件包都是這種類型。安裝完這個程序後,你就可以使用。不過下載時要注意這個軟件是否是你所使用的平臺,否則將無法正常安裝。
2) 另一種則是源程序,也就解開包後,你還需要使用編譯器將其編譯成爲可執行文件。這在Windows系統中是幾乎沒有的,因爲Windows的思想是不開放源程序的。
通常,用tar打包的,都是源程序;而用rpm打包的則常是可執行程序。

1.搞定使用rpm打包的應用軟件
rpm可謂是Redhat公司的一大貢獻,它使Linux的軟件安裝工作變得更加簡單容易。
1) 安裝:
我只需簡單的一句話,就可以說完。執行:
rpm -ivh rpm軟件包名
更高級的,請見下表:
rpm參數 參數說明
-i 安裝軟件
-t 測試安裝,不是真的安裝
-p 顯示安裝進度
-f 不管任何錯誤
-U 升級安裝
-v 檢測套件是否正確安裝
這些參數可以同時採用。更多的內容可以參考RPM的命令幫助。
2) 卸載:
我同樣只需簡單的一句話,就可以說完。執行:
rpm -e 軟件名
不過要注意的是,後面使用的是軟件名,而不是軟件包名。例如,要安裝software-1.2.3-1.i386.rpm這個包時,應執行:
rpm -ivh software-1.2.3-1.i386.rpm
而當卸載時,則應執行:
rpm -e software。

2. 搞定使用tar打包的應用軟件
1) 安裝:
整個安裝過程可以分爲以下幾步:
? 取得應用軟件:通過下載、購買光盤的方法獲得;
? 解壓縮文件:一般tar包,都會再做一次壓縮,如gzip、bz2等,所以你需要先解壓。如果是最常見的gz格式,則可以執行:“tar -xvzf 軟件包名”,就可以一步完成解壓與解包工作。如果不是,則先用解壓軟件,再執行“tar -xvf 解壓後的tar包”進行解包;
? 閱讀附帶的INSTALL文件、README文件;
? 執行“./configure”命令爲編譯做好準備;
? 執行“make”命令進行軟件編譯;
? 執行“make install”完成安裝;
? 執行“make clean”刪除安裝時產生的臨時文件。
好了,到此大功告成。我們就可以運行應用程序了。但這時,有的讀者就會問,我怎麼執行呢?這也是一個Linux特色的問題。其實,一般來說,Linux的應用軟件的可執行文件會存放在/usr/local/bin目錄下!不過這並不是“放四海皆准”的真理,最可靠的還是看這個軟件的INSTALL和README文件,一般都會有說明。
2) 卸載:
通常軟件的開發者很少考慮到如何卸載自己的軟件,而tar又僅是完成打包的工作,所以並沒有提供良好的卸載方法。一般都提供 make uninstall 來卸載軟件的。

第4章 X Windows

4.1 X Windows簡介
要想成爲一套優秀的xx作系統,除了性能穩定、功能齊全之外,還應該擁有一個友好的xx作系統,否則只會呆在研究室裏,難以普及。
在UNIX系統下,大多都是採用X Window做爲圖形界面的。1984年,麻省理工學院與DEC制定了Athena計劃,這就是X Window 第一個版本。1988年1月成立了一個非盈利性的X聯盟,負責制定X Window的標準。在Linux出現後,Xfree86 Project Inc.基於Linux實現了一個開源的X Window系統:XFree86。
X Window與其他的圖形界面系統相比,有幾個特點:
? 良好的網絡支持:X Window採用了C/S網絡結構,程序間可以通過網絡來通信,而且有良好的網絡透明性,也就是說用戶不需知道程序在使用遠端主機資源。
? 個性化的窗口界面:X Window並未對窗口界面作統一性的規範,程序員可以根據需求自行設計,其中最有名的就是後面要介紹的GNOME與KDE。
? 不內嵌於xx作系統:X Window只定義了一個標準,而不屬於某個xx作系統,因此可在不同的xx作系統上運行相同的X Window軟件。
整個X Window由三個部分組成:
? X Server:主要是控制輸出及輸入設備的程序,並維護相關資源,它接收輸入設備的信息,並將其傳給X Client,而將X Client傳來的信息輸出到屏幕上。所以不同的顯卡就需要選擇不同的X Server,在配置X Window時最主要的就是配置X Server
? X Client:它纔是應用程序的核心部分,它是與硬件無關的,每個應用程序就是一個X Client
? X protocol:X Client與X Server之間的通信語言就是X protocol
爲了使得X Window更加易於使用,各個不同的公司與組織都針對其做了許多集成桌面環境。如AIX上的CDE,SUN的OpenServer,而在Linux下則主要是GNOME與KDE的雙雄會。下面我們就一起來了解一下它們。

4.2 GNOME簡介
GNOME最初是由墨西哥的程序設計師Miguel De Icazq發起的,它受到了Red Hat公司的大力支持。它現在屬於GNU(GNU is Not UNIX)計劃的一部分,主要目的是希望能夠爲用戶提供一個完整、易學易用的桌面環境,併爲程序設計師提供強大的應用程序開發環境。
1997年8 月,爲了克服KDE所遇到的QT許可協議和單一C++依賴的困難,以墨西哥的Miguel de Icaza爲首的250程序員就開始了一個新項目,完全從頭開始,這就是GNOME。經過14個月的共同努力,終於完成了這個工程。現在GNOME已得到了佔Linux 市場份額最大發行商Red Hat 的支持,擁有了大量應用軟件,包括文字處理軟件Go,電子表格軟件Gnumeric,日曆程序GNOMEcal,堪與PhotoShop 媲美的圖形圖像處理軟件Gimp 等。
現在GNOME與KDE成爲了兩大競爭陣營,必將使得Linux更加易於使用。
GNOME中還提供了大量的應用軟件,它們都放在GNOME的“開始”(一個小腳丫)à Programs中,包括了許許多多的應用軟件,下面就是其中的一些:
1. Applications:應用軟件
1) Dia:一個工程圖編輯器,適用於繪製電路圖;
2) Calendar:一個集日曆與日程表於一身的好工具;
3) Address Book:一個通訊錄
4) GEdit:一個功能類似於Windows下的記事本的文本編輯器;
5) Gnumeric:Linux下的一個類似於EXCEL的電子表格軟件;
6) Time tracking tools:一個用於提醒時間的小工具;

2. Games:遊戲軟件
1) Gnome Milnes:GNOME下的掃雷;
2) Gnibbles:貪吃蛇遊戲;
3) Freecell:Windows下的空當接龍遊戲;

3. Graphics:圖形處理軟件
1) Electric Eyes:一個十分優秀的圖形處理軟件,可謂GNOME下的AcdSee呀!
2) XPDF:一個在Linux閱讀PDF文檔的工具;
3) The Gimp:一個十分優秀的繪圖軟件,與Photoshop很象!

4. Internet:Internet應用軟件
1) Dialup Configuration Tool:一個界面十分友好的拔號上網設置工具;
2) gFTP:一個FTP客戶端
3) pine:一個E-Mail客戶端軟件
4) Netscape :大名鼎鼎的瀏覽器軟件,被微軟從Windows平臺擠下來的
5) RH Network monitor:網絡流量顯示

5. Multimedia:多媒體軟件
1) Audio Mixer:聲音控制器
2) CD Player:CD播放器
3) XMMS:與Winamp是一個模子裏出來的


4.3 KDE簡介
KDE項目在1996年10月發起的,其目的是在X-Window上建立一個完整易用的桌面環境。KDE現在除了擁有KFM(類似於IE4.0)、KPresenter(類似PowerPoint)、KIllustrator(類似CorelDraw或 Illustrator)等重量級軟件,還有體貼用戶的GUI配置軟件可以幫助用戶配置Unix/Linux,使其深受使用者歡迎。
但由於KDE是基於由TrollTech公司開發的Qt程序庫的,所以也受到了許多批評。雖然Qt本身作爲一基於C++的跨平臺開發工具是非常優秀,但可惜的是它不是自由軟件。Qt的License允許任何人使用Qt編寫免費軟件及免費拷貝給其他用戶使用,但如果利用Qt編寫非免費軟件則需要購買他們的License。更重要的是任何人都不可以隨意修改Qt源代碼。如果TrollTech公司更改Qt License、公司倒閉或給人收購等都會令KDE前功盡棄。
在KDE中,也有許許多的應用軟件,它們被分組放在“開始”(一個K字)菜單中,說實在的,我感覺KDE的軟件應用比GNOME更多,圖形界面也更好。
1. Office:辦公軟件
這就是大名鼎鼎的Koffice套件。
1) Kword:字處理軟件
2) Kspread:象Excel的電子表格處理軟件
3) Kpresenter:一個類似於PowerPoint的演示軟件
4) Kchart:一個電子圖表軟件
5) Kiiiustrator:一個電子出版軟件

2. Develop:開發工具
1) Kdevelop:一個KDE下的集成開發環境

3. Applications:應用軟件
1) Advanced Editor:一個增強型的文本編輯軟件
2) Emacs:這是一個功能強大的編輯軟件,在GNOME中也有,它的原形是字符終端下的Emacs
3) Organizer:一個日程安排軟件

4. Internet:Internet軟件
1) Kppp:一個十分友好的拔號上網配置工具
2) Kmail:一個十分漂亮的Email 客戶端,有點象Outlook!
3) Chat Client:一個IRC客戶端
4) KPPPLoad:一個網絡流量工具
5) Netscape:大名鼎鼎的WEB瀏覽器,在GNOME中也有集成

4.4 使用窗口管理器
Red Hat Linux 7.1默認安裝後,X Window將使用GNOME做爲窗口管理器,除非你在安裝時將GNOME去掉,而選擇了KDE包。通常我們可以將這兩個包都安裝上,到使用的時候再選擇。
1) 在字符終端下執行以下命令,則以後X Window的窗口管理器都成了KDE:
# switchdesk KDE
2) 如果你又不想使用KDE了,則可以使用以下命令轉回GNOME:
# switchdesk GNOME
4.5 漢化Red Hat Linux 7.1
1.安裝 TrueType 字體
要在系統裏使用中文TrueType字體,最好先禁用xfs字體服務器, xfs在啓動時會自動更新字體目錄下的fonts.dir文件,這樣會影響到我們所作的修改。
以root身份登陸,然後執行setup工具,在Service中關閉xfs。
1)修改XF86Config-4 配置文件
進入/etc/X11目錄,用vi編輯XF86Config-4文件,如下進行相應的修改:

Section "Files"
# FontPath "unix/:7100" ;註釋掉這一行,加入下面的幾行
FontPath "/usr/X11R6/lib/X11/fonts/misc:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/misc"
FontPath "/usr/X11R6/lib/X11/fonts/Type1"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi"
FontPath "/usr/X11r6/lib/X11/fonts/TrueType"
EndSection

Section "Module"
Load "dbe" # Double-buffering
Load "GLcore" # OpenGL support
Load "dri" # Direct rendering infrastructure
Load "glx" # OpenGL X protocol interface
Load "extmod" # Misc. required extensions
Load "v4l" # Video4Linux
Load "xtt" ;加入這一行
EndSection
2)獲取字體文件simsun.ttf
新建一個目錄:/usr/X11R6/lib/X11/fonts/TrueType ,然後將Windows所在的分區mount上來,然後將simsum.ttf複製到該目錄。
3)生成字體列表
cd /usr/X11R6/lib/X11/fonts/TrueType
# ttmkfdir>fonts.dir
# vi fonts.dir 修改字體列表文件,使其與下面類似
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-ascii-0
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-fcd8859-15
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-iso8859-1
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-gb2312.1980-0
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-koi8-r
#cp fonts.dir fonts.scale
4)修改 gtk 的字體定義
# vi /etc/gtk/gtkrc.zh_CN
修改後的內容如下:
style "gtk-default-zh-cn" {
fontset = "-misc-SimSun-medium-r-normal--14-*-*-*-*-*-*-*"
}
class "GtkWidget" style "gtk-default-zh-cn"

2.安裝中文輸入法Chinput 3.0.1
1)首先下載以下幾個軟件包:
Chinput-3.0.1-1.i386.rpm
pth-1.3.7-3.i386.rpm
unicon2-im.tar.gz
2)然後安裝:
# rpm -ivh pth-1.3.7-3.i386.rpm
# rpm -ivh Chinput-3.0.1-1.i386.rpm --nodeps
# cp unicon2-im.tar.gz /usr/lib
# cd /usr/lib
# tar vfxz unicon2-im.tar.gz
# rm unicon2-im.tar.gz
# ln -s libstdc++-2-libc6.1-1-2.9.0.so libstdc++-libc6.1-2.so.3
3)修改Chinput的一些配置
# cd /usr/lib/ZWinPro
# vi Chinput.ad 修改以下幾個地方
...
chinput.gblocale=zh_CN.gb2312
chinput.big5locale=zh_CN.gb2312
...
chinput.gbfont=-misc-SimSun-medium-r-normal--14-*-*-*-*-*-gb2312.1980-0
chinput.big5font=-misc-SimSun-medium-r-normal--14-*-*-*-*-*-gb2312.1980-0
...
(注意:在這個文件裏不能出現空格,只能用 Tab 代替)
4)修改~/.bashrc文件,新增以下幾行:
export LC_ALL=zh_CN.GB2312
export LANG=zh_CN.GB2312
export XMODIFIERS=@im=Chinput

3.漢化 GNOME
重啓後,執行startx時,你在GNOME中就可以顯示中文了。緊接着,你可以通過在Program->設定->Session->Startup Programs裏面把chinput加入啓動運行程序裏面就完成了 GNOME的中文環境和輸入法的安裝了。

4.漢化 KDE
如果是KDE系統,則打開 Preferences->Personalization->Country & Language,選擇中文,再打開 Look & Feel->Fonts,選擇相應的字體,並把字符集改成gb2312.1980-0。最後再打開桌面上的 Autostart 目錄,新建一個應用程序( Chinput )的連接,以後每次啓動後就可以使用中文輸入法了.

第5章:網絡應用

5.1 常用網絡命令
在Red Hat Linux 7.1系統提供了與網絡相關的工具,掌握好這些工具是十分必要的:
第一類:設置工具
1.netconf:
netconf是Red Hat Linux提供的Linuxconf的一部分,主要用於設置與網絡相關的參數。它可以在consle下運行(文本菜單),也可以在X-Window中運行(圖形界面)。在前面,我們介紹過了netconf的一些應用,它的使用比較簡單,只要認識上面的英文就可以了,所以在此就不再多說。BTW,如果你設置好了X-Window的話,用用圖形界面的netconf,會更漂亮的喲。
2.ifconfig
ifconfig是Linux系統中最常用的一個用來顯示和設置網絡設備的工具。其中“if”是“interface”的縮寫。它可以用來設備網卡的狀態,或是顯示當前的設置。
下面我們簡單地說明常用的命令組合:
1) 將第一塊網卡的IP地址設置爲192.168.0.1:
ifconfig eth0 192.168.0.1 (格式:ifconfig 網絡設備名 IP地址)
2) 暫時關閉或啓用網卡:
關閉第一塊網卡:ifconfig eth0 down
啓用第一塊網卡:ifconfig eth0 up
3) 將第一塊網卡的子網掩碼設置爲255.255.255.0:
ifconfig eth0 netmask 255.255.255.0(格式:ifconfig 網絡設備名 netmask 子網掩碼)
我們也可以同時設置IP地址和子網掩碼:
ifconfig eth0 192.168.0.1 netmask 255.255.255.0
4) 將第一塊網卡的廣播地址設置爲192.168.0.255:
ifconfig eth0 -broadcast 192.168.0.255
5) 將第一塊網卡設置爲不接收多播數據包:
ifconifg eth0 allmulti
如果要讓其接收,則使用命令:ifconfig eth0 -allmulti
6) 查看第一塊網卡的狀態:
ifconfig eth0
如果要查看所有的網卡狀態,則直接使用不帶參數的ifconfig命令即可。
ifconfig輸出的狀態信息是十分有用的,下面,我們就簡單說明一下:
有幾個狀態比較重要:
? UP/DOWN:網卡是否啓動了,如果是DOWN的話,那肯定無法用的;
? RX packets中的errors包的數量如果過大說明網卡在接收時有問題;
? TX packets中的errors包的數量如果過大說明網卡在發送時有問題;
3.route
route命令是用來查看和設置Linux系統的路由信息,以實現與其它網絡的通丁R迪至礁霾煌淖油鏢黶耐繽ㄑ叮枰惶翠礁鐾緶酚善骰蛘咄蔽揮諏礁鐾緄耐槢詞迪幀?
在Linux系統中,我們通常設置路由是爲了解決以下問題:該Linux機器在一個局域網中,局域網中有一個網關,能夠讓你的機器訪問Internet,那麼我們就需要將這臺機器的IP地址設置爲Linux機器的默認路由。
1) 增加一個默認路由:
route add 0.0.0.0 gw 網關地址
2) 刪除一個默認路由:
route del 0.0.0.0 gw 網關地址
3) 顯示出當前路由表
route
第二類:診斷工具
1.ping
ping是一個最常用的檢測是否能夠與遠端機器建立網絡通訊連接。它是通過Internet控制報文協議ICMP來實現的。而現在有些主機對ICMP進行過濾,在這種特殊的情況下,有可能使得一些主機Ping不通,但能夠建立網絡連接。這是一種特例,在此事先說明。
同樣的,在此不羅列ping命令的所有可選參數,而是通過實例來說明一些常用的組合,需要更詳細地瞭解的,可以通過www.linuxaid.com.cn網站在線培訓的命令查詢工具獲得。
1) 檢測與某機器的連接是否正常:
ping 192.168.0.1
ping www.linuxaid.com.cn
也就是說,我們可以用IP地址或域名來指定機器。
2) 指定ping迴應次數爲4:
在Linux下,如果你不指定迴應次數,ping命令將一直不斷地向遠方機器發送ICMP信息。我們可以通過-c參數來限定:ping -c 4 192.168.0.1
3) 通過特定的網卡進行ping:
有時,我們需要檢測某塊網卡(系統中有多塊)能否ping通遠方機器。我們需要在執行ping命令時指出:
ping -I eth0 192.168.0.1
2.traceroute
如果你ping不通遠方的機器,想知道是在什麼地方出的問題;或者你想知道你的信息到遠方機器都經過了哪些路由器,可以使用traceroute命令。顧名思義:trace是跟蹤,route是路由,也就是跟蹤路由。
使用這個命令很簡單:
traceroute 遠程主機IP地址或域名
這個命令的輸出類似:
1 路由器(網關)的IP地址 訪問所需時間1 訪問所需時間2 訪問所需時間3
2 路由器(網關)的IP地址 訪問所需時間1 訪問所需時間2 訪問所需時間3
………
1) 最前面的數字代表“經過第幾站”;
2) 路由器(網關)的IP地址就是“該站”的IP地址;
3) 訪問所需時間1、2、3是指訪問到這個路由器(網關)需要的時間。

3.netstat
在Linux系統中,提供了一個功能十分強大的查看網絡狀態的工具:netstat。它可以讓您得知整個Linux系統的網絡情況。
1)統計出各網絡設備傳送、接收數據包的情況:
使用命令:netstat -i
這個命令將輸出一張表,其中包括:
Iface:網絡接口名 MTU:最大傳輸單元
RX-OK:共成功接收多少個包 RX-ERR:接收的包中共有多少個錯誤包
RX-DRP:接收時共丟失多少個包 RX-OVR:共接收了多少個碰撞包
TX-OK:共成功發送多少個包 TX-ERR:發送的包中共有多少個錯誤包
TX-DRP:發磅時共丟失多少個包 TX-OVR:共接收了多少個碰撞包
2)顯示網絡的統計信息
使用命令:netstat -s
使用這個命令,將會以摘要的形式統計出IP、ICMP、TCP、UDP、TCPEXT形式的通信信息。
3)顯示出TCP傳輸協議的網絡連接情況:
使用命令:netstat -t
這個命令的輸出也是一張表,其中包括:
Local Address:本地地址,格式是IP地址:端口號
Foreign Address:遠程地址,格式也是IP地址:端口號
State:連接狀態,包括LISTEN、ESTABLISHED、TIME_WAIT等。
4)只顯示出使用UDP的網絡連接情況:
使用命令:netstat -t
輸出格式也是一樣的。
5)顯示路由表:
使用命令:netstat -r
這個命令的輸出與route命令的輸出相同。

5.2 網絡配置文件
在Red Hat Linux 7.1中有一些用於存放網絡配置的文件:
1./etc/hosts
在該文件中存放的是一組IP地址與主機名的列表,如果在該列表中指出某臺主機的IP地址,那麼訪問該主機時將無需進行DNS解析。
2./etc/host.conf
該文件用來指定域名解析方法的順序,如:
order hosts,bind
它說明,首先通過/etc/hosts文件解析,如果在該文件中沒有相應的主機名與IP地址的對應關係,再通過域名服務器bind進行解析。
3./etc/resolv.conf
在該文件中存放域名服務器的IP地址。
4./etc/protocols
Red Hat Linux 7.1系統使用該文件辨別本主機使用的,並通過它完成協議和協議號之間的映射,用戶不應修改該文件。
5./etc/services
該用戶用於定義現有的網絡服務,用戶無需修改它,它通常由安裝網絡服務的程序來維護。該文件包括網絡服務名、網絡端口號和使用的協議類型,其中網絡端口號和使用的協議類型之間有一個斜槓分開,在設置行的最後還可以添加一些服務的別名。
5./etc/xinetd.d目錄
在Linux系統中有一個超級服務程序inetd,大部分的網絡服務都是由它啓動的,如chargen、echo、finger、talk、telnet、wu-ftpd等…,在7.0之間的版本它的設置是在/etc/inetd.conf中配置的,在Red Hat 7.0後,它就改成了一個xinetd.d目錄。
在xinetd.d目錄中,每一個服務都有一個相應的配置文件,我們以telnet爲例,說明一下各個配置行的含義:
service telnet
{
socket_type=stream
wait=no
user=root
server=/usr/sbin/in.telnetd
log_on_failure+=USERID
disable=yes
}
第一行,說明該配置用來設置telnet服務。
第二行,說明Socket連接類型是stream,也就是TCP
第三行,是指不等待到啓動完成
第四行,是指以root用戶啓動服務進程
第五行,是指服務進程是/usr/sbin/in.telnetd
第六行,是用於做一些出錯日誌
第七行,是指禁止遠方telnet,如果需要開放則將該配置改爲:disable=no
修改了xinetd的配置,需要重啓xinetd才能夠生效,有兩種方法可以實現:
1) 執行如下命令:
/etc/rc.d/init.d/xinetd restart
2) 執行如下命令:
killall -HUP xinetd

5.3 網絡服務訪問限制
在Red Hat Linux 7.1中加強了網絡安全的防範,如果你安裝時安全等級不是在最低一級的話,那麼本機之外的所有訪問都可能被拒絕。這是因爲在Red Hat 7.1中做了一些默認的ipchains設置,這是Linux內置的防火牆機制,它可以使用一些規則來允許或禁止某種訪問。
它的規則存放在/etc/sysconfig/ipchains文件中,如果你想讓它暫時不生效,那你可以運行/etc/rc.d/init.d/ipchains stop,那麼所有的規則都被取消,所有的網絡訪問都將被允許。
你可以運行/etc/rc.d/init.d/ipchains status來獲知現在對網絡訪問的限制。關於這方面的知識,本文限於篇幅無法詳細介紹,有興趣的讀者可參考《Linux防火牆》一書。

5.4 WEB服務器
在Linux系統中最適合於做服務器的當數Apache,Red Hat Linux 7.1中集成了Apache 1.3.19版,你只要在安裝時選中WEB服務器,那麼系統將自動完成Apache服務器的安裝,在默認情況,WWW服務就已經啓動了。
如果你在安裝時沒有選擇WEB服務器包,那也沒有關係,你只需執行以下命令即可:
1) 將Red Hat Linux 7.1安裝光盤的第一張放入光驅,然後執行如下命令:
# mount /mnt/cdrom
2) 轉到apache安裝文件所在目錄:
# cd /mnt/cdrom/RedHat/RPMS
3) 使用RPM完成安裝:
# rpm -ivh apache-1.3.19-5.i386.rpm
現在,你就已經擁有一個基於Linux的WEB服務器了,它的配置文件位於/etc/httpd/conf目錄下,你可根據需要進行相應的修改,修改完後執行:/etc/rc.d/init.d/httpd restart即可。而WEB服務的主目錄則在/var/www/html目錄下,你可以將你的WEB頁傳到這裏就可以更新了。
而如果每一個用戶都想要擁有一個自己的主頁的話,則:
1) 首先在自己的用戶主目錄下建一個public_html目錄:
# cd
# mkdir public_html
2) 然後將自己的用戶主目錄的權限改爲大家可讀
# chmod 755 用戶主目錄
3) 這樣你就可以使用“localhost/~用戶名/”訪問到每個用戶的主頁了。
5.5 FTP服務器
在Red Hat Linux 7.1中集成了Wu-FTP 2.6.1做爲FTP服務器,在你安裝時只要選擇了FTP包的話,那麼你的Linux服務器就是一臺FTP服務器了,如果當時沒有安裝的話,也沒有關係,跟安裝apache一樣:
1) 將Red Hat Linux 7.1安裝光盤的第一張放入光驅,然後執行如下命令:
# mount /mnt/cdrom
2)轉到wu-ftp安裝文件所在目錄:
# cd /mnt/cdrom/RedHat/RPMS
3)使用RPM完成安裝:
# rpm -ivh wu-ftp-2.6.1-16.i386.rpm
由於FTP服務是由xinetd超級服務器創建的,所以關於FTP服務器的配置在/etc/xinetd.d目錄下的wu-ftpd文件中:
service ftp
{
socket_type=stream
wait=no
user=root
server=/usr/sbin/in.ftpd
server_args=-l -a
log_on_success+=DURATION USERID
log_on_failure+=USERID
nice=10
disable=no
}
下面,我們介紹一些關於FTP服務器的管理方法:
1、 暫時關閉FTP服務
有兩種方法可以使FTP服務暫停:
1) 以root用戶身份執行:
# ftpshut now
這樣就會在/etc目錄下生成一個shutmsg的文件,這時FTP服務器將無法使用,直到你刪掉這個文件。
2) 修改配置文件/etc/xinetd.d/wu-ftpd,將disable=no改爲disable=yes,然後重啓xinetd。
2、 禁止某用戶使用FTP服務
有兩種方法可以禁止某用戶使用FTP服務器:
1) 在/etc/ftpuser中寫入該用戶帳號名
2) 在/etc/ftpaccess中寫入一行配置:
deny-uid 用戶名
用這種方法還可以禁止一個組的用戶使用
deny-gid 組名
3、 禁止匿名用戶(anonymous)登錄FTP服務器
有許多種方法可以實現,但我覺得最簡單有效的方法就是將anonymous寫入配置文件:/etc/ftpuser中,就可了。

5.6 文件服務器
我們還可以使用Red Hat Linux 7.1內置的Samba爲局域網內的Windows主機做文件服務器。如果在安裝系統時選擇了SMB服務器軟件包的話,那麼安裝完以後,Samba服務就已經Ready了。
不過爲了方便配置,建議安裝一下swat,它提供了一個WEB界面的配置工具。它的安裝包是第二張光盤的/RedHat/RPMS/samba-swat-2.0.7-36.i386.rpm。
安裝完以後,它會在xinetd.d目錄中新建一個swat文件,其內容爲:
service swat
{
port=901
socket_type=stream
wait=no
only_from=127.0.0.1
server=/usr/sbin/swat
log_on_failure+=USERID
disable=yes
}
我們看到disable的值是yes,也就是說,現在swat還沒有啓用,因此,我們需要將其改爲disable=no,然後重啓xinted。另外,由於這裏有一句:
only_from=127.0.0.1
說明只能在本機使用swat,而如果你想在Windows中用IE來配置的話,請將這句註釋掉或刪掉。
下面,我們以設置一個大家都可以訪問的homes目錄爲例,說明SWAT的設置方法:
1) 打開IE瀏覽器,在地址欄上輸入Linux的主機名或IP以及“:901”,例如:
http://192.168.0.1:901
2) 如果連接正常,將出一個登錄提示窗,要求輸入用戶名與密碼,在此以root爲用戶名,並輸入root用戶的密碼,再單擊確定;
3) 如果輸入無誤,將出現Samba的配置界面:Swat的首頁;
我們可以看到在Swat界面中,最上面有7個圖標,分別是:HOME(首頁)、GLOBALS(全局設置)、SHARES(共享設置)、PRINTERS(打印機)、STATUS(狀態)、VIEW(查看)、PASSWORD(密碼)
4) 首先,我們單擊GLOBALS圖標,將出現GLOBALS設置頁面,其中我們對以下幾項進行設置:
? BaseOption à Workgroup:在些輸入工作組名(如NetBIOS中的工作組名)
? BaseOption à Netbios name:主機名
? SecurityOption à Security:選擇安全等級,在些選擇“SHARE”
? SecurityOption à hosts allow:允許的主機,通常寫入你的網絡號,如192.168.0.
? SecurityOption à hosts deny:如果你不讓某臺機器使用,則寫入它的IP地址
修改完後,點擊“Commit Changes”按鈕(在7個圖標的下邊一些),保存設置。
5) 然後,單擊SHARES圖標,進行共享設置:
第一步:在Create Share按鈕的右邊文本框中輸入要設置的共享名
第二步:單擊“Create Share”按鈕;
第三步:確認“BaseOptions à Path的值爲你想共享的目錄,例如/home/smb/test(注意這必須是已經存在的目錄);
第四步:將“SecurityOptions à writeable”的值設置爲Yes,使該目錄共享爲可寫;
第五步:將“SecurityOptions à guest ok”的值設置爲Yes,使該目錄無需密碼訪問;
第六步:在“SecurityOptionsàhosts allow、hosts deny”中設置相應的主機IP;
第七步:將“BrowseOptionsàbrowseable”設置爲Yes,使其便於使用
最後,點擊“Commit Changes”按鈕,保存設置。
現在,我們就可以在Windows 9x上通過網絡鄰居訪問到這臺Samba服務器,並且有一個可讀、可寫的共享目錄。
在平時使用的時間,系統管理員可以點擊“STATUS”按鈕,切換到狀態頁面對其進行監測,在這個頁面上,你可以:
1) 啓動(Start smbd按鈕)、停止Samba(Stop Smbd按鈕)服務,以及重啓服務(Restart smbd按鈕);
2) 另外,你可以看到當前與Samba服務器建立的連接(Active Connections),並且可以按下“X”按鈕,中止它的訪問;
3) 同時你還可以檢測到正在訪問的文件夾(Active Shares),正打開的文件(Open Files)。
Samba服務還可以對用戶進行認證,與Window NT域進行集成等強大的功能,在些限於篇幅就不詳細介紹,有興趣的讀者可以參考《實戰Samba》一書。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章