• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 200, comments - 8, trackbacks - 0, articles - 0

            使用CentOS系統(tǒng)時(shí),安裝的時(shí)候可能你會(huì)碰到英文的CentOS系統(tǒng),在這中情況下安裝CentOS系統(tǒng)時(shí)是默認(rèn)安裝(即英文)。安裝完畢后,出現(xiàn)的各種中文亂碼。那么,我們?nèi)绾谓鉀Q這種問題呢。

            一、CentOS系統(tǒng)訪問 g.cn ,發(fā)現(xiàn)中文亂碼。

            于是用以前的方式:yum -y install fonts-chinese

            CentOS系統(tǒng)安裝后,還是不能顯示中文字體。我使用 gedit 編輯源碼,其中文注釋也為亂碼。

            后來,終于找到以下方法可以解決,需要兩個(gè)中文支持的包:

            fonts-chinese-3.02-12.el5.noarch.rpm

            ftp://ftp.muug.mb.ca/mirror/centos/5.4/os/x86_64/CentOS/fonts-chinese-3.02-12.el5.noarch.rpm

            fonts-ISO8859-2-75dpi-1.0-17.1.noarch.rpm

            ftp://ftp.muug.mb.ca/mirror/centos/5.4/os/x86_64/CentOS/fonts-ISO8859-2-75dpi-1.0-17.1.noarch.rpm

            一個(gè)是中文字體,一個(gè)是字體顯示包。

            下載后,在命令行安裝:

            #rpm -ivh XXXX ( XXXX 代表上面那兩個(gè)包的全名, rpm 不會(huì)不知道怎么用吧?)

            CentOS系統(tǒng)安裝完成后,重新啟動(dòng)即可。

            二、終端、 gedit 顯示亂碼

            #vi /etc/sysconfig/i18n

            將LANG="en_US.UTF-8"

            SYSFONT="latarcyrheb-sun16"

            修改原內(nèi)容為

            LANG="zh_CN.GB18030"

            LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"

            SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"

            SYSFONT="lat0-sun16"

            用 yum 安裝中文字體

            #yum install fonts-chinese.noarch

            system  ->  logout  注銷

            重新登錄CentOS系統(tǒng)時(shí),你會(huì)發(fā)現(xiàn),所有界面已從英文變成中文。在終端輸入 date 命令測(cè)試

            #date

            2009 年 11 月 24 日 星期一 12:07:00 CST

            三、在 ssh , telnet 終端中文顯示亂碼解決辦法( CentOS 5.3 )

            #vi /etc/sysconfig/i18n

            將原內(nèi)容 LANG="en_US.UTF-8"

            SYSFONT="latarcyrheb-sun16"

            修改為

            LANG="zh_CN.GB18030"

            LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"

            SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"

            SYSFONT="lat0-sun16"

            用 yum 安裝中文字體

            #yum install fonts-chinese.noarch

            斷開 ssh ,重新連

            在終端輸入 date 命令測(cè)試

            #date

            2009 年 11 月 24 日 星期一 12:09:00 CST

            四、在CentOS系統(tǒng) 5.3 中使用中文輸入法

            我以前的方法是安裝企鵝版 ,見下一頁(yè) 。 在此,還有一個(gè)更簡(jiǎn)單的,只要使用 yum 安裝 SCIM 即可。

            命令行輸入:

            #yum install scim

            #yum install scim-pinyin

            重啟動(dòng)X(按Ctrl+Alt+Backpace)或注銷(logout)。

            好了,可以輸入中文了。CentOS系統(tǒng)出現(xiàn)中文亂碼的問題就這樣解決了。

            posted @ 2012-09-23 16:11 鑫龍 閱讀(434) | 評(píng)論 (0)編輯 收藏

            紅黑樹的平衡

            紅黑樹首先是一棵二叉查找樹,它每個(gè)結(jié)點(diǎn)都被標(biāo)上了顏色(紅色或黑色),紅黑樹滿足以下5個(gè)性質(zhì):

            1、 每個(gè)結(jié)點(diǎn)的顏色只能是紅色或黑色。

            2、 根結(jié)點(diǎn)是黑色的。

            3、 每個(gè)葉子結(jié)點(diǎn)都帶有兩個(gè)空的黑色結(jié)點(diǎn)(被稱為黑哨兵),如果一個(gè)結(jié)點(diǎn)n的只有一個(gè)左孩子,那么n的右孩子是一個(gè)黑哨兵;如果結(jié)點(diǎn)n只有一個(gè)右孩子,那么n的左孩子是一個(gè)黑哨兵。

            4、 如果一個(gè)結(jié)點(diǎn)是紅的,則它的兩個(gè)兒子都是黑的。也就是說在一條路徑上不能出現(xiàn)相鄰的兩個(gè)紅色結(jié)點(diǎn)。

            5、 對(duì)于每個(gè)結(jié)點(diǎn)來說,從該結(jié)點(diǎn)到其子孫葉結(jié)點(diǎn)的所有路徑上包含相同數(shù)目的黑結(jié)點(diǎn)。

            紅黑樹的這5個(gè)性質(zhì)中,第3點(diǎn)是比較難理解的,但它卻非常有必要。我們看圖1中的左邊這張圖,如果不使用黑哨兵,它完全滿足紅黑樹性質(zhì),結(jié)點(diǎn)50到兩個(gè)葉結(jié)點(diǎn)8和葉結(jié)點(diǎn)82路徑上的黑色結(jié)點(diǎn)數(shù)都為2個(gè)。但如果加入黑哨兵后(如圖1右圖中的小黑圓點(diǎn)),葉結(jié)點(diǎn)的個(gè)數(shù)變?yōu)?/span>8個(gè)黑哨兵,根結(jié)點(diǎn)50到這8個(gè)葉結(jié)點(diǎn)路徑上的黑高度就不一樣了,所以它并不是一棵紅黑樹。

             

             

            要看真正的紅黑樹請(qǐng)?jiān)谝陨蟿?dòng)畫中添加幾個(gè)結(jié)點(diǎn),看看是否滿足以上性質(zhì)。

            紅黑樹的旋轉(zhuǎn)操作

            紅黑樹的旋轉(zhuǎn)操作和AVL樹一樣,分為LLRRLRRL四種旋轉(zhuǎn)類型,差別在于旋轉(zhuǎn)完成后改變的是結(jié)點(diǎn)的顏色,而不是平衡因子。旋轉(zhuǎn)動(dòng)畫演示請(qǐng)參考AVL這篇文章中的Flash動(dòng)畫:

            http://www.cnblogs.com/abatei/archive/2008/11/17/1335031.html

            紅黑樹上結(jié)點(diǎn)的插入

            在討論紅黑樹的插入操作之前必須要明白,任何一個(gè)即將插入的新結(jié)點(diǎn)的初始顏色都為紅色。這一點(diǎn)很容易理解,因?yàn)椴迦牒邳c(diǎn)會(huì)增加某條路徑上黑結(jié)點(diǎn)的數(shù)目,從而導(dǎo)致整棵樹黑高度的不平衡。但如果新結(jié)點(diǎn)父結(jié)點(diǎn)為紅色時(shí)(如圖2所示),將會(huì)違返紅黑樹性質(zhì):一條路徑上不能出現(xiàn)相鄰的兩個(gè)紅色結(jié)點(diǎn)。這時(shí)就需要通過一系列操作來使紅黑樹保持平衡。

             

             

             

            為了清楚地表示插入操作以下在結(jié)點(diǎn)中使用“新”字表示一個(gè)新插入的結(jié)點(diǎn);使用“父”字表示新插入點(diǎn)的父結(jié)點(diǎn);使用“叔”字表示“父”結(jié)點(diǎn)的兄弟結(jié)點(diǎn);使用“祖”字表示“父”結(jié)點(diǎn)的父結(jié)點(diǎn)。插入操作分為以下幾種情況:

            1黑父

            如圖3所示,如果新點(diǎn)的父結(jié)點(diǎn)為黑色結(jié)點(diǎn),那么插入一個(gè)紅點(diǎn)將不會(huì)影響紅黑樹的平衡,此時(shí)插入操作完成。紅黑樹比AVL樹優(yōu)秀的地方之一在于黑父的情況比較常見,從而使紅黑樹需要旋轉(zhuǎn)的幾率相對(duì)AVL樹來說會(huì)少一些。

             

             

             

            2.紅父

            如果新點(diǎn)的父結(jié)點(diǎn)為紅色,這時(shí)就需要進(jìn)行一系列操作以保證整棵樹紅黑性質(zhì)。如圖3所示,由于父結(jié)點(diǎn)為紅色,此時(shí)可以判定,祖父結(jié)點(diǎn)必定為黑色。這時(shí)需要根據(jù)叔父結(jié)點(diǎn)的顏色來決定做什么樣的操作。青色結(jié)點(diǎn)表示顏色未知。由于有可能需要根結(jié)點(diǎn)到新點(diǎn)的路徑上進(jìn)行多次旋轉(zhuǎn)操作,而每次進(jìn)行不平衡判斷的起始點(diǎn)(我們可將其視為新點(diǎn))都不一樣。所以我們?cè)诖耸褂靡粋€(gè)藍(lán)色箭頭指向這個(gè)起始點(diǎn),并稱之為判定點(diǎn)。

             

             

             

            2.1 紅叔

            當(dāng)叔父結(jié)點(diǎn)為紅色時(shí),如圖4所示,無需進(jìn)行旋轉(zhuǎn)操作,只要將父和叔結(jié)點(diǎn)變?yōu)楹谏瑢⒆娓附Y(jié)點(diǎn)變?yōu)榧t色即可。但由于祖父結(jié)點(diǎn)的父結(jié)點(diǎn)有可能為紅色,從而違反紅黑樹性質(zhì)。此時(shí)必須將祖父結(jié)點(diǎn)作為新的判定點(diǎn)繼續(xù)向上進(jìn)行平衡操作。

             

             

            需要注意,無論“父”在“叔”的左邊還是右邊,無論“新”是“父”的左孩子還是右孩子,它們的操作都完全一樣。

             

            2.2 黑叔

            當(dāng)叔父結(jié)點(diǎn)為黑色時(shí),需要進(jìn)行旋轉(zhuǎn),以下圖示了所有的旋轉(zhuǎn)可能

            情形1

             

             

            情形2


            情形3

             

             

            情形4

             

             

            可以觀察到,當(dāng)旋轉(zhuǎn)完成后,新的旋轉(zhuǎn)根全部為黑色,此時(shí)不需要再向上回溯進(jìn)行平衡操作,插入操作完成。需要注意,上面四張圖的“叔”、“1”、“2”、“3”結(jié)點(diǎn)有可能為黑哨兵結(jié)點(diǎn)。

            其實(shí)紅黑樹的插入操作不是很難,甚至比AVL樹的插入操作還更簡(jiǎn)單些。但刪除操作就遠(yuǎn)遠(yuǎn)比AVL樹復(fù)雜得多,下面就介紹紅黑樹的刪除操作。

            紅黑樹上結(jié)點(diǎn)的刪除

            紅黑樹本身是一棵二叉查找樹,它的刪除和二叉查找樹的刪除類似。首先要找到真正的刪除點(diǎn),當(dāng)被刪除結(jié)點(diǎn)n存在左右孩子時(shí),真正的刪除點(diǎn)應(yīng)該是n的中序遍在前驅(qū),關(guān)于這一點(diǎn)請(qǐng)復(fù)習(xí)二叉查找樹的刪除。如圖9所示,當(dāng)刪除結(jié)點(diǎn)20時(shí),實(shí)際被刪除的結(jié)點(diǎn)應(yīng)該為18,結(jié)點(diǎn)20的數(shù)據(jù)變?yōu)?/span>18

             

             

             

            所以可以推斷出,在進(jìn)行刪除操作時(shí),真正的刪除點(diǎn)必定是只有一個(gè)孩子或沒有孩子的結(jié)點(diǎn)。而根據(jù)紅黑樹的性質(zhì)可以得出以下兩個(gè)結(jié)論:

            1、 刪除操作中真正被刪除的必定是只有一個(gè)紅色孩子或沒有孩子的結(jié)點(diǎn)

            2、 如果真正的刪除點(diǎn)是一個(gè)紅色結(jié)點(diǎn),那么它必定是一個(gè)葉子結(jié)點(diǎn)

            理解這兩點(diǎn)非常重要,如圖10所示,除了情況(a)外,其他任一種況結(jié)點(diǎn)N都無法滿足紅黑樹性質(zhì)。

             

             

             

            在以下討論中,我們使用藍(lán)色箭頭表示真正的刪除點(diǎn),它也是旋轉(zhuǎn)操作過程中的第一個(gè)判定點(diǎn);真正的刪除點(diǎn)使用“舊”標(biāo)注,舊點(diǎn)所在位置將被它的的孩子結(jié)點(diǎn)所取代(最多只有一個(gè)孩子),我們使用“新”表示舊點(diǎn)的孩子結(jié)點(diǎn)。刪除操作可分為以下幾種情形:

            1、舊點(diǎn)為紅色結(jié)點(diǎn)

            若舊點(diǎn)為紅色結(jié)點(diǎn),則它必定是葉子結(jié)點(diǎn),直接刪除即可。如圖11所示

             

             

             

            2、一紅一黑

            當(dāng)舊點(diǎn)為黑色結(jié)點(diǎn),新點(diǎn)為紅色結(jié)點(diǎn)時(shí),將新點(diǎn)取代舊點(diǎn)位置后,將新點(diǎn)染成黑色即可(如圖12所示)。這里需要注意:舊點(diǎn)為紅色,新點(diǎn)為黑色的情況不可能存在。

             

             

             

            3、雙黑

            當(dāng)舊點(diǎn)和新點(diǎn)都為黑色時(shí)(新點(diǎn)為空結(jié)點(diǎn)時(shí),亦屬于這種情況),情況比較復(fù)雜,需要根據(jù)舊點(diǎn)兄弟結(jié)點(diǎn)的顏色來決定進(jìn)行什么樣的操作。我們使用“兄”來表示舊點(diǎn)的兄弟結(jié)點(diǎn)。這里可分為紅兄和黑兄兩種情況:

            3.1 紅兄

            由于兄弟結(jié)點(diǎn)為紅色,所以父結(jié)點(diǎn)必定為黑色,而舊點(diǎn)被刪除后,新點(diǎn)取代了它的位置。下圖演示了兩種可能的情況:

             

             

             

            紅兄的情況需要進(jìn)行RRLL型旋轉(zhuǎn),然后將父結(jié)點(diǎn)染成紅色,兄結(jié)點(diǎn)染成黑色。然后重新以新點(diǎn)為判定點(diǎn)進(jìn)行平衡操作。我們可以觀察到,旋轉(zhuǎn)操作完成后,判定點(diǎn)沒有向上回溯,而是降低了一層,此時(shí)變成了黑兄的情況。

            3.2 黑兄

            黑兄的情況最為復(fù)雜,需要根據(jù)黑兄孩子結(jié)點(diǎn)(這里用“侄”表示)和父親結(jié)點(diǎn)的顏色來決定做什么樣的操作。

            3.2.1 黑兄二黑侄紅父

            如圖14所示,這種情況比較簡(jiǎn)單,只需將父結(jié)點(diǎn)變?yōu)楹谏纸Y(jié)點(diǎn)變?yōu)楹谏陆Y(jié)點(diǎn)變?yōu)楹谏纯桑瑒h除操作到此結(jié)束。

             

             

             

            3.2.2 黑兄二黑侄黑父

            如圖15所示,此時(shí)將父結(jié)點(diǎn)染成新結(jié)點(diǎn)的顏色,新結(jié)點(diǎn)染成黑色,兄結(jié)點(diǎn)染成紅色即可。當(dāng)新結(jié)點(diǎn)為紅色時(shí),父結(jié)點(diǎn)被染成紅色,此時(shí)需要以父結(jié)點(diǎn)為判定點(diǎn)繼續(xù)向上進(jìn)行平衡操作。

             


            3.2.3 黑兄紅侄

            黑兄紅侄有以下四種情形,下面分別進(jìn)行圖示:

            情形1

             

             

            情形2

             

            情形3

             

             

             

            情形4

             

             

             

            由以上圖例所示,看完以上四張圖的兄弟有可能會(huì)有一個(gè)疑問,如果情形1和情形2中的兩個(gè)侄子結(jié)點(diǎn)都為紅色時(shí),是該進(jìn)行LL旋轉(zhuǎn)還是進(jìn)行LR旋轉(zhuǎn)呢?答案是進(jìn)行LL旋轉(zhuǎn)。情形3和情形4則是優(yōu)先進(jìn)行RR旋轉(zhuǎn)的判定。

            紅黑樹的代碼實(shí)現(xiàn)

            posted @ 2012-09-18 20:32 鑫龍 閱讀(392) | 評(píng)論 (0)編輯 收藏

            為了更好的解決虛擬機(jī)與主機(jī)的共享問題,VMware公司有一個(gè)VMWare-tools,來實(shí)現(xiàn)文件共享。這里主要講的是在Windows下用 Vmware虛擬Linux來與windows來共享。    
            1、安裝客戶機(jī)系統(tǒng),linux這里選用CentOS5  
             
            2、啟動(dòng)虛擬機(jī)中的Linux后,(注意必須是啟動(dòng)虛擬機(jī)后)。選擇菜單里的VM選項(xiàng),里面有一個(gè)子項(xiàng)是Install VMware Tools,選定它。開始安裝。
               
            3、現(xiàn)在,你到VM菜單里的Removable Devices子項(xiàng)中的CDROM項(xiàng),點(diǎn)擊edit,打開VMWare的安裝文件夾,里面是不是有一些*.iso啊,好的,按照前面的步驟,選擇linux.iso來作為ISO文件。    

            4、下面就是mount加載linux.iso文件。    
               mount /dev/cdrom /mnt/cdrom    
               cd /mnt/cdrom    

            5、到cdrom文件夾里面解壓VMware-tools*.tar.gz    
                  cp VMware-tools*.tar.gz /tmp    
                  cd /tmp    
                  tar xzvf VMware-tools*.tar.gz    
                  cd vmware-tools-distrib    
               在文件夾里面是不是看到了一個(gè)vmware-install.pl     OK!    
                  ./vmware-install.pl    
               一直按回車,直到提示安裝成功就可以了。    

            6、VMware-tools已經(jīng)安裝成功了,是不是很簡(jiǎn)單啊    
                  cd /mnt    
               是不是看到了一個(gè)hgfs文件夾,這就表明安裝成功了,下面就要講一下怎么來設(shè)置共享了,這一部分更簡(jiǎn)單
               記得上面在VM菜單里進(jìn)行操作了嗎?對(duì)!下面接著要在VM菜單里進(jìn)行,選擇setting子項(xiàng),再選擇Options。在窗體的左半部分是不是看到了Shared Folders這么一項(xiàng),如果你以前沒有設(shè)置過,應(yīng)該是Disabled。    
               選擇Enabled until next power off or suspend,選擇Add,選擇要與客戶Linux進(jìn)行共享的文件夾。    
               現(xiàn)在已經(jīng)完成了所有的工作了,在/mnt/hgfs下你會(huì)看到添加的文件夾。在windows下向指定的share folders寫文件,在Linux客戶機(jī)里面就能夠看到,同樣在Linux上寫文件在Windows下也能夠看到,并且可以修改。最后卸載光驅(qū)    
               umount /mnt/cdrom 

            posted @ 2012-09-15 21:11 鑫龍 閱讀(263) | 評(píng)論 (0)編輯 收藏

            一、已安裝xp系統(tǒng)。

            安裝xp與centos共存的雙系統(tǒng),是否一定要先裝xp?我覺得應(yīng)該不是。不過因?yàn)槲矣脖P已經(jīng)安裝了xp,就干脆基于xp系統(tǒng)(windows系統(tǒng))來安裝centos系統(tǒng)(或redhat系統(tǒng))與現(xiàn)有系統(tǒng)共存了。

            二、安裝grub引導(dǎo)程序。

            先下載grub4dos軟件,下載grub4dos后,解壓縮后就可以了。核心文件有下面這幾個(gè):grldr和grub.exe,及menu.lst    將它們拷貝到c盤下。

            為了設(shè)置通過windowsxp系統(tǒng)的啟動(dòng)菜單進(jìn)入grub引導(dǎo)菜單。須進(jìn)行如下設(shè)置:

            將grldr文件復(fù)制到c:\,去掉boot.ini的只讀屬性,然后修改c:\boot.ini文件,在boot.ini的最后面加一行:
                c:\grldr=”Start GRUB4DOS”
            并將boot.ini中的timeout值設(shè)置為大于0的數(shù)字,如:timeout=5,然后保存boot.ini,改回只讀屬性。
            編輯boot.ini前,可在cmd下輸入:
                attrib -s -r -h c:\boot.ini
            解除boot.ini的只讀屬性,編輯完后輸入:
                attrib +s +r +h c:\boot.ini
            恢復(fù)boot.ini的原有屬性。

            編輯完重新啟動(dòng)計(jì)算機(jī),在windowsxp啟動(dòng)菜單就會(huì)出現(xiàn)“Start GRUB4DOS”這一項(xiàng),選擇該項(xiàng)即可進(jìn)入grub4dos的環(huán)境。


            三、安裝linux引導(dǎo)文件并設(shè)置。

            1、從linux鏡像文件中找到boot.iso文件,位置:linux鏡像文件中的/images/boot.iso.導(dǎo)出該文件。然后解壓boot.iso文件,將boot目錄下的isolinux目錄拷貝到c盤下。

            2、修改上文提到的menu.lst文件。在文件中加入如下內(nèi)容:

            title CentOS
            kernel (hd0,0)/isolinux/vmlinuz
            initrd (hd0,0)/isolinux/initrd.img

            3、修改后啟動(dòng)計(jì)算機(jī)時(shí)進(jìn)入grub引導(dǎo)菜單后,就可以看到名為”centos”的啟動(dòng)選項(xiàng)。可進(jìn)入linux安裝引導(dǎo)。

            四、準(zhǔn)備一個(gè)分區(qū)用來安裝centos系統(tǒng)。

            1、一般情況下,可以將磁盤的最后一個(gè)分區(qū)刪除預(yù)留給安裝linux系統(tǒng)(也可不刪除,安裝linux系統(tǒng)過程中,可以選擇要安裝的分區(qū)并進(jìn)行格式化操作)。

            2、將linux鏡像文件拷貝到任何一個(gè)fat格式的分區(qū)。

            五、安裝linux centos系統(tǒng)。

            開機(jī)啟動(dòng),進(jìn)入grub菜單,選擇linux引導(dǎo)。根據(jù)提示選擇centos鏡像文件所在位置(在此處我安裝的時(shí)候郁悶hard disk driver no found的問題,我進(jìn)入bios設(shè)置hard disk的模式把從IDE換成AHCI模式才可以解決該問題,另外如果要想重新進(jìn)入XP又要將模式改回IDE),繼續(xù)根據(jù)提示進(jìn)行安裝操作。安裝系統(tǒng)后,centos默認(rèn)作為第一啟動(dòng)菜單。啟動(dòng)centos時(shí)會(huì)先進(jìn)入centosgrub啟動(dòng)菜單,倒計(jì)時(shí)結(jié)束前,按上下方向可進(jìn)入選擇菜單,選擇other可進(jìn)入windows啟動(dòng)菜單。

            到此,windows(xp)與linux(centos)雙系統(tǒng)就已經(jīng)安裝完畢了。

            posted @ 2012-09-13 20:29 鑫龍 閱讀(2153) | 評(píng)論 (0)編輯 收藏

                  linux的文件系統(tǒng)管理是重點(diǎn)也是難點(diǎn),知識(shí)點(diǎn)很多。大概分成4個(gè)部分進(jìn)行講解:linux文件系統(tǒng)的構(gòu)成、設(shè)備掛載、分區(qū)與格式化原理、磁盤配額。

            一、文件系統(tǒng)構(gòu)成
                  文件系統(tǒng)構(gòu)成首先應(yīng)該掌握linux有哪些目錄,這些目錄有些什么用


                   在大概了解了一些重要的目錄情況之后,接著介紹幾個(gè)文件系統(tǒng)命令:
            (1)df 查看分區(qū)使用情況
            df -h 以M單位顯示內(nèi)容


            (2)du 查看文件目錄大小
            du -h 以M單位顯示大小
            du -sh 查看目錄大小要加上s(statistics)


            (3)fsck 文件系統(tǒng)檢測(cè)修復(fù)命令file system check
            fsck -p 自動(dòng)修復(fù)
            fsck -y 回答yes的修復(fù)

            (4)file 判斷文件類型命令
            file 文件

            二、設(shè)備掛載
                 首先要知道設(shè)備一般分兩種,一種是塊(block)設(shè)備,一種是字符設(shè)備(char)。通過下圖ls查看的第一個(gè)字母可知。


            (1)光驅(qū)掛載

                 通常建議在mnt目錄下創(chuàng)建目錄進(jìn)行掛載,因?yàn)閙nt是文件系統(tǒng)的臨時(shí)掛載點(diǎn)。盤卸載使用 umount 掛載點(diǎn) 有時(shí)候會(huì)提示忙,因?yàn)槟愕漠?dāng)前目錄可能在掛載點(diǎn)中,所以可以用eject彈出光盤。

            (2)U盤掛載


            三、添加硬盤分區(qū)并格式化
                 首先在設(shè)置里給虛擬機(jī)添加一塊硬盤

                   然后重啟或者開機(jī),開機(jī)以后通過dmesg | grep sdb查看下關(guān)于新硬盤的信息就知道成功識(shí)別了沒有。從提示信息的unkonwn partition table 可知沒有分區(qū)表。接下來就是進(jìn)行分區(qū)。分區(qū)要使用的命令就是fdisk
            (1)fdisk 硬盤分區(qū)
            fdisk -l /dev/sda 查看第一個(gè)硬盤的分區(qū)信息及其他硬盤相信信息
                  直接輸入fdisk /dev/sdb 即開始對(duì)sdb即第二個(gè)硬盤進(jìn)行分區(qū)并進(jìn)入分區(qū)程序命令行。輸入m可以得到幫助如下:

                   看到上面的幫助,p為顯示分區(qū)表。n添加新的分區(qū)。那么我們輸入n,然后就會(huì)提示你新添加的分區(qū)是主分區(qū)p還是拓展分區(qū)e,先輸入p表示我們創(chuàng)建的是主分區(qū)然后要你輸入分區(qū)號(hào)(1-4),我們輸入1。然后接著要你輸入該分區(qū)起始和終止的柱面,起始用默認(rèn)1就可以了,但是終止如果只分一個(gè)區(qū),那么默認(rèn)的也可以。但我們不只分一個(gè)區(qū),所以我們需要計(jì)算該分區(qū)終止柱面以便給下一個(gè)分區(qū)留出空間。

                  但是填寫柱面數(shù),我們很難計(jì)算柱面與大小的對(duì)應(yīng)關(guān)系。根據(jù)提示知道,可以使用+sizmM或+sizeK的方式設(shè)置第一個(gè)分區(qū)大小。那我們給2G,輸入+2048M回車即可。然后通過p查看可知第一個(gè)分區(qū)已經(jīng)出現(xiàn)。另外主分區(qū)和擴(kuò)展分區(qū)有什么區(qū)別?

                  接著把剩下的大小也分一個(gè)主分區(qū)就可以了。(當(dāng)然想分幾個(gè)自己看著辦)默認(rèn)新添加分區(qū)的類型根據(jù)linux版本不同而不同,centOS5.5默認(rèn)是ext3。那如果我們想更改這個(gè)文件系統(tǒng)的類型應(yīng)該使用t。如果對(duì)已分區(qū)的不滿意可以用d刪除分區(qū)。如果已經(jīng)滿意的,輸入w存退,q是不保存退出。


            (2)mkfs 格式化部署文件系統(tǒng)(mkfs.ext3)
            mkfs.ext3 /dev/sdb1 就可以直接格式化sdb1這個(gè)分區(qū)了

            (3)硬盤掛載
                   在創(chuàng)建分區(qū)和格式化分區(qū)以后,接著就要掛載硬盤并使用了。首先創(chuàng)建兩個(gè)目錄,用來對(duì)應(yīng)這兩個(gè)分區(qū)。我創(chuàng)建/bak和/web,然后通過mount命令進(jìn)行掛載。
            mount /dev/sdb1 /web以及mount /dev/sdb2 /bak
                   但是通過mount命令掛載的在重啟以后就會(huì)失效,那么讓它永久有效呢?這就要用到/etc/fstab這個(gè)配置文件了。用vi打開配置文件如下:

                  格式是---物理分區(qū)名(卷標(biāo))  掛載點(diǎn)   文件系統(tǒng)類型 缺省設(shè)置  是否在引導(dǎo)時(shí)進(jìn)行數(shù)據(jù)檢測(cè)  檢測(cè)順序
                  檢測(cè)順序就是設(shè)置的數(shù)據(jù)檢測(cè)的順序,一般有3個(gè)值分別是0、1、2,0表示不檢測(cè),1表示優(yōu)先檢測(cè),2表示正常檢測(cè)。缺省設(shè)置是指定的掛載時(shí)候使用的掛載設(shè)置,大部分使用的default默認(rèn)設(shè)置。下面我們把自己剛剛添加的硬盤添加進(jìn)去。
            /dev/sdb1   /web   ext3   defaults   1 2
                  當(dāng)然除了用物理分區(qū)名還可以使用卷標(biāo),首先使用e2label /dev/sdb2查看卷標(biāo)名,如果為空說明沒有卷標(biāo)。那么通過e2label /dev/sdb2 datebak 來設(shè)置進(jìn)卷標(biāo)。
            LABEL=datebak     /bak   ext3   defaults 1 2

            (4)swap分區(qū)拓展
                  當(dāng)你覺得swap分區(qū)的不夠用時(shí),可以通過拓展swap分區(qū)來滿足要求。那如何拓展swap分區(qū)呢?首先要介紹一條指令叫做dd

            1.dd
            dd是一條拷貝指令,作用是用指定大小的塊拷貝一個(gè)文件,并在拷貝的同時(shí)進(jìn)行指定的轉(zhuǎn)換。
            dd if=input of=output 格式就是這樣,表示從if指定的input把信息拷貝到of指定的output中。

                   我們?cè)谧鰏wap拷貝時(shí),用dd if=/dev/zero of=/var/swap/file.swap bs=1024K count=64 從zero設(shè)備里面拷內(nèi)容到file.swap文件中,以1M(1024k)為塊單位,一共拷貝64塊,及64M。這里需要說的是/dev/zero這個(gè)設(shè)備,其實(shí)這是一個(gè)偽設(shè)備,作用是不停的往外輸出0。與/dev/null這個(gè)偽設(shè)備相反,/dev/null就是不停的可以把垃圾信息往里面輸入,然后就沒有了(像黑洞一樣)。這樣就創(chuàng)建了一個(gè)64M大小內(nèi)容全是0的file.swap文件。
                   然后通過mkswap /var/swap/file.swap 當(dāng)然如果你不想永久的讓文件成為交換區(qū)而是根據(jù)需要?jiǎng)討B(tài)開關(guān),就不要修改配置文件,而是通過把該文件設(shè)置成交換區(qū)的一部分。然后在/etc/fastab的配置文件中修改配置文件加一行:/var/swap/file.swap swap swap defults 0 0  這樣系統(tǒng)開機(jī)就會(huì)自動(dòng)加載這個(gè)swap文件,就使得該文件成功永久變成了swap分區(qū)的一部分。當(dāng)然如果不想這個(gè)文件永久成為swap分區(qū)的一部分,而是想動(dòng)態(tài)的根據(jù)需求來添加swap分區(qū),可以使用swapon /var/swap/file.swap 或swapoff來對(duì)文件進(jìn)行開關(guān)。


            四、磁盤配額
                   試想,如果一個(gè)用戶的宿主目錄和系統(tǒng)目錄是在一個(gè)分區(qū)中,那么用戶在自己的宿主目錄通

            過dd /dev/zero zerofile bs=1024k count=102400 的命令創(chuàng)建一個(gè)100G的文件,那么很有可

            能就會(huì)把系統(tǒng)目錄分區(qū)脹滿,這樣許多臨時(shí)文件都沒法創(chuàng)建了,導(dǎo)致重新引導(dǎo)失敗。得知后果其

            實(shí)是很嚴(yán)重的,那么其中一個(gè)解決這個(gè)問題的方法就是給用戶的分區(qū)進(jìn)行磁盤配額限制。
            (1)開啟分區(qū)磁盤配額功能
                 開啟的方法是在/etc/fstab文件中,在掛載屬性上加上標(biāo)志usrquota(用戶配額),當(dāng)然要記得重啟修改的配置才生效!



            (2)建立配額數(shù)據(jù)庫(kù)
                使用quotacheck -cvuga 命令會(huì)自動(dòng)生成aquita.user和aquita.group兩個(gè)文件(這是用于對(duì)該分區(qū)進(jìn)行配額管理的文件)。
            1.quotacheck
            -c 創(chuàng)建 ,-v 創(chuàng)建過程顯示信息,-u表示創(chuàng)建用戶配額文件,-g表示創(chuàng)建組配額文件,-a表示檢

            測(cè)所有的系統(tǒng)分區(qū)
            如果不是檢測(cè)所有的系統(tǒng)區(qū)就把-a去掉加上需要檢測(cè)的分區(qū) quotacheck -cvu /web


            (3)啟用配額功能
            1.quotaon 分區(qū)名稱  開啟
            2.quotaoff 分區(qū)名稱  關(guān)閉

            (4)編輯用戶配額信息
                 使用edquota 用戶名 就可以進(jìn)入來編輯該用戶的配額信息。edquota mysileng可以看到因?yàn)槲覀冮_啟了一個(gè)分區(qū)的配額功能所以配置文件里面有了一行。

                 這就是mysileng用戶的配額分配頁(yè),因?yàn)槲覀冎婚_啟了一個(gè)配額分區(qū)功能,那么就只有一行信息。filessystem就是分區(qū),blocks是塊單位是1k,soft是軟性限制,hard是硬性限制。軟性限制是在超出限制后會(huì)給出警告,并在7天之內(nèi)刪除超出的部分。硬性限制是在超出時(shí)候給予錯(cuò)誤的提示。inode與blocks類似,只是限制inode節(jié)點(diǎn)數(shù)而不是大小。


                   我們把block的hard改成100M即102400即可。保存退出就可以了。然后通過repquota -a可以查看所有用戶的配額信息,repquota 分區(qū)可以查看該分區(qū)配額信息。quota 用戶名查看用戶配額信息。edquota -t 設(shè)置soft的寬限期。 edquota -p 模板用戶 復(fù)制用戶1 復(fù)制用戶2 就可以把模板用戶的配額信息復(fù)制給復(fù)制用戶。

            posted @ 2012-09-04 15:43 鑫龍 閱讀(363) | 評(píng)論 (0)編輯 收藏

                  關(guān)于進(jìn)程管理的內(nèi)容,主要是兩個(gè)部分:進(jìn)程管理命令和計(jì)劃任務(wù)

            一、進(jìn)程管理命令
            1.w 查看各用戶信息

                  load average后面三個(gè)值分別表示系統(tǒng)在1、5、15分鐘時(shí)的負(fù)載情況
                  tty表示用戶從什么終端登錄,tty1表示本地第一個(gè)終端,pts表示遠(yuǎn)程終端
                  from中如果是:0表示xwindow下啟用的timinal
                  idle 表示系統(tǒng)空閑時(shí)間     
                  jcpu表示該用戶啟動(dòng)時(shí)所有相關(guān)進(jìn)程執(zhí)行時(shí)消耗的時(shí)間
                  pcpu:用戶正在執(zhí)行的程序耗費(fèi)的時(shí)間
                  what:用戶正在執(zhí)行的操作

            2.ps 進(jìn)程狀態(tài)查看命令

                  直接ps查看隸屬于自己的進(jìn)程信息
                  ps -l或ps -u查看隸屬于自己進(jìn)程的詳細(xì)信息
                  ps -le查看所有用戶執(zhí)行進(jìn)程的詳情信息
                  ps -uU 用戶名 查看指定用戶的進(jìn)程信息(ps -le | grep 用戶名)

                  uid:該進(jìn)程是由哪個(gè)用戶啟動(dòng)的
                  pid:進(jìn)程ID PPid是父進(jìn)程號(hào)
                  tty:進(jìn)程啟動(dòng)的終端 
                  stat:進(jìn)程當(dāng)前狀態(tài)(s休眠,d不可中斷休眠,z僵死,t停止,r運(yùn)行)
                  NI:優(yōu)先級(jí)
                  time:進(jìn)程自啟動(dòng)以來啟用cpu的總時(shí)間
                  command/cmd:進(jìn)程命令名

            3.pstree 以樹狀結(jié)構(gòu)查看進(jìn)程

            4.kill 關(guān)閉進(jìn)程
               直接kill 進(jìn)程號(hào) 可以直接關(guān)閉進(jìn)程
               kill -l 查看kill所有的信號(hào)(kill -9 pid強(qiáng)行關(guān)閉,kill -1 pid重啟進(jìn)程)
               xkill關(guān)閉圖形程序
               killall 進(jìn)程名(pid)關(guān)閉所有相關(guān)進(jìn)程

            5.pgrep 進(jìn)程名 查看進(jìn)程號(hào)
               /proc目錄是一個(gè)虛擬的文件目錄,它其實(shí)并不是在外存上(也就是硬盤上),而是在內(nèi)存中。每次啟動(dòng)操作系統(tǒng)都動(dòng)態(tài)的生成。里面都是描述進(jìn)程相關(guān)的信息。

            6.pkill 進(jìn)程名 只通過進(jìn)程名結(jié)束進(jìn)程

            7.nice與renice 設(shè)置進(jìn)程優(yōu)先級(jí)與改變正在運(yùn)行進(jìn)程優(yōu)先級(jí)
               優(yōu)先級(jí)的取值范圍是(-20,19),優(yōu)先級(jí)的值越小,優(yōu)先級(jí)就越高
               格式:nice -num command 與renice -num pid

            8.nohup

            9.進(jìn)程的掛起和恢復(fù)
            進(jìn)程掛起 ctrl+z
            進(jìn)程終止 ctrl+c
            查看被掛起的進(jìn)程或者后臺(tái)進(jìn)程 jobs
            掛起進(jìn)程恢復(fù)到前臺(tái)繼續(xù)運(yùn)行 fg num(這個(gè)num就是jobs查看時(shí)前面那個(gè)序號(hào))
            掛起進(jìn)程恢復(fù)到后臺(tái)繼續(xù)運(yùn)行 bg num

            10.top 進(jìn)程狀態(tài)顯示與進(jìn)程控制(默認(rèn)5秒動(dòng)態(tài)跟新一次)
            在top運(yùn)行時(shí)按d:指定刷新的時(shí)間間隔


            二、計(jì)劃任務(wù)
                    那首先就是為什么要有計(jì)劃任務(wù)?我們知道很多時(shí)候某些特定的任務(wù)并不是實(shí)時(shí)去做的,有時(shí)候是在特定時(shí)段,比如深夜的某些時(shí)候來執(zhí)行某段特定的任務(wù)。固計(jì)劃任務(wù)應(yīng)運(yùn)而生。
                    計(jì)劃任務(wù)一般分為一次性計(jì)劃任務(wù)和周期性計(jì)劃任務(wù)兩種。首先來談第一種的一次性計(jì)劃任務(wù)。一次性計(jì)劃任務(wù)有兩個(gè)需要掌握的命令at和batch。
            1.at 安排一個(gè)或多個(gè)命令在特定時(shí)間下運(yùn)行一次
            (1)命令時(shí)間的指定方法
                絕對(duì)計(jì)時(shí)法 ---- hh:mm MM/DD/YY
                相對(duì)計(jì)時(shí)法 ---- now +n minutes(hours days)


            (2)指定一個(gè)命令或多個(gè)命令的計(jì)劃任務(wù)執(zhí)行
            I.執(zhí)行at 時(shí)間以后會(huì)進(jìn)入at命令行,輸入命令的絕對(duì)路徑(安全)。輸入完一條命令然后按回城接著第二條命令,最后都輸入完畢以后按ctrl+d就保存了。


            II.當(dāng)任務(wù)比較復(fù)雜的時(shí)候,通常使用腳本的方式來執(zhí)行。假設(shè)生成一個(gè)腳本文件at.scripte。那么通過at -f 文件名 時(shí)間就可以指定。

            (3)at -l 查看隊(duì)列中的任務(wù) at -d 序號(hào) 刪除計(jì)劃任務(wù)

                 其中a是表示active,第一個(gè)數(shù)字表示任務(wù)的序號(hào)
                 通過at -d 序號(hào)來刪除計(jì)劃任務(wù)。寫完的計(jì)劃任務(wù)是存放在/var/spool/at目錄里的。

            (4)at的配置文件
                 并不root才能使用at,這里有兩個(gè)文件一個(gè)是/etc/at.allow,一個(gè)是/etc/at.deny。如果只有/etc/at.deny存在,那么該文件中列出的用戶不能使用at。如果只有/etc/at.allow存在,那么只有該文件中列出的用戶能使用at。如果兩個(gè)文件都存在且為空,那么所有用戶都可以使用at。如果兩個(gè)文件都不存在那么只有root才可以使用at。

            2.batch 安排一個(gè)或多個(gè)命令在系統(tǒng)負(fù)載教輕時(shí)執(zhí)行一次
            用法同at,一般負(fù)載在0.8以下為較輕(w可查看負(fù)載)

            3.crontab 周期性計(jì)劃任務(wù)命令,用于生成cron進(jìn)程所需的crontab文件
            (1)conttab時(shí)間格式
                分鐘 小時(shí) 天 月 星期 命令/腳本
                minute hour dayofmonth monthfoyear dayofweek commands
               只要把知道的具體時(shí)間添上,不知道的用*添上即可。
               比如:
                       每天凌晨4點(diǎn)備份 0 4 * * * barkup.scrip
                       1到3月每周2周5下午6點(diǎn)備份 0 18 * 1-3 2,5 barkup.scrip
                       中午12-14點(diǎn)每隔2分鐘執(zhí)行操作 */2 12-14 * * * 操作

            (2)crontab -e 進(jìn)入文件編輯周期性計(jì)劃任務(wù)
                直接crontab 進(jìn)入命令界面輸入任務(wù)
                周期性計(jì)劃任務(wù)都存放在/var/spool/cron目錄下。

            (3)/etc/crontab配置文件 /etc/cron.allow /etc/cron.deny
                該配置文件設(shè)置的crontab的一些環(huán)境變量以及系統(tǒng)一些默認(rèn)固定的周期計(jì)劃任務(wù)。/etc/cron.allow與/etc/cron.deny的用法與at命令類似。

            posted @ 2012-09-03 17:01 鑫龍 閱讀(408) | 評(píng)論 (0)編輯 收藏

                linux用戶管理部分主要介紹5個(gè)內(nèi)容,用戶管理配置文件,用戶管理命令,用戶組管理命令,批量添加用戶,用戶授權(quán)。

            一、用戶配置文件

                 上圖就是我們需要掌握的一些配置文件,下面我們一一來解讀:

            (1)/etc/passwd 用戶信息文件
            在學(xué)習(xí)這個(gè)配置文件的時(shí)候,我們可以通過man 5 passwd來查看下這個(gè)配置文件的幫助,其中參數(shù)5是用來區(qū)分命令與配置文件的。從幫助文檔中可以看到這個(gè)配置文件的每一行的一個(gè)統(tǒng)一格式:

            然后我們more 一下這個(gè)配置文件,

            看到這個(gè)與man得到的格式是匹配的,這樣我們就一個(gè)一個(gè)弄清每一位的作用。
            1.用戶名與UID
                 linux用戶類型分為三種:超級(jí)用戶(UID=0),偽用戶(UID=1-499),普通用戶(UID=500-60000)。可以看到通過用戶名和用戶的UID就可以確認(rèn)一個(gè)用戶的類型。root用戶正是因?yàn)槠銾ID為0,才獲得了超級(jí)用戶的權(quán)限,倘若你把你自己添加的用戶的用戶的UID也改為0,那便同樣擁有的超級(jí)用戶的權(quán)限。
                 那偽用戶什么呢?其實(shí)這些用戶是并不能實(shí)際登陸的。偽用戶有如下特征:

                 總之,偽用戶的出現(xiàn)是為了安全,防止壞人在獲得某些程序或者服務(wù)的控制權(quán)以后。進(jìn)行破壞,所以給了一個(gè)特殊的用戶。而最后的普通用戶,就是你自己添加的用戶了。

            2.密碼
                  密碼很簡(jiǎn)單,這里其實(shí)并不是真正的密碼,只是一個(gè)密碼位。其實(shí)這里本來是密碼的,只不過后來被轉(zhuǎn)移到其他的地方去了(轉(zhuǎn)移到/etc/shadow)。當(dāng)然我們也可以把密碼移回來,通過pwunconv與pwconv實(shí)現(xiàn)互操作。

                  可以看到密碼其實(shí)是被md5算法加密過的密文,并不是明文(md5sum)

            3.GID 用戶組ID
            用戶組是許多用戶的集合。添加一個(gè)新用戶,必須給予這個(gè)用戶一個(gè)用戶組,一般linux給新用戶分配組有兩種策略:要么是給所有新用戶默認(rèn)分配一個(gè)統(tǒng)一的組,要么創(chuàng)建一個(gè)與用戶名想同名字的用戶組,讓該用戶成為改組成員。centOS就是用的后一種。

            4.注釋性描述 宿主目錄 命令解釋器 (略)

            (2)/etc/shadow 用戶密碼文件
            同樣man 5 shadow獲得格式說明:


            1.用戶名和密碼 
                  這個(gè)文件就是保存用戶真正密碼的文件,如果把這個(gè)配置文件的某些用戶的密碼刪掉,(ps:普通用戶對(duì)這個(gè)配置文件是沒有w權(quán)限的,只有用root用戶修改),那么這些用戶無需密碼就可以登錄系統(tǒng)。

            2.最后一次修改時(shí)間
                 這個(gè)是計(jì)算修改密碼的那天與1970.1.1相差的天數(shù)

            3.最小時(shí)間間隔和最大時(shí)間間隔、警告時(shí)間
                最小時(shí)間間隔設(shè)置的是兩次更改密碼的最小時(shí)間間隔(0是不限定)。最大的時(shí)間間隔就是如果在這個(gè)時(shí)間之內(nèi)不改密碼將無法登陸系統(tǒng)。當(dāng)然我們不可能去計(jì)算還差多少天就要更改密碼了,所以通過警告時(shí)間來告知用戶,距離最大時(shí)間間隔還差多少天。

            4.賬號(hào)閑置時(shí)間、失效時(shí)間、標(biāo)志 (略)

            (3)/etc/skel 新用戶配置文件目錄
                 這個(gè)目錄中,全是隱藏的文件,大都是用來給用戶登錄時(shí)候使用的配置文件,如果你新添加一個(gè)用戶,系統(tǒng)會(huì)把該目錄中的文件拷貝到用戶默認(rèn)的宿主目錄中去,以幫助新添加的用戶此后登錄系統(tǒng)。

            (4)/etc/login.defs與/etc/useradd  用戶默認(rèn)配置文件
                通過查看這兩個(gè)文件,我們發(fā)現(xiàn),這其中描述的是關(guān)于/etc/passwd、/etc/shadow中默認(rèn)配置的內(nèi)容設(shè)定。也就是說/etc/passwd、/etc/shadow、還有登錄的缺省信息是哪里來的呢?就是從這兩個(gè)文件來的。我們可以通過修改這兩個(gè)文件里面的內(nèi)容來修改一些默認(rèn)的設(shè)置。

            (5)/etc/issue和/etc/motd
                這兩個(gè)文件是用來設(shè)置每日消息的,但有什么不同呢?通過一個(gè)例子來說明。首先修改兩個(gè)文件里的內(nèi)容。


                 可以看到效果,issue的每日消息,是在用戶尚未成功登錄系統(tǒng)時(shí)候時(shí)候就會(huì)顯示的。而motd中的消息是在成功登錄系統(tǒng)以后才會(huì)顯示。

            (6)手動(dòng)添加用戶專題
                 在我們添加用戶時(shí)候,最常用的方法就是使用useradd 用戶名 添加一個(gè)用戶,然后再用passwd 用戶名 給該用戶設(shè)置密碼。但是useradd指令的原理是什么,背后到底做了什么事情呢?今天我們就手動(dòng)來添加以下用戶:
            1.在/etc/passwd配置文件中添加用戶

            2.在/etc/shadow配置文件中添加用戶

            3.創(chuàng)建宿主目錄(創(chuàng)建的宿主目錄,忘記更改所有者了。。!囧!)

            4.把/etc/skel目錄下的文件拷貝到宿主目錄中


            (7)普通用戶如何改密碼
                  通過ls -l /etc/passwd /etc/shadow 查看這兩個(gè)配置文件,我們可以看

            到,對(duì)于普通用戶others是沒有修改權(quán)限W的。那為什么普通用戶能夠修改密碼呢?
                 其實(shí)原因在于用戶改密碼的命令passwd,我們查看下passwd

            可以看到在這個(gè)用戶的權(quán)限中,有一個(gè)s標(biāo)記,這不同于我們以往認(rèn)識(shí)的,文件只有rwx這三種權(quán)限,那s到底是什么意思呢?其實(shí)我們把s稱作為SetUID。

                 SetUID只能是針對(duì)文件,針對(duì)目錄無效。換句話說,passwd的擁有者是root,那么以后其他用戶在執(zhí)行passwd這個(gè)文件的時(shí)候,會(huì)突然"穿越時(shí)空"臨時(shí)性的變成root用戶,這樣就可以修改密碼了。那我們?cè)趺唇o文件設(shè)置SetUID的權(quán)限呢?要知道除了SetUID還有SetGID,功能類似,只不過針對(duì)用戶組。那么SetUID的命令是,chmod 4xxx 或者chmod u+s。SetGID是chmod 2xxx或者chmod g+s。下面我來做一個(gè)實(shí)驗(yàn):

                 可以看到我給touch命令了setUID權(quán)限,然后再切換用戶到mysileng,通過mysileng用戶創(chuàng)建了一個(gè)文件,但是我們發(fā)現(xiàn),創(chuàng)建文件的owner即擁有者是root而不是mysileng用戶,這就證明了setUID的功能。其實(shí)SetUID是很危險(xiǎn)的,假若有壞人給VI授予了SetUID,那不是?。。。。。恐怖。。。~~
                 為了安全,我們可以定時(shí)對(duì)所有的文件中擁有SetUID或者SetGID的文件進(jìn)行查找,看有什么變化。命令是find / -perm -4000 -o -2000。0代表的是不限制。
                 我們通過umask可以查看到缺省最高位是0,這一位除了可以是2,或者4之外,可以設(shè)置為1。那是這什么功能呢?一般我們叫著黏著位。黏著位用t來表示,這個(gè)功能只能針對(duì)目錄來設(shè)置,并且是針對(duì)權(quán)限中的ohters用戶,而且這個(gè)目錄權(quán)限一定是777(rwx)。本來在沒有黏著位的情況下,如果一個(gè)目錄ohters的權(quán)限是是777,那么所有普通用戶可以在這個(gè)文件夾中任意創(chuàng)建文件然后任意刪除文件。
                 但是在設(shè)置了黏著位以后,用戶們?cè)谠撐募A中,只能刪除自己創(chuàng)建的文件了。下面做一個(gè)實(shí)驗(yàn):


            (8)/etc/group與/etc/gshadow 用戶組配置文件與用戶組密碼文件
                   基本上與passwd和shadow文件的功能類似,以下是具體格式解釋:



            二、用戶與用戶組管理命令
            (1)用戶管理命令
            1.添加用戶

            2.修改用戶信息
               usermod -l 新用戶名 -d 新的宿主目錄 -g 用戶組
               -l是更改用戶名,-d是給更改宿主目錄,-g是分配用戶組
               usermod -G 用戶名 用戶組1 用戶組2...
               -G把用戶添加到多個(gè)組作用
            3.刪除用戶
              userdel -r 用戶名
              -r是刪除宿主目錄
              如果想手動(dòng)刪除一個(gè)用戶:首先刪除/etc/passwd、/etc/shadow中的用戶信息,然后再/etc/group與/etc/gshadow中也刪除用戶信息,然后刪除宿主目錄,再通過find / -user 用戶名 -ok rm {}\;刪除以該用戶是onwer的文件。
            4.其他命令

            pwch 可以檢查文件的格式錯(cuò)誤
            vipw與vi passwd的不同之處在于,可以鎖定文件,避免寫混亂。
            su 用戶名 與 su -用戶名的不同之處在于,改變用戶是否也跟著改變環(huán)境上下文。


            (2)用戶組管理命令
            1.添加用戶組
               groupadd -g gid 組名
            2.刪除用戶組
               groupdel 組名
            3.修改用戶組信息
               groupmod -n namm 組名 //修改組名
            4.用戶組密碼修改命令
               直接gpasswd 用戶組名就可以設(shè)置和更改組密碼

            5.其他命令


            三、批量添加用戶
                 介紹兩種方法批量添加:手動(dòng)批量添加,shell腳本批量添加。現(xiàn)在只講前一種,后一張?jiān)趕hell腳本章節(jié)再講。那手動(dòng)批量添加的步驟是:
            1.通過vi撰寫所需要添加的用戶信息文件,格式與passwd類似(假設(shè)為user.info)
            2.通過newusers導(dǎo)入需要添加的用戶信息文件:newusers < user.info
            3.再通過pwunconv取消shadow文件,并寫一個(gè)關(guān)于用戶的密碼文件,假設(shè)為pass.info。格式為:新添加的用戶名:用戶密碼
            4.通過chpasswd命令導(dǎo)入新添加用戶的密碼:chpasswd < pass.info
            5.最后調(diào)用pwconv重新生成shadow文件即可。

            四、用戶授權(quán)
                  給用戶授權(quán)是很重要的。通常我們使用對(duì)用戶組的巧妙分配可以達(dá)到某些授權(quán)的目的,比如現(xiàn)在有一個(gè)需求:su命令是用來切換用戶的,假若普通用戶天天沒事就切換root用戶,那么不是早晚一天能被猜中密碼,所以我們讓一般人不具有執(zhí)行的su命令的權(quán)限,而只有特定人可以su。那我們?cè)趺醋觯?br />      首先我們創(chuàng)建一個(gè)用戶組sugroup,然后把su文件給予權(quán)限4550,關(guān)鍵是要把ohers的x權(quán)限去掉。然后通過chgrp更改su命令的用戶組,使sugroup變成su的用戶組,這樣普通的用戶是沒有執(zhí)行的權(quán)力的,只有root和進(jìn)入了sugroup的成員才可以執(zhí)行su命令。

                  當(dāng)然除了通過用戶組來授權(quán)之外,常用的授權(quán)工具sudo是我們要了解的重點(diǎn)。sudo軟件可以讓用戶使用sudo授權(quán)的命令時(shí)臨時(shí)升級(jí)成root用戶(類似setid)。那么要簡(jiǎn)單學(xué)習(xí)sudo只需要學(xué)習(xí)命令visudo和配置問件/etc/sudoers。visudo是對(duì)etc/sudoers進(jìn)行編輯的編輯命令,與vi不同的是,因?yàn)?etc/sudoers是被鎖定的配置文件,所以用vi編輯是無效的,就必須使用visudo來編輯。那/etc/sudoers里面每行的格式是什么呢?
            用戶名(或用戶組名)  主機(jī)地址=命令(命令的絕對(duì)路徑)
            這樣就表示給了這個(gè)用戶什么命令的權(quán)限,多條命令用,分割。sudo軟件最方便的就是可以把權(quán)限精確到某條命令的某條參數(shù)。比如:

                 可以當(dāng)?shù)降诙薪o予了csdn2這個(gè)用戶馬上關(guān)機(jī)的權(quán)限,那么它就只能執(zhí)行這條命令并帶這些參數(shù),如果換了其他參數(shù)是沒有權(quán)限執(zhí)行的。
                 執(zhí)行sudo授予的命令要通過sudo 命來調(diào)用,而且調(diào)用后還要求驗(yàn)證當(dāng)前用戶密碼來保證安全。其中命令有時(shí)候因?yàn)閜ath問題可能要輸入絕對(duì)路徑。例如:

                 此外可以通過sudo -l查看當(dāng)前用戶被sudo授權(quán)了那些命令。

            posted @ 2012-08-27 11:08 鑫龍 閱讀(401) | 評(píng)論 (0)編輯 收藏

                  今天我們來講linux軟件包管理,因?yàn)閘inux版本的不同,軟件包的管理稍有區(qū)別。在redhat系列里,我們二進(jìn)制軟件包的管理比較傾向于RPM和YUM。而在debian系列中,我們廣泛使用APT的管理方式。
                  軟件包的管理一般分為三種:二進(jìn)制軟件包管理、源代碼包管理、腳本安裝(shell或java)。其中我們的重點(diǎn)是二進(jìn)制軟件包的管理,其他的兩種用案例來說明。
            一、RPM包管理
                  由上面RPM例子可知關(guān)于軟件包的名字。注意,安裝的時(shí)候需要使用的是軟件包的全稱,而卸載的時(shí)候只需要使用軟件的名稱。接下來介紹rpm使用命令:
            (1)rpm卸載
                  從例子可以看出,是使用rpm -m 軟件名 來卸載一個(gè)軟件的,但是在卸載samba的時(shí)候卻被告知,因?yàn)閟amba被另外一個(gè)軟件依賴而卸載失敗。兩種辦法,一就是把依賴samba的先卸載再來卸載samba,二就是通過--nodeps選擇來強(qiáng)行卸載。

            (2)rpm安裝
                 既然我們之前卸載了sudo軟件,那我們現(xiàn)在就來安裝sudo.軟件包的獲取要么是從網(wǎng)站下載的或者是從光盤獲得安裝。sudo就在系統(tǒng)安裝盤里就有。那么要用光盤進(jìn)行安裝之前,我們要對(duì)光盤進(jìn)行掛載(光盤掛載),也就是通過系統(tǒng)文件的方法訪問光盤。通常我們系統(tǒng)在/mnt目錄中創(chuàng)建文件進(jìn)行掛載,通過monut指令就可以進(jìn)行掛載了,記得把光盤放入光驅(qū),不然會(huì)提示找不到介質(zhì)。
            在掛載成功后,我們?cè)L問/mnt/cdrom就相當(dāng)于訪問光盤了。進(jìn)入光盤,再進(jìn)入CentOS目錄,我們可以發(fā)現(xiàn)所有的RPM軟件安裝包都在這個(gè)目錄里面,通過ls | grep sudo 我們可以發(fā)現(xiàn)有我們需要的sudo軟件安裝包。然后通過rpm -ivh 軟件包全名 就可以安裝軟件包。其中-i就是安裝的install,-v是查看安裝過程信息,-h是顯示安裝進(jìn)度。

            (3)rpm查詢
                  通過rpm -q 軟件名 來查詢?cè)撥浖欠褚呀?jīng)安裝,但當(dāng)你對(duì)軟件名記不清或者與某些關(guān)鍵詞相關(guān)的軟件感興趣時(shí),可以通過rpm -qa | grep 軟件關(guān)鍵字 來查已安裝的軟件包。-qa是表示查詢所有軟件包。

            (4)rpm校驗(yàn)
                  使用rpm -V 軟件名 可以對(duì)這個(gè)軟件的所有文件進(jìn)行校驗(yàn),如果校驗(yàn)沒有問題會(huì)沒有任何提示,如果出現(xiàn)問題,會(huì)以字母的方式告知。

            (5)rpm提取(修復(fù)時(shí)常用命令)
                  當(dāng)有些軟件的某個(gè)文件或者配置文件順壞或者丟失的時(shí)候,我們需要從rpm軟件安裝包中把所需的文件提取出來來修復(fù)軟件。我們可以使用rpm2cpio命令來實(shí)現(xiàn)。

            (6)附加參數(shù)
            --excludedocs 不安裝軟件包中的文檔文件
            --prefix=Path 將軟件包安裝到由path指定的路徑下(注:大多rpm都不允許改變安裝目錄),下例中predix等號(hào)后面即path。
            --test 只對(duì)安裝進(jìn)行測(cè)試,并不實(shí)際安裝。
            --replaceplgs 進(jìn)行覆蓋安裝,當(dāng)軟件包已安裝了,可以使用該命令進(jìn)行覆蓋安裝。
            --repalcefiles 如果正在安裝的軟件包中的某一個(gè)文件在其他已安裝過的軟件包中安裝了,那么就會(huì)出現(xiàn)文件沖突的錯(cuò)誤,通過該參數(shù)忽略錯(cuò)誤,繼續(xù)安裝。
            --nodeps 這個(gè)參數(shù)在卸載時(shí)候有用。在安裝時(shí)候也有用,有時(shí)候在安裝軟件包時(shí)候,所依賴的軟件包沒有,就會(huì)安裝不了,那么如果仍想安裝就只有用nodeps參數(shù)。
            -U 對(duì)軟件包進(jìn)行升級(jí)。


            二、YUM包管理
                 正是因?yàn)閞pm對(duì)于軟件包的互相依賴關(guān)系的支持差勁,所以yum應(yīng)運(yùn)而生。yum的兩個(gè)好處就是:自動(dòng)解決軟件包間的依賴關(guān)系和方便升級(jí)。yum應(yīng)用需要聯(lián)網(wǎng)才能發(fā)揮價(jià)值。
            (1)yun安裝與檢測(cè)升級(jí)

            通過yum install 軟件名 來聯(lián)網(wǎng)進(jìn)入下載安裝,它會(huì)為你自動(dòng)下載所有所需的依賴軟件包。通過yum check-update 軟件名 來聯(lián)網(wǎng)檢測(cè)是否有需要跟新軟件。在檢測(cè)升級(jí)以后,通過yum update 軟件名 來升級(jí)。

            (2)其他命令
            yum list 查詢yum源的所有軟件包。通過yum list | grep 軟件名 可以查詢當(dāng)前軟件是否安裝等信息。
            yum info 軟件名 查詢yum源中軟件包里的信息
            yum remove 軟件名 卸載軟件

            三、源代碼包安裝
                  源代碼安裝分幾個(gè)步驟:首先下載源代碼包,通常是.gz或者.bz2結(jié)尾的;或者源代碼包以通過tar -xzvfjc 等命令進(jìn)行解壓;解壓完成以后進(jìn)入解壓目錄會(huì)看見一個(gè)confing的文件,然后通過./confing命令運(yùn)行該配置,當(dāng)然這個(gè)配置的過程通常都是收集一些環(huán)境信息和生成一些必要的文件,如果一些依賴的軟件沒有當(dāng)然需要裝好(用yum吧。。各種快);然后再執(zhí)行make命令進(jìn)行編譯;編譯結(jié)束以后執(zhí)行make install進(jìn)行安裝,這個(gè)過程一般是一些拷貝到不同目錄和一些配置文件生成。這樣一個(gè)標(biāo)準(zhǔn)的源代碼包就安裝完成了。

            可以參考這篇博文:http://criss.blog.51cto.com/1048459/464581

            四、腳本安裝
                  當(dāng)你下載tar包里面沒有config這個(gè)文件時(shí),很可能就是用腳本的方式安裝了。也是先解壓,然后查看下README或INSTALL這類說明,然后找到安裝腳本運(yùn)行即可。


            五、APT包管理

            posted @ 2012-08-23 16:21 鑫龍 閱讀(362) | 評(píng)論 (0)編輯 收藏

                  首先grub的配置文件是存放在路徑/boot/grub/grub.conf中,還有一個(gè)軟鏈接是在/etc/grub.conf中。接下來解析一些配置選項(xiàng):

            1.default:定義缺省啟動(dòng)的操作系統(tǒng),在多系統(tǒng)時(shí)適用。 

            2.timeout:定義缺省等待的時(shí)間。

            3.splashimage:定義grub界面圖片的路徑
            比如:(hd0,0)/grub/splash.xpm.gz
            (hd0,0)是什么意思呢?hd是硬盤的意思,一般hda表示第一個(gè)硬盤,而hdb表示第2個(gè)硬盤。在grub里面hd0就是hda的意思,hd1就是hdb的意思。而逗號(hào)后面的0表示第一個(gè)分區(qū)的意思。所以(hd0,0)表示第一個(gè)硬盤的第一個(gè)分區(qū)。
            4.hiddenmenu:隱藏菜單

            5.title:定義上述隱藏菜單的菜單項(xiàng)名稱

            6.root: 定義/boot目錄的分區(qū)位置(設(shè)置grub程序的位置)

            7.kernel :定義了內(nèi)核所在的位置

            8.initrd:加載鏡像文件


             接下來介紹一些grub的簡(jiǎn)單命令與應(yīng)用。

            e:編輯當(dāng)前的啟動(dòng)菜單項(xiàng)

            c:進(jìn)入grub的命令行方式

            b:?jiǎn)?dòng)當(dāng)前菜單項(xiàng)

            d:刪除當(dāng)前行

            ESC:返回grub啟動(dòng)菜單界面,取消對(duì)當(dāng)前菜單項(xiàng)的任何修改

            通過上述命令我們可以做些簡(jiǎn)單應(yīng)用:

            一、root密碼忘記如何進(jìn)入單用戶模式

                 單用戶模式只有root可以進(jìn)入,所以進(jìn)入單用戶模式是不需要輸入root密碼的,所以忘記密碼,可以進(jìn)入單用戶密碼來更改root的密碼。

            開機(jī)進(jìn)入grub界面時(shí),按e進(jìn)入編輯行模式,選中kernel行,再按e,在新的界面的最后一行輸入l(與前一個(gè)字母有一個(gè)空格)。回車以后按b即可。

            同樣如果遇到inittab的默認(rèn)運(yùn)行級(jí)別被改成0或者6的話,可以通過上述grub的指定方式直接進(jìn)入某種運(yùn)行級(jí)別再修改配置文件。

            二、設(shè)置grub密碼

                  先用下面兩種方式得到明文的MD5密文

            1.輸入grub-md5-crypt

            2.先輸入grub,在輸入md5crypt

            然后復(fù)制密文,進(jìn)入grub.conf配置文件中

            在title項(xiàng)前加入一行選項(xiàng):

            password --md5 密文

            三、grub修復(fù)
            首先按下c鍵進(jìn)入grub命令行,通過通過命令行手動(dòng)啟動(dòng),而不是通過grub.conf文件。

            posted @ 2012-08-22 19:31 鑫龍 閱讀(445) | 評(píng)論 (0)編輯 收藏

                  引導(dǎo)流程解析共分成三個(gè)部分,分別是linux引導(dǎo)流程、linux運(yùn)行級(jí)別、linux啟動(dòng)服務(wù)管理。下面一個(gè)一個(gè)來:

              上
                 上圖就是系統(tǒng)引導(dǎo)流程的流程圖,我們一個(gè)部分一個(gè)部分來分別介紹:

                  一、固件:電腦按下電源以后,首先都是加載固件,叫做firmwall,PC上面應(yīng)用最多的就是CMOS/BIOS(CMOS是固化在硬件上的那段程序,BIOS是基于這個(gè)程序的圖形化管理界面),它既不是硬件也不是軟件,它主要的功能是在硬件層面進(jìn)行加電自檢(通常是檢查線連上沒,硬件可以識(shí)別沒)。在SUN的系統(tǒng)里不叫cmos而叫prom,也不叫bios而叫openbooter,所以名字雖然不同但是原理是差不多的,要學(xué)習(xí)這些固件,在購(gòu)買服務(wù)器的時(shí)候,會(huì)有操作手冊(cè),上面會(huì)有各種命令的解釋。固件設(shè)置里面只講一點(diǎn)就是硬件時(shí)鐘和軟件時(shí)鐘的設(shè)置(hwclock與date)。

                  二、自居程序:在進(jìn)行完加電自檢,電腦會(huì)開始讀硬盤,首先讀的是MBR(master boot recorder)主引導(dǎo)記錄,主引導(dǎo)記錄在0柱面0磁頭1扇區(qū)的位置。主引導(dǎo)記錄分3個(gè)部分:自居程序bootloader,磁盤分區(qū)表Partition table,結(jié)束標(biāo)志字magic number。
            自居程序在所有的操作系統(tǒng)里面都有,在linux自居程序中廣泛應(yīng)用的是grub(windows的自居程序在C盤可以查看到,NTloader)。那自居程序grub有什么用呢?它最重要的作用就是載入內(nèi)核。其實(shí)內(nèi)核在/boot文件夾是可以查看到的,內(nèi)核其實(shí)是一個(gè)可執(zhí)行文件而不是一堆文件。一堆文件的那個(gè)是內(nèi)核的源代碼文件而不是可以使用的內(nèi)核程序。內(nèi)核的版本號(hào)和名字等配置信息可以在/etc/grab.conf配置文件查看,該配置文件具體的內(nèi)容將在后續(xù)中詳細(xì)剖析。

             

                  三、載入內(nèi)核:在載入內(nèi)核以后,工作就交給了內(nèi)核。內(nèi)核在引導(dǎo)期間,其實(shí)最主要只做兩個(gè)事情:1.首先是驅(qū)動(dòng)硬件,所謂驅(qū)動(dòng)就是使系統(tǒng)認(rèn)識(shí)硬件,并調(diào)用硬件。一個(gè)系統(tǒng)最龐大的部分就是驅(qū)動(dòng),通常根據(jù)需要對(duì)驅(qū)動(dòng)進(jìn)行裁剪,就成了裁決系統(tǒng)。2然后就是啟動(dòng)一個(gè)進(jìn)程,叫做init進(jìn)程。它應(yīng)該是系統(tǒng)存在的第一個(gè)進(jìn)程。

                  四、啟動(dòng)進(jìn)程init:該進(jìn)程的的PID(進(jìn)程ID)恒為1,一般情況下PID是隨即分配的,但是init進(jìn)程是固定的。PPID稱為父進(jìn)程ID,可以看出init進(jìn)程的父進(jìn)程的PID為0,其實(shí)PID為0的進(jìn)程是內(nèi)核調(diào)度器(kernel scheduler)它負(fù)責(zé)對(duì)進(jìn)程進(jìn)行調(diào)度,即CPU時(shí)間片的分配。

            在父子進(jìn)程關(guān)系中,按道理父進(jìn)程死了,子進(jìn)程必須死。但是有時(shí)候父進(jìn)程死了,但是子進(jìn)程因?yàn)槟撤N特殊情況并沒有死,這樣子進(jìn)程就成了孤兒進(jìn)程,linux檢查到孤兒進(jìn)程,會(huì)把該孤兒進(jìn)程的PPID變成1。另外一種情況,就是子進(jìn)程死了,父進(jìn)程不知道,導(dǎo)致子進(jìn)程變成僵尸進(jìn)程。

                 五、讀取配置文件inittab:在啟動(dòng)進(jìn)程init以后,就會(huì)讀取/etc/inittab配置文件。使用more /etc/inittab打開inittab文件,首先看到的是關(guān)于系統(tǒng)運(yùn)行級(jí)別的信息。

            Linux運(yùn)行級(jí)別(runlevel)一共有7種:

            0halt(關(guān)機(jī))

            1.Singgle user mode(但用戶,類似windows的安全模式)

            2.Multiuser(沒有NFS網(wǎng)絡(luò)文件共享服務(wù)的多用戶模式,命令行)

            3.Full multiuer mode(和3一樣,多加了NFS)

            4.Unuerd(還未使用)

            5.X11(默認(rèn)使用,圖形界面)

            6.Reboot(重啟)

                 如上所述默認(rèn)的一般是5.通過命令runlevel可以查看當(dāng)前運(yùn)行級(jí)別。通過init num或者telinit num可以動(dòng)態(tài)切換運(yùn)行界別。(其實(shí)通過ls -l 'which telinit'可以得知telinit是init的一個(gè)軟鏈接)。

                 接著繼續(xù)學(xué)習(xí)inittab配置文件,使用grep -v '^#' /etc/inittab | more 得到?jīng)]有注釋的配置文件。通過man init可以得知,所有init配置文件里面的每行都是通過格式

            id : runlevels : action : process

            id:標(biāo)識(shí)符,標(biāo)記條目的唯一性,一般為兩位字母或者數(shù)字

            runlevels:指定運(yùn)行級(jí)別,如果為空,表示所有運(yùn)行級(jí)別都可以。

            action:指定腳本或者命令的運(yùn)行狀態(tài)

            process:指定要運(yùn)行的腳本或者命令

                下面對(duì)action的取值進(jìn)行介紹:

            1.initdefault:指定系統(tǒng)缺省啟動(dòng)的運(yùn)行級(jí)別

            2.sysinit:系統(tǒng)啟動(dòng)時(shí),執(zhí)行process指定的腳本或命令


            3.wait:執(zhí)行process指定的命令或者腳本,并在執(zhí)行完成以后才運(yùn)行其他的條目.

            4.once:執(zhí)行process命令或者腳本,但不等待其結(jié)束。

            5.Ctrlaltdel:按下ctrl+alt+del鍵,執(zhí)行process

            6.Respawn:一旦該process終止,則重新運(yùn)行該process指定的命令或。

            7.Powerfail:電源出錯(cuò)執(zhí)行process

            8.Powerokwait:電源恢復(fù)執(zhí)行的process


                  上述第三個(gè)action值wait的例子中,其實(shí)通過ls -l /etc/rc.d/rc可以得知,rc其實(shí)是一個(gè)可執(zhí)行文件(其實(shí)也是腳本)。在rc.d這個(gè)目錄下其實(shí)并不只有rc這一個(gè)文件,還有許多文件或者目錄。
                  可以看到有從rc0.d到rc6.d共7個(gè)目錄。他們是相應(yīng)運(yùn)行級(jí)別需要啟動(dòng)的服務(wù)目錄文件。系統(tǒng)是通過action:initdefault的運(yùn)行級(jí)別來匹配這里的服務(wù)目錄的。現(xiàn)在以rc3.d為例:

                  可以看到rc3.d目錄下有很多服務(wù)程序,從他們的名稱中,我可以可以得知它們的作用,名稱都是有3個(gè)部分組成:

                                         第一個(gè)大寫字母+數(shù)字+名字

                  第一個(gè)大寫字母S(start)表示啟動(dòng)服務(wù),K(kill)表示殺死服務(wù)

            數(shù)字表示啟動(dòng)順序,數(shù)字越小越先啟動(dòng),數(shù)字相同,按照創(chuàng)建時(shí)間啟動(dòng),名字根據(jù)作用而定。

                  所以在這里我們可以根據(jù)自己應(yīng)用的需要,把有用的進(jìn)程開啟,無用的關(guān)閉,比如如果無用的不想開啟,可以把S改成s,就不會(huì)啟動(dòng)了。

                 此處加一個(gè)專題,就是我們?nèi)绾卧谙到y(tǒng)啟動(dòng)好以后來動(dòng)態(tài)開啟和關(guān)閉服務(wù)呢?
                 首先我們要知道,系統(tǒng)所有的服務(wù)都是在/etc/rc.d/init.d目錄下。我們可以通過start、stop、restart、status來啟動(dòng)、終止、重新啟動(dòng)、查看狀態(tài)來操作服務(wù)。例如:用sshd服務(wù)為例:

                  現(xiàn)在我們?nèi)绻岩粋€(gè)服務(wù)變成開機(jī)啟動(dòng)有3種方法:

            (1)第一個(gè)就是在/etc/rc.d/rcn.d的服務(wù)目錄中創(chuàng)建一個(gè)名為SXXX的軟鏈接,指向一個(gè)腳本就可以了。


            (2)使用chkconfig命令設(shè)置進(jìn)程是否啟動(dòng)

            (3)使用ntsysv進(jìn)入圖形化設(shè)置進(jìn)程是否啟動(dòng) 

            posted @ 2012-08-22 17:59 鑫龍 閱讀(297) | 評(píng)論 (0)編輯 收藏

            僅列出標(biāo)題
            共20頁(yè): First 12 13 14 15 16 17 18 19 20 
            久久亚洲中文字幕精品有坂深雪 | 色妞色综合久久夜夜| 久久国产精品免费| 合区精品久久久中文字幕一区| 久久久无码精品亚洲日韩软件| 久久精品国产免费观看三人同眠| 精品久久久久久亚洲精品 | 久久综合视频网站| 一本久久a久久精品vr综合| 精品国产乱码久久久久久人妻| 久久久久久午夜精品| 久久久精品午夜免费不卡| 久久综合精品国产一区二区三区| 亚洲欧洲精品成人久久曰影片| 日本久久久久久中文字幕| 国产福利电影一区二区三区久久久久成人精品综合 | 久久精品二区| 97久久精品人妻人人搡人人玩| 中文成人久久久久影院免费观看| 国内精品伊人久久久影院| 97久久精品人妻人人搡人人玩| 欧美日韩精品久久免费| 国产69精品久久久久99尤物| 久久久一本精品99久久精品66| 国产69精品久久久久久人妻精品| 久久精品国产一区二区三区日韩| 亚洲国产精品无码久久久蜜芽| 亚洲欧美成人久久综合中文网| 久久精品人人做人人妻人人玩| 18禁黄久久久AAA片| 久久精品亚洲男人的天堂| 久久精品9988| 亚洲狠狠久久综合一区77777| 久久99精品免费一区二区| 精品久久久久久| 97精品久久天干天天天按摩| 久久亚洲精品成人AV| 午夜精品久久久久久99热| 久久久无码精品亚洲日韩蜜臀浪潮| 久久精品国产乱子伦| 少妇高潮惨叫久久久久久|