Solaris命令
一. 引言
---- UNIX系統作為一種強大的多用戶分時操作系統,在越來越多的場合受到了應用,同時,對UNIX的系統管理的要求也隨之越來越多,但目前的書籍對UNIX系統管理命令介紹的並不是很多。本文主要是針對UNIX系統管理員,以SUN SOLARIS 2.6 系統為例,列舉了一些UNIX常用的管理命令的使用及其使用中遇到的問題和解決方法,供大家參考。
二. 常用系統管理命令介紹
---- 1. share 和 mount 命令
---- 這是系統管理員常用的兩個命令,share命令用於把本機的目錄共享出來,以便其它UNIX系統可以使用;mount命令則用於把其它UNIX系統共享出來的目錄掛接到本機的掛接點上,從而可以使用其它UNIX系統的資源。 例如:
---- 在機器A上輸入 machineA# share -F nfs -o rw /share-dir
---- 在機器B上輸入 machineB# mount -F nfs machineA:/share-dir /mount-point
---- 第一條命令把機器A的 share-dir 目錄共享出來,並且共享的權限是可讀寫;
---- 第二條命令把機器A的共享目錄掛接到機器B的 mount-point 目錄上。
---- 完成這兩個命令後,用戶在機器B上通過對mount-point的訪問就可以操作機器A上的share-dir目錄了。
---- 但是有時我們操作時,在機器B上執行了mount命令後,會返回"RPC: Program not registered"這樣的錯誤,這是因為在機器A上缺少mountd和nfsd 這兩個守護進程(daemon)。UNIX系統啟動時,系統會自動檢查/etc/dfs/dfstab文件,如果文件中有要共享的資源,則啟動這兩個守護進程,反之,則不啟動。所以如果我們在/etc/dfs/dfstab中沒有內容,則系統不能啟動mountd和nfsd這兩個守護進程,用share命令共享的目錄也不能真正被別的系統共享。
---- 解決這個問題的方法很簡單,我們可以把要共享的目錄放入/etc/dfs/dfstab中,則下一次系統啟動時會自動共享這個目錄;另外,我們也可以手動啟動這兩個守護進程,方法是首先用超級用戶(root)登陸,在命令行輸入如下命令:
machine_A# /etc/rc3.d/S15nfs.server start
或輸入:
machine_A# /usr/lib/nfs/mountd
machine_A# /usr/lib/nfs/nfsd -a 16
就可以啟動這兩個守護進程了。
---- 守護進程啟動後,共享目錄才真正被共享出去,這時再在機器B上用mount命令就可以把機器A的目錄掛接到機器B上了。
---- 2. quota 系列命令
---- UNIX作為一種多用戶系統,它允許多個用戶共同使用系統的資源,包括系統的內存,CPU和硬盤。在默認情況下,系統並不會限制每個用戶可以使用硬盤空間的大小,所以如果用戶惡意使用硬盤,或用戶由於疏忽,將硬盤空間全部占用,將導致其他用戶無法使用硬盤,從而使系統性能下降,甚至有崩潰的危險。
---- 其實,UNIX提供的quota系列命令可以幫助我們解決這個問題,這些命令包括:
quota : 顯示用戶的硬盤限額和使用情況。
edquota : 為每個用戶設定硬盤限額。
quotaon: 啟動文件系統硬盤限額服務
quotaoff : 關閉文件系統硬盤限額服務
repquota : 顯示當前硬盤限額狀態
---- 配置這項服務的方法很簡單。但在使用硬盤限額服務之前,我們要明白硬限制和軟限制這兩個概念。所謂硬限制是指對資源節點和數據塊的絕對限制,在任何情況下都不允許用戶超過這個限制;而軟限制是指用戶可以在一定時間范圍內(默認時為一周,在/usr/include/sys/fs/ufs_quota.h文件中設置)超過軟限制的額度,在硬限制的范圍內繼續申請資源,同時系統會在用戶登錄時給出警告信息和仍可繼續申請資源剩余時間。如果達到時間期限,用戶的硬盤使用仍超過軟限制的額度,則系統將不允許用戶再申請硬盤資源。
---- 明白了這兩個概念,我們就可以配置硬盤限額服務了,首先我們必須在要限制的文件系統的根目錄下建立一名字為quotas的文件,該文件的所有者應是root,且其它用戶不可以對它進行寫操作。方法是:
---- # cd /home (進入文件系統根目錄,注意並不是系統根目錄,本例為/home目錄)
---- # touch quotas (創建一名字為quotas的空文件)
---- # chmod 644 quotas (更改文件屬性,使只有root可以對它進行寫操作)
---- 然後,我們編輯/etc/vfstab文件,找到要進行硬盤限額服務的文件系統,並將mount option字段的值設為rq,然後並存盤退出。
---- 完成這兩步後,我們使用edquota命令為每個用戶設置硬盤限額,在root權限下輸入以下命令:
#edquota username
這時系統會自動生成一個臨時文件,並且有如下內容:
fs /users blocks (soft = 0, hard = 0)
inodes (soft = 0, hard = 0)
---- 其中fs字段表明使用硬盤限額的文件系統,本例為/users,block和inodes表明用戶可以使用的硬盤千字節數和I節點數,即用戶可使用的硬盤空間和可建立的文件數,soft和hard分別對於前面提及的軟限制和硬限制。
---- 編輯這個文件,把軟,硬限制設置到合適的數值,然後存盤退出。這時我們可以看到quotas文件的大小已經被改變,說明用戶的限額已經儲存。重復這條命令,給每一個用戶都配置硬盤限額。另外,如果我們分配給用戶的硬盤限額都相同,我們可以使用 "-p" 參數而不用為每個用戶都編輯一個文件,它的使用方法是:
#edquota -p reference-username username
編輯完文件後,我們就可以用quotaon來啟動服務了,
在root權限下輸入
#quotaon /users
就可以啟動限額服務。如果我們要查看各個用戶的當前使用情況,
可以使用repquota 命令,在root權限下輸入:
#repquota /users
系統會顯示:
---- 從中我們可以很容易看到用戶的硬盤和文件的使用情況以及超過軟限制後仍可申請資源的時間等等。
---- 當然我們可以用quotaoff取消硬盤限額服務。另外,系統還提供quotacheck 命令對限額的一致性進行檢查。
---- 3. ifconfig命令
---- ifconfig命令用於查看和更改網絡接口的地址和參數,如果要顯示某台UNIX主機的IP地址,我們可以在命令行下輸入:
$ifconfig -a
系統會顯示網絡接口的名稱,接口的狀態(up or down),
接口的IP地址和掩碼等信息。
---- 如果我們要更改網絡接口的IP地址,可以在root權限下輸入:
#ifconfig hme0 down
#ifconfig hme0 202.1.2.3 netmask 255.255.255.0 up
---- 首先,使用down命令參數把網絡接口hme0的服務暫時停止,然後再用ifconfig命令給接口分配新的IP地址和掩碼,並啟動網絡接口服務。本例中把hme0接口的IP地址設為202.1.2.3,掩碼為255.255.255.0。
---- 我們也可以通過改變文件/etc/hosts中的IP地址的值並重新啟動系統來更改機器的IP地址。
---- 在系統啟動時,網絡接口服務時自動被啟動的,我們不需要手動地創建網口服務,但有時我們更改了網卡或增加了網卡後,系統不能自動啟動該接口服務,這時我們需要手動創建網口服務,在root權限下輸入:
#ifconfig hme0 plumb
即可以為接口le0創建網口服務。
相應地,用ifconfig帶unplumb參數可以停止服務並關閉網絡
接口,這時我們再用ifconfig -a 命令將看不到該網絡接口。
---- 4. format命令
---- format也是一個重要的系統管理命令,但由於它的破壞性極大,使用時一定要小心。format命令主要有兩個用途,即格式化硬盤和重新對硬盤分區,下面分別加以說明:
---- 1) 格式化硬盤
---- 和DOS一樣,UNIX的硬盤在使用之前也需要格式化,在對它格式化之前,我們要用單用戶形式重啟動系統
#reboot -s
啟動後用root用戶登錄,然後在命令行下輸入:
#format
系統會顯示所有的硬盤並讓我們選擇要格式化的硬盤:
---- 本例中系統有兩個SUN2.1G的硬盤,我們選擇1並回車,系統會顯示如下菜單:
---- 在提示符下輸入type來選擇硬盤類型,系統會列出它支持的硬盤類型,選擇合適的硬盤類型並輸入相應的代碼(也可以輸入0讓系統自動檢測)。選擇完硬盤類型後,就可以配置硬盤分區,有關分區的具體操作請參見"2)重新分區"一節。
---- 配置結束後,輸入format命令進行格式化,這將花費一定的時間,具體時間的長短受機器型號和硬盤大小的影響。格式化完成後,就可以輸入quit命令退出了。
---- 硬盤格式化後,並不能立即被使用,我們還需要在上面創建文件系統,使用命令newfs來為每一個分區創建文件系統:
#newfs /dev/rdsk/c0t1d0s0
#newfs /dev/rdsk/c0t1d0s1
…
---- 參數的具體數值根據分區的情況來設置。
---- 另外,如果該硬盤包含啟動分區(根分區),我們需要手動安裝啟動模塊,安裝之前首先要有UNIX系統安裝光盤,我們通過光盤啟動後,將系統根分區掛接上,並從光盤安裝啟動模塊,具體方法如下:
#reboot cdrom -s (從光盤啟動,並進入單用戶模式)
#mount /dev/dsk/c0t1d0s0 /mnt
(將系統根分區掛接到mnt目錄下)
#cp /ufsboot /mnt
#installboot /lib/fs/ufs/bootblk
/dev/rdsk/c0t1d0s0 (安裝啟動模塊)
#umount /mnt (卸下掛接)
#reboot (重啟動)
---- 至此,硬盤的格式化操作已經完成,我們可以使用該硬盤了。
---- 2) 重新分區
----