dd命令復(fù)制硬盤
1)確保原盤和目的盤幾何特性相同
2)成為超級(jí)用戶
3)在用主盤的系統(tǒng)中輸入touch /reconfigure,有主盤的系統(tǒng)需要/reconfigure文件,以便在重新啟動(dòng)時(shí)發(fā)現(xiàn)復(fù)制盤
4)輸入init 0關(guān)閉系統(tǒng)
5)將復(fù)制盤連接到系統(tǒng)并開機(jī)
6)在OK提示符下輸入boot
7)輸入dd if=/dev/dsk/device-name of=/dev/dsk/device-name bs=blocksize (輸入文件if是主盤設(shè)備,輸入文件of是復(fù)制盤設(shè)備)
8)輸入fsck /dev/rdsk/device-name (檢測(cè)新的文件系統(tǒng))
9)輸入mount /dev/rdsk/device-name /mnt 加載復(fù)制盤的root文件系統(tǒng)。
10)編輯復(fù)制盤上的/etc/vfstab文件,指向正確的設(shè)備名。
11)輸入umount/mnt ,卸載復(fù)制盤的root文件系統(tǒng)。
12)輸入init 0關(guān)閉系統(tǒng)。
13)輸入boot diskN -s以單用戶模式引導(dǎo)復(fù)制盤。
14)輸入sys-uconfig恢復(fù)配置復(fù)制盤,在該盤配置恢復(fù)后系統(tǒng)關(guān)閉。
15)輸入boot diskN 引導(dǎo)復(fù)制盤
16)提供相關(guān)的系統(tǒng)信息。(HOSTNAME TIMEZONE IP...)
17)系統(tǒng)完成,即作為超級(jí)用戶登錄驗(yàn)證系統(tǒng)信息。
例:
#dd if=/dev/dsk/c0t0d0s2 of=/dev/dsk/c0t1d0s2 bs=100k
#fsck /dev/rdsk/c0t1d0s2
#mount /dev/rdsk/c0t1d0s2 /mnt
#cd /mnt/etc
#vi /etc/vfstab
#cd /;umount /mnt
#init 0
OK boot disk2 -s
#sys-unconfig
OK boot disk2 -s
=================================================================================
Solaris網(wǎng)絡(luò)配置
主機(jī)名為sampdt,ip 10.1.1.1
1 /etc/hosts 主機(jī)名解析
#
# Internet host table
#
127.0.0.1 localhost
10.1.1.1 sampdt loghost
10.1.1.46 test.china.org
10.1.1.3 sidemo
2 /etc/hostmane.hme0 網(wǎng)絡(luò)接口名
sampdt
3 /etc/netmasks 網(wǎng)絡(luò)掩碼
4 /etc/inetd.conf 服務(wù)項(xiàng)目定義
5 /etc/defaultroot 設(shè)定路由
6 /etc/nsswitch.files 設(shè)定名字搜索順序
7 /etc/defaultrouter 缺省路由
做為DNS服務(wù)器
建立/etc/named.boot
named.boot格式:
directory /etc/namedb
cache . named.root
primary 0.0.127.in-addr.arpa named.local
primary domain name file
遠(yuǎn)程訪問命令
1. rlogin 在遠(yuǎn)程機(jī)上注冊(cè)
格式 : rlogin hostname -l username
2. rsh 在遠(yuǎn)程機(jī)上執(zhí)行一個(gè)程序
格式 : rsh hostname -l username order
3. rcp 在遠(yuǎn)程系統(tǒng)之間拷貝文件
格式 : rsh host:filename filename
訪問鑒別相關(guān)文件
當(dāng)rlogin,rsh,rcp命令時(shí),有幾個(gè)文件對(duì)網(wǎng)絡(luò)安全是很重要的.
/etc/passwd
如遠(yuǎn)程系統(tǒng)的口令文件有本地用戶的登記項(xiàng),否則必須使用 [-l] 選項(xiàng)以指明不同用戶,可支持root用戶。
$home/.rhosts
rlogin,rsh,rcp首先檢查用戶主目錄下的.rhosts文件,如主機(jī)及用戶被列在文件中,則此用戶為可信任主機(jī),不需口令即可登錄,如遠(yuǎn)程鑒
別失敗,則正常詢問口令
/etc/hosts.equiv
作用與.rhosts 文件類似,文件中列出用戶對(duì)于本機(jī)為可信任用戶,不需口令即可登錄(除超級(jí)用戶)
網(wǎng)絡(luò)監(jiān)控
1.rusers 標(biāo)識(shí)網(wǎng)絡(luò)上注冊(cè)用戶
格式:rusers -la
2.rup 標(biāo)識(shí)網(wǎng)絡(luò)上主機(jī)
命令格式:rup
3.ping 檢測(cè)主機(jī)連接狀況
命令格式:ping [hostname|IP address]
4.spray ping命令格式為低層協(xié)議,spray使用高層協(xié)議
命令格式:spray hostname
5.netstat 顯示與網(wǎng)絡(luò)有關(guān)的各種數(shù)據(jù)結(jié)構(gòu)
命令格式:netstat -[r| i]n
-r :顯示路由信息 -i :顯示接口信息
6.ifconfig 顯示網(wǎng)絡(luò)接口
命令格式:ifconfig -a
其中 lo0: 本機(jī)自回饋接口 le0: 10M接口 hme0:100M接口 hme1:第二100M接口
7.netstat 顯示與網(wǎng)絡(luò)有關(guān)的各種數(shù)據(jù)結(jié)構(gòu)
命令格式:netstat -[r| i]n -r :顯示路由信息
-i :顯示接口信息
8.route 路由設(shè)置
命令格式:route [add|delete] 設(shè)置網(wǎng)絡(luò)路由
defaultrouter <-缺省靜態(tài)路由
9.arp 反響解析
命令格式:arp -[a|s]
================================================================================
Solaris使用技巧
在從WINDOWS傳到UNIX在每行的結(jié)尾可能會(huì)出現(xiàn)^M
解決方法:
1、用ASCII模式重傳。
2、用vi 中的替換
%s/^M$// <- ^ ctrl+v M ctrl+m
文件名為 -filename 如何去刪除
rm -- "-filename"
fd - /dev/fd fd - no -
/proc - /proc proc - no -
/dev/dsk/c0t3d0s0 /dev/rdsk/c0t3d0s0 / ufs 1 no -
/dev/dsk/c0t0d0s3 /dev/rdsk/c0t0d0s3 /usr ufs 1 no -
/dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 /download ufs 2 yes -
/dev/dsk/c0t3d0s1 /dev/rdsk/c0t3d0s1 /export ufs 2 yes -
#/dev/dsk/c0t0d0s1 - - swap - no -
#swap - /tmp tmpfs - yes -
ls的特殊用法:
%ls -R // 顯示所有文件包括子目錄
%ls * // 同上
%ls -t // 以時(shí)間排序來顯示
下面的語句可以幫你計(jì)算有多少個(gè)文件和多少個(gè)目錄..
# ls -l * |grep "^-"|wc -l // to count files
# ls -l * |grep "^d"|wc -l // to count dir
還可以將以上的語句變成script或做個(gè)alias
只列子目錄的方法:
ls -F | grep /$ 或者 alias sub = "ls -F | grep /$"(Linux)
ls -l | grep "^d" 或者 ls -lL | grep "^d" (Solaris)
Grep命令用法
%grep user1 /etc/passwd
%grep -i user1 /etc/passwd //不管大小寫
Alias用法
%alias find1 find . -name '\!*' -print // alias a new find
Find命令用法
%find . ctime 0 -print //搜尋今天修改過的所有文件
%find . -name '*.bak' -exec rm {}\ //搜尋加刪除
%find . \(-name *.txt -ctime 7\) -print //搜尋7天前修改過的txt文件
利用Find命令改變所有權(quán),想要改變當(dāng)前目錄下所有文件的所有權(quán),可以這樣:
find . -exec chown OWNER.[GROUP] {} \; (Solaris)
find . -exec chown -R OWNER.[GROUP] {} \; (Linux)
Cut命令用法
%cut -f field_list file //以逗號(hào)或空格來間隔
%cut -d: -f5,7-9 mydata //以冒號(hào)來間隔
%cut -s -c35-40 mydata //以列數(shù)來間隔-s 不包括頭部注釋
列出除了某些類型文件的當(dāng)前目錄所有文件:
使用Ksh,用ls !(*.Z)可以顯示所有文件,除了*.Z文件。
這個(gè)命令在一個(gè)目錄里有許多種類型的文件的時(shí)候很有用。
改變unix提示符:
%PS1=’newprompt’
%export PS1
還可以這么做:
%set prompt='user1[\!]' // \! 顯示命令次數(shù)
為環(huán)境變量增加新PATH路徑(不影響老路徑)。
%PATH=$PATH:$HOME/bin:/…/…/
%export PATH
列舉與某個(gè)主題相關(guān)的所有unix命令:
%apropos lp //列舉與lp(打印機(jī))相關(guān)的所有命令
查看unix版本號(hào):
%uname –a
UNIX下整個(gè)目錄拷貝
%cp –r /home/baoshan/zzy .
//將/home/baoshan/zzy整個(gè)目錄拷貝到當(dāng)前目錄下
UNIX下文件格式與DOS文件格式互換
%unix2dos oldfile newfile
%dos2unix oldfile newfile
查看UNIX下已經(jīng)安裝的包-package
%pkginfo
顯示某一目錄下所有文件size
%du –d /; //顯示根目錄下所有文件的size大小
文件加密:
%crypt passwd < myfile > newfile //compress
%rm myfile
%crypt passwd < newfile //restore
取消^M字符:
當(dāng)你FTP一些DOS文件到unix下時(shí),你經(jīng)常會(huì)看見每行文件后面有個(gè)討
厭的^M 字符,(把 HTML 文件傳輸?shù)?UNIX 系統(tǒng)可引起回車符轉(zhuǎn)變成“^M”字符),
有兩個(gè)簡(jiǎn)單的方法可以取消它。
用"vi"打開此文件,在Command mode下敲入:
:%s/^V^M//g
或者,在UNIX SHELL下敲入:
sed 's/^V^M//g' foo > foo.new
使用nohup命令:
如果你想進(jìn)程在你退出系統(tǒng)后還能執(zhí)行,可以使用NOHUP命令
如: % nohup tar -cf /dev/tape /home &
你退出后再重新登錄的話,使用'ps'命令可以看到進(jìn)程還在執(zhí)行
查看文件的方法:
如果你只想看文件的前5行,可以使用head命令,如:
head -5 /etc/passwd
如果你想查看文件的后10行,可以使用tail命令,如:
tail -10 /etc/passwd
你知道怎么查看文件中間一段嗎?你可以使用sed命令 如:
sed -n '5,10p' /etc/passwd
這樣你就可以只查看文件的第5行到第10行。
檢查磁盤剩余空間:
%df –k
%df –t
超級(jí)用戶修改系統(tǒng)時(shí)間:
#date MMDDHHMI
#date –u MMDDHHMIYYYY
超級(jí)用戶修改正常用戶口令:
#passwd –d user1 //刪除用戶user1的口令
==================================================================================
SUN軟件包管理的命令:pkginfo、pkgadd和pkgrm
pkginfo
查看當(dāng)前操作系統(tǒng)已經(jīng)安裝的軟件包。
# pkginfo | more
application SUNWAxg Solaris XGL 3.3 AnswerBook
application SUNWaadm Solaris 7 System Administrator Collection
system SUNWab2m Solaris Documentation Server Lookup
system SUNWab2r Solaris Documentation Server
system SUNWab2s Solaris Documentation Server
system SUNWab2u Solaris Documentation Server
application SUNWabda Sun Ultra 5/10 Hardware AnswerBook
application SUNWabe Solaris 7 User Collection
application SUNWabsdk Solaris 7 Software Developer Collection
pkginfo [ -d [ device | pathname ] ] [ -l ] pkg_name
參數(shù):
-d 軟件包所在的設(shè)備路徑
-l 軟件包的詳細(xì)描述
pkg_name 軟件包的 名字
# pkginfo -d /cdrom/cdrom0/s0/Solaris_2.7/Product -l SUNWaudio
PKGINST: SUNWaudio
NAME: Audio applications
CATEGORY: system
ARCH: sparc
VERSION: 3.6.4,REV=1.98.08.13
BASEDIR: /
VENDOR: Sun Microsystems, Inc.
DESC: Audio binaries
PSTAMP: dtbuild37s19980813171753
HOTLINE: Please contact your local service provider
STATUS: spooled
FILES: 9 spooled pathnames
2 directories
3 executables
4 package information files
700 blocks used (approx)
pkgrm
pkgrm用于刪除軟件包
語法:
pkgrm package_name
# pkgrm SUNWaudio
The following package is currently installed:
SUNWaudio Audio applications
(sparc) 3.6.4,REV=1.98.08.13
Do you want to remove this package? y
## Removing installed package instance
## Verifying package dependencies.
WARNING:
The package depends on the package
currently being removed.
WARNING:
The package depends on the package
currently being removed.
WARNING:
The package depends on the package
currently being removed.
WARNING:
The package depends on the package
currently being removed.
Dependency checking failed.
Do you want to continue with the removal of this package [y,n,?,q]
注:如果某個(gè)文件被多個(gè)軟件包共用,則只當(dāng)最后的包被刪除時(shí)才被刪除。
pkgadd
使用pkgadd添加軟件包
命令格式:
pkgadd [ -d [device | pathname ]] pkg_name
# pkgadd -d /cdrom/cdrom0/s0/Solaris_2.7/Product SUNWaudio
Processing package instance from
Audio applications
(sparc) 3.6.4,REV=1.98.08.13
Copyright 1998 Sun Microsystems, Inc. All rights reserved.
Using as the package base directory.
## Processing package information.
## Processing system information.
2 package pathnames are already properly installed.
## Verifying package dependencies.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.
## Checking for setuid/setgid programs.
This package contains scripts which will be executed with super-user
permission during the process of installing this package.
Do you want to continue with the installation of [y,n,?] y
Installing Audio applications as
## Installing part 1 of 1.
Installation of was successful.
=================================================================================
Solaris性能監(jiān)控的Swap空間管理
隨著電子商務(wù)如火如荼的開展,網(wǎng)站服務(wù)器的性能變得尤其重要。一旦服務(wù)器的能力不能滿足用戶的需要,就會(huì)對(duì)用戶的服務(wù)大打折扣,那么就需要對(duì)服務(wù)器進(jìn)行升級(jí)擴(kuò)容。但是,有些時(shí)候只需對(duì)服務(wù)器進(jìn)行一些適當(dāng)?shù)男阅苷{(diào)整,便可以越過性能的瓶頸,大大提高服務(wù)器的吞吐能力,從而減少服務(wù)器升級(jí)的費(fèi)用。
本文介紹了在Solaris平臺(tái)上Swap(交換)空間的基本概念、實(shí)現(xiàn)的原理以及對(duì)Swap(交換)空間進(jìn)行監(jiān)控的方法和調(diào)整的策略。
什么是SWAP(交換)空間
對(duì)于一般的Solaris系統(tǒng)管理員來說,很少會(huì)接觸Swap(交換)空間,在他們看來Swap區(qū)只不過是磁盤上的一兩個(gè)分區(qū)或是幾個(gè)Swap(交換)文件,當(dāng)系統(tǒng)沒有足夠的物理內(nèi)存來處理當(dāng)前進(jìn)程的時(shí)候,就利用Swap(交換)空間作為虛擬內(nèi)存的臨時(shí)存儲(chǔ)空間,這種說法從技術(shù)角度來說是沒有錯(cuò)的,但Solaris在實(shí)現(xiàn)Swap時(shí)有其非常獨(dú)特的地方。
SWAP空間作用
眾所周知,現(xiàn)代操作系統(tǒng)都實(shí)現(xiàn)了“虛擬內(nèi)存”這一技術(shù),不但在功能上突破了物理內(nèi)存的限制,使程序可以操縱大于實(shí)際物理內(nèi)存的空間,更重要的是“虛擬內(nèi)存”是隔離每個(gè)進(jìn)程的安全保護(hù)網(wǎng),使每個(gè)進(jìn)程不受其他程序的干擾。
Swap空間的作用可簡(jiǎn)單描述為:當(dāng)系統(tǒng)的物理內(nèi)存不夠用的時(shí)候,就需要將物理內(nèi)存中的一部分空間釋放出來,以供當(dāng)前運(yùn)行的程序使用。那些被釋放的空間可能來自一些很長(zhǎng)時(shí)間沒有什么操作的程序,這些被釋放的空間被臨時(shí)保存到Swap空間中,等到那些程序要運(yùn)行時(shí),再從Swap中恢復(fù)保存的數(shù)據(jù)到內(nèi)存中。這樣,系統(tǒng)總是在物理內(nèi)存不夠時(shí),才進(jìn)行Swap交換。這種現(xiàn)象對(duì)于計(jì)算機(jī)使用者是經(jīng)常遇到的。
有一點(diǎn)要聲明的是,并不是所有從物理內(nèi)存中交換出來的數(shù)據(jù)都會(huì)被放到Swap中(如果這樣的話,Swap會(huì)不堪重負(fù)),有相當(dāng)一部分的數(shù)據(jù)直接交換到文件系統(tǒng)。例如,有的程序會(huì)打開一些文件,對(duì)文件進(jìn)行讀寫(其實(shí)每個(gè)程序都至少打開一個(gè)文件,那就是運(yùn)行程序本身),當(dāng)這些程序的內(nèi)存空間需要交換出去時(shí),文件部分的數(shù)據(jù)就沒有必要放到Swap空間中了,如果是讀文件操作,那么內(nèi)存數(shù)據(jù)直接就釋放了,不需要交換出來,因?yàn)橄麓涡枰獣r(shí),直接從文件系統(tǒng)就能恢復(fù);如果是寫文件,只需要將變化的數(shù)據(jù)保存到文件中,以便恢復(fù)。但是那些用malloc(3C)和new函數(shù)生成的對(duì)象的數(shù)據(jù)則不同,需要Swap空間,因?yàn)樗鼈冊(cè)谖募到y(tǒng)中沒有相應(yīng)的“儲(chǔ)備”文件,因此被稱為“匿名”(Anonymous)的內(nèi)存數(shù)據(jù),這類數(shù)據(jù)還包括堆棧中的一些狀態(tài)和變量數(shù)據(jù)等,所以說,Swap空間是“匿名”數(shù)據(jù)的交換空間。
Swap的配置對(duì)性能的影響
太多的Swap空間會(huì)浪費(fèi)磁盤的空間,而太少的Swap空間,系統(tǒng)則會(huì)發(fā)生錯(cuò)誤。
如果系統(tǒng)的物理內(nèi)存用光了,你的系統(tǒng)就會(huì)跑得慢,但仍能運(yùn)行;如果Swap空間用光了,那么系統(tǒng)就會(huì)發(fā)生錯(cuò)誤。例如,Web服務(wù)器能根據(jù)不同的請(qǐng)求數(shù)量衍生出多個(gè)服務(wù)進(jìn)程(或線程),如果Swap空間用完,則服務(wù)進(jìn)程無法進(jìn)動(dòng),通常會(huì)出現(xiàn)"application is out of memory"的錯(cuò)誤,嚴(yán)重時(shí)會(huì)造成服務(wù)進(jìn)程的死鎖。因此Swap空間的分配是很重要的。
通常情況下,Swap空間應(yīng)大于或等于物理內(nèi)存的大小,最小不應(yīng)小于64M,通常Swap空間的大小應(yīng)是物理內(nèi)存的2-2.5倍(Solaris 2以上的版本有所變化,見下文)。但根據(jù)不同的應(yīng)用,應(yīng)有不同的配置:如果是小的桌面系統(tǒng),只需要較小的Swap空間,而大的服務(wù)器系統(tǒng)則視情況不同需要不同大小的Swap空間。特別是數(shù)據(jù)庫服務(wù)器和Web服務(wù)器會(huì)隨著訪問量的增加,對(duì)Swap 空間的要求也會(huì)增加,具體配置參見各自服務(wù)器產(chǎn)品的說明。
另外,Swap分區(qū)的數(shù)量對(duì)性能也有很大的影響。因?yàn)镾wap交換的操作是磁盤I/O的操作,如果有多個(gè)Swap交換區(qū),Swap空間的分配會(huì)以輪流的方式操作于所有的Swap,這樣會(huì)大大均衡I/O的負(fù)載,加快Swap交換的速度。如果只有一個(gè)交換區(qū),所有的交換操作會(huì)使交換區(qū)變得很忙,使系統(tǒng)大多數(shù)時(shí)間位于等待狀態(tài),效率很低,用性能監(jiān)視工具就會(huì)發(fā)現(xiàn),此時(shí)的CPU并不很忙,而系統(tǒng)卻慢,這說明,瓶頸在I/O上,依靠提高CPU的速度是解決不了問題的。
性能監(jiān)視
Swap空間的分配固然很重要,而系統(tǒng)在運(yùn)行時(shí)的性能監(jiān)控卻更加有價(jià)值,通過性能監(jiān)視工具可以檢查系統(tǒng)的各項(xiàng)性能指標(biāo),找到系統(tǒng)性能的瓶頸。本文只介紹一下在Solaris下和Swap相關(guān)的一些命令和用途。
最常用的是Vmstat命令,在大多數(shù)Unix平臺(tái)下都有此命令,此命令可以查看大多數(shù)性能的指標(biāo)。
另外使用swap -s 也能簡(jiǎn)單的查看當(dāng)前swap資源的使用情況。例如:
# swap -s
total: 65896k bytes allocated + 56840k reserved = 122736k used, 1069456k available
能夠方便的看出swap空間的已用和未用資源的大小。應(yīng)該使Swap保持30%的負(fù)載以下,才能保證系統(tǒng)的良好性能。
Solaris中Swap的特點(diǎn)
虛擬Swap空間
本來Swap空間就是為虛擬內(nèi)存服務(wù)的,現(xiàn)在Solaris的Swap空間也成為虛擬,這到底是怎么回事呢?
讓我們看一個(gè)例子就明白了,當(dāng)在Solaris 2以前版本的Solaris(或其它Unix, 如Linux)上編程時(shí)經(jīng)常會(huì)出現(xiàn)一個(gè)問題:
假設(shè)系統(tǒng)當(dāng)前還有可用的內(nèi)存空間為30M,而只剩下10M的Swap空間了,這時(shí),如果有一個(gè)進(jìn)程開始運(yùn)行并企圖執(zhí)行Malloc(15*1024*1024)的命令(分配15M空間),這個(gè)進(jìn)程會(huì)因?yàn)檫@個(gè)命令而失敗。
為什么呢?系統(tǒng)不是有30M可用的內(nèi)存空間嗎?原因在于:你的Swap空間不足,系統(tǒng)認(rèn)為你在分配空間以后,沒有能力(空間)在發(fā)生頁面交換時(shí),將這部分?jǐn)?shù)據(jù)保存起來,因此認(rèn)為你沒有資格分配這塊空間。這不是太不公平了吧!也許這15M空間根本不用交換,當(dāng)前系統(tǒng)可是還有30M內(nèi)存空間的富余啊!
還有更不公平的呢?有些大型系統(tǒng)配備了海量的內(nèi)存,1G或4G,配了這么多內(nèi)存就是為了避免交換,提高運(yùn)行速度,可是系統(tǒng)還要為這個(gè)系統(tǒng)分配并不需要的Swap空間,占用了大量磁盤資源。
為了彌補(bǔ)這個(gè)缺陷,Sun為Solaris 2 以后的版本設(shè)計(jì)了虛擬Swap空間。所謂虛擬的Swap空間,概念其實(shí)很簡(jiǎn)單,swap空間再也不是單指硬盤的分區(qū)或文件。虛擬Swap空間包含兩個(gè)部分:部分物理內(nèi)存和傳統(tǒng)上的Swap分區(qū)。經(jīng)過適當(dāng)?shù)呐渲茫梢允瓜到y(tǒng)需要Swap空間時(shí),先使用內(nèi)存部分的swap空間,如果內(nèi)存部分的swap空間不夠,再使用磁盤部分的Swap空間。這樣,也許你硬盤上的Swap空間很少得到使用了,甚至根本不需要Swap分區(qū)。
Swap空間與TMPFS文件系統(tǒng)的關(guān)系
你知道嗎?虛擬Swap空間與 /tmp目錄有相當(dāng)大的關(guān)系。Sun在實(shí)現(xiàn)
/tmp目錄時(shí),充分考慮了應(yīng)用程序運(yùn)行的效率。許多應(yīng)用程序,特別是數(shù)據(jù)庫服務(wù)都會(huì)頻繁使用
/tmp目錄作為臨時(shí)數(shù)據(jù)保存區(qū),而Solaris將
/tmp目錄下的文件都放在內(nèi)存中而不是硬盤里,這樣會(huì)大大提高應(yīng)用程序的效率。
但是/tmp目錄的空間是從系統(tǒng)虛擬空間里擠出來的,是虛擬Swap空間的一部分。如果說,你用完了/tmp空間,也就是用完了Swap空間,所以要小心監(jiān)視系統(tǒng)的/tmp目錄的使用情況,千萬別用光了,否則系統(tǒng)會(huì)癱瘓!下面兩點(diǎn)建議作為參考:
1.在Mount /tmp目錄時(shí),使用(-o Size)選項(xiàng)來控制/tmp目錄的大小。
2.當(dāng)使用編譯器編譯文件時(shí),如果不想占用Swap空間,則用TMPDIR環(huán)境變量指向另外一個(gè)臨時(shí)目錄,而不是/tmp目錄。
有關(guān)Swap空間操作的系統(tǒng)命令
增加Swap空間
1.成為超級(jí)用戶 $su - root
2.創(chuàng)建Swap文件 #mkfile nnn[klblm] filename
如:#mkfile 100m swapfile1
3.激活Swap文件
#/usr/sbin/swap -a /path/filename
Swap文件必須以絕對(duì)路徑來指定,filename指的是上一步創(chuàng)建的文件。
4.現(xiàn)在新加的Swap文件已經(jīng)起作用了,但系統(tǒng)重新啟動(dòng)以后,并不會(huì)記住前幾步的操作。因此要在/etc/vfstab文件中記錄文件的名字,和Swap類型,如:
/path/filename - - Swap - no -
5.效驗(yàn)Swap文件是否加上 /usr/sbin/swap -l
刪除多余的Swap空間
1.成為超級(jí)用戶
2.使用swap -d 命令收回swap空間。
#/usr/sbin/swap -d /path/filename
3.編輯/etc/ufstab文件,去掉此Swap(交換)文件的實(shí)體。
4.從文件系統(tǒng)中回收此文件。
#rm swap-filename
5.當(dāng)然,如果此Swap(交換)空間不是一個(gè)文件,而是一個(gè)分區(qū),則需創(chuàng)建一個(gè)新的文件系統(tǒng),再掛接到原來的文件系統(tǒng)上。
==================================================================================
隨著電子商務(wù)如火如荼的開展,網(wǎng)站服務(wù)器的性能變得尤其重要。一旦服務(wù)器的能力不能滿足用戶的需要,就會(huì)對(duì)用戶的服務(wù)大打折扣,那么就需要對(duì)服務(wù)器進(jìn)行升級(jí)擴(kuò)容。但是,有些時(shí)候只需對(duì)服務(wù)器進(jìn)行一些適當(dāng)?shù)男阅苷{(diào)整,便可以越過性能的瓶頸,大大提高服務(wù)器的吞吐能力,從而減少服務(wù)器升級(jí)的費(fèi)用。
本文介紹了在Solaris平臺(tái)上Swap(交換)空間的基本概念、實(shí)現(xiàn)的原理以及對(duì)Swap(交換)空間進(jìn)行監(jiān)控的方法和調(diào)整的策略。
什么是SWAP(交換)空間
對(duì)于一般的Solaris系統(tǒng)管理員來說,很少會(huì)接觸Swap(交換)空間,在他們看來Swap區(qū)只不過是磁盤上的一兩個(gè)分區(qū)或是幾個(gè)Swap(交換)文件,當(dāng)系統(tǒng)沒有足夠的物理內(nèi)存來處理當(dāng)前進(jìn)程的時(shí)候,就利用Swap(交換)空間作為虛擬內(nèi)存的臨時(shí)存儲(chǔ)空間,這種說法從技術(shù)角度來說是沒有錯(cuò)的,但Solaris在實(shí)現(xiàn)Swap時(shí)有其非常獨(dú)特的地方。
SWAP空間作用
眾所周知,現(xiàn)代操作系統(tǒng)都實(shí)現(xiàn)了“虛擬內(nèi)存”這一技術(shù),不但在功能上突破了物理內(nèi)存的限制,使程序可以操縱大于實(shí)際物理內(nèi)存的空間,更重要的是“虛擬內(nèi)存”是隔離每個(gè)進(jìn)程的安全保護(hù)網(wǎng),使每個(gè)進(jìn)程不受其他程序的干擾。
Swap空間的作用可簡(jiǎn)單描述為:當(dāng)系統(tǒng)的物理內(nèi)存不夠用的時(shí)候,就需要將物理內(nèi)存中的一部分空間釋放出來,以供當(dāng)前運(yùn)行的程序使用。那些被釋放的空間可能來自一些很長(zhǎng)時(shí)間沒有什么操作的程序,這些被釋放的空間被臨時(shí)保存到Swap空間中,等到那些程序要運(yùn)行時(shí),再從Swap中恢復(fù)保存的數(shù)據(jù)到內(nèi)存中。這樣,系統(tǒng)總是在物理內(nèi)存不夠時(shí),才進(jìn)行Swap交換。這種現(xiàn)象對(duì)于計(jì)算機(jī)使用者是經(jīng)常遇到的。
有一點(diǎn)要聲明的是,并不是所有從物理內(nèi)存中交換出來的數(shù)據(jù)都會(huì)被放到Swap中(如果這樣的話,Swap會(huì)不堪重負(fù)),有相當(dāng)一部分的數(shù)據(jù)直接交換到文件系統(tǒng)。例如,有的程序會(huì)打開一些文件,對(duì)文件進(jìn)行讀寫(其實(shí)每個(gè)程序都至少打開一個(gè)文件,那就是運(yùn)行程序本身),當(dāng)這些程序的內(nèi)存空間需要交換出去時(shí),文件部分的數(shù)據(jù)就沒有必要放到Swap空間中了,如果是讀文件操作,那么內(nèi)存數(shù)據(jù)直接就釋放了,不需要交換出來,因?yàn)橄麓涡枰獣r(shí),直接從文件系統(tǒng)就能恢復(fù);如果是寫文件,只需要將變化的數(shù)據(jù)保存到文件中,以便恢復(fù)。但是那些用malloc(3C)和new函數(shù)生成的對(duì)象的數(shù)據(jù)則不同,需要Swap空間,因?yàn)樗鼈冊(cè)谖募到y(tǒng)中沒有相應(yīng)的“儲(chǔ)備”文件,因此被稱為“匿名”(Anonymous)的內(nèi)存數(shù)據(jù),這類數(shù)據(jù)還包括堆棧中的一些狀態(tài)和變量數(shù)據(jù)等,所以說,Swap空間是“匿名”數(shù)據(jù)的交換空間。
Swap的配置對(duì)性能的影響
太多的Swap空間會(huì)浪費(fèi)磁盤的空間,而太少的Swap空間,系統(tǒng)則會(huì)發(fā)生錯(cuò)誤。
如果系統(tǒng)的物理內(nèi)存用光了,你的系統(tǒng)就會(huì)跑得慢,但仍能運(yùn)行;如果Swap空間用光了,那么系統(tǒng)就會(huì)發(fā)生錯(cuò)誤。例如,Web服務(wù)器能根據(jù)不同的請(qǐng)求數(shù)量衍生出多個(gè)服務(wù)進(jìn)程(或線程),如果Swap空間用完,則服務(wù)進(jìn)程無法進(jìn)動(dòng),通常會(huì)出現(xiàn)"application is out of memory"的錯(cuò)誤,嚴(yán)重時(shí)會(huì)造成服務(wù)進(jìn)程的死鎖。因此Swap空間的分配是很重要的。
通常情況下,Swap空間應(yīng)大于或等于物理內(nèi)存的大小,最小不應(yīng)小于64M,通常Swap空間的大小應(yīng)是物理內(nèi)存的2-2.5倍(Solaris 2以上的版本有所變化,見下文)。但根據(jù)不同的應(yīng)用,應(yīng)有不同的配置:如果是小的桌面系統(tǒng),只需要較小的Swap空間,而大的服務(wù)器系統(tǒng)則視情況不同需要不同大小的Swap空間。特別是數(shù)據(jù)庫服務(wù)器和Web服務(wù)器會(huì)隨著訪問量的增加,對(duì)Swap 空間的要求也會(huì)增加,具體配置參見各自服務(wù)器產(chǎn)品的說明。
另外,Swap分區(qū)的數(shù)量對(duì)性能也有很大的影響。因?yàn)镾wap交換的操作是磁盤I/O的操作,如果有多個(gè)Swap交換區(qū),Swap空間的分配會(huì)以輪流的方式操作于所有的Swap,這樣會(huì)大大均衡I/O的負(fù)載,加快Swap交換的速度。如果只有一個(gè)交換區(qū),所有的交換操作會(huì)使交換區(qū)變得很忙,使系統(tǒng)大多數(shù)時(shí)間位于等待狀態(tài),效率很低,用性能監(jiān)視工具就會(huì)發(fā)現(xiàn),此時(shí)的CPU并不很忙,而系統(tǒng)卻慢,這說明,瓶頸在I/O上,依靠提高CPU的速度是解決不了問題的。
性能監(jiān)視
Swap空間的分配固然很重要,而系統(tǒng)在運(yùn)行時(shí)的性能監(jiān)控卻更加有價(jià)值,通過性能監(jiān)視工具可以檢查系統(tǒng)的各項(xiàng)性能指標(biāo),找到系統(tǒng)性能的瓶頸。本文只介紹一下在Solaris下和Swap相關(guān)的一些命令和用途。
最常用的是Vmstat命令,在大多數(shù)Unix平臺(tái)下都有此命令,此命令可以查看大多數(shù)性能的指標(biāo)。
另外使用swap -s 也能簡(jiǎn)單的查看當(dāng)前swap資源的使用情況。例如:
# swap -s
total: 65896k bytes allocated + 56840k reserved = 122736k used, 1069456k available
能夠方便的看出swap空間的已用和未用資源的大小。應(yīng)該使Swap保持30%的負(fù)載以下,才能保證系統(tǒng)的良好性能。
Solaris中Swap的特點(diǎn)
虛擬Swap空間
本來Swap空間就是為虛擬內(nèi)存服務(wù)的,現(xiàn)在Solaris的Swap空間也成為虛擬,這到底是怎么回事呢?
讓我們看一個(gè)例子就明白了,當(dāng)在Solaris 2以前版本的Solaris(或其它Unix, 如Linux)上編程時(shí)經(jīng)常會(huì)出現(xiàn)一個(gè)問題:
假設(shè)系統(tǒng)當(dāng)前還有可用的內(nèi)存空間為30M,而只剩下10M的Swap空間了,這時(shí),如果有一個(gè)進(jìn)程開始運(yùn)行并企圖執(zhí)行Malloc(15*1024*1024)的命令(分配15M空間),這個(gè)進(jìn)程會(huì)因?yàn)檫@個(gè)命令而失敗。
為什么呢?系統(tǒng)不是有30M可用的內(nèi)存空間嗎?原因在于:你的Swap空間不足,系統(tǒng)認(rèn)為你在分配空間以后,沒有能力(空間)在發(fā)生頁面交換時(shí),將這部分?jǐn)?shù)據(jù)保存起來,因此認(rèn)為你沒有資格分配這塊空間。這不是太不公平了吧!也許這15M空間根本不用交換,當(dāng)前系統(tǒng)可是還有30M內(nèi)存空間的富余啊!
還有更不公平的呢?有些大型系統(tǒng)配備了海量的內(nèi)存,1G或4G,配了這么多內(nèi)存就是為了避免交換,提高運(yùn)行速度,可是系統(tǒng)還要為這個(gè)系統(tǒng)分配并不需要的Swap空間,占用了大量磁盤資源。
為了彌補(bǔ)這個(gè)缺陷,Sun為Solaris 2 以后的版本設(shè)計(jì)了虛擬Swap空間。所謂虛擬的Swap空間,概念其實(shí)很簡(jiǎn)單,swap空間再也不是單指硬盤的分區(qū)或文件。虛擬Swap空間包含兩個(gè)部分:部分物理內(nèi)存和傳統(tǒng)上的Swap分區(qū)。經(jīng)過適當(dāng)?shù)呐渲茫梢允瓜到y(tǒng)需要Swap空間時(shí),先使用內(nèi)存部分的swap空間,如果內(nèi)存部分的swap空間不夠,再使用磁盤部分的Swap空間。這樣,也許你硬盤上的Swap空間很少得到使用了,甚至根本不需要Swap分區(qū)。
Swap空間與TMPFS文件系統(tǒng)的關(guān)系
你知道嗎?虛擬Swap空間與 /tmp目錄有相當(dāng)大的關(guān)系。Sun在實(shí)現(xiàn)
/tmp目錄時(shí),充分考慮了應(yīng)用程序運(yùn)行的效率。許多應(yīng)用程序,特別是數(shù)據(jù)庫服務(wù)都會(huì)頻繁使用
/tmp目錄作為臨時(shí)數(shù)據(jù)保存區(qū),而Solaris將
/tmp目錄下的文件都放在內(nèi)存中而不是硬盤里,這樣會(huì)大大提高應(yīng)用程序的效率。
但是/tmp目錄的空間是從系統(tǒng)虛擬空間里擠出來的,是虛擬Swap空間的一部分。如果說,你用完了/tmp空間,也就是用完了Swap空間,所以要小心監(jiān)視系統(tǒng)的/tmp目錄的使用情況,千萬別用光了,否則系統(tǒng)會(huì)癱瘓!下面兩點(diǎn)建議作為參考:
1.在Mount /tmp目錄時(shí),使用(-o Size)選項(xiàng)來控制/tmp目錄的大小。
2.當(dāng)使用編譯器編譯文件時(shí),如果不想占用Swap空間,則用TMPDIR環(huán)境變量指向另外一個(gè)臨時(shí)目錄,而不是/tmp目錄。
有關(guān)Swap空間操作的系統(tǒng)命令
增加Swap空間
1.成為超級(jí)用戶 $su - root
2.創(chuàng)建Swap文件 #mkfile nnn[klblm] filename
如:#mkfile 100m swapfile1
3.激活Swap文件
#/usr/sbin/swap -a /path/filename
Swap文件必須以絕對(duì)路徑來指定,filename指的是上一步創(chuàng)建的文件。
4.現(xiàn)在新加的Swap文件已經(jīng)起作用了,但系統(tǒng)重新啟動(dòng)以后,并不會(huì)記住前幾步的操作。因此要在/etc/vfstab文件中記錄文件的名字,和Swap類型,如:
/path/filename - - Swap - no -
5.效驗(yàn)Swap文件是否加上 /usr/sbin/swap -l
刪除多余的Swap空間
1.成為超級(jí)用戶
2.使用swap -d 命令收回swap空間。
#/usr/sbin/swap -d /path/filename
3.編輯/etc/ufstab文件,去掉此Swap(交換)文件的實(shí)體。
4.從文件系統(tǒng)中回收此文件。
#rm swap-filename
5.當(dāng)然,如果此Swap(交換)空間不是一個(gè)文件,而是一個(gè)分區(qū),則需創(chuàng)建一個(gè)新的文件系統(tǒng),再掛接到原來的文件系統(tǒng)上。
===============================================================================
Solaris如何改變系統(tǒng)運(yùn)行級(jí)別 init
系統(tǒng)運(yùn)行級(jí)別有8種,分別為:
運(yùn)行級(jí)別 意義
0 進(jìn)入PROM狀態(tài)(OK狀態(tài))
1 管理狀態(tài)(所有文件系統(tǒng)都掛上的單用戶模式,禁止其他用戶登錄)
2 多用戶模式(沒有網(wǎng)絡(luò)文件共享服務(wù))
3 多用戶模式(有網(wǎng)絡(luò)文件共享服務(wù))
4 未使用
5 退出操作系統(tǒng)并關(guān)機(jī)
6 重新啟動(dòng)機(jī)器
S,s 單用戶模式
init
init命令用于改變操作系統(tǒng)的運(yùn)行級(jí)別。
命令格式:
init [ 0123456Ss ]
# init 0
INIT: New run level: 0
The system is coming down. Please wait.
System services are now being stopped.
Print services stopped.
Stopping the syslog service.
syslogd: going down on signal 15
Aug 14 14:54:30 snmpdx: received signal 15
The system is down.
syncing file systems... done
Program terminated
Type help for more information
ok
shutdown
用于改變操作系統(tǒng)運(yùn)行級(jí)別。
命令格式:
shutdown [ -y ] [ -g seconds ] [ -i init-state ] [message]
選項(xiàng):
y 系統(tǒng)提示時(shí)默認(rèn)回答為YES
g 過多長(zhǎng)時(shí)間改變
i 想要的運(yùn)行級(jí)別
message 給所有登錄用戶的信息
# shutdown -y -g 0 -i 0
Shutdown started. Mon Dec 15 15:13:57 PST 1997
Broadcast Message from root (console) on mcmurdo Mon Dec
15 15:13:57...
THE SYSTEM IS BEING SHUT DOWN NOW ! ! !
Log off now or risk your files being damaged
Changing to init state 0 - please wait
ok
halt
進(jìn)入0運(yùn)行級(jí)別
poweroff
關(guān)閉系統(tǒng)并切斷電源
reboot
重新啟動(dòng)系統(tǒng)
=============================================================================
為Sun服務(wù)器配置多網(wǎng)卡
---- 在網(wǎng)絡(luò)設(shè)計(jì)中,在服務(wù)器端,為了防止網(wǎng)絡(luò)傳輸過載或出于連接多子網(wǎng)的需要,往往要為服務(wù)器配置多塊網(wǎng)卡。下面介紹如何為Sun服務(wù)器來配置新網(wǎng)卡。
---- 一.安裝新網(wǎng)卡
---- 1.通知操作系統(tǒng)在重新啟動(dòng)時(shí)檢測(cè)新硬件.命令如下:
---- #touch /reconfigure
---- 2.關(guān)閉服務(wù)器和電源.
---- #shutdown -i5 -g60 -y
---- 此命令通知連接的客戶機(jī),服務(wù)器將在60秒(-g60)后關(guān)閉;運(yùn)行級(jí)別5(-i5)指明如果硬件支持,就自動(dòng)關(guān)閉服務(wù)器電源。
---- 3.物理安裝新網(wǎng)卡
---- 小心取下服務(wù)器背板上的插板,移去網(wǎng)卡上的托架,安好網(wǎng)卡,再插回原位,最后將網(wǎng)線插入新網(wǎng)卡接口,啟動(dòng)服務(wù)器。
---- 二.配置新網(wǎng)卡
---- 1.檢查新網(wǎng)卡的設(shè)備號(hào)
---- 服務(wù)臺(tái)器啟動(dòng)后,用以下命令來檢查分配給新網(wǎng)卡的設(shè)備號(hào),這與把網(wǎng)卡安裝在哪個(gè)槽上有關(guān);
---- #dmesg
---- 此命令執(zhí)行后將顯示所有用戶的設(shè)備號(hào),如原有網(wǎng)卡的設(shè)備號(hào)為hme0,新網(wǎng)卡的設(shè)備號(hào)為hme1等;
---- 2.為新網(wǎng)卡配置主機(jī)名和IP地址
---- 在/etc 目錄用 vi 建立名為 hostname. 后跟新網(wǎng)卡的設(shè)備號(hào)(如hostname.hme1)的文件,其內(nèi)容為綁定所給網(wǎng)卡的主機(jī)名;修改/etc/hosts文件,增加一條記錄,其前半部分為新網(wǎng)卡的IP地址,加空格后跟新網(wǎng)卡的主機(jī)名(hostname.hme1)。
---- 如:
10.10.10.100 sun1 #first network adapter
88.1.1.10 sun2 #second network adapter
---- 3.路由功能
---- 操作系統(tǒng)將自動(dòng)開啟多網(wǎng)卡的路由功能,若想關(guān)閉路由功能,可用如下命令:
---- #touch /etc/notrouter
---- 完成以上步驟后重新啟動(dòng)系統(tǒng)可用如下命令使配置生效
---- #shutdown -i6 -g60 -y
---- 最后不要忘記修改DNS或NIS服務(wù)器,以使網(wǎng)絡(luò)的其它主機(jī)能與之的通訊.
---- 以上方法需要Root用此權(quán)限在Sun Enterprise 3000服務(wù)器和Salaris 2.6 server操作系統(tǒng)上測(cè)試通過.
==================================================================================
solaris中的系統(tǒng)log日志原理分析
作為攻擊者當(dāng)然要知道系統(tǒng)是如何紀(jì)錄用戶的活動(dòng)的情況的原理的了,呵呵,不然ip被記下來都不知道!
呵呵,其實(shí)一些人只會(huì)到/var/adm/目錄里去刪日志,那是很笨很笨的做法。
前段時(shí)間在www.unixaid.net結(jié)識(shí)了一個(gè)外地的系統(tǒng)管理員,談了談,深有心得所以我把這些寫下來,呵呵。
unix系統(tǒng)的日志其實(shí)是非常復(fù)雜和強(qiáng)大的,特別是Solaris系統(tǒng),因?yàn)樵创a的不公開,所以被蒙上了一層神秘的面紗,我研究分析了一陣子得出的結(jié)論和大家分享,我的能力有限,還望大家多多指教。
負(fù)責(zé)日志記帳的有兩個(gè)守護(hù)進(jìn)程:klogd,syslogd,我著重講這兩個(gè)進(jìn)程,當(dāng)然還有進(jìn)程記帳進(jìn)程,就不多介紹了,呵呵,因?yàn)榛旧纤械南到y(tǒng)動(dòng)作都會(huì)被這兩個(gè)進(jìn)程監(jiān)視并紀(jì)錄,大家如果要編寫一些系統(tǒng)程序的話,也會(huì)用到syslog這個(gè)接口的,呵呵,klogd主要紀(jì)錄一些系統(tǒng)內(nèi)核的動(dòng)作,對(duì)攻擊者最受影響的是syslogd這個(gè)進(jìn)程.它可以接收訪問系統(tǒng)的日志信息并且根據(jù)/etc/syslog.conf配置文件中的指令處理
這些信息。因此,任何希望生成日志信息的程序都可向syslog接口呼叫來生成改信息。大部分內(nèi)部系統(tǒng)工具如郵件和打印系統(tǒng)都是如此生成信息的,許多新增的程序如TCP_wrappers和SSH也是如此工作的。講到這里,大家有點(diǎn)概念了吧?呵呵
/etc/syslog.conf的格式比較復(fù)雜,大家可以參考一下有關(guān)書籍,主要是如下語句形式:
facility.level action
facility代表各種服務(wù),level代表syslog的認(rèn)證級(jí)別,action代表的是針對(duì)前面信息的處理。大家可以注意action字段,有時(shí)候會(huì)把信息發(fā)送到另外一臺(tái)機(jī)器而不是熟悉的/var/adm/messages的,這下應(yīng)該知道這個(gè)文件的重要性了吧?如果真把日志發(fā)到另外一臺(tái)機(jī)器的話,就想辦法把那臺(tái)機(jī)器dos掉了,不是它死你是你亡啊,呵呵,有時(shí)會(huì)發(fā)送到/dev/console,/dev/tty1或/dev/lp1等等這樣的設(shè)備,就是發(fā)送到終端啊,呵呵,想想如果那終端作的是系統(tǒng)管理員,你不是很慘?
現(xiàn)在大家應(yīng)該知道不是刪刪/var/adm/messages就了事的吧?呵呵
好,下面介紹一下solaris的另外一個(gè)記帳,就是wtmp和utmp,說明一下大家常見到的wtmpx和utmpx是wtmp和utmp的擴(kuò)展罷了,大家可以參看wtmp.h,utmp.h里的定義的數(shù)據(jù)結(jié)構(gòu),會(huì)有寫概念,呵呵,在solaris里是通過utmpd,wtmpd這兩個(gè)進(jìn)程來進(jìn)行記帳的,然后通過utmppipe這個(gè)管道文件向/var/adm/utmpx這個(gè)文件寫數(shù)據(jù),當(dāng)然utmpx這個(gè)文件不是象messages一樣是文本形式的,它是二進(jìn)制的,只有who,finger命令可以訪問,呵呵,大家知道了吧?而last命令是訪問wtmpx的。utmp是紀(jì)錄用戶的動(dòng)態(tài)會(huì)話用的,而wtmp是紀(jì)錄用戶的登陸與推出的活動(dòng)的,這就是區(qū)別,呵呵。寫這篇
文章只是要提醒大家不要隨便刪日志,那很傻的,呵呵,最好自己編寫一些刪日志的小工具,很容易,大家參考一下utmp這個(gè)數(shù)據(jù)結(jié)構(gòu)就可以了,也可以用一個(gè)命令來刪除messages中的紀(jì)錄:
eagle~# more /var/adm/messages|grep -v 或 >/var/adm/messages
很簡(jiǎn)單不是么?呵呵,當(dāng)然utmp,wtmp中的紀(jì)錄就要用程序解決了,也有現(xiàn)成的程序比如:
wtmpdump.c,marry.c,remove.c等等,呵呵都不錯(cuò)的,我主頁上有下載,呵呵
attacker.qzone.com
好了,就說這么多了,重申一句,我只是為了讓大家進(jìn)行愛國主義行動(dòng)的時(shí)候注意以下善后的工作,呵呵其中牽涉到的只是非常多,我很多沒有詳細(xì)說明和講解,希望大家重視日志,參考一下有關(guān)資料。
忘了,這些是solaris中的情況,呵呵,在Linux里又大不一樣,呵呵,linux里沒有utmpd這個(gè)進(jìn)程,是通過PAM的認(rèn)證模塊來進(jìn)行記帳的,PAM的資料大家可以參考一下書籍很復(fù)雜,說的話會(huì)近萬字呢,呵呵
=====================================================================================
用戶登錄時(shí),Bash 首先執(zhí)行全局登錄腳本(由 root 建立) /etc/profile,然后在用戶起始目錄下依次尋找 .bash_profile、.bash_login、.profile 三個(gè)文件,執(zhí)行最先找到的一個(gè)。可以用這種辦法像 Netware 一樣為不同的用戶定制運(yùn)行環(huán)境。