linux系統(tǒng)管理中標(biāo)_第1頁
linux系統(tǒng)管理中標(biāo)_第2頁
linux系統(tǒng)管理中標(biāo)_第3頁
linux系統(tǒng)管理中標(biāo)_第4頁
linux系統(tǒng)管理中標(biāo)_第5頁
已閱讀5頁,還剩60頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、上海中標(biāo)軟件有限公司 linuxlinux系統(tǒng)管理本章學(xué)習(xí)目標(biāo)系統(tǒng)管理本章學(xué)習(xí)目標(biāo)軟件包管理軟件包管理進(jìn)程管理進(jìn)程管理系統(tǒng)性能優(yōu)化系統(tǒng)性能優(yōu)化用戶和用戶組管理用戶和用戶組管理 linux下的軟件包管理linux的一大特色就是采用red hat package manager(rpm)技術(shù)來安裝和刪除程序。由此大部分軟件的升級、安裝都要涉及到rpm包的問題 安裝安裝 rpm 包的格式是這樣的:foo-1.0-1.i386.rpm其中foo是包的名稱,1.0是包的發(fā)行版本,1是發(fā)行的次數(shù),而i386代表在哪個系統(tǒng)上使用(此處為x86系統(tǒng))。安裝rpm包的命令格式是: rpm -i 安裝選項 比如我

2、們想安裝foo-1.0-1.i386.rpm可以敲入以下命令:rpm -i foo-1.0-1.i386.rpm 升級升級其實就是先反安裝文件再安裝新的rpm包,具體格式如下:rpm -u 升級選項 其實在以上兩個操作中我們可以添加一些選項來使安裝/升級更直觀一些:“h”可以用“#”來表示安裝的進(jìn)度;“v”可以顯示較多的提示。因此我們更常用的方法是:rpm -ivh 安裝軟件rpm -uvh 升級軟件 查詢命令格式如下:rpm -q 查詢選項:其中當(dāng)查詢選項為一個文件包的名字時,會把文件包的名稱及版本的詳細(xì)資料顯示出來。-i 顯示軟件包的概要信息-l 顯示軟件包中的文件列表-c 顯示配置文件列

3、表-d 顯示文檔文件列表-s 顯示軟件包中文件列表并顯示每個文件的狀態(tài)-scripts 顯示安裝、卸載、校驗?zāi)_本-queryformat (or -qf) 以用戶指定的方式顯示查詢信息-dump 顯示每個文件的所有已校驗信息-provides 顯示軟件包提供的功能-requires (or -r) 顯示軟件包所需的功能下面具體列幾個常用的組合:rpm -qa 查詢所有安裝的包rpm -qf foo 將包含有foo文件的包的名字顯示出來rpm -ql pcd.rpm把pcd.rpm包里所有詳細(xì)情況列出rpm -qa |grep pcd 察看pcd文件是否安裝 校驗命令格式為rpm -v 校驗選項

4、在校驗正常時你不會看到任何結(jié)果,如果發(fā)現(xiàn)有任何異常的地方,將會以它特定的方法顯示出來。參數(shù)pkg1 . pkgn 將要校驗的軟件包名軟件包選項-f 校驗所屬的軟件包-a verify 校驗所有的軟件包-g 校驗所有屬于組 的軟件包詳細(xì)選項-noscripts 不運行校驗?zāi)_本-nodeps 不校驗依賴性-nofiles 不校驗文件屬性 刪除軟件包命令格式:rpm -e 注意:這里不能輸入全部的軟件包名稱,否則將無法卸載!其他補(bǔ)充命令-test -percent -excludedocs -includedocs -replacepkgs -replacefiles -force -noscrip

5、ts -prefix -ignorearch -ignoreos -nodeps 其他其他打包文件非rpm包的程序大多使用tar來打包,gzip來壓縮。tar全名為tap archiver,作用是把一大堆文件打包成一個文件(即tar文件)。但tar文件是沒有經(jīng)過壓縮的,要用gzip來壓縮。所以我們現(xiàn)在通常看見的 tar打包程序大都是以.tar.gz或.tgz結(jié)尾的壓縮文件。在linux的命令行上鍵入以下命令:tar xvfz filename.tar.gz(或filename.tgz)有時候我們從網(wǎng)上下載了.tar.gz或.tgz文件,往往需要先看看里面的內(nèi)容再決定是否安裝。在linux下,查

6、看.tar.gz和.tgz文件內(nèi)容的命令是:tar tfz filename.tar.gz在win95/98的環(huán)境里,winzip 7.0也可以解壓和查看.tar.gz文件的內(nèi)容。 安裝源代碼包- 方法一1.執(zhí)行rpm -i your-package.src.rpm2. cd /usr/src/redhat/specs3. rpmbuild -bp your-package.specs 一個和你的軟件包同名的specs文件4. cd /usr/src/redhat/build/your-package/ 一個和你的軟件包同名的目錄5. ./configure 這一步和編譯普通的源碼軟件一樣,可

7、以加上參數(shù)6. make7. make install 安裝源代碼包- 方法二1.執(zhí)行rpm -i you-package.src.rpm2. cd /usr/src/redhat/specs前兩步和方法一相同3. rpmbuild -bb your-package.specs 一個和你的軟件包同名的specs文件這時,在/usr/src/redhat/rpm/i386/ (根據(jù)具體包的不同,也可能是i686,noarch等等)在這個目錄下,有一個新的rpm包,這個是編譯好的二進(jìn)制文件。執(zhí)行rpm -i new-package.rpm即可安裝完成。 如何卸載rpm軟件包-補(bǔ)充使用命令 rpm

8、-e 包名,包名可以包含版本號等信息,但是不可以有后綴.rpm比如卸載軟件包proftpd-1.2.8-1,可以使用下列格式:rpm -e proftpd-1.2.8-1rpm -e proftpd-1.2.8rpm -e proftpd-rpm -e proftpd不可以是下列格式:rpm -e proftpd-1.2.8-1.i386.rpmrpm -e proftpd-1.2.8-1.i386rpm -e proftpd-1.2rpm -e proftpd-1有時會出現(xiàn)一些錯誤或者警告:. is needed by . 這說明這個軟件被其他軟件需要,不能隨便卸載可以用rp-e -node

9、ps強(qiáng)制卸載 應(yīng)用實例假如你不小心刪除了一些文件而又不能肯定是哪些,你可以檢查整個系統(tǒng)來找出它們:rpm -va如果你想知道某個文件是來自哪個rpm包的:rpm -qf 文件名如果你正在使用某個文件又想知道更多的關(guān)于它的資料,可以輸入:rpm -qdf 文件名 來找出這個文件的路徑。如果你有一個新的rpm包又想知道更多的關(guān)于這個包的資料:rpm -qip 文件包名稱應(yīng)用實例一個rpm包中包含那些文件一個沒有安裝過的軟件包,使用rpm -qlp *.rpm一個已經(jīng)安裝過的軟件包,還可以使用rpm -ql *.rpm 獲取關(guān)于一個軟件包的版本,用途等相關(guān)信息?一個沒有安裝過的軟件包,使用rpm -

10、qip *.rpm一個已經(jīng)安裝過的軟件包,還可以使用rpm -qi *.rpm 應(yīng)用實例某個文件是哪個軟件包安裝的,或者哪個軟件包包含這個文件注意首先獲得這個程序的完整路徑,可以用whereis或者which然后使用rpm -qf例如:# whereis ftptopftptop: /usr/bin/ftptop /usr/share/man/man1/ftptop.1.gz# rpm -qf /usr/bin/ftptopproftpd-1.2.8-1# rpm -qf /usr/share/doc/proftpd-1.2.8/rfc/rfc0959.txtproftpd-1.2.8-1其他

11、知識軟件包文件名中的i386,i686是什么意思rpm軟件包的文件名中,不僅包含了軟件名稱,版本信息,還包括了適用的硬件架構(gòu)的信息。i386指這個軟件包適用于intel 80386以上的x86架構(gòu)的計算機(jī)(ai32)i686指這個軟件包適用于intel 80686以上(奔騰pro以上)的x86架構(gòu)的計算機(jī)(ia32)noarch指這個軟件包于硬件架構(gòu)無關(guān),可以通用。i686軟件包的程序通常針對cpu進(jìn)行了優(yōu)化,所以,向后兼容比較用以,i386的包在x86機(jī)器上都可以用。向前一般不兼容。不過現(xiàn)在的計算機(jī),奔騰pro以下的cpu已經(jīng)很少用,通常配置的機(jī)器都可以使用i686軟件包常見問題不同操作系統(tǒng)

12、發(fā)行的rpm包可否混用? 用rpm -e *.rpm無法刪除rpm包 在ms的系統(tǒng)下有沒有讀rpm文件的工具 linux圖形下有沒有工具? 是否可以通過ftp安裝安裝升級rpm包rpm -ivh ftp:/xxxxxxxx/path2somerpm rpm安裝時已有的包版本過高怎么辦 linux的啟動和運行級別重要文件及目錄重要文件及目錄/etc/inittab/etc/inittab/etc/rc.d/etc/rc.d/etc/grub.conf/etc/grub.conf啟動的服務(wù)啟動的服務(wù)ntsysvntsysv系統(tǒng)日志dmesgdmesg/var/log/(lastlog/wtmp/u

13、tmp)/var/log/(lastlog/wtmp/utmp)/var/log/secure/var/log/secureetc/syslog.confetc/syslog.confsystem-logviwersystem-logviwer3.3 進(jìn)程管理進(jìn)程管理3.3.1 進(jìn)程的定義進(jìn)程的定義linuxlinux是一個多用戶多任務(wù)的操作系統(tǒng)。多用戶是指多是一個多用戶多任務(wù)的操作系統(tǒng)。多用戶是指多個用戶可以在同一時間使用計算機(jī)系統(tǒng);多任務(wù)是指個用戶可以在同一時間使用計算機(jī)系統(tǒng);多任務(wù)是指linuxlinux可以同時執(zhí)行幾個任務(wù),它可以在還未執(zhí)行完一個任務(wù)時可以同時執(zhí)行幾個任務(wù),它可以在還未

14、執(zhí)行完一個任務(wù)時又執(zhí)行另一項任務(wù)。又執(zhí)行另一項任務(wù)。 那到底什么叫進(jìn)程?那到底什么叫進(jìn)程?linuxlinux系統(tǒng)上所有運行的程序都可系統(tǒng)上所有運行的程序都可以稱之為一個進(jìn)程。以稱之為一個進(jìn)程。linuxlinux用分時管理方法使所有的任務(wù)共用分時管理方法使所有的任務(wù)共同分享系統(tǒng)資源。進(jìn)程的一個比較正式的定義是同分享系統(tǒng)資源。進(jìn)程的一個比較正式的定義是 在自身在自身的虛擬地址空間運行的一個單獨的程序。進(jìn)程與程序是有的虛擬地址空間運行的一個單獨的程序。進(jìn)程與程序是有區(qū)別的,進(jìn)程不是程序,雖然它由程序產(chǎn)生。程序只是一區(qū)別的,進(jìn)程不是程序,雖然它由程序產(chǎn)生。程序只是一個靜態(tài)的指令集合,不占系統(tǒng)的運行

15、資源;而進(jìn)程是一個個靜態(tài)的指令集合,不占系統(tǒng)的運行資源;而進(jìn)程是一個隨時都可能發(fā)生變化的、動態(tài)的、使用系統(tǒng)運行資源的程隨時都可能發(fā)生變化的、動態(tài)的、使用系統(tǒng)運行資源的程序。而且一個程序可以啟動多個進(jìn)程。序。而且一個程序可以啟動多個進(jìn)程。 3.3.2 3.3.2 報告進(jìn)程狀態(tài)報告進(jìn)程狀態(tài)要對進(jìn)程進(jìn)行監(jiān)測和控制,首先必須要了解當(dāng)前進(jìn)程的要對進(jìn)程進(jìn)行監(jiān)測和控制,首先必須要了解當(dāng)前進(jìn)程的情況,也就是需要查看當(dāng)前進(jìn)程,而情況,也就是需要查看當(dāng)前進(jìn)程,而ps命令就是最基本同時命令就是最基本同時也是非常強(qiáng)大的進(jìn)程查看命令。使用該命令可以確定有哪些也是非常強(qiáng)大的進(jìn)程查看命令。使用該命令可以確定有哪些進(jìn)程正在運

16、行、運行的狀態(tài)、進(jìn)程是否結(jié)束、哪些進(jìn)程占用進(jìn)程正在運行、運行的狀態(tài)、進(jìn)程是否結(jié)束、哪些進(jìn)程占用了過多的資源等等。了過多的資源等等。psps命令最常用的還是用于監(jiān)控后臺進(jìn)程的工作情況,因為后命令最常用的還是用于監(jiān)控后臺進(jìn)程的工作情況,因為后臺進(jìn)程是不和屏幕鍵盤這些標(biāo)準(zhǔn)輸入臺進(jìn)程是不和屏幕鍵盤這些標(biāo)準(zhǔn)輸入/ /輸出設(shè)備進(jìn)行通信輸出設(shè)備進(jìn)行通信的,所以如果需要檢測其情況,便可以使用的,所以如果需要檢測其情況,便可以使用psps命令。其命令命令。其命令語法格式如下:語法格式如下: ps ps 選項選項 命令中的選項說明如下:命令中的選項說明如下: -e:顯示所有進(jìn)程。-f:全格式。-h:不顯示標(biāo)題。-

17、l:給出長列表。-a:顯示終端上的所有進(jìn)程,包括其他用戶的進(jìn)程。-r:只顯示正在運行的進(jìn)程。-x顯示沒有控制終端的進(jìn)程。-txx:只顯示受tty.xx控制的進(jìn)程。-u:打印用戶格式,顯示用戶名和起始時間。-j:按作業(yè)格式輸出。-v:按虛擬存儲器格式顯示輸出。-m:顯示存儲器信息。-s:增加子cpu時間和頁面出錯。-w:用寬格式顯示,不截取命令行,使它成為一行。-r:只顯示正在運行的進(jìn)程。表 ps命令輸出字段的含義字段含義user進(jìn)程所有者的用戶名pid進(jìn)程號%cpu進(jìn)程自最近一次刷新以來所占用的cpu時間和總時間的百分比%mem進(jìn)程使用內(nèi)存的百分比vsz進(jìn)程使用的虛擬內(nèi)存大小,以k為單位rss

18、駐留空間的大小。顯示當(dāng)前常駐內(nèi)存的程序的k字節(jié)數(shù)。tty進(jìn)程相關(guān)的終端stat進(jìn)程狀態(tài),用下面的代碼中的一個給出:r:可執(zhí)行的。s:睡眠狀態(tài)。d:不間斷睡眠。t:停止或跟蹤。z:僵尸。w:進(jìn)程沒有駐留頁。i:空閑。time進(jìn)程使用的總cpu時間command 被執(zhí)行的命令行ni進(jìn)程的優(yōu)先級值,較小的數(shù)字意味著占用較少的cpu時間pri進(jìn)程優(yōu)先級。ppid父進(jìn)程idwchan進(jìn)程等待的內(nèi)核事件名top使用方式:top - d delay q c s s i n b top -n 1 -b | grep mem top1.outd : 改變顯示的更新速度,或是在交談式指令列( interactiv

19、e command)按 sc : 切換顯示模式,共有兩種模式,一是只顯示執(zhí)行檔的名稱,另一種是顯示完整的路徑與名稱s : 累積模式,會將己完成或消失的子行程 ( dead child process ) 的 cpu time 累積起來s : 安全模式,將交談式指令取消, 避免潛在的危機(jī)i : 不顯示任何閑置 (idle) 或無用 (zombie) 的行程n : 更新的次數(shù),完成后將會退出 topb : 批次檔模式,搭配 n 參數(shù)一起使用,可以用來將 top 的結(jié)果輸出到檔案內(nèi) 顯示說明顯示說明17:31:42 up 18 days, 23:38, 1 user, load average: 0

20、.00, 0.00, 0.0017:31:42 up 18 days, 23:38, 1 user, load average: 0.00, 0.00, 0.00當(dāng)前時間當(dāng)前時間 系統(tǒng)運行時間系統(tǒng)運行時間 當(dāng)前用戶數(shù)當(dāng)前用戶數(shù) 平均負(fù)責(zé)(平均負(fù)責(zé)(1 1、5 5、1010分鐘)分鐘)94 processes: 93 sleeping, 1 running, 0 zombie, 0 stopped94 processes: 93 sleeping, 1 running, 0 zombie, 0 stopped進(jìn)程總數(shù)進(jìn)程總數(shù) 休眠進(jìn)程數(shù)休眠進(jìn)程數(shù) 運行進(jìn)程數(shù)運行進(jìn)程數(shù) 僵死進(jìn)程數(shù)僵死進(jìn)程數(shù) 終止

21、進(jìn)程數(shù)終止進(jìn)程數(shù)cpu states: cpu user nice system irq softirq iowait idlecpu states: cpu user nice system irq softirq iowait idletotal 0.0% 0.0% 0.1% 0.0% 0.0% 0.0% 99.8%total 0.0% 0.0% 0.1% 0.0% 0.0% 0.0% 99.8%cpu00 0.0% 0.0% 0.3% 0.0% 0.0% 0.0% 99.6%cpu00 0.0% 0.0% 0.3% 0.0% 0.0% 0.0% 99.6%cpu01 0.0% 0.0%

22、0.0% 0.0% 0.0% 0.0% 100.0%cpu01 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 100.0%cpucpu狀態(tài)狀態(tài) 用戶占用用戶占用 優(yōu)先優(yōu)先. . 系統(tǒng)系統(tǒng). . 中斷中斷 軟中斷軟中斷 ? 空閑空閑mem: 3094664k av, 2627700k used, 466964k free, 0k shrd, 120776k buffmem: 3094664k av, 2627700k used, 466964k free, 0k shrd, 120776k buff1434068k actv, 155972k in_d, 41624k in_c14

23、34068k actv, 155972k in_d, 41624k in_cswap: 2048248k av, 130068k used, 1918180k free 1319416k cachedswap: 2048248k av, 130068k used, 1918180k free 1319416k cached內(nèi)存使用情況:可用內(nèi)存,已使用內(nèi)存,空閑內(nèi)存內(nèi)存使用情況:可用內(nèi)存,已使用內(nèi)存,空閑內(nèi)存.swapswap情況:情況:= =pid user pri ni size rss share stat %cpu %mem time cpu commandpid user pri n

24、i size rss share stat %cpu %mem time cpu command9590 root 25 0 172m 172m 11740 s 4.3 5.7 0:17 0 java9590 root 25 0 172m 172m 11740 s 4.3 5.7 0:17 0 javapid 每個進(jìn)程的iduser 進(jìn)程所有者的用戶名pri 每個進(jìn)程的優(yōu)先級別ni 每個優(yōu)先級的值size 進(jìn)程的代碼大小加上數(shù)據(jù)大小再加上堆??臻g大小的總數(shù),單位是kbrss 進(jìn)程占用的物理內(nèi)存的總數(shù)量,單位是kbshare 進(jìn)程使用共享內(nèi)存的數(shù)量stat 進(jìn)程的狀態(tài)。其中s代表休眠狀態(tài);d代表

25、不可中斷的休眠狀態(tài);r代表運行狀態(tài);z代表僵死狀態(tài);t代表停止或跟蹤狀態(tài)%cpu 進(jìn)程自最近一次刷新以來所占用的cpu時間和總時間的百分比%mem 進(jìn)程占用的物理內(nèi)存占總內(nèi)存的百分比time 進(jìn)程自啟動以來所占用的總cpu時間cpu cpu標(biāo)識command 進(jìn)程的命令名稱vmstatvmstat 1 1 是更新速度,1位1秒procs -memory-swap-io-system-cpu-r b swpd free buff cache si so bi bo in cs us sy id wa1 0 549368 13316 102388 91992 12 6 9 8 2 12 72 3

26、25 02 0 549368 13316 102388 91992 0 0 0 0 156 1516 98 2 0 02 0 549368 13312 102388 91992 0 0 0 0 125 534 99 1 0 0 procs:r: the number of processes waiting for run time.b: the number of processes in uninterruptible sleep.memory:swpd: the amount of virtual memory used.free: the amount of idle memory.b

27、uff: the amount of memory used as buffers.cache: the amount of memory used as cache.swap:si: amount of memory swapped in from disk (/s).so: amount of memory swapped to disk (/s).io:bi: blocks received from a block device (blocks/s).bo: blocks sent to a block device (blocks/s).system:in: the number o

28、f interrupts per second, including the clock.cs: the number of context switches per second.cpu:these are percentages of total cpu time.us: time spent running non-kernel code. (user time, including nice time)sy: time spent running kernel code. (system time)id: time spent idle. prior to linux 2.5.41,

29、this includes io-wait time.wa: time spent waiting for io. prior to linux 2.5.41, shown as zero.iostatrootlinux # iostat -c|-d -k -t 間隔秒數(shù) 探測次數(shù)參數(shù):-c :僅顯示 cpu 的狀態(tài);-d :僅顯示存儲設(shè)備的狀態(tài),不可與 -c 一起用;-k :預(yù)設(shè)顯示的是 block ,這里可以改成 k bytes 的大小來顯示;-t :顯示日期出來;# iostat -xlinux 2.4.21-9.30ax (localhost) 2006年07月14日avg-cpu:

30、%user %nice %sys %idle3.85 0.00 0.95 95.20device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkb/s wkb/s avgrq-sz avgqu-sz await svctm %util/dev/hda 1.70 1.70 0.82 0.82 19.88 20.22 9.94 10.11 24.50 11.83 57.81 610.76 99.96/dev/hda1 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.00 12.92 0.00 10.77 10.77 0.00/dev/hda

31、5 0.02 0.00 0.00 0.00 0.03 0.00 0.02 0.00 6.60 0.00 6.44 6.04 0.00/dev/hda6 0.01 0.38 0.05 0.03 0.43 3.25 0.21 1.62 46.90 0.15 193.96 52.25 0.41/dev/hda7 1.66 1.33 0.76 0.79 19.41 16.97 9.70 8.49 23.44 0.79 51.13 19.79 3.07r/s: 每秒完成的讀 i/o 設(shè)備次數(shù)。即 delta(rio)/sw/s: 每秒完成的寫 i/o 設(shè)備次數(shù)。即 delta(wio)/srsec/s:

32、 每秒讀扇區(qū)數(shù)。即 delta(rsect)/swsec/s: 每秒寫扇區(qū)數(shù)。即 delta(wsect)/srkb/s: 每秒讀k字節(jié)數(shù)。是 rsect/s 的一半,因為每扇區(qū)大小為512字節(jié)。wkb/s: 每秒寫k字節(jié)數(shù)。是 wsect/s 的一半。avgrq-sz: 平均每次設(shè)備i/o操作的數(shù)據(jù)大小 (扇區(qū))。即 delta(rsect+wsect)/delta(rio+wio)avgqu-sz: 平均i/o隊列長度。即 delta(aveq)/s/1000 (因為aveq的單位為毫秒)。await: 平均每次設(shè)備i/o操作的等待時間 (毫秒)。即 delta(ruse+wuse)/de

33、lta(rio+wio)svctm: 平均每次設(shè)備i/o操作的服務(wù)時間 (毫秒)。即 delta(use)/delta(rio+wio)%util: 一秒中有百分之多少的時間用于 i/o 操作,或者說一秒中有多少時間 i/o 隊列是非空的小經(jīng)驗如果 %util 接近 100%,說明產(chǎn)生的i/o請求太多,i/o系統(tǒng)已經(jīng)滿負(fù)荷,該磁盤可能存在瓶頸。svctm 一般要小于 await (因為同時等待的請求的等待時間被重復(fù)計算了),svctm 的大小一般和磁盤性能有關(guān),cpu/內(nèi)存的負(fù)荷也會對其有影響,請求過多也會間接導(dǎo)致 svctm 的增加。await 的大小一般取決于服務(wù)時間(svctm) 以及i

34、/o 隊列的長度和 i/o 請求的發(fā)出模式。如果 svctm 比較接近 await,說明i/o 幾乎沒有等待時間;如果 await 遠(yuǎn)大于 svctm,說明 i/o 隊列太長,應(yīng)用得到的響應(yīng)時間變慢,如果響應(yīng)時間超過了用戶可以容許的范圍,這時可以考慮更換更快的磁盤,調(diào)整內(nèi)核算法,優(yōu)化應(yīng)用,或者升級 cpu。隊列長度(avgqu-sz)也可作為衡量系統(tǒng) i/o 負(fù)荷的指標(biāo),但由于 avgqu-sz 是按照單位時間的平均值,所以不能反映瞬間的 i/o 高鋒系統(tǒng)性能優(yōu)化經(jīng)常出現(xiàn)經(jīng)常出現(xiàn)cpucpu等待等待i/o?i/o?磁盤的工作集中在某個或某幾個上?磁盤的工作集中在某個或某幾個上?cpucpu一直

35、是滿負(fù)載?一直是滿負(fù)載?raid raid 技術(shù)提高技術(shù)提高i/oi/o性能性能更先進(jìn)的接口技術(shù)更先進(jìn)的接口技術(shù) 更高性能磁盤更高性能磁盤應(yīng)用調(diào)整應(yīng)用調(diào)整進(jìn)程管理進(jìn)程管理3.3.3 3.3.3 結(jié)束進(jìn)程結(jié)束進(jìn)程當(dāng)需要中斷一個前臺進(jìn)程的時候,通常是使用當(dāng)需要中斷一個前臺進(jìn)程的時候,通常是使用組合鍵;但是對于一個后臺組合鍵;但是對于一個后臺進(jìn)程這個組合鍵是不能達(dá)到目的的。這時就必須使用進(jìn)程這個組合鍵是不能達(dá)到目的的。這時就必須使用kill命令,該命令可以終止后臺進(jìn)命令,該命令可以終止后臺進(jìn)程。至于終止后臺進(jìn)程的原因很多,或許是該進(jìn)程占用的程。至于終止后臺進(jìn)程的原因很多,或許是該進(jìn)程占用的cpu時間

36、過多;或許是該進(jìn)時間過多;或許是該進(jìn)程已經(jīng)掛死。程已經(jīng)掛死。killkill命令的語法格式很簡單,大致有以下兩種方命令的語法格式很簡單,大致有以下兩種方式:式:kill -s kill -s 信號信號 | -p -a | -p -a 進(jìn)程號進(jìn)程號 kill -l kill -l 信號信號 命令中的參數(shù)說明如下:命令中的參數(shù)說明如下: -s-s:指定需要送出的信號。既可以是信號名也可以對應(yīng)數(shù)字。:指定需要送出的信號。既可以是信號名也可以對應(yīng)數(shù)字。 -p-p:指定:指定killkill命令只是顯示進(jìn)程的命令只是顯示進(jìn)程的pidpid,并不真正送出結(jié)束信號。,并不真正送出結(jié)束信號。-l-l:顯示信號

37、名稱列表,這也可以在:顯示信號名稱列表,這也可以在/usr/include/linux/signal.h/usr/include/linux/signal.h文件中找到。文件中找到。 特殊應(yīng)用:特殊應(yīng)用:kill -sigkill 0kill -sigkill 03.3.4 3.3.4 進(jìn)程調(diào)度進(jìn)程調(diào)度nice !nice !查看進(jìn)程的查看進(jìn)程的nicenice值值 重新調(diào)度重新調(diào)度nicenice值值 renice renice 只能提高,不能降低。只能提高,不能降低。 root root可以降低可以降低nicenice 只是短時間的權(quán)益之計只是短時間的權(quán)益之計sleepsleep進(jìn)程進(jìn)程l

38、s;sleep 1m;lsls;sleep 1m;ls進(jìn)程調(diào)度 后臺執(zhí)行后臺執(zhí)行top &top &ctrl+z ctrl+z 可終止可終止jobsjobsfg %nfg %nbg %nbg %nnohup nohup 退出登陸后繼續(xù)執(zhí)行退出登陸后繼續(xù)執(zhí)行nohup make &nohup make &任務(wù)的定期調(diào)度etc/crontabshell=/bin/bashpath=/sbin:/bin:/usr/sbin:/usr/binmailto=roothome=/# run-parts01 * * * * root run-parts /etc/cron.h

39、ourly02 4 * * * root run-parts /etc/cron.daily22 4 * * 0 root run-parts /etc/cron.weekly42 4 1 * * root run-parts /etc/cron.monthlminute hour day month dayofweek commandcrontab的時間格式minute hour day month dayofweek command在以上任何值中,星號(*)可以用來代表所有有效的值。譬如,月份值中的星號意味著在滿足其它制約條件后每月都執(zhí)行該命令。整數(shù)間的短線(-)指定一個整數(shù)范圍。譬如,1

40、-4 意味著整數(shù) 1、2、3、4。用逗號(,)隔開的一系列值指定一個列表。譬如,3, 4, 6, 8 標(biāo)明這四個指定的整數(shù)。正斜線(/)可以用來指定間隔頻率。在范圍后加上 / 意味著在范圍內(nèi)可以跳過 integer。譬如,0-59/2 可以用來在分鐘字段定義每兩分鐘。間隔頻率值還可以和星號一起使用。例如,*/3 的值可以用在月份字段中表示每三個月運行一次任務(wù)。 crontab -u 用戶名 -e /在root用戶中給普通用戶加計劃任務(wù)編輯操作55 23 * * 03 lp /usr/local/message|mail -s today message rootat 命令atat命令在一定時間

41、后或在一定時刻內(nèi)執(zhí)行命令在一定時間后或在一定時刻內(nèi)執(zhí)行設(shè)置好的命令設(shè)置好的命令標(biāo)準(zhǔn)輸入讀取標(biāo)準(zhǔn)輸入讀取 at 1:00am +2days at 1:00am +2days echo hello|mail root echo hello|mail root ctrl+d ctrl+datq at -l atq at -l 查詢查詢atrm atrm 刪除刪除3.2 用戶和工作組管理用戶和工作組管理1. 1. 用戶賬號文件用戶賬號文件passwdpasswdpasswd 是一個文本文件,用于定義系統(tǒng)的用戶賬號,該是一個文本文件,用于定義系統(tǒng)的用戶賬號,該文件位于文件位于“/etc”目錄下。它包含了

42、一個系統(tǒng)賬戶列表,目錄下。它包含了一個系統(tǒng)賬戶列表,給出每個賬戶一些有用的信息,例如,用戶給出每個賬戶一些有用的信息,例如,用戶 id、組、組 id、主目錄、主目錄、shell等等。由于所有用戶都對等等。由于所有用戶都對passwd有讀權(quán)限,有讀權(quán)限,所以該文件中只定義用戶賬號,而不保存口令。所以該文件中只定義用戶賬號,而不保存口令。passwdpasswd文件中每行定義一個用戶賬號,一行中又劃分為多文件中每行定義一個用戶賬號,一行中又劃分為多個字段定義用戶的賬號的不同屬性,各字段用個字段定義用戶的賬號的不同屬性,各字段用“:”隔隔開。圖開。圖3-13-1中顯示了中顯示了passwdpassw

43、d文件的前文件的前1010行內(nèi)容。在圖中顯行內(nèi)容。在圖中顯示出了文件顯示各用戶的每一個字段,各字段的說明如表示出了文件顯示各用戶的每一個字段,各字段的說明如表3-13-1所示。所示。 表3-1passwd文件各字段說明字段說明account使用者在系統(tǒng)中的名字,它不能包含大寫字母。password用戶口令,出于安全考慮,現(xiàn)在不使用該字段保存口令,而用字母“x”來填充該字段,真正的密碼保存在shadow文件。uid用戶id號,惟一表示某用戶的數(shù)字。gid用戶所屬的私有組號,該數(shù)字對應(yīng)group文件中的gid。gecos這字段是可選的,通常用于保存用戶命名的信息。directory用戶的主目錄,用

44、戶成功登錄后的默認(rèn)目錄。shell用戶所使用的shell,如該字段為空則使用“/bin/sh”。從圖3-2中可以看出,“/etc/shadow”文件中的每個記錄用“:”隔開為9個域,每個域的含義分別為:登錄名加密口令口令上次更改時距1970年1月1日的天數(shù)口令更改后不可以更改的天數(shù)口令更改后必須再更改的天數(shù)(有效期)口令失效前警告用戶的天數(shù)口令失效后距賬號被查封的天數(shù)賬號被封時距1970年1月1日的天數(shù)保留未用3. 用戶組賬號文件用戶組賬號文件group用戶組是邏輯地組織用戶賬號集合的方便途徑,它允許用戶在組內(nèi)共享文件。系統(tǒng)上的每一個文件都有一個用戶和一個組的屬主。使用“l(fā)s l”命令可以看到

45、每一個文件的屬主和組。于系統(tǒng)上的每個組,在/etc/passwd文件中有一行記錄,記錄的格式為: groupname : passwd : gid : userlist表3-2group文件字段說明字段說明groupname是組的名字passwd是組的加密口令gid是系統(tǒng)區(qū)分不同組的id,在/etc/passwd域中的gid域是用這個數(shù)來指定用戶的缺省組。userlist是用“,”分開的用戶名,列出的是這個組的成員。4. 用戶口令文件用戶口令文件gshadowgshadow文件用于定義用戶組口令、組管理員等信息,該文件只有root用戶可以讀取。gshadow文件中每行定義一個用戶組信息,行中各

46、字段間用“:”分隔,每行記錄的格式為:groupname : encrypted password: group administrators: group members各字段的的含義如表3-3所示。在圖3-4中給出了該文件的屬性及文件的部分內(nèi)容。字段說明groupname 用戶組名稱,該字段與group文件中的組名稱對應(yīng)。encryptedpassword 用戶組口令,該字段用于保存已加密的口令groupadministrators 組的管理員賬號,管理員有權(quán)對該組添加刪除賬號。groupmembers屬于該組的用戶成員列表,列表中多個用戶間用“,”分隔。3.2.2 3.2.2 用戶和組賬

47、戶的維護(hù)命令用戶和組賬戶的維護(hù)命令1. 1. 增加用戶帳號增加用戶帳號在命令行下使用在命令行下使用 useradd useradd 命令:命令: useradd useradd 用戶名用戶名 該命令做了下面幾件事:該命令做了下面幾件事:1 1)在)在 /etc/passwd /etc/passwd 文件中增添了一行記錄;文件中增添了一行記錄;2 2)在)在 /home /home 目錄下創(chuàng)建新用戶的主目錄,并將目錄下創(chuàng)建新用戶的主目錄,并將 /etc/skel /etc/skel 目錄中目錄中的文件拷貝到該目錄中去;但是使用了該命令后,新建的用戶暫時的文件拷貝到該目錄中去;但是使用了該命令后,

48、新建的用戶暫時還無法登錄,因為還沒有為該用戶設(shè)置口令,需要再用還無法登錄,因為還沒有為該用戶設(shè)置口令,需要再用 passwd passwd 命命令為其設(shè)置口令后,才能登錄。用戶的令為其設(shè)置口令后,才能登錄。用戶的 uid uid 和和 gid gid 是是 useradd useradd 自自動選取的,它是將動選取的,它是將 /etc/passwd /etc/passwd 文件中的文件中的 uid uid 加加 1 1,將,將 etc/group etc/group 文件中的文件中的 gid gid 加加 1 1。 增加新用戶時,系統(tǒng)將為用戶創(chuàng)建一個與用戶名相同的組,稱為私有組。這一方法是為了

49、能讓新用戶與其他用戶隔離,確保安全性的措施 下面通過增加一個用戶“l(fā)iuyidan”,以及查看其相關(guān)信息,來幫助用戶理解該命令所執(zhí)行的操作。其在終端上的操作命令及響應(yīng)如圖35所示。#useradd liuyidan /建立用戶賬號#tail l /etc/passwd /查看password文件中添加的用戶賬號信息#tail l /etc/shadow # ls /home/查看所建立賬號的主目錄選項功能描述g用于添加用戶賬號時指定該用戶的私有組。如不指定“g”參數(shù),useradd命令將自動建立與用戶賬號同名的組作為該賬號的私有組。d用于顯示或設(shè)置useradd命令所使用的默認(rèn)值在“-g”選項

50、時,其語法格式如下:useraddg組名用戶名在“-d”選項中,如果是用來修改useradd命令所使用的默認(rèn)值,那么該命令使用的語法格式如下:useraddd-ggroup-bbase-sshell-finactive-eexpire2. 2. 修改用戶賬號修改用戶賬號usermodusermodusermodusermod命令可用來修改用戶帳號的各種屬性,包括用戶主目錄、私有命令可用來修改用戶帳號的各種屬性,包括用戶主目錄、私有組、登錄、組、登錄、shellshell等內(nèi)容。等內(nèi)容。usermodusermod的命令格式如下:的命令格式如下:usermod -lu-c usermod -lu

51、-c -d -d -e -e -f -f -g -g -g -g -l -l -s -u -s -u 用戶帳號用戶帳號 該命令的各個參數(shù)說明如下:該命令的各個參數(shù)說明如下:-c-c :修改用戶帳號的備注文字。修改用戶帳號的備注文字。 -d-d : 修改用戶登入時的目錄。修改用戶登入時的目錄。 -e-e : : 修改帳號的有效期限。修改帳號的有效期限。 -f-f :修改在密碼過期后多少天即關(guān)閉該帳號。:修改在密碼過期后多少天即關(guān)閉該帳號。 -g-g : 修改用戶所屬的群組。修改用戶所屬的群組。 -l -l :修改用戶帳號的名稱:修改用戶帳號的名稱下面舉例說明該命令的使用方法:( 1)修改用戶名,

52、把用戶名“l(fā)iuyidan”改名為“l(fā)yd”,使用的命令是:# usermod l lyd liuyidan(2)鎖定“l(fā)yd”用戶,使其不能登錄。命令如下:# usermod l lyd(3)解鎖“l(fā)yd”用戶賬號,使其可以登錄。命令如下:# usermod u lyd3. 3. 刪除用戶刪除用戶userdeluserdeluserdeluserdel命令用于刪除指定的用戶賬號。其使用的語法格式為:命令用于刪除指定的用戶賬號。其使用的語法格式為:userdel -ruserdel -r用戶賬號用戶賬號 需要補(bǔ)充說明的是需要補(bǔ)充說明的是userdeluserdel命令可刪除用戶賬號與相關(guān)的文件

53、。若不加參數(shù),則僅刪除用戶命令可刪除用戶賬號與相關(guān)的文件。若不加參數(shù),則僅刪除用戶賬號,而不刪除相關(guān)文件。賬號,而不刪除相關(guān)文件。其中參數(shù)其中參數(shù)“-f”“-f”是用來刪除用戶登入目錄以及目錄中所有文件。是用來刪除用戶登入目錄以及目錄中所有文件。下面舉例說明該命令的使用方法:下面舉例說明該命令的使用方法:#grep lyd /etc/passwd#grep lyd /etc/passwd/查詢用戶賬號查詢用戶賬號lydlyd是否存在是否存在#userdel lyd#userdel lyd/刪除刪除lydlyd賬號賬號#grep lyd /etc/passwd#grep lyd /etc/pas

54、swd/再次查詢用戶賬再次查詢用戶賬號號lydlyd是否存在是否存在#ll d /home#ll d /home/查詢用戶查詢用戶lydlyd的主的主目錄是否還存在目錄是否還存在#userdel r lyd#userdel r lyd/刪除用戶的同時刪除用戶的同時刪除其工作主目錄刪除其工作主目錄4. 4. 組增加命令組增加命令groupaddgroupaddgroupaddgroupadd命令可指定群組名稱來建立新的群組賬號。該組賬號的命令可指定群組名稱來建立新的群組賬號。該組賬號的idid值必須是惟一的,且數(shù)值不可為負(fù)。預(yù)設(shè)的最小值不得小于值必須是惟一的,且數(shù)值不可為負(fù)。預(yù)設(shè)的最小值不得小于

55、500500,且,且每增加一個組賬號每增加一個組賬號idid值逐次增加。值逐次增加。idid值值04990499是保留給系統(tǒng)賬號使是保留給系統(tǒng)賬號使用。該指令使用的語法格式為:用。該指令使用的語法格式為:groupadd -r groupgroupadd -r group其中其中“-r”“-r”參數(shù)是用來建立系統(tǒng)賬號。系統(tǒng)賬號的參數(shù)是用來建立系統(tǒng)賬號。系統(tǒng)賬號的idid值不能大于值不能大于500500。下面舉例說明該命令的使用方法:。下面舉例說明該命令的使用方法:# groupadd lbgroup# groupadd lbgroup /建立組賬建立組賬號號lbgrouplbgroup# gr

56、ep lbgroup /etc/group# grep lbgroup /etc/group/查詢查詢groupgroup文件中文件中l(wèi)bgrouplbgroup組是否建立組是否建立#groupadd r syslbgroup#groupadd r syslbgroup/建立系統(tǒng)組賬號建立系統(tǒng)組賬號 # grep lbgroup /etc/group # grep lbgroup /etc/group/查詢查詢groupgroup文件中文件中syslbgroupsyslbgroup組是否建立組是否建立 5. 5. 組賬號修改組賬號修改groupmodgroupmod命令用來更改群組識別碼或名稱

57、。該命令的語法格式為:命令用來更改群組識別碼或名稱。該命令的語法格式為:groupmod -g groupmod -g -n -n 群組名稱群組名稱 命令中所使用的參數(shù)說明如下:命令中所使用的參數(shù)說明如下: -g -g 設(shè)置欲使用的群組識別碼。設(shè)置欲使用的群組識別碼。 -o -o 重復(fù)使用群組識別碼。重復(fù)使用群組識別碼。 -n -n 設(shè)置欲使用的群組名稱。設(shè)置欲使用的群組名稱。下面舉例說明該命令的使用方法:# grep lbgroup /etc/group/查詢group文件中l(wèi)bgroup組屬性#groupmod g 503 lbgroup/改變lbgroup組的gid為503# grep

58、lbgroup /etc/group/查詢操作結(jié)果是否正確#groupmod n ydgroup lbgroup/改變lbgroup組名為ydgroup# grep 503 /etc/group/查詢操作結(jié)果是否正確6. 刪除組賬號groupdel命令用于刪除指定的組賬號,若該群組中仍包括某些用戶,則必須先刪除這些用戶后,方能刪除群組。該命令的語法格式為:groupdel 群組名稱 7.口令維護(hù)命令出于系統(tǒng)安全考慮,linux系統(tǒng)中的每一個用戶除了有其用戶名外,還有其對應(yīng)的用戶口令。因此使用useradd命令增加時,還需使用passwd命令為每一位新增加的用戶設(shè)置口令;用戶以后還可以隨時用pa

59、sswd命令改變自己的口令。該命令的一般格式為: passwd 用戶名其中用戶名為需要修改口令的用戶名。只有超級用戶可以使用“passwd 用戶名”修改其他用戶的口令,普通用戶只能用不帶參數(shù)的passwd命令修改自己的口令。 另外,passwd命令還可以使用一些參數(shù)選項,這些參數(shù)選項可對賬號的口令進(jìn)行不同的操作,但這些帶參數(shù)的passwd命令只有root用戶可以使用。這些參數(shù)選擇包括:-s:用于查詢指定用戶賬號的狀態(tài)。-l:用于鎖定賬號的口令。-u:解除鎖定賬號的口令。-d:刪除指定賬號的口令。8.組中用戶成員的維護(hù)gpasswd命令可用于把一個賬戶添加到組、把一個賬戶從組中刪除、把一個賬戶設(shè)為組管理員。(1)添加用戶到使用的命令格式為:gpasswd a 用戶賬號名組賬號名(2)從組中刪除用戶的命令格式為:gpasswd d 用戶賬號名 組賬號名(3)設(shè)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論