五、 做好Linux的管理員:21問
70.如何檢查Linux硬碟使用方式?
在Linux環境下,你可以使用df命令來查看硬碟的使用方式。下面就是一個df -T -h(-T參數:顯示檔案系統類型,-h參數用可讀性較高的方式來顯示資訊)命令的輸入執行個體:
Filesystem Type Size Used Avail Use% Mountedon
/dev/hda1 ext2 7.5G 4.7G 2.5G 65% /
/dev/hda2 ext2 653M 6.6M 613M 1% /root
/dev/hdb1 ext2 7.5G 3.5G 3.7G 49% /usr
71.Linux下有哪些壓縮公用程式?
在Linux下有很多種壓縮公用程式,常用的有:
1) gzip/gunzip:這是GNU開發的自由軟體,使用相當廣泛。壓縮檔副檔名為".gz"。使用方法很簡單,例如:
gunzip eos.gz gzip /home/test/*.txt;
2) compress/uncompress:這是一對曆史悠久的壓縮程式,檔案經過它壓縮後,壓縮檔副檔名為 ".Z"。
3)除此之外還有:zip/unzip、bzip2/bunzip2等。
72.如何管理進程?
進程是程式的一次執行。可以使用"ps -auxw"列出在當前正在執行的進程的詳細資料,包括每個進程都有的進程ID號。你可以通過"kill 進程ID號"來終止這個進程。
73.檔案或目錄的許可權是什麼意思?
檔案或目錄的許可權位由10位構成,如-rwxr-xr-x。
1) 第一位代表檔案/目錄類型:d代表目錄、-代表檔案、l代錶鏈接;
2) 剩下的9位分成3組,每組3位;2-4位描述檔案主人的許可權,5-7位描述與檔案主人同一使用者組的許可權,8-10位則是其它使用者的許可權。
3) rwx:每組的3位分別是:讀許可權、寫入權限、執行許可權;如果是-就代表沒有這個許可權。
也就是說-rwxr-xr-x表示,這是個普通檔案,檔案主人可以讀、寫、執行這個檔案,與檔案主人同組的使用者以及其它使用者都可以讀、執行這個檔案。
74.什麼是使用者帳號?
在Linux系統中,是通過使用者帳號來標識每一個使用者的,通過登入時輸入不同的使用者帳號和密碼確定你的身份。也就是說,Linux系統通過使用者帳號和管理系統的所有使用者。
然後你可以建立一些使用者組,將使用者加入到組中去,讓其獲得使用者組的許可權。
75. 在Linux下,如何系統管理使用者?
如果你想要新增一個使用者:
1) 以root登入,然後執行"adduser 使用者帳號名"
2) 執行"passwd 使用者帳號名"來為這個使用者帳號設定密碼。
執行"userdel 使用者帳號"刪除一個使用者;
執行"groupadd 使用者組名"新增一個使用者組;
執行"groupdel 使用者組名"刪除一個使用者組;
76. 如何為使用者作磁碟限額?
1)將要設定磁碟限額的分區,按以下格式修改/etc/fstab 檔案:
/dev/hda2 /home ext2 defaults,usrquota 1 2
2)在要設定磁碟限額的分區目錄下建立空檔案 quota.user
#touch /home/quota.user
#chmod 600 /home/quota.user
3)重啟系統後,就可以使用edquota -u 使用者名稱來設定。
77.如何備份系統?
在Linux中,你可以使用dump/restore命令組來實現系統的備份與恢複。假設你需要將/usr目錄下的所有檔案完整地備份到磁帶機上(假定裝置是rmt8,不同的磁帶機不相同),你可以使用命令:
dump -O -f /dev/rmt8 /usr
其中-O參數代表備份全部檔案,"-f 裝置檔案名稱"參數指定備份到什麼地方,最後的目錄名指定要備份的內容。
然後,你可以使用以下命令恢複:
restore -r -f /dev/rmt8
78.如何安裝.tar的軟體包?
Linux軟體有兩種發布方式:一種是原始碼方式,另一種是可執行檔包。而發布包大多是先用tar歸檔,再用gzip壓縮,產生是以.tar.gz結束的檔案。
你可以直接使用"tar xvfz 檔案名稱"完成解壓縮,解tar包工作。
如果你取得是可執行檔包,安裝工作結束。
如果你取得是原始碼包,則還需編譯一下:
1) 在解壓目錄下運行"./configure"進行配置;
2) 在解壓目錄下運行"make"進行編譯;
3) 運行"make install"安裝。
79.如何使用RPM安裝Linux軟體?
RedHat公司提供的RPM工具,使得Linux軟體安裝更為方便。
1) 安裝:rpm -ivh somesoft.rpm
2) 反安裝:rpm -e somesoft.rpm
3) 查詢:rpm -q somesoft
80.如果忘了root的密碼,怎麼辦?
如果你忘了root的密碼,可以通過以下方法恢複:
1) 重新啟動Linux,出現lilo:時,輸入linuxsingle進入單一使用者模式;
2) 這時無需密碼就取得了root許可權;
3) 再運行passwd重新設定root的密碼。
81.重裝Windows而破壞了Lilo時,怎麼辦?
這種情況可以使用兩種方法恢複:
1)用Linux啟動磁碟片啟動,然後執行/sbin/lilo,重新在引導區建立lilo;
2)使用Linux安裝光碟片啟動,選擇升級系統,將會重建lilo。
82.如何製作Linux啟動盤?
在Linux下,有一個工具mkbootdisk能很方便地製作系統啟動盤:
1) 查看系統的版本,可以通過ls /usr/src來看;
2) 插入一張空磁碟片;
3) 執行"mkbootdisk --verbose 2.2.5"。
83.如何遠程使用Linux?
我們可以使用telnet、rlogin、rsh、rcp等命令來實現遠程使用Linux,但這這些方法在傳輸過程中是明文傳輸的,所以有可能帶來許多不安全因素。因此,應盡量避免遠程使用root帳戶登入系統。
如何構建安全的遠程登入?
使用SSH來實現安全的遠程登入,因為SSH實現了資料轉送的加密。
1) 擷取ssh-1.26.tar.gz檔案;
2) 用tar xvpf ssh-1.26.tar.gz解開這個包;
3) 到解開的目錄/usr/local/src/ssh-1.26目錄下執行./configure;
4) 執行make和make install來完成編譯和安裝。
5) 你就可以使用ssh來與安裝了SSH的伺服器建立安全的遠端連線。
85.如何運行計劃任務?
大大可能對Windows中的計劃任務都比較熟悉了,它可以通過一些簡單的設定,定時完成一些任務。在Linux系統的維護中,我們可以也會需要定期執行一些任務,這種情況可以使用:
1) at命令:它可以鍵盤或檔案中讀取指令,然後在指定時間完執行;
2) crontab守候進程:通過設定它的設定檔來定時執行某些任務。
86.Linux的開機過程都做了什嗎?
1) 一開機,CPU將控制權交給BIOS,BIOS完成開機自我測試 (POST);
2) 然後BIOS讀取磁碟上的第一個扇區,並裝入主開機磁區的lilo;
3) lilo根據輸入選擇不同的核心映象,如果你選擇了linux就讀取/boot下的核心映象;
4) 核心開始硬體檢測和裝置驅動程式的初始化,然後運行init
5) init進程根據/etc/inittab的配置運行一系列初始化指令碼;
6) 完成後,啟動getty進程接受使用者的登入。
87.如何設定開機自動運行程式?
你可以在以下幾個指令檔中加入你想一啟動系統就執行的命令:
/etc/rc.local、/etc/rc.sysinit以及/etc/rc.d/init.d。
88.為什麼需要重新編譯核心?
以下情況你需要重新編譯核心,或加入動態核心模組:
1) 更新驅動程式;
2) 根據自己的需求定製最可靠的核心;
3) 升級Linux核心。
89.如何重新編譯核心?
1) 進入Linux原始碼目錄:cd /usr/src/linux
2) 執行"make config"或"make menuconfig"、"make xconfig"配置核心選項,選中你想要的模組,去掉不想要的模組;
3) 執行"make zImage"命令,大概30到90分鐘後,會產生一個zImage的新核心映像檔案,存放在/usr/src/linux/arch/i386/boot目錄下;
4) 然後將其拷貝到/boot目錄下;
5) 修改lilo.conf檔案,加入:
image=/boot/zImage
label=newlinux
root=/dev/hda1 (根據原來的檔案)
運行/sbin/lilo使修改生效。
6)重新啟動,在Lilo時,輸入newlinux就可以新核心啟動。
90.什麼是動態核心模組?
動態核心模組是Linux一個成功的設計,它使得Linux更加靈活,易於定製。其實動態核心模組就是一個核心模組,它可以在不重新編譯核心的情況,動態地將一些功能用"insmod 模組名"命令加入核心、用"rmmod 模組名"命令將其移出核心。
六、 廉價的網路解決方案---Linux:9問
91.如何使用Linux架設WEB伺服器?
Apache伺服器是在Linux架設WEB伺服器的首選。你可以在安裝Linux時就選擇安裝它。若在安裝時沒有安裝Apache的話,你可以從光碟片或者到apache網站上找到檔案:apache-1.3.12.i386.rpm,然後執行以下命令完成安裝:
1)rpm -ivh apache-1.3.12.i386.rpm
2)修改/etc/httpd/conf目錄下的設定檔httpd.conf、access.conf等;
3)將首頁檔案放到/home/httpd/html目錄下;
4)執行"/etc/rc.d/init.d/httpd start"啟動Apache伺服器
如果需要關閉的話,可以執行/etc/rc.d/init.d/httpd stop命令。
92.如何使用Linux架設FTP伺服器?
在Linux中,最常用的FTP服務軟體當數wu-ftpd,如果在安裝linux時沒安裝上它。你可從光碟片或者網站rpmfind.net/linux/RPM/WbyName.html擷取它的RPM包:wu-ftpd-2.6.0-9.i386.rpm。然後執行以下命令完成安裝:
rpm -ivh wu-ftpd-2.6.0-9.i386.rpm
編輯 "/etc/inetd.conf" 檔案,指向新的ftpd守護進程,如下所示:
ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a
到此為止,你的Linux就可以接受FTP服務了。
93.如何使用Linux架設E-MAIL伺服器?
Linux中,最常用的E-MAIL伺服器是Sendmail,你可以在安裝Linux時將其選中。
1) 在DNS伺服器上為E-Mail伺服器做一條MX記錄;
2) 編輯/etc/inetd.conf檔案,將關於pop和smtp的行的注釋符去掉;
3) 執行kill -HUP inetd,使修改生效;
這樣E-mail伺服器的使用者就可通過Outlook等用戶端程式進行收發郵件了。
94.如何使用Linux架設News伺服器?
在安裝Linux時,選擇INN軟體包,並允許開機時啟動innd。在完成系統的安裝時,大部分配置工作已經完成,無需編譯源碼。
1)配置/etc/news/inn.conf:
domain: foo.com
organization: foo company news site
server: localhost
根據實際情況填寫;
2)配置/etc/news/nnrp.access
nnrp.access是用來完成News Readers服務的守候進程nnrpd的設定檔,用於控制對網站的訪問,修改此檔案無須啟動INND。
3)添加新聞群組:
可以手工編輯/var/lib/news/active檔案添加新聞群組,也可以使用ctlinnd命令來增加。若是手工方式修改新聞群組,須執行以下命令使其生效:
ctlinnd reload active "modify active"
95.如何使用Linux架設BBS?
1) 下載PowerBBS的原始碼發行包檔案pbbs.tar.gz;
2) 執行tar zxvf pbbs.tar.gz解開檔案;
3) 進入pbbs目錄,運行Install;
4) 根據具體需求改變預設的設定。
96.如何讓Linux成為檔案伺服器?
在Linux中,你可以用Samba來做檔案伺服器,你可以在安裝Linux時選中Samba就可以完成安裝。
1) 編輯/etc/smb.conf,修改配置:
netbios name=linux
workgroup=SambaServer
server string=Samba Server
hosts allow=192.168.9. 127.
securoty=share
interfaces=192.168.9.1/24
name resolve order=host dns bcast
wins support=no
2)重新啟動SMB伺服器:/etc/rc.d/init.d/smb restart
3)編輯客戶機的hosts檔案,加入對Samba Server的解析;
4)最後你就可以在網路位置上看到它了。
97.如何使用Linux架設Proxy 伺服器?
1) 下載SquidProxy 伺服器軟體squid-2.2.STABLE3-src.tar.gz;
2) 執行tar xzxf squid-2.2.STABLE3-src.tar.gz
3) 執行./configure
4) 執行make,make install安裝到/usr/local/squid目錄下;
5) 編輯/usr/local/squid/squid.conf檔案,加入:
acl allowed_hosts src 192.168.9.0/255.255.255.0
註:假設你的內網IP地址是192.168.9.0;
6) 執行/usr/local/squid/bin/squid -z進行初始化
7) 執行/usr/local/squid/bin/squid開啟服務
8) 在用戶端設定Proxy 伺服器IP和連接埠3128,就可以訪問Internet了。
98.如何使用Linux架設透明網關?
確認Linux核心已經支援ipchain,然後編寫一個指令碼ipchains.rule,內容為:
註:假設透明閘道伺服器的外網地址是:1.2.3.4,已經與Internet相連;內網地址是192.168.9.1,連在內網上。
#!/bin/sh
/sbin/ipchains -F forward
/sbin/ipchains -F input
/sbin/ipchains -F output
/sbin/ipchains -P forward DENY
/sbin/ipchains -P input ACCEPT
/sbin/ipchains -P output ACCEPT
external_interface=1.2.3.4
/sbin/ipchains -A input -j ACCEPT -i lo
/sbin/ipchains -A output -j ACCEPT -i lo
/sbin/ipchains -A input -j DENY -i eth1 -s 192.168.9.0/24
/sbin/ipchains -A input -j DENY -i eth1 -d 192.168.9.0/24
/sbin/ipchains -A output -j DENY -i eth1 -s 192.168.9.0/24
/sbin/ipchains -A output -j DENY -i eth1 -d 192.168.9.0/24
/sbin/ipchains -A input -j DENY -i eth1 -s $external_interface/32
/sbin/ipchains -A input -j DENY -i eth1 -s $external_interface/32
/sbin/ipchains -A output -j DENY -i eth1 -d $external_interface/32
/sbin/ipchains -A forward -j ACCEPT -i eth0 -s 192.168.9.0/24 -d 192.168.9.0/24
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_quake
/sbin/modprobe ip_masq_irc
/sbin/modprobe ip_masq_user
/sbin/modprobe ip_masq_raudio
/sbin/ipchains -A forward -j MASQ -i eth1 -s 192.168.9.0/24
運行這個指令碼後,192.168.9.0網路中的所有機器只需將網關設定為192.168.9.1,就可以連到Internet上了。
99. Linux還能構建什麼伺服器?
Linux還可以成為網域名稱伺服器、PPP伺服器、CVS伺服器、路由器、防火牆,而且還可以通過LVS解決方式還構建伺服器叢集系統。因為在此篇幅有限,僅是點到為止,若有興趣可以參考專業的Linux書籍。