歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

網管員經驗技巧篇

  問:怎樣將多台web服務器並聯起來,並行處理大量的http請求, 利用inetd可以嗎? 答:沒有那麼簡單,這是一個負載平衡的技術項目,可以到turboLinux的站點看看,turbolinux想集成這個功能。有三種方法,一種是用 DNS的方法。一種是DNS+PROXY,還有一種是購買負載均衡器。DNS的方法效率比較低,但是花費最少,DNS+PROXY效果較好,而負載均衡器價格太昂貴。 問:如何在 Linux 中得到特殊鍵的碼? 答:在 DOS 下面可以通過 INT86 函數進行系統調用來得到方向鍵的碼。 問:關於文件結束的判斷需要對一個log文件進行分析,通過下面的方法打開文件: if ((fp=fopen(free,“r+”))==NULL){ //the free ip file created by manual printf(“can't open file %s.”,free); putchar(' '); exit(0); 通過fgets函數從fp流中取出字符串驗證,正確! 但當使用while(fgetc(fp)!=EOF){}進行提取分析時,卻發生“Segmentation fault”錯誤! 為什麼? 答:“Segmentation fault”錯誤! 這種錯誤是因為指針為空。 而且用EOF作為文件結束的標志不太好,可能文件結束了還是不等於EOF,請使用: Try to use: while(!feof(fp)) { fgetc(fp); } 試試看。 問: 在Linux 下怎樣獲得對方網絡鄰居上的主機名? 答:使用命令nmblookup -A IP。 問:如何做bootable CD的boot.img? 答:做一個能啟動系統的1.44MB的軟盤,此軟盤就可以是一個boot image。使用命令:cat /dev/fd0 > boot.img。 您只要做一塊可以啟動的軟盤,最好是lilo軟盤,就可以在啟動時給出其它的參數,例如用什麼設備作為root目錄, 啟動到第幾級等。 問:如何在X-WINDOWS下配置PPP連接? 答:在X-WINDOWS 下, xisp 是個不錯的撥號工具軟件,但在安裝 xisp 之前, 要先裝有 XForms , 另外, 若您使用的是 KDE , 則可以很方便地使用其提供的 kppp , 非常好用. 問:我有一內置調制解調器,設置為 IRQ12和IO為3e8,但是在Linux中,設定為 COM3占用IRQ4和IO 3e8,怎樣改變設置? 答:在您的BIOS中禁用0x3e8。 如果您的內置調制解調器是即插即用的話,可能被您的即插即用的BIOS重設置為IRQ4。IRQ12應該是用win/dos下的設置程序所設置的。 問:Linux下如何實現IP與Mac地址的捆綁? 答:arp -i eth0 -s xxx.xxx.xxx.xxx(IP) xx.xx.xx.xx.xx(MAC)使用命令模塊(linuxEthAdmod.tar.gz),也可以通過動態加載或卸載可實現此捆綁功能mac地址。 問:如何使用nohup命令? 答:如果希望進程在您退出系統後還能執行,可以使用nohup命令 如:$nohup tar -cf /dev/tape /home & 您退出後再重新登錄,使用ps命令會發現進程還在執行。    問:如何快速查找文件? 答:查找文件可以用find,但最好是用locate,速度快,參數少,例如: 問:我編譯完核心部分後,重新啟動後不能自動加載聲卡, 在提示符下敲cat /dev/sndstat 就能加載, 請指教? 答:修改 /etc/rc.d/rc.modules, 查找 "sound support" 字樣, 添加 "/sbin/modprobe sound",然後重新啟動即可。 問:使用mount 的時候提示核不支持vfat,重新編譯也不行,提示某文件找不到了,使用make menUConfig也不能運行。這是什麼原因,有沒有可以挽救的方法? 答:原來的內核保存了嗎?若保存則把它拷到/BOOT 下 vi /etc/lilo.conf,將image=/boot/newkernel 改成image=/boot/oldkervel, oldkernel 代表你備份的內核。使用lilo 重新啟動。你若沒保存,就只有重新安裝,不過也可試試將光盤上的內核拷到/BOOT下。 問:我安裝了RPM後,執行以下命令: rpm -Uvv /root/xcin-2.1d-2.i386.rpm,得到信息: failed dependencies: libc.so.5 is needed by xcin-2.1d-2 libX11.so.6 is needed by xcin-2.1d-2 ,我不知是什麼原因,而libc.so.5及libX11.so.6確確實實都存在,我的cpio是2.4.2,不知是否達到了rpm的最低要求 ? 答:rpm將已經通過rpm安裝好的包的情況記錄在案。如果在它自己的記錄中找不到就認為你沒有安裝。此情況是它將記錄保存在 /var/lib/rpm目錄中。因為你是新安裝的rpm系統,當然不會有任何記錄了。不過如果你確認你的系統中存在那些記錄那麼你可以給出“-nodeps”選項。當采用以上做法時請特別當心,一定要確認所需部件的確存在。


問:在linux上是否能運行SCO UNIX的二進制程序? 答:在Linux上運行 SCO SYSTEM V 3.2.4.2上的二進制程序,可以通過iBCS子系統進行。 Redhat-5.0帶有iBCS-2.0.10版本。我試過較低版本的iBCS好象沒問題,只是你必須獲得原系統的某些庫文件。 問:如何進行命令補全? 答:在輸入命令時,如果不是很清楚地記得命令的完整拼寫,可以先敲入命令的前幾個字母,按兩次Tab鍵,就會出現以這幾個字母打頭的所有命令的提示!這樣就不用擔心總記不住命令了。    問:如何在同一個命令行上同時執行多條命令? 答:用分號分隔。如編譯一個源文件:   #type ./configure ; make ; make install 。   $locate filename   它是在一個數據庫裡面查找,所以,要記得經常用updatedb命令更新數據庫。一般地,是在crontab裡加一句語句,讓電腦在每天深夜更新數據庫。   另外,快速查找命令文件,可以使用whereis,例如:   #whereis ls   ls: /bin/ls /usr/man/man1/ls.1      問:如何在mail中啟動vi? 答:如果您覺得用mail發送郵件編輯起來很不方便,可以在正文的頂格輸入~v,啟動vi進行編輯,編輯完後退出vi,回到mail環境。   問:如何觀察文件大小變化? 答:使用watch命令,可以反復執行命令,若和ls配合,可以達到觀察某文件大小變化的效果,例如:   $watch ls -l file.name   問:如何把 man 或 info 的信息保存為文本文件? 答:$man tcsh col -b > tcsh.txt   $info tcsh -o tcsh.txt -s    問:如何使用.iso文件? 答:許多Linux發行版本都有.iso的光盤鏡像文件,可以用來刻錄光盤,也可以在Linux系統下直接使用。   問:如何強行退出 X-Windows? 答:有時候在 X-Windows 裡由於程序出錯,鼠標鍵盤都不起作用,這時候不用著急,您只須同時按下Ctrl+Alt+BackSpace鍵就可以回到字符界面了。   問:如何壓縮可執行文件? 答:可以使用gzexe壓縮可執行文件,壓縮後的可執行文件仍然可以直接執行,使用本方法可以達到節省磁盤空間的目的。 #gzexe gawk 問:如何處理文件名內含有特殊字符的文件? 答:如果有一個文件名叫 -file 並想刪除它,鍵入 rm -file,將會顯示 invalid option ,原來由於文件名的第一個字符為- , Linux 把文件名當做選項了,可以加 -- 解決這個問題, 如 rm -- -file 。如果是其他特殊字符的話可以在特殊字符前加一個 ,或者用雙引號把整個文件名括起來。 問:"/dev/tty0"不見了怎麼找回來? 答:在 /dev 目錄內執行 ./MAKEDEV console 就可以了。 問:/dev下的cua*被刪除,該如何恢復? 答:如果沒有建立任何一個設備,必須自己用mknod命令去建立。例如,假定需要建立 ttyS0 設備則應輸入∶  linux# mknod -m 666 /dev/cua0 c 5 64  linux# mknod -m 666 /dev/ttyS0 c 4 64 也可以使用 MAKEDEV這個命令,在 /dev下應該會有。這樣簡化了設備的建立。例如,如果需要建立 ttyS0 設備時則應輸入∶ linux# cd /dev  linux# ./MAKEDEV ttyS0 這將會處理關於接入以及接出設備的建立,並設定正確的權限而恢復已刪除的文件。 問:安裝Shadow Suite後,則無辦法登錄(login)系統,我忽略了什麼步驟嗎? 答:若您已經安裝 Shadow 程序,但是不能登錄,可能您忘記復制 /etc/npasswd 到 /etc/passwd,復制 /etc/nshadow 到 /etc/shadow,您還需要復制 login.defs 到 /etc。 問:我安裝 Shadow Suite,但是當我使用 userdel 命令後,我得到 "userdel: cannot open shadow group file" 信息,我錯在哪裡? 答:您編譯 Shadow Suite 時使用了 SHADOWGRP 選項,但是您沒有/etc/gshadow 文件,您需要編輯 config.h 文件並重新編譯它或建立一個 /etc/group文件。 問:Linux中如何檢測CPU型號? 答:鍵入cat /proc/cpuinfo命令即可獲知系統配備了幾個CPU、CPU的型號、制造商、運行頻率、cache大小、有無fpu等信息。 問:如何讓鼠標的按鍵符合左手使用的方向? 答:其實,在x-windows中,我們可以通過對鼠標的設定來達到鼠標按鍵方向對調的效果。您可以在.xinitrc中加上下面一行命令內容就可調整鼠標按鍵方向: xmodmap -e "pointer = 3 2 1"

問:如何使系統在一段時間不運行程序後能自動退出? 答:當系統管理員root賬戶擁有者在離開計算機時,出於安全考慮,最好讓系統在隔一段時間後能自動退出。為了能做到這一點,您必須為一個叫做 “TMOUT”的Linux變量設置指定時間,時間單位是秒。編輯“/etc/profile”文件,在有“HISTFILESIZE=”字樣的那一行的後面加上下面一行內容: TMOUT=3600 加入這一行表示是1小時(60×60=3600秒)。當您把這行內容放入您的“/etc/profile”文件後,在系統在連續一小時不運行程序時,系統會自動通知系統中的所有用戶系統將退出。您也可以把該變量設置放在用戶各自的“.bashrc”文件中,使得系統能在指定的一段時間不運行程序後能自動退出。 設置後,必須先退出系統,然後再以root帳戶重新登錄,該項設置才會生效。 問:我想讓Apache為大量的連接提供服務。為了減小創建進程所需要的時間,我把Apache子進程數量配置為固定值1000。系統的性能很差,有時甚至拒絕連接。有什麼好辦法嗎? 答:看來您很可能遇到了一個通常稱為“thundering herd”(異乎尋常地聚集)的問題。Apache和Linux的文檔都詳細地說明了這個問題,您可以用幾種方法來解決它。 在Linux中,這種情形通常從進程“wake”(喚醒)發展而來。當一個新到達的連接要求Apache/Linux提供服務時,系統向所有正在休眠的進程發出通知。這時,所有這些進程會試圖獲得對新連接的控制權。但是,它們之中只有一個能夠獲得成功,所有其他進程都將失敗並轉入休眠狀態。這被稱為 “wake all”(全部喚醒)。Linux 2.2和更早的內核都按照這種方式進行處理。 當正在休眠的Apache進程比較少時,將不會成為問題。通常,Apache會利用httpd.conf中的MinSpareServers和 MaxSpareServers配置變量調整休眠進程的數量。然而,如果MaxSpareServer值高得異乎尋常,那麼它可能導致性能問題。我通常把 MaxSpareServer值設置為MaxClients值的百分之五到十之間。 如果您的MaxSpareServers值高得異乎尋常,只要減小這個值就可以立即提高性能。 一些內核不會遇到這個問題,因為它們具有一種利用“wake one”(喚醒一個)的能力,“wake one”允許為每個連接請求喚醒一個進程。BSD具有這個能力,Linux 2.4內核也一樣。 為了利用“wake one”能力,編譯Apache的時候必須指定一個特殊的選項。如果為2.4內核配置Apache,在編譯之前請按照下面的示例執行命令,它將改善具有“wake one”能力的內核性能: # CFLAGS='-DSINGLE_LISTEN_UNSERIALIZED_ACCEPT' ./configure 為給數量巨大的網絡連接提供服務,Apache提供了許多調整參數。Apache有一個固定的最大允許連接數量限制,如果要把它設置成大於256,您必須重新編譯Apache。 另外,為了適應大規模服務的要求,Linux也需要進行一些文件系統方面的調整。您還要檢查一下Linux通過編譯方式固定的進程、系統級、用戶級限制等等。 問:我有一台便攜計算機,想要保證便攜機和台式機上都有最新的數據文件,怎麼辦? 答:有一個優秀的工具rsync能夠完成這個任務。rsync提供了一種保持兩組文件同步的方法。它以Andrew Tridgell(SAMBA項目的創始人)設計的算法為基礎。Andrew Tridgell的算法允許只傳輸對文件的改動。 rsync一般被看成是一個標准的系統工具,因此您的系統上很可能已經安裝了rsync。如果它還沒有安裝,那麼您的Linux安裝盤上應該有它的包文件,或者您也可以上網下載最新的源代碼。在命令行直接輸入rsync將提示用法說明,您可以用這種方法測試rsync是否已經安裝。 要保持文件同步,所有機器(在本例中,這是指您的便攜計算機和台式機)都必須安裝rsync。另外,這兩台機器應該能夠通過網絡互相看到對方。 我強烈建議用ssh作為兩台機器之間的通信機制。但還有其他幾種配置rsync傳輸器的方法,包括rsh和rsync daemon模式,rsync文檔對此有詳細說明。請參見本文有關ssh的說明了解更多信息。 rsync命令的語法和cp命令很相似。從本質上看,您是在把文件從一個位置復制到另一個位置,但rsync多了幾個cp命令沒有的選項。和通常的文件復制相比,文件同步最大的不同之處是您必須指定一台非本地的機器(比如您的台式機)。 您應該仔細考慮哪些文件要在機器之間保持同步。最好把這些文件放到便攜計算機的某個專用目錄,避免同步那些不需要同步的文件。例如,您的主目錄下可能有數百兆浏覽器緩沖數據。通常情況下,您不會想同步這些數據文件。 問:我想保證幾台機器的系統時鐘同步,有什麼簡便方法嗎? 答:ntpdate程序正是為這個目的而設計的,而且它很簡單易用。它使用一種協議查詢一個或多個時間服務器,然後為您的機器設置正確的系統時間。 首先您應該確定使用哪一個時間服務器。雖然您可以設置自己的某一台機器作為時間服務器,然後用這台機器同步其他機器的時鐘,但我不推薦這麼做。這種做法要求您自己完成額外的管理工作,而且您必須保證時間服務器的時鐘精確。 ntpdate命令的語法很簡單,但必須用root身份運行它。您可以在命令行中指定一個或者多個時間服務器。 為了保證時鐘精確,我們可以把ntpdate命令放入crontab。但是,對於那些不是一直開啟的機器(比如便攜機),這個命令放入啟動腳本或手工運行更合適。 必須指出的是,ntpdate設置的是系統時鐘,但它不設置硬件時鐘(電池供電的時鐘)。要讓硬件時鐘反應系統時鐘的值,請使用如下命令:

# hwclock -systohc 如果ntpdate還沒有安裝到系統上,則可以使用Linux安裝盤安裝。有關ntpdate命令的更多說明,請參見這個命令的man文檔。 問:怎樣才能改變目錄中文件的默認顯示方式? 答:ls命令能夠以各種方式顯示文件清單。經常使用的選項包括:-a,表示不隱藏“.”文件;-l,表示詳細清單格式,包括文件屬性和大小;-color,根據文件的屬性用不同的顏色顯示文件/目錄。執行man ls命令可以得到ls命令選項的完整說明。 設置ls默認屬性最簡單的方法之一是建立一個shell別名。這裡以bash為例進行說明。請把下面這行命令加入主目錄的.bashrc文件: alias ls = ls -a -color 另外,您也可以在當前shell中直接輸入這個命令,使得別名立即生效(直到您關閉shell)。 .bashrc文件中的命令在您每次啟動一個交互式shell的時候自動執行,確保了別名的自動設置。 問:我想在Linux操作系統上訪問Windows或DOS的FAT文件,最好的辦法是什麼? 答:如果說Linux有獨特長處,就是共享。有許多方法能夠實現不同文件系統之間的文件共享。有些人建議創建一個獨立的FAT分區實現操作系統之間的共享,然而,一種更好的方法是允許每一個操作系統裝入其他操作系統的文件系統。 Linux一直能夠很方便地讀寫Windows/DOS FAT文件系統。最近出現了許多讀/寫ext2文件系統的Windows工具,但總地看來,對於共享文件系統來說,這些工具遠遠不如Linux中現有的工具那樣值得信賴。 要在Linux下裝入FAT文件系統,Linux內核必須提供適當的支持。大多數默認安裝的內核已經包含這方面的支持,但是,如果您選擇了自己編譯 Linux內核,請確保選中了FAT和VFAT文件系統支持。如果您不想把它編譯到內核裡,FAT和VFAT支持也可以作為動態裝入模塊運行。 無論是哪種情況,您必須先在Linux下創建一個裝入點(Mount Point)才能共享文件系統。它可以是您所選擇的文件系統內的任何目錄,但最好使用一個具有明確含義的名字(如本例的/mnt/msdos)。 # mkdir /mnt/msdos 接下來,您應該在/etc/fstab中為FAT文件系統加入一行。如果您的內核支持VFAT,您將能夠查看和編輯新版Windows所使用的長文件名。 試著把下面這行內容加入/etc/fstab(注意在這個例子中,我們使用了硬盤的第三個分區/hda2,您應該根據自己系統的具體情況替換這個分區): /dev/hda2/mnt/msdosvfat defaults 0 1 如果不想讓這個文件系統在啟動的時候自動裝入,您可以在defaults選項之後加入一個“,noauto”。現在,您應該能夠以root身份裝入Windows分區了。 # mount /mnt/msdos 如果您看到錯誤信息提示文件系統存在問題,那麼,很可能您指定了一個錯誤的文件系統。這時,您應該檢查分區並重新試驗。 如果您看到錯誤信息提示內核對vfat文件系統的支持存在問題,請試著把/etc/fstab入口從vfat改成msdos。如果有效,那麼您的內核不支持Windows長文件名。如果無效,那麼您的內核沒有為DOS或Windows提供合適的文件系統支持。 假設一切都能夠按照設想地那樣完成它們的任務,那麼,現在您應該能夠從Linux下的/mnt/msdos裝入點(或者您所創建的其他裝入點)訪問 Windows數據。如果您按照上面介紹的方式進行設置,只有root才能寫入這些文件。記住,FAT系統不提供對用戶權限的支持。 問:我有一個Perl腳本,但是它不能正確執行,或執行時出現bash提示:./script.pl: No such file or Directory。而實際上這個文件是存在的,並可執行,這是為什麼呢? 答:可執行腳本通過腳本的第一行命令告訴shell應該用哪一個程序來執行當前腳本。這個命令總是在第一行,而且它類似於: #!/usr/bin/perl 如果第一行命令指定的程序確實存在,則系統利用該程序解釋執行腳本的剩余部分。如果這個程序不存在,您就會看到“No such file or directory”信息。這種腳本執行方式可用於大多數shell腳本,Perl也不例外。 用“#!/bin/sh”或“#!/bin/bash”作為腳本第一行的情況並不少見。一般地,修正該問題的方法也很簡單。Perl可能不在用戶的系統目錄下。執行which perl,您就可以找到Perl所在的位置。然後,修改腳本的第一行使之符合Perl所在的實際位置,這樣您就可以修正這個問題了。 問:我安裝了一個程序。但是執行它的時候,系統顯示“error in loading shared libraries...no such file or directory”。經檢查程序已安裝在機器裡,為何產生此錯誤? 答:有的程序要用一些稱為“動態庫”的文件保存部分代碼,此部分代碼可以供其他程序使用。當程序執行時,操作系統會在某些預定義的地方尋找這些代碼庫。如果不能找到,操作系統則會顯示上述錯誤。 如果顯示此信息,那麼下面兩個原因必居其一:或者不存在顯示程序所要求的動態庫;或者雖然存在但Linux由於某種原因不能找到它。如果不存在那麼您應該安裝它。 解決問題的一種方法是確保文件安裝到了標准的庫目錄下,包括/lib和/usr/lib。然而,簡單地把文件移入這些目錄的方法將干擾包管理軟件的工作,因此必須避免。把文件安裝到標准目錄應該通過包管理軟件或在配置/安裝時進行。 如果您要讓庫文件留在原來的位置,那麼,您首先必須找到這些文件,然後把目錄加入到搜索路徑之中。 例如,假設要尋找錯誤信息中出現的文件。首先以超級用戶身份執行命令“# find / -name filename.so”。找到目錄之後,編輯/etc/ld.so.conf文件,且把該目錄加入到文件末尾。再運行ldconfig命令,它將在連接器運行時重新構造連接和緩沖。這就是全部的工作!現在您的程序應該能夠找到它運行所需要的庫文件了。

問:我的硬盤空間不足,現在想找到系統中最大的目錄/文件,並刪除它。請問有沒有完成這個任務的工具? 答:有兩個簡單的命令能夠幫助您輕松地完成這個任務。這兩個命令就是du和sort。 du命令用來計算文件或目錄的大小。這個命令有許多選項,下面的說明幫助您掌握這兩個命令的基本用法。您最好以超級用戶身份執行這兩個命令,否則可能看到大量“Permission denied”信息,因為很可能您沒有訪問這些目錄的權限。 找出所有根級目錄及其子目錄的大小: # cd / # du -max-depth=1 修改max-depth參數,對下一層的目錄進行統計: # du -max-depth=2 如果不指定max-depth參數,du將統計出目錄樹中所有目錄和文件的大小。結合sort命令運用的命令,將可以顯示命令輸出的結果。 查看硬盤上所有目錄和文件的大小,按照大小排序(這可能需要不少時間): # du sort -nr less 注意隨意地刪除文件可能非常危險,特別是那些操作系統必須含有的文件。如果要尋找那些擁有大型主目錄的用戶,這種技術也許是最合適的。如果您找到了看來不再需要的程序文件,最好的刪除方法應該是:找出安裝這個文件的包,然後用rpm(基於rpm的系統)或者dpkg(基於deb的系統)把整個包都刪除干淨。 問:為了進行備份,我希望復制並保存所有收到的e-mail。我應該怎麼做? 答:這可以通過procmail程序輕松地完成。這裡不再介紹procmail的安裝和配置,因為現在的大多數包管理系統(RPM,DEB)能夠很好地做到這一點。如果您已經有了一個Linux系統的帳號(或者系統屬於您自己所有),則可能procmail已經安裝和設置完畢。如果沒有,您可以聯系系統管理員,或者自己用包管理器安裝。 要快速確定系統中是否已經安裝了procmail,請執行如下命令: # which procmail 如果procmail已經成功安裝,which將顯示出procmail的位置(可能是/usr/bin/procmail)。在您的主目錄下創建一個.procmailrc文件,且權限0700: # touch ~/.procmailrc # chmod 0700 ~/.procmailrc procmail“recipes”的選項有很多。procmailrc的man文件描述了其中一部分。然而,作為一個簡單的起步,請在.procmailrc文件內試一下下面的內容,注意根據具體情況進行適當的替換: LOGFILE=$HOME/.procmail-log :0 c: /home/dtype/Mail/backup :0 c: * ^[email protected] /home/dtype/Mail/sent-mail :0 * ^Sender: owner-linux-kernel /home/dtype/Mail/linux-kernel LOGFILE指定了一個文件,這個文件將記錄procmail所有的活動。如果出現任何問題,它是您首先應該檢查的文件。 這個.procmailrc文件有三項不同的內容。第一項指定了保存所有備份郵件的文件(在本例中,它是 /home/dtype/Mail/backup)。“c:”告訴procmail保存郵件並繼續進行正常的郵件處理,包括配置文件的剩余部分。如果不指定“c:”,所有郵件被保存到備份文件,但是不再保存到其他文件。 為了進行跟蹤,想要保存外發的email,.procmailrc文件中包含了一項為發送e-mail設置的內容。 最後一項內容是一個利用procmail保存特定郵件列表所傳入email的例子,本例中的郵件列表是linux-kernel郵件列表。 procmail將在郵件的Sender:頭中檢查“owner-linux-kernel”文字。注意這裡不再包含“c:”這是因為我們希望郵件發送到指定的郵箱,不再同時發送到Inbox中。



要快速確定系統中是否已經安裝了procmail,請執行如下命令: # which procmail 如果procmail已經成功安裝,which將顯示出procmail的位置(可能是/usr/bin/procmail)。在您的主目錄下創建一個.procmailrc文件,且權限0700: # touch ~/.procmailrc # chmod 0700 ~/.procmailrc procmail“recipes”的選項有很多。procmailrc的man文件描述了其中一部分。然而,作為一個簡單的起步,請在.procmailrc文件內試一下下面的內容,注意根據具體情況進行適當的替換: LOGFILE=$HOME/.procmail-log :0 c: /home/dtype/Mail/backup :0 c: * ^[email protected] /home/dtype/Mail/sent-mail :0 * ^Sender: owner-linux-kernel /home/dtype/Mail/linux-kernel LOGFILE指定了一個文件,這個文件將記錄procmail所有的活動。如果出現任何問題,它是您首先應該檢查的文件。 這個.procmailrc文件有三項不同的內容。第一項指定了保存所有備份郵件的文件(在本例中,它是 /home/dtype/Mail/backup)。“c:”告訴procmail保存郵件並繼續進行正常的郵件處理,包括配置文件的剩余部分。如果不指定“c:”,所有郵件被保存到備份文件,但是不再保存到其他文件。 為了進行跟蹤,想要保存外發的email,.procmailrc文件中包含了一項為發送e-mail設置的內容。 最後一項內容是一個利用procmail保存特定郵件列表所傳入email的例子,本例中的郵件列表是linux-kernel郵件列表。 procmail將在郵件的Sender:頭中檢查“owner-linux-kernel”文字。注意這裡不再包含“c:”這是因為我們希望郵件發送到指定的郵箱,不再同時發送到Inbox中。



找出所有根級目錄及其子目錄的大小: # cd / # du -max-depth=1 修改max-depth參數,對下一層的目錄進行統計: # du -max-depth=2 如果不指定max-depth參數,du將統計出目錄樹中所有目錄和文件的大小。結合sort命令運用的命令,將可以顯示命令輸出的結果。 查看硬盤上所有目錄和文件的大小,按照大小排序(這可能需要不少時間): # du sort -nr less 注意隨意地刪除文件可能非常危險,特別是那些操作系統必須含有的文件。如果要尋找那些擁有大型主目錄的用戶,這種技術也許是最合適的。如果您找到了看來不再需要的程序文件,最好的刪除方法應該是:找出安裝這個文件的包,然後用rpm(基於rpm的系統)或者dpkg(基於deb的系統)把整個包都刪除干淨。 問:為了進行備份,我希望復制並保存所有收到的e-mail。我應該怎麼做? 答:這可以通過procmail程序輕松地完成。這裡不再介紹procmail的安裝和配置,因為現在的大多數包管理系統(RPM,DEB)能夠很好地做到這一點。如果您已經有了一個Linux系統的帳號(或者系統屬於您自己所有),則可能procmail已經安裝和設置完畢。如果沒有,您可以聯系系統管理員,或者自己用包管理器安裝。 要快速確定系統中是否已經安裝了procmail,請執行如下命令: # which procmail 如果procmail已經成功安裝,which將顯示出procmail的位置(可能是/usr/bin/procmail)。在您的主目錄下創建一個.procmailrc文件,且權限0700: # touch ~/.procmailrc # chmod 0700 ~/.procmailrc procmail“recipes”的選項有很多。procmailrc的man文件描述了其中一部分。然而,作為一個簡單的起步,請在.procmailrc文件內試一下下面的內容,注意根據具體情況進行適當的替換: LOGFILE=$HOME/.procmail-log :0 c: /home/dtype/Mail/backup :0 c: * ^[email protected] /home/dtype/Mail/sent-mail :0 * ^Sender: owner-linux-kernel /home/dtype/Mail/linux-kernel LOGFILE指定了一個文件,這個文件將記錄procmail所有的活動。如果出現任何問題,它是您首先應該檢查的文件。 這個.procmailrc文件有三項不同的內容。第一項指定了保存所有備份郵件的文件(在本例中,它是 /home/dtype/Mail/backup)。“c:”告訴procmail保存郵件並繼續進行正常的郵件處理,包括配置文件的剩余部分。如果不指定“c:”,所有郵件被保存到備份文件,但是不再保存到其他文件。 為了進行跟蹤,想要保存外發的email,.procmailrc文件中包含了一項為發送e-mail設置的內容。 最後一項內容是一個利用procmail保存特定郵件列表所傳入email的例子,本例中的郵件列表是linux-kernel郵件列表。 procmail將在郵件的Sender:頭中檢查“owner-linux-kernel”文字。注意這裡不再包含“c:”這是因為我們希望郵件發送到指定的郵箱,不再同時發送到Inbox中。



Copyright © Linux教程網 All Rights Reserved