隨筆 - 303  文章 - 883  trackbacks - 0
          <2007年2月>
          28293031123
          45678910
          11121314151617
          18192021222324
          25262728123
          45678910

          歡迎光臨! 
          閑聊 QQ:1074961813

          隨筆分類(357)

          我管理的群

          公共blog

          • n維空間
          • Email : java3d@126.com 群 : 12999758

          參與管理的論壇

          好友的blog

          我的其他blog

          朋友的網站

          搜索

          •  

          最新評論

          Submitted by 劉小斌 on 2005, November 14, 5:34 AM. 我的技術歷程

          這次的特別長,主要是有幾篇大篇幅的“原創”和“推薦”,本來不適合歸入FAQ,但怕有人依照FAQ的帖子收集精華文章,所以也放進去了,大家覺得不合適就自己篩選一下吧,謝謝這么多熱心的網友回答大家的問題,和推薦文章,特別是自己實踐的原創,值得大家珍惜和學習。最近我比較忙,整理的工作多謝,其他斑竹了?。。。。。。?

          [color=red]++++++網絡服務相關的問題++++++[/color]
          +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
          1、非常需要s8下的bind9配置詳細步驟。
          http://202.108.44.138/cgi-bin/spboard45/board.cgi?id=a&page=1&action=view&number=82.cgi&img=no
          ---------------------------------------------------------------------------------
          2、用光盤安裝后,網卡bridged方式,不通,加網卡終結器后可從solaris ping到2K,但ping不到vmware的網卡,從2K ping不到solsris。
          你用bridged方式,在win2000網絡設置里把vmware的網卡的兩塊網卡禁用掉
          ---------------------------------------------------------------------------------
          3、在proftpd-1.2.5中如何設置使一個用戶上傳文件時改變其屬于另外一個用戶呢?
          <Directory /you home*>
          <Limit DIRS CWD READ>
          AllowAll
          </Limit>
          <Limit STOR MKD>
          DenyAll
          AllowUser test
          </Limit>
          <Limit RMD DELE>
          DenyAll
          AllowUser test
          </Limit>
          </Directory>
          我是這么配置的,
          如果你覺得這個不懂,也可以用,把兩個用戶的home都指到這個目錄里,然后根據情況用chown和改變目錄的屬主的分配權限,把這個目錄屬主設置為你要完全控制的用戶,然后另外一個用戶要和你這個完全控制的用戶同組。然后用chmod644或者別的,這個是只能讀,而不能刪除
          ---------------------------------------------------------------------------------
          4、將SOLARIS設置成PPP撥入服務器 
          ?目前建立在客戶機/服務器(C/S)網絡體系結構上的應用系統越來越多,技術上也越來越成熟。具有多用戶多任務網絡特性的UNIX操作系統以其高可靠性、高伸縮性、高開放性的特點而成為C/S結構系統后臺服務器上的主流操作系統。在我們所開發的系統中采用了SUN公司的SOLARIS2.5.1操作系統,它具有很強大的網絡功能,為了充分發揮它的作用,我們不僅讓其承擔數據庫系統的核心工作,還讓其成為系統中的PPP撥入服務器、軟路由服務器或NFS共享磁盤服務器。以下介紹我在使用中的一點體會。
          將SOLARIS設置成PPP撥入服務器
          由于我們所開發的系統要安裝在外地,我們將SOLARIS設置成PPP撥入服務器,然后通過遠程撥號上網,在PPP的基礎上使用TCP/IP協議來進行遠程登錄或傳輸文件,給我們的維護工作以極大的方便。以下介紹設置步驟:
          一、設置調制解調器:
          1、用隨MODEM帶的串型電纜連接MODEM和SUN工作站的串口A(或B,以下以串口A為例),打開MODEM的電源開關。
          2、編輯文件/etc/remote,加入下行:
          #vi/etc/remote;編輯文件/etc/remote
          cuaa:dv=/dev/cua/a:at=hayes:br#38400;假設用A串口
          3、設置MODEM,在命令行上發如下命令:
          #tipcuaa;tip是聯結遠程系統命令
          [connected];表示和MODEM已連接正常
          ats0=1;設置成自動應答方式
          OK;MODEM成功執行的返回信息
          at&c1;設置成跟蹤數據載波
          OK
          at&w;存儲設置
          OK
          ~.;退出tip命令
          [EOT]
          #;返回到命令行狀態
          以上各步完成后,MODEM將有HS、AA、TR、MR四個指示燈亮(以HAYESA系列為例)。
          二、設置SUN工作站的串口:
          在SOLARIS上設置工作站的串口可以通過命令行的方式一步步地來做,但也可利用openwindow窗口環境來操作,這樣比較方便:
          1、啟動openwindow窗口環境:
          #/usr/openwin/bin/openwin;啟動命令
          2、在shell命令窗口內啟動admintool系統管理工具:
          #admintool&;另開一窗口執行
          3、在“瀏覽”菜單中選擇“串行口”后,將顯示出本工作站的所有串口及其狀態。
          4、選擇所用的串口,在“編輯”菜單中選取“修改”后,在窗口中先按“重置”
          鈕,然后按照設置的內容點選參數,選擇完成后按“設置”鈕,系統提示設置成功,最后按“OK”鈕,即完成了串口的設置。
          5、檢查串口的設置正確與否。在命令行上可用sacadm、pmadm命令來檢查串口的設置情況,如下即為正確的設置:
          #sacadm-l;帶參數l,列出串口服務器
          PMTAGPMTYPEFLGSRCNTSTATUSCOMMAND
          zsmonttymon-0ENABLED/usr/lib/saf/ttymon#
          #pmadm-l;列出串口監控器
          PMTAGPMTYPESVCTAGFLGSIDΙPMSPECIFICΛ
          zsmonttymonttyauroot/dev/term/ab-/usr/bin/login-38400ldterm,
          ttcompatlogin:--n#
          三、設置系統文件:
          1、編輯文件/etc/hosts,以增加ppp客戶機的網址:
          #vi/etc/hosts
          127.0.0.1localhost
          192.9.200.1serverloghost;本例的主機名及地址
          192.9.200.10pppclient;ppp客戶機地址和名稱
          2、增加一個撥號用戶的注冊名:
          a.編輯文件/etc/passwd,增加一個用戶名:
          #vi/etc/passwd
          ppplogin:x:1200:1045:pppclientlogin:/:/usr/sbin/aspppls;增加用戶ppplogin
          b.編輯文件/etc/shadow,加入下行:
          #vi/etc/shadow
          ppplogin::::::::;對應增加
          c.可以修改ppplogin用戶的注冊口令:
          #passwdppplogin
          Newpassword:
          Re-enternewpassword:

          3、編輯文件/etc/asppp.cf,內容如下:
          #vi/etc/asppp.cf
          ifconfigipdptp0plumbserverdown;開機時啟動ipdptp接口
          defaults;缺省設置
          interfaceipdptp*;針對所有的ipdptp接口
          inactivity-timeout120
          ipcp-async-map0
          path
          peer-system-nameppplogin;與用戶注冊名一致
          peer-ip-addresspppclient;與ppp客戶名一致
          4、查詢主網卡的地址:
          #ifconfig-a;列出系統中的所有網絡接口
          lo0:flags=849ΙUP,LOOPBACK,RUNNING,MULTICASTΛmtu8232
          inet127.0.0.1netmaskff000000
          hme0:flags=863ΙUP,BROADCAST,NOTRAILERS,RUNNING,MULTICASTΛmtu1500
          inet192.9.200.1netmaskffffff00broadcast192.9.200.255
          ether8:0:20:1:2:3
          最后一行ether后的數字串即為該網卡的地址,如本機為8:0:20:1:2:3。
          5、新建可執行文件/etc/rc2.d/S99proxyarp,步驟:
          #vi/etc/rc2.d/S99proxyarp
          ndd-set/dev/ipip-forwarding1
          arp-spppclient8:0:20:1:2:3pub;將ppp客戶名和網卡的地址的填入相應位置
          #chmod+x/etc/rc2.d/S99proxyarp;改變文件屬性,讓其可執行
          四、完成以上所有設置后,重啟SUN工作站。
          五、檢驗效果:
          重啟后,我們用接口查詢命令即可看到ipdptp0接口已啟動,但還沒有up:
          #ifconfig-a;列出系統中的所有網絡接口
          lo0:flags=849ΙUP,LOOPBACK,RUNNING,MULTICASTΛmtu8232
          inet127.0.0.1netmaskff000000
          hme0:flags=863ΙUP,BROADCAST,NOTRAILERS,RUNNING,MULTICASTΛmtu1500
          inet192.9.200.1netmaskffffff00broadcast192.9.200.255
          ether8:0:20:1:2:3
          ipdptp0:flags=8d0ΙPOINTOPOINT,RUNNING,NOARP,MULTICASTΛmtu8232
          inet192.9.200.1--Λ0.0.0.0netmaskffffff00
          ether0:0:0:0:0:0
          在客戶機上(例如WIN95),在控制面板中將撥號網絡設置好后,新建一個撥號連接并設好TCP/IP的地址(這些步驟已有許多介紹,這里不再詳述)即可向工作站撥號上網。注冊成功后,我們用接口查詢命令可看到ipdptp0接口已up:
          #ifconfig-a;列出系統中的所有網絡接口
          lo0:flags=849ΙUP,LOOPBACK,RUNNING,MULTICASTΛmtu8232
          inet127.0.0.1netmaskff000000
          hme0:flags=863ΙUP,BROADCAST,NOTRAILERS,RUNNING,
          MULTICASTΛmtu1500
          inet192.9.200.1netmaskffffff00broadcast192.9.200.255
          ether8:0:20:1:2:3
          ipdptp0:flags=28d1ΙUP,POINTOPOINT,RUNNING,NOARP,MULTICAST,
          UNNUMBEREDΛmtu1500
          inet192.9.200.1--Λ192.9.200.10netmaskffffff00
          ether0:0:0:0:0:0
          這時客戶機就如同遠程網絡上的一個主機,可以進行任何網絡操作。在客戶機退出PPP后,ipdptp接口會自動down。
          ---------------------------------------------------------------------------------
          5、RPC_PROG_NOT_REGISTERED 錯誤如何解決
          /etc/nfs.server start
          ---------------------------------------------------------------------------------
          6、問高手一個solaris x86匿名FTP問題
          ? 默認情況下root是不能ftp的。 ?
          ? root也可以ftp ? ?telnet了
          ? root ?FTP 只要把/etc/ftpuser 里面的root刪除就OK了
          ? root telnet 只要把//etc/default/login里面在CONSOLE前面加#就OK了
          ---------------------------------------------------------------------------------
          7、[討論]如何察看網絡開銷?  
          ? 直接用snoop命令抓包,#snoop -o /filename
          ---------------------------------------------------------------------------------
          8、今天終于把IP綁定到我的realtek 8139上了
          ?現在解決方法如下:
          用vi在/etc/rc2.d/S69inet文件的最后一行加上
          ifconfig rtls0 your-ip netmask 子網掩碼ip up
          route add default 網關ip
          存盤后退出。然后執行/etc/rc2.d/S69inet start就可以了。
          ---------------------------------------------------------------------------------
          9、TELNET 和FTP連接很慢,一般是什么原因造成
          ?因為進行了域名反向解析:配置了域名解析服務器而沒有配置域名系統的結果,簡單方法就是刪除/etc/resolf.conf中的nameserver行。
          ?這是因為沒有設置DNS服務器的緣故。需要在/etc/nsswitch.conf文件中,hosts這一行記錄之后加上DNS,/etc/resolv.conf文件中加入domain和nameserver的配置。
          如果局域網中沒有DNS server,也可以在/etc/hosts中,loghost這一行記錄后面加上類似于hosts.domain的主機名+域名的字符。

          而telnet或ftp很慢的原因是因為telnet和ftp是用tcp_wrappers來控制的,tcp_wrappers會根據/etc/nsswitch.conf文件中的hosts去找客戶端主機的IP地址,如果在/etc/hosts文件或者DNS server上找不到客戶機的IP,就會很慢了。

          因此,為了解決這個問題,可以把你的客戶機加入/etc/hosts文件,或者DNS解析中。
          +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
          [color=red]++++++文件系統相關的問題++++++[/color]
          +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
          1、SUN UNIX 下如何克隆硬盤
          dd if=/dev/rdsk/c#t#d#s2 of=/dev/rdsk/c#d#t#s2 bs=40960k
          可用 ufsdump 和 ufsrestore 組合使用, 完成此功能。
          ---------------------------------------------------------------------------------
          2、請問SPARC下機器中的/dev/rdsk/ 下的c*t*d*s* 的c ,t ,d ,s 各代表什么意思
          ? ? c ? ? ? control
          ? ? t ? ? ? target
          ? ? d ? ? ? disk
          ? ? s ? ? ? slice
          ---------------------------------------------------------------------------------
          3、為什么我mount的文件系統,reboot機子后就不見了?
          你沒有把它加入到/etc/vfstab文件中吧,你手工mount只是臨時的,需要把它加入到/etc/vfstab,那才是永久的 ? ?
          通過vi編輯器來編輯vfstab文件。在最后一行寫入你要mount的分區,格式如下:
          /dev/dsk/c0t1d0s7 ? ?/dev/rdsk/c0t1d0s7 ? ?/data1 ? ufs ? 2 ? yes ? -
          至于格式的意思你可以查看man手冊。
          +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
          [color=red]++++++系統命令相關的問題++++++[/color]
          +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
          1、為何我mount 不到cdrom  solaris 1.x的
          ? mount -t hsfs -r /dev/sr0 /cdrom ?
          ---------------------------------------------------------------------------------
          2、殺掉一個pts 
          ? ?用kill -9
          ---------------------------------------------------------------------------------
          3、gzip 命令怎么沒有啊,在solaris x86  
          ?solaris x86在安裝時是沒有帶gzip的,需要下載安裝包重新安裝的
          ---------------------------------------------------------------------------------
          4、如何解開 ****.tar.gz 文件,在solaris x86下.  
          gunzip -d *.tar.gz
          ?gzcat *.tar.gz |tar xvf - ?
          ---------------------------------------------------------------------------------
          5、請問在sun中怎樣掛光驅和小的磁帶機???  
          ?1。安裝磁帶機后,首先進入OK狀態下,輸入下列命令
          ok probe-scsi-all
          看看有沒有磁帶機,沒有磁帶機的話,或者有不明SCSI設備,你在Solaris里再怎么設置都不會有的。
          2。檢測到磁帶機后,就要輸入
          ok boot -r
          重新啟動系統
          3。進入系統后,磁帶機的驅動在/dev/rmt下面
          注意觀察一下,如果你只有一個磁帶機,而/dev/rmt下面有0開頭的也有1開頭的,就要
          #rm *
          把他們都刪除掉,然后halt系統,boot -r再啟動一次。那是因為操作系統認為你有2個磁帶機,一個是0,一個是1。要刪除掉他們,讓系統重新認一次。
          4。用tar,ufsdump,ufsrestore,mt等命令測試磁帶機
          ---------------------------------------------------------------------------------
          6、netscape安裝后,在那里使用,找不到啟動圖標
          ?/usr/dt/appconfig/netscape
          ---------------------------------------------------------------------------------
          7、請問字符界面和圖形界面如何相互轉換?
          ?1、圖形界面注銷,選命令行登陸
          2、命令行轉圖形界面
          ?su root
          ?/usr/dt/bin/dtlogin -daemon
          ?exit ?
          ---------------------------------------------------------------------------------
          8、樣察看E6500和E3500有幾個system boards? 
          ? #/usr/platform/sun4u/sbin/prtdiag
          ---------------------------------------------------------------------------------
          9、分享---一些shell下的常用命令 
          ? ?
          1.Debugging ?

          truss executable ? ? ?
          /* Trace doing of given command ( useful debugging ) */ ?

          truss -f -p <pid of a shell>
          /* Using multiple windows, this can be used to trace setuid/setgid programs */ ?
          Arp, ethernet trouble shooting ?
          arp -a .
          /* Shows the ethernet address arp table */ ?

          arp -d myhost
          /* Delete a stale ethernet entry for host myhost */ ?

          2.Disk Commands ?

          du -k .
          /* Reports disk space used in Kilobytes */ ?

          du -sk .
          /* Reports only total disk space used in Kilobytes */ ?

          du -ad /var | sort -nr
          /* Tells you how big the /var files are in reverse order */ ?

          fdformat -d -U
          /* format diskette */ ?

          /usr/bin/iostat -E
          /* Command to display drives statistics */ ?

          /bin/mount -F hsfs -o ro /dev/sr0 /cdrom
          /* Mount an ISO 9660 CDROM */ ?

          prtvtoc /dev/rdsk/c0t0d0s2
          /* Disk geometry and partitioning info */ ?

          quot -af
          /* How much space is used by users in kilobytes */ ?

          3.Driver Parameters ?

          ndd /dev/ip \?
          /* Shows IP variables in the kernel */ ?

          ndd /dev/ip ip_forwarding
          /* Tells you if forwarding is on (=1) */ ?

          ndd -set /dev/ip ip_forwarding 1
          /* Enables IP forwarding between interfaces */ ?

          4.File Manipulation ?

          dos2unix | -ascii <filename>
          /* Converts DOS file formats to Unix */ ?

          split
          /* Split files into pieces */ ?

          [vi] : %s/existing/new/g
          /* Search and Replace text in vi */ ?

          [vi] :set nu
          /* Set line numbers in vi */ ?

          [vi] :set ts=[num]
          /* Set tab stops in vi */ ?

          5.File System ?

          cat /dev/null > filename
          /* Zero's out the file without breaking pipe */ ?

          dd if=/dev/rdsk/... of=/dev/rdsk/... bs=4096
          /* Make a mirror image of your boot disk */ ?

          df -k | grep dg| awk '{print $6}' |xargs -n 1 umount
          /* Unmount all file systems in disk group dg */ ?

          fsck -F ufs /dev/rdsk/c0t0d0s0
          /* Check a UFS filesystem on c0t0d0s0 */ ?

          fsck -F ufs -y /dev/rdsk/c0t0d0s0
          /* Check answering yes to all questions */ ?

          fsck -F ufs -o b=97472 /dev/rdsk/c0t0d0s0
          /* Check using an alternate super block */ ?

          gzip -dc file1.tar.gz | tar xf -
          /* Unpack .tar.gz files in place */ ?

          ls -la | awk '{ print $5," ? ?",$9 }' | sort -rn
          /* File sizes of current directory */ ?

          mount -f pcfs /dev/dsk/c0d0p1 /export/dos
          /* Mount DOS fdisk partition from Solaris */ ?

          mount -F ufs -o rw,remount /
          /* Used to remount root to make it writeable */ ?

          mount -o remount,logging /spare
          /* Re-mount the ro file system rw and turn on ufs logging */ ?

          tar cvf filename.tar
          /* Create a tape (tar) archive */ ?

          tar xvf filename.tar
          /* Extract a tape (tar) archive */ ?

          tar cf - . | (cd /newdir ; tar xf -)
          /* Recursively copy files and their permissions */ ?

          /sbin/uadmin x x
          /* Syncs File Systems and Reboots systems fast */ ?

          zcat <patch_file.tar.Z | tar xvf -
          /* Extract the patch_file that is a compressed tar file */ ?

          6.File Transfer ?

          put "| tar cf - ." filename.tar
          /* Undocumented Feature of FTP */ ?

          find . -depth | cpio -pdmv /path/tobe/copied/to
          /* Fast alternative to cp -pr */ ?

          sendport
          /* Transferring large numbers of files within the same ftp control session */ ?

          7.General ?

          /usr/bin/catman -w
          /* Create windex databases for man page directories */ ?

          mailx -H -u <username>
          /* List out mail headers for specified user */ ?

          set filec
          /* Set file-completion for csh */ ?

          8.Hardware ?

          cfgadm
          /* Verify reconfigurable hardware resources */ ?

          m64config -prconf
          /* Print M64 hardware configuration */ ?

          m64config -depth 8|24
          /* Sets the screen depth of your M64 graphics accelerator */ ?

          m64config -res 'video_mode'
          /* Change the resolution of your M64 graphics accelerator */ ?

          9.Kernel ?

          /usr/sbin/modinfo
          /* Display kernel module information */ ?

          /usr/sbin/modload <module>
          /* Load a kernel module */ ?

          /usr/sbin/modunload -i <module id>
          /* Unload a kernel module */ ?

          nm -x /dev/ksyms | grep OBJ | more
          /* Tuneable kernel parameters */ ?

          /usr/sbin/sysdef
          /* Show system kernal tunable details */ ?

          10.Memory ?

          prtconf | grep "Memory size"
          /* Display Memory Size */ ?

          11.Network Information ?

          ndd /dev/arp arp_cache_report
          /* Prints ARP table in cache with IP and MAC address */ ?

          netstat -a | grep EST | wc -l
          /* Displays number active established connections to the localhost */ ?

          netstat -k hme0
          /* Undocumented netstat command */ ?

          netstat -i
          /* Show the TCP/IP network interfaces */ ?

          netstat -np
          /* Similar to arp -a without name resolution */ ?

          netstat -r
          /* Show network route table */ ?

          netstat -rn
          /* Displays routing information but bypasses hostname lookup. */ ?

          netstat -a | more
          /* Show the state of all sockets */ ?

          traceroute <ipaddress>
          /* Follow the route to the ipaddress */ ?

          12.Network/Tuning ?

          ifconfig eth0 mtu 1500
          /* Change MTU of interface */ ?

          ifconfig eth0 10.1.1.1 netmask 255.255.255.255
          /* Add an Interface */ ?

          /sbin/ifconfig hme0:1 inet 10.210.xx.xxx netmask 255.255.0.0 broadcast 10.210.xxx.xxx
          /* Virtual Interfaces */ ?

          /sbin/ifconfig hme0:1 up
          /* Bring virtual interface up */ ?

          /usr/sbin/ndd -set /dev/hme adv_100fdx_cap 1
          /* Nailling to 100Mbps */ ?

          ndd -set /dev/ip ip_addrs_per_if 1-8192
          /* To set more than 256 virtual ip addresses. */ ?

          ndd -set /dev/tcp tcp_xmit_hiwat 65535
          /* Increase TCP-transmitbuffers */ ?

          ndd -set /dev/tcp tcp_recv_hiwat 65535
          /* Increase TCP-receivebuffers */ ?

          13.Processes ?

          fuser -uc /var
          /* Processes that are running from /var */ ?

          kill -HUP `ps -ef | grep [p]roccess | awk '{print $2}'`
          /* HUP any related process in one step */ ?

          pfiles <pid>
          /* Shows processes' current open files */ ?

          pkill -n <name>
          /* Kill a process by name */ ?

          kill `ps -ef | grep program_name | grep -v grep | cut -f8 -d ' '`
          /* pkill for solaris 2.6 */ ?

          prstat -a
          /* An alternative for top command */ ?

          /usr/ucb/ps -aux | more
          /* Displays CPU % usage for each process in ascending order */ ?

          /usr/ucb/ps -auxww | grep <process name>
          /* Gives the full listing of the process (long listing) */ ?

          ps -ef | grep -i <string> | awk '{ print $2 }'
          /* Creates list of running PID by */ ?

          ps -ef | grep -v "0:00" | more
          /* Gives you a list of any process with CPU time more than 0:00 */ ?

          ps -ef | more
          /* Show all processes running */ ?

          ps -fu oracle|grep pmon
          /* See which instances of Oracle are running */ ?

          /usr/proc/bin/ptree <pid>
          /* Print the parent/child process 'tree' of a process */ ?

          /usr/proc/bin/pwdx <pid>
          /* Print the working directory of a process */ ?

          top -b 1
          /* Returns the process utilizing the most cpu and quits */ ?

          14.Resource Management ?

          /usr/bin/ldd [filename]
          /* List the dynamic dependencies of executable files */ ?

          /usr/proc/bin/pmap pid
          /* Report address space map a process occupies */ ?

          15.Route Configuration ?

          route add net 128.50.0.0 128.50.1.6 1
          /* Adds route to 128.50 network via 128.50.1.6 */ ?

          route delete net 128.50.0.0 128.50.1.6
          /* Deletes route to 128.50 network */ ?

          route get [hostname]
          /* Which interface will be used to contact hostname */ ?

          route monitor
          /* Monitors traffic to the routes */ ?

          route flush
          /* Removes all entries in the route table */ ?

          16.Searching Items ?

          egrep "patterna|patternb" <filename>
          /* Search for multiple patterns within the same file */ ?

          find . -exec egrep -li "str" {} \;
          /* Find a string in files starting cwd */ ?

          find / -fstype nfs -prune -o fstype autofs -prune -o -name filename -print
          /* Find without traversing NFS mounted file systems */ ?

          find . -mtime -1 -type f
          /* Find recently modified files */ ?

          find / -mtime <# of days>
          /* Find files modified during the past # of days */ ?

          find . ! -mtime -<days> | /usr/bin/xargs rm -rf
          /* Finds and removes files older than <days> specified */ ?

          find . -type f -exec grep "<sub-string>" {} \; -print
          /* Find files containing <sub-string> within directory tree */ ?

          find . -type f -print | xargs grep -i [PATTERN]
          /* Recursive grep on files */ ?

          find / -user <username>
          /* Find all files owned by <username> */ ?

          find / | grep [file mask]
          /* Fast way to search for files */ ?

          find <start_path> -name "<file_name>" -exec rm -rf {} \;
          /* Recursively finds files by name and automatically removes them */ ?

          find /proc/*/fd -links 0 -type f -size +2000 -ls
          /* Find large files held open by a process */ ?

          ls -lR | grep <sub_string>
          /* Fast alternative to find */ ?

          17.Security ?

          echo 'Please go away' > /etc/nologin
          /* Stops users logging in */ ?

          find / -perm -0777 -type d -ls
          /* Find all your writable directories */ ?

          find / -type f -perm -2000 -print
          /* Find all SGID files */ ?

          find / -type f -perm -4000 -print
          /* find all SUID files */ ?

          18.Set Terminal Options ?

          stty erase ^H
          /* Sets the Backspace Key to erase */ ?

          stty erase ^?
          /* Sets the Delete Key to erase */ ?

          stty sane
          /* Rreset terminal after viewing a binary file. */ ?

          tput rmacs
          /* Reset to standard char set */ ?

          19.Snoop Your Network ?

          snoop -d pcelx0
          /* Watch all network packets on device pcelx0 */ ?

          snoop -o /tmp/mylog pcelx0
          /* Saves packets from device pcelx0 to a file */ ?

          snoop -i /tmp/mylog host1 host2
          /* View packets from logfile between host1 & host2 */ ?

          snoop -i /tmp/mylog -v -p101
          /* Show all info on packet number 101 from a logfile */ ?

          snoop -i /tmp/mylog -o /tmp/newlog host1
          /* Write a new logfile with all host1 packets */ ?

          snoop -s 120
          /* Return the first 120 bytes in the packet header */ ?

          snoop -v arp
          /* Capture arp broadcasts on your network */ ?

          20.Swap File ?

          mkfile -v 10m /export/disk1/myswap
          /* Makes a 10 Megabyte swapfile in /export/disk */ ?

          mkfile -nv 10m /export/disk1/myswap
          /* Makes an empty 10 Megabyte swapfile */ ?

          21.Swap Space ?

          swap -s
          /* List the amount of swap space available, also see mkfile */ ?

          swap -a /export/disk1/swapfile
          /* Add a swapfile */ ?

          swap -d /dev/dsk/c0t0d0s4
          /* Deletes a swap device */ ?

          swap -l
          /* List the current swap devices */ ?

          22.System Configuration ?

          /usr/sbin/eeprom auto-boot? false
          /* Changes eeprom autoboot? setting without going to Ok prompt */ ?

          /usr/sbin/eeprom diagswitch? true
          /* Set the system to perform diagnostics on the next reboot. */ ?

          /usr/sbin/grpck
          /* Check /etc/group file syntax */ ?

          /usr/sbin/pwck
          /* Check /etc/passwd file syntax */ ?

          /usr/sbin/sys-unconfig
          /* Clear host specific network configuration information */ ?

          23.System Information and Monitoring ?

          coreadm -e log
          /* Report global core */ ?

          /usr/sbin/eeprom
          /* Show eeprom parameters */ ?

          grep "\-root" /var/adm/sulog | grep -v \+ | tail -25
          /* List most recent attempts to switch to superuser account. */ ?

          isainfo -bv
          /* Quickly checkout if machine is in 32 or 64 bit mode */ ?

          last
          /* Tells who was or still is on the system */ ?

          logger -i
          /* Log the process ID */ ?

          /usr/sbin/prtconf -vp
          /* Show system configuration details */ ?

          /usr/platform/`/bin/uname -i`/sbin/prtdiag -v
          /* System Diagnostics */ ?

          psrinfo | wc -l
          /* Display number of processors */ ?

          sar -A <time in sec>
          /* Provides cumulative system report. */ ?

          sar -a <time in sec>
          /* Report use of file access system routines. */ ?

          sar -u
          /* Report CPU Utilization */ ?

          uname -a
          /* Displays system information */ ?

          vmstat 10
          /* Displays summary of what the system is doing every 10 seconds */ ?

          ypcat hosts | sort -n -t. +0 -1 +1 -2 +2 -3 +3 -4
          /* Take the input of "ypcat hosts" or "cat /etc/inet/hosts" and sort by IP. */
          +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
          [color=red]++++++系統維護相關的問題++++++[/color]
          +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
          1、在Sun Ultra 10上添加一個80G的硬盤?  
          I have resolved the answer to my problem. What had happened is I had originally attached the drive to a Solaris 2.6 OS and ran format and labled it, that is where my problem started. To fix the problem I booted single user off a Solaris 9 CD 1 of 2, then I created a 10mb file in /tmp using the command "mkfile 10m /tmp/xxx", with this file created I now ran the dd command to null out the label: "dd if=/tmp/xxx of=/dev/rdsk/c0t0d0s2".
          Now with the label gone, when I run format from the Solaris 9 CD I can now see the whole disk, so if I write the label to the disk now and then boot to Solaris 8 everything is good.
          ---------------------------------------------------------------------------------
          2、SunOS5.8, Ultra60 運行vi時顯示:"/var/tmp/Ex0000000780" Permission denied。謝謝各位!
          /var/tmp的權限不對。/var/tmp的擁有者用戶就可以使用vi,我把權限改了以后其他用戶也可以用了
          ---------------------------------------------------------------------------------
          3、安裝時忘裝 gunzip怎么辦
          去http://sunfreeware.hknet.com/下載pkg包,那里下載速度很快,而且很小大小不對。
          ---------------------------------------------------------------------------------
          4、我在solaris7系統中,要怎么才能夠改變我得登陸的路徑呢?
          ? 改一下passwd下的用戶登錄路徑就行了。如這樣。倒數第二個為路徑,把它改了就ok
          yuan:x:100:3::/:/sbin/sh
          ---------------------------------------------------------------------------------
          5、請問超級用戶環境變量的設置在哪個文件里修改???  
          ?/etc/profile ?
          ---------------------------------------------------------------------------------
          6、 為什么不能解壓縮呀,我已經安裝了GUNZIP  
          ? ?PATH=$PATH:/usr/local/bin
          export PATH
          寫在.profile里面 ?
          +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
          [color=red]++++++其他相關的問題++++++[/color]
          +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
          1、Tomcat4.01全攻略
          http://www.chinaunix.net/cgi-bin/bbs/topic.cgi?forum=3&topic=11909&show=330
          ---------------------------------------------------------------------------------
          2、郵件系統+webmail+數據庫”怎樣的組合好
          免費 sendmail+apache+mysql
          少量的銀子 sendmial+netscape+oracle
          大量的銀子 專業mail軟件+.....+oracle(sybase)
          免費的一般是qmail+sqwebmail+mysql(oracke)
          ---------------------------------------------------------------------------------
          3、一次安裝solaris 8 for intel,一點點的收獲
          在聯想奔月4000上,piii933,256M,Nvidia tnt 顯卡,8139的網卡,第一次啟動,因為顯卡設置不對,提示xwindow錯誤死機,很傷心;第二次,重新設置正確;
          ?在硬盤分區時,發現根區最大可分491M,沒弄明白什么意思,大家解釋一下。原來裝的linux ,沒做硬盤,直接從光驅啟動安裝的。
          ---------------------------------------------------------------------------------
          4、遇到問題如下:$TERM=ansi ?TERM=ansi: 命令沒有找到
          ?把你的終端設為標準終端,命令如下:%set term=vt100
          提示:不同的shell設置環境變量方法不一樣。
          ---------------------------------------------------------------------------------
          5、在Solaris里面安裝自制輸入法 
          ?今天找到了自制中文輸入法的方法,寫出來給其他需要的人
          首先當然需要一個編碼文件,格式如下:
          <codetable>
          工 ? ? ?aaaa
          ......
          字和代碼之間用tab間隔就行了,我有一個五筆的編碼文件可以共享給大家
          http://chenjn.3322.org/wubi.txt
          有了編碼文件以后,用命令"mkcodetab wubi.txt -o wubi.ct"得到wubi.ct文件,這才是solaris可以使用的編碼文件
          cp wubi.ct /usr/lib/mle/zh/data
          然后修改/usr/lib/mle/zh/data/keybind.dat
          這個文件不能直接修改,要先chmod 755 keybind.dat,改完文件后記得改回555
          這個文件前面有注釋,我就不詳細講解了,如果和我一樣使用的是五筆輸入法,下面有一段注釋的現成代碼可以用,取消注釋就行了,我把其中的F8改成F10了,不知道是不是必須,不過感覺和后面的修改比較保持一致,如果沒有這一段的可以照著以下添加:
          %wubi: ? ? ? ?^W:F10:[ 五筆字型 ]
          ? ? ?CT=/usr/lib/mle/zh/data/wubi.ct
          ? ? ?PG=,
          ? ? ?NG=.
          ? ? ?FC=' '
          ? ? ?WC='z'
          然后再修改/usr/openwin/lib/locale/zh/xim/hotkey.dat
          在下面類似"F?? ?others ?cm"的行中,加入一行"F10 others cm"
          到此修改就算是完成了
          把輸入管理程序復位以后就可以用F10鍵打開五筆輸入法了,用著真是爽呀,因為編碼文件一樣,所以和我在win2k里面用起來一模一樣:)
          ---------------------------------------------------------------------------------
          6、有關vmware solaris的“大”問題,Guest Os和網內其它機器不通
          ?win2000的網絡設置中禁用2個vmware相關的網卡,把bridged直接綁定到你的物理網卡上
          ?vmware的網絡配置成什么方式?如果是bridged方式,應該能通。
          ---------------------------------------------------------------------------------
          7、哪里有ATI Mobility Radeon For Solaris的驅動程序
          ? http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/xprod-Solaris_x86IntelDrivers&nav=pub-patches
          ---------------------------------------------------------------------------------
          8、[分享]在 Solaris 下制作package  蕭筱筱 ?
          ? ?什么是package
          Package是一個二進制分發包,在package中收集了應用程序所需的所有文件及目錄,并帶有安裝應用程序時所需的shell腳本。
          package的存檔方式
          package有兩種存檔方式:
          file system:所謂file system格式,就是類似于文件系統的目錄存檔方式。
          使用file system格式的package安裝時,在該package所在的目錄,執行pkgadd -d .,就會列出目錄下所有的package,并詢問是否安裝。
          該packge的目錄下,則有以下基本的目錄及文件:
          install:主要存放安裝package時需要執行的shell腳本;
          pkginfo:記錄該package的分發信息。
          pkgmap:記錄了該package中的所有文件及目錄與安裝到系統中的位置的映射。
          reloc:主要存放package中的所有文件及目錄
          root:當pkgmap中定義了從/根分區開始映射的文件或目錄,則存在該目錄。
          datastream:datastream的格式是將整個 file system 做成一個文件。有點類似 tar 的作用. 使用 datastream 格式的 package 來安裝時, 必需指定package的名稱, 而不能用 "." 來指定, 而且每次只能安裝一個 package。
          有關package的命令的基本使用方法
          &Oslash;;;pkgadd:將package安裝到系統中
          對于file system格式的package: pkgadd -d .
          對于datastream格式的package:pkgadd -d $package_name
          &Oslash;;;pkginfo:列出系統中所有的package信息
          執行pkginfo | grep $package_name則可以將某個package的信息列出
          &Oslash;;;pkgmk:制作package
          pkgmk [-o] -r `pwd`
          &Oslash;;;pkgproto:生成制作package時所需的prototype文件
          &Oslash;;;pkgtrans:將package的file system和datastream方式之間的相互轉換
          file system->datastream: pkgtrans -s /path/to/filesystem /path/to/file/filename
          datastream-> file system: pkgtrans /path/to/file/filename /path/to/filesystem
          &Oslash;;;pkgrm:將package從系統中刪除。
          pkgrm $package_name
          &Oslash;;;pkgparam:列出package的相關參數
          以上只是基本的用法及參數說明,可以通過man獲得這些命令的詳細用法說明。

          制作package具體實例
          以下以制作OpenLdap應用軟件package為例進行具體講解。

          1.編譯安裝OpenLdap
          獲得OpenLdap的源代碼包openldap-2.0.25.tar.gz
          進入openldap-2.0.25.tar.gz所在的目錄,執行下列命令:
          tar -zxvf openldap-2.0.25.tar.gz
          cd openldap-2.0.25
          ./configure
          make
          make test
          touch -t `date '+%m%d%H%M'` /tmp/tmpfile ? ?(執行該命令主要是為了確定ldap安裝的時間,以便生成prototype文件)
          make install

          2.編輯pkginfo
          pkginfo文件的格式如下:
          PKG=OPLdap
          NAME=OpenLdap
          ARCH=sparc
          VERSION=2.0.25
          CATEGORY=application
          VENDOR=www.openldap.org
          EMAIL=master@openldap.org
          PSTAMP=20020628
          BASEDIR=/usr/local
          CLASSES=none
          這些參數說明如下:

          PKG= 你所制作的 package 的file system格式的目錄名稱
          NAME= 程序名稱
          ARCH= 操作系統的版本
          VERSION= 程序的版本編號
          CATEGORY= 程序的類別application
          VENDOR= ?寫這個程序的公司
          EMAIL= ?e-mail 的內容
          PSTAMP= ?該程序發布的日期
          BASEDIR= 應用軟件安裝的路徑
          CLASSES= 一般情況下,只需寫none即可。

          3.獲得prototype
          利用find,根據第一步創建的tmpfile的生成時間可以輕易的獲得prototype
          執行以下命令:
          cd /usr/local
          find ./ -newer /tmp/tmpfile -print | pkgproto > prototype
          用vi編輯prototype
          添加以下內容:
          i pkginfo=./pkginfo
          并注意檢查prototype文件中每一條記錄的user和group的值,確保在別的主機上會存在該用戶和組。否則在別的主機上安裝該package時會出錯的。因此,通常可以把user和group的值改為bin bin或者root other
          以下是prototype文件的內容舉例:

          i pkginfo=./pkginfo
          d none bin 0755 bin bin
          f none bin/ldapadd 0755 root other
          f none bin/ldapdelete 0755 root other
          f none bin/ldapmodrdn 0755 root other
          f none bin/ldappasswd 0755 root other
          f none bin/ldapsearch 0755 root other
          f none bin/ud 0755 root other
          l none bin/ldapmodify=ldapadd
          ……
          當然了,有必要對prototype的內容進行必要的檢查,以防誤將一些隨時增長的log文件也增加進來。也可以根據實際情況,在確定位置放置額外的文件,并在prototype中增加相關信息。

          4.編輯安裝腳本
          在制作package時,也可以編輯一系列腳本,以便于安裝package時執行該腳本。
          這些腳本主要有如下幾類:
          copyright:定義發布軟件包時的版權聲明
          depend:定義安裝該package之前所需安裝的package
          checkinstall:在安裝package前對環境變量及package是否已安裝進行確認
          request:定義在安裝時需要輸入的變量
          preinstall:定義在package將文件安裝至系統前所需執行的命令
          postinstall:定義在package將文件安裝至系統之后所需執行的命令
          preremove:定義在刪除package的文件之前所需執行的命令
          postremove:定義在刪除package的文件之后所需執行的命令

          在制作package時可以不必完全包括以上這些文件。這可以在prototype的文件中進行定義。
          在制作OWLdap的package時,我定義了以下幾個文件:
          copyright,request,checkinstll,postinstall,preremove
          為防止有灌水的嫌疑,我這兒就不把具體腳本的內容貼出來了。其實跟寫shell腳本差不多的:)
          同樣的,需要在prototype文件中增加這些文件的引用:
          i pkginfo=./pkginfo
          i copyright=./copyright
          i request=./request
          i checkinstall=./checkinstall
          i postinstall=./postinstall
          i preremove=./preremove
          d none bin 0755 bin bin
          f none bin/ldapadd 0755 root other
          f none bin/ldapdelete 0755 root other
          f none bin/ldapmodrdn 0755 root other
          f none bin/ldappasswd 0755 root other
          f none bin/ldapsearch 0755 root other
          f none bin/ud 0755 root other
          l none bin/ldapmodify=ldapadd
          ……

          5.制作package
          至此,制作package的前期工作都已完成,執行下列命令以生成file system格式的package
          cd /usr/local
          pkgmk -r `pwd`
          執行這條命令之后,會在/var/spool/pkg目錄下生成一個package的目錄(本例則是生成一個OPLdap的目錄),里面則存放著剛做好的package。
          可以把這個目錄用tar和gzip壓起來。安裝時只需要把它解開成OWLdap的目錄格式,然后執行pkgadd -d . 即可。

          6.轉換package格式
          為便于package保存及傳輸,可以將package由file system的格式轉換為datastream的格式:
          cd /var/spool/pkg
          pkgtrans -s `pwd` /tmp/OPLdap-sol8
          在/tmp目錄下即可生成OWLdap-sol8的文件
          在安裝時,則執行pkgadd -d OPLdap-sol8即可。

          以上是我對制作Package的一點小小心得,歡迎大家批評指正:)
          ---------------------------------------------------------------------------------
          9、SUN Workshop的移植 [給那些money少的人]  
          ? ?本文檔描述了從一個現有系統(帶有Workshop的Solaris2.6_x86)中剝離出編譯器并安裝到別的系統上的過程。
          二、系統環境
          原來的系統包含如下分區:
          PartTagFlagCylindersSizeBlocks
          0rootwm3à;739.22MB……
          1varwm8à;1131.38 MB
          2backupwm0à;10187.81GB
          3swapwu12à;31156.88 MB
          4unassignedwm00
          5unassignedwm32à;2231.47GB
          6usrwm224à;288509.88MB
          7homewm289à;10185.59GB
          8bootwu0à;07.84MB
          9alternateswu1à;215.69MB
          新安裝的系統分區如下:
          PartTagFlagCylindersSizeBlocks
          0rootwm3à;28203.95MB……
          1varwm29à;54203.95MB
          2backupwm0à;5173.97GB
          3swapwu55à;71133.35MB
          4unassignedwm00
          5unassignedwm72à;159690.29MB
          6usrwm160à;2871004.06MB
          7homewm288à;5171.76GB
          8bootwu0à;07.84MB
          9alternateswu1à;215.69MB
          三、安裝步驟
          原有的系統的硬盤和掛接到新的系統中,在以下的說明中,新系統的邏輯磁盤名稱為:c1d0(Second Master),原有系統的硬盤在新系統中的邏輯磁盤名稱為:c1d1(Second Slave)。
          原有系統的Workshop安裝在/export/home下,新系統的將安裝在/opt下。
          1.備份原有系統中的軟件包
          # mkdir /oldhome
          # mkdir /oldroot
          # fsck /dev/rdsk/c1d1s7
          # mount /dev/dsk/c1d1s7 /oldhome
          # fsck /dev/rdsk/c1d1s0
          # mount /dev/dsk/c1d1s0 /oldroot
          # cd /oldhome
          # tar cvf /opt/SUNWspro.tar SUNWspro
          # tar cvf /opt/SUNWste.tar SUNWste
          # cd /oldroot/etc/opt
          # tar cvf /etc/opt/licenses.tar licenses
          2.將備份好的軟件包安裝到新的系統中
          # cd /opt
          # tar xvf SUNWspro.tar
          # tar xvf SUNWste.tar
          # cd /etc/opt
          # tar xvf licenses.tar
          # cp /oldroot/etc/init.d/lic_mgr /etc/init.d/lic_mgr
          # cp /oldroot/etc/rc2.d/S85lmgrd /etc/rc2.d/S85lmgrd
          3.修改新系統的hostname
          將系統的hostname改為sunos
          4.修改新系統的hostid
          使用hid2.x86程序(文件change-host-id中有)
          # hid2.x86 2c1fafa5
          可以配置為在系統啟動的時候啟動,修改/etc/init.d/inetsvc文件,加入如下行(假設hid2.x86文件存放于/etc)
          /etc/hid2.x86 2c1fafa5
          5.系統的編譯器就可以使用了
          ---------------------------------------------------------------------------------
          10、USB外置盤的安裝,前陣子論壇里有人已經搞定了.
          我解決問題了!
          方法是:
          1.把usb盤插入usb口
          2.stop +a
          3.boot -r
          4.啟動后執行/etc/init.d/volmgt stop
          5.umount /dev/dsk/c*t*d*s*
          6 mount /dev/dsk/c*t*d*s* /mnt
          結束。
          謝謝大家。

          偶在VMware里面,直接可以用的,
          但如果機器只裝Solaris
          1.把usb盤插入usb口
          2.init 0
          3.b -r ? ? ?<-----------啟動檢測模式,
          4.#drvconfig;disk
          5.format------>fdisk
          6.newfs
          4.啟動后執行/etc/init.d/volmgt stop
          5.umount /dev/dsk/c*t*d*s*
          6 mount /dev/dsk/c*t*d*s* /mnt

          沒驗證過,晚上做試驗~~~~~~~~~~~,誰現在有空可以試一試,不過有風險
          ---------------------------------------------------------------------------------
          11、video card:TNT2 Pro 32M 當安裝intel平臺的solaris8,系統監測不到顯卡,請教高手是否還需要別的驅動程序?
          ? 去查一下SOLARIS是否支持你的顯卡,如果不支持!恭喜你!你又兩個選擇
          1、使用16色的顯示模式玩SOLARIS
          2、換一個比較不那么ADVANCED的顯卡
          如果SOLARIS宣布支持你的顯卡,那你就麻煩大了!
          去SUN網站下一個顯卡補丁程序
          xf86_drv_port_bin_420_1.tar.gz
          按照說明安裝吧!
          祝使用SOLARIS快樂!
          ---------------------------------------------------------------------------------
          12、Solaris8-x86在VMware上的安裝(補充攻略)
          ?Solaris8-x86在VMware上的安裝(補充攻略)
          這幾天折騰了一下Solaris8-x86在vmware上的安裝,著實有些收獲,還是寫下來共享給大家吧。

          在安裝之前,很仔細的閱讀了南非蜘蛛的文章(http://202.108.44.138/cgi-bin/spboard45/board.cgi?id=a&page=1&action=view&number=146.cgi&img=no ),但是安裝的時候仍然失敗若干次,可是人家已經說了“還搞不定vmware,我也就沒有辦法了”,所以也不太好意思再問,問了好像自己很白癡的樣子,呵呵,只好自己解決了,不成想自己找出了一個新的方法。

          VMware的安裝相信大家都沒什么問題,注冊碼多試幾次總有一個合適的,不說了。而且在文章中涉及的方法跟VMware沒關系,我是按照實際在一臺機器上的思想做的,所以不用在意這個VMware。我用的是VMware-workstation-3.2.0-2230.exe。

          安裝Solaris8-x86有兩種方式:字符界面和圖形界面。字符界面的安裝很簡單,只要在碰到檢測顯卡什么的配置時不測試選擇ByPass,就行了。按照南非蜘蛛的文章中的說法,好像是安裝Software1的時候選擇了Bypass,以后安裝Software2和語言包的時候就都是字符界面了。但是我碰到的情況卻不同,Software1完了之后重起,起來以后又要檢測顯卡的設置,再次Bypass,才問你要第二張盤,你換盤,然后繼續安裝。在第二張裝完了之后沒有讓插語言盤的提示,我還以為完成了呢,但是根據圖形界面的安裝過程,還有些東西在語言盤上需要裝(就是中文的支持,也不重要)。不知正常情況到底是怎樣的,還需要大家提供寫意見。

          另外一種方式就是圖形界面的安裝了,就是在檢測顯卡的時候選擇一個合適的型號,選擇顯示器什么的,然后會出圖形的界面,在安裝Software1的時候不需要特殊的顯示支持,VGA ,640×480,16色,這種最低級的就行,但是在裝完Software1重起后,開始安裝Software2,這時卻需要Java的顯示支持,16色不行,至少要256色,所以安裝程序就會退出,給你一個消息說異常中止按Enter鍵reboot,連個命令行都不給。同樣安裝語言包的程序也是Java的,需要稍好一點的顯示配置。但是問題就在于VMware只支持VGA ,640×480(800×600),16色,這種最低級的模式,Java起不來,所以就用圖形界面安裝就變得異常困難了。如果你在獨立的機器上安裝,如果顯卡沒有列在選擇列表里,情況和VMware是一樣的,只能用VGA。在這兩種情況下,都需要安裝顯卡驅動來顯示更好的界面。在實際的機器中,需要下載實際顯卡的驅動安裝,而在VMware中,需要下載XF86-VMWARE VMware virtual video adapter這個驅動,就是在http://mostlysoftware.com/downloads/sunwxf86-vmware.tar.gz 這個包里了,如果你的Solaris是update1到update4的版本,需要安裝顯示補丁,就是在http://soldc.sun.com/developer/support/driver/tools/video/video-index.html 下載的xf86_drv_port_bin_420_1.tar.gz包了。

          我們安裝Solaris,如果只是用于做服務器,選擇Core System安裝就行了,什么都不缺,還短小精悍,做服務器正合適,這種安裝模式只需要第一張盤,而且也不安裝XWindow,所以根本就沒有圖形界面的問題。但是鑒于大家安裝Solaris多是在自己機器上,玩兒的意思多,沒有圖形界面,那還玩兒個什么勁兒呀?所以一般選擇Entire System全部安裝,所以自然要碰到圖形配置的問題。

          大家所碰到的問題大概有兩個:一個是顯卡驅動的安裝和設置顯示屬性。一個是在圖形界面如何安裝Software2和LANG包。

          好了,廢話說的太多了,讓我們開始吧。

          顯卡驅動的安裝和設置顯示屬性
          先說如何安裝顯卡驅動吧。獨立的機器需要找到自己顯卡的驅動。VMware的顯卡驅動是用的Linux的XF86改的,所以包含在XF86的包里,早些的Solaris版本需要裝補丁,從sun可以當。所以,在安裝之前需要如下兩個文件:

          sunwxf86-vmware.tar.gz

          xf86_drv_port_bin_420_1.tar.gz (可選)

          有了這兩個文件,就可以開始安裝顯卡驅動了。用FTP把這兩個文件傳到Solaris上,解開這兩個包,最好建兩個目錄,把這兩個文件分別放在不同的目錄里,然后在解開,因為他們包含相似的XF86的包,xf86_drv_port_bin_420_1.tar.gz中的XF86雖然比較新,但是沒有VMware需要的顯卡支持,所以我們用sunwxf86-vmware.tar.gz里的XF86,而使用xf86_drv_port_bin_420_1.tar.gz里面的兩個補丁。

          gzip -d sunwxf86-vmware.tar.gz

          tar xf sunwxf86-vmware.tar

          pkgadd -d . SUNWxf86u

          pkgadd -d . SUNWxf86r

          如果必要:

          gzip -d xf86_drv_port_bin_420_1.tar.gz

          tar xf xf86_drv_port_bin_420_1.tar

          patchadd 109401-10

          patchadd 108653-30

          這樣顯卡的驅動就安裝完了,下面需要對它進行配置:

          運行kdmconfig

          按F2進入下一頁,選擇Change Video Device/Monitor,按F2

          選擇顯卡XF86-VMWARE VMware virtual video adapter,如下圖:


          F2繼續,選擇顯示器:


          由于我的機器是筆記本,所以選擇LCD,如果選擇普通的顯示器,會發現顯示的文字都有些毛刺,就像在草紙上寫毛筆字,呵呵。

          F2繼續,選擇顯示器尺寸,我的顯示器是13.1,所以就選13了。


          F2繼續,選擇分辨率和顏色,這里有個關鍵的問題,選擇的顏色數一定要和Host機器的顏色數一致(我在這個問題上慘死過若干次?。?。比如我機器目前配置的是32bit的顏色,在VMware中的Guest機器的顏色數也必須是16777216 colors。切記切記!


          F2繼續,選擇虛擬分辨率,在南非蜘蛛的文章中,強調要選擇大一號的虛擬分辨率,但是我并沒有發現選擇相同的分辨率有什么問題。不知是怎么回事。


          F2繼續,選擇測試,你必須在Console中進行測試,如果你在XWindow中,測試是不行的。

          接著屏幕就是一陣花,然后出來一個顏色板,問你看得到這些東西不,你點擊yes就行了,顯卡就設置成功了。如果你的機器掛在這里不動了,那就是顯卡驅動不對,或者是顏色數和Host機器的不一至,重起Solaris再重新kdmconfig。

          顯卡的設置就完了,簡單的很。通常的做法是用字符界面安裝整個Solaris三張光盤,系統裝完后再設置顯卡,再進入XWindow,享受一下我的登錄界面,呵呵:


          這種順序是最簡單也是最有效的,沒什么問題。但是誰叫咱們好奇心都比較重呢,非想試試怎么用圖形界面安裝Solaris,好吧,就來看看第二個問題,怎么用圖形界面安裝Solaris的Software2和LANG包。

          在圖形界面如何安裝Software2和LANG包
          插入Software1光盤,開始安裝Solaris,在選擇顯卡等配置時選擇16色VGA,就是最上邊的兩個,推薦第二個800*600的,其他的選項看著選吧,不重要。測試通過后,就會啟動圖形界面開始安裝。當然這個圖形界面灰了吧唧的,沒什么新鮮的。

          第一張CD安裝完了,系統重啟動,再次進入圖形界面,準備安裝第二張CD,但是這個安裝程序是java的,至少需要256色才能執行,我們現在的圖形界面是16色,呵呵,完了,java的程序異常退出,Console掛起,給你一個按Enter就reboot的提示,你能做的就是reboot,可是reboot之后又是同樣的順序,同樣的現象發生,你覺得這回完了,沒戲了。呵呵,我就是這么想的。我參考了南非蜘蛛的文章,覺得很奇怪,他說在安裝完CD1重起后會有一個登錄的界面,選擇什么option->command line,進入命令行,可是我的情況卻是直接進入圖形界面,然后異常退出,Console掛起,根本就沒有什么登錄界面一說,也沒有機會選擇什么。我想這個時候是沒有必要用什么登錄界面的,系統還沒裝完,正準備安裝CD2,要登錄界面干什么呀?所以對登錄界面的說法表示懷疑。

          由于這種現象,你沒有機會獲得命令行,遠程telnet也因為不能遠程root登錄而失敗,所以完全失去了對系統的控制。安裝自然就失敗了。南非蜘蛛介紹的遠程XWindow安裝剩下的兩CD的方法也因為無法更改/etc/default/login無法進行。

          問題非常尖銳,怎么在這種狀態下得到系統控制權,更改顯示屬性,繼續安裝?

          冥思苦想中~~~~~~~~~~~~啊哈?。。∮辛?!用單用戶維護模式進入系統!這種模式不會啟動圖形界面,哈哈,來,試試,按Enter執行reboot(唉,沒別的選擇),執行到啟動選擇的時候敲b -s,就是boot到單用戶維護模式,就是這個界面:


          系統問你輸入密碼進入維護模式,可是你根本就沒設置過密碼呀,呵呵,空密碼進入。

          下面要做的,就是安裝顯卡驅動,設置顯示屬性。這就是我們的第一個問題所覆蓋的內容。

          但是有個問題,這個時候,系統中的FTP服務是不能用的,你不能把文件ftp到系統中了,怎么辦呢,咳,ftp不能進來,你還不能ftp出去嗎?找一個放有這些文件的ftp服務器,或者干脆自己臨時架一個,就用Netterm自帶的ftp服務器就很好,不用設置,啟動就行,連接也不用用戶和密碼,直接回車進入,呵呵。這個ftp服務器默認的上下載目錄是c:\盤,你把所要的文件考到c:\盤,然后從Solaris中ftp出來,binary,get文件就是了。

          拿到文件后,所作的事情就和前面講過的安裝顯卡驅動和設置顯示屬性的一樣了。就是gizp,tar,pkgadd然后kdmconfig。

          如此一來,你就為這個還沒安裝完全的Solaris設置好了顯示屬性,reboot,繼續進行安裝,這次可就爽了,安裝CD2,然后提示換盤安裝LANG包。大功告成!哈哈。

          這種方法的根本就是b -s。用這個可以重新獲得系統控制權,如此,你也可以更改/etc/default/login文件,然后執行遠程XWindow的安裝步驟。但是既然可以直接更改Solaris本身的顯示屬性,本地啟動XWindow安裝,也就不用費勁弄遠程了。

          圖形界面安裝Solaris的步驟
          下面總結一下,按照順序羅列一下圖形界面安裝Solaris的過程(不區分是實際的機器還是VMware,也不區分是真的光盤還是IMG文件):

          1. ? ? ? 進入COMS,設置啟動順序,保證能從光盤啟動。

          2. ? ? ? 插入software1光盤,重起機器。

          3. ? ? ? 按照提示進行安裝,在顯示屬性設置時,選擇16色VGA等等

          4. ? ? ? 進入圖形界面,按照提示安裝software1。

          5. ? ? ? Software1安裝完畢,系統重起。

          6. ? ? ? 在提示選擇啟動方式時,輸入:b -s

          7. ? ? ? 空密碼進入維護模式

          8. ? ? ? 用ftp命令取得顯卡驅動和系統補丁。

          9. ? ? ? 安裝顯卡驅動和補?。篻zip, tar, pkgadd,等

          10. ? 設置顯示屬性:kdmconfig。選擇合適的顯卡驅動,顯示器,分辨率和顏色數。

          11. ? 顯示屬性測試通過后,reboot。

          12. ? 插入software2光盤。

          13. ? 系統重起后,自動運行software2的安裝。

          14. ? Software2安裝完成后,提示插入LANG光盤。

          15. ? 換盤,點擊next,done,進行語言包的安裝。

          16. ? 語言包安裝完畢,reboot。

          17. ? 大功告成!


          疑問
          我從南非蜘蛛的文章中受益匪淺,但是也發現文中有些地方跟我的情況不一至,而且有些地方我也不太明白,所以列出以供討論:

          l ? ? ? ? 為什么為了加快讀寫速度,要把虛擬機的硬盤和光驅的DMA設成Disable?DMA就是為了加快I/O速度的呀,是不是VMware沒做好?

          l ? ? ? ? Software1如果選擇了bypass進入字符界面安裝,是不是以后的software2和LANG就自動用字符界面了?我的情況是在software1裝完reboot后,會再要求你設置顯示屬性,你需要再次選擇bypass,才能進入software2的安裝。在software2完成之后,沒有要求換盤的提示,LANG的安裝不了了之。設置好顯示屬性后啟動圖形界面,如果插入LANG的光盤,會自動提示你安裝,但是這屬于跟windows類似的autorun,不是系統安裝的一部分了。

          l ? ? ? ? Software1完成后reboot,會出現到一個登錄界面嗎?我的情況是沒有登錄界面,沒有機會獲得控制權,系統試圖啟動一個安裝程序,異常錯誤,Console掛起。

          l ? ? ? ? 在南非蜘蛛的文章中說sunwxf86-vmware.tar.gz這個包包含的XFree86 Driver的版本是(i386) 4.2.0,REV=0.2002.02.10。但是實際上這個信息是xf86_drv_port_bin_420_1.tar.gz這個包里面的,sunwxf86-vmware.tar.gz中包含的是一個較早的版本。雖然這不是什么大問題,但是這個錯誤曾經誤導我試圖在網上尋找4.2.0版本的sunwxf86-vmware.tar.gz,找不到就想自己怎么才能做一個,著實折騰了我不少時間進去。

          l ? ? ? ? 南非蜘蛛的文章中說選擇虛擬分辨率一定要比實際分辨率大一號,不知是什么原因,我選擇的是相同的分辨率,沒什么問題。是不是VMware的版本之間的差異?


          寫完了,這幾天折騰也算有個交代。想想真的有些不容易,剛開始跟vmware的序列號逗了一陣子,然后下載了一個2001/04版本的Solaris8-X86,廢了不少時間和金錢。但是由于沒有把握好顏色數的設置,失敗了若干次。曾懷疑是XF86版本問題,找不到更新的vmware驅動,都急得要自己寫了。后來懷疑是Solaris版本問題,又花了不少時間和金錢下載了2002/02版本的,但是情況依然。其實,顏色數必須一致這個信息,在我開始安裝之前就從不知那篇文章上看到,不知是不是有意跟我作對,還是說干點兒什么事情必須經受磨煉,我在備受折磨的情況下終于想了起來,然后顯示的屬性設置就變得小菜一碟了。而后的困難就是安裝完software1重起后,程序異常退出,Console掛起,沒有控制權。想了很多辦法來獲得對系統控制權,不知大家是不是跟我有同樣的感覺,如果失去了對系統的控制權,好像天都塌了一半兒似的。最后都開始到網上找Solaris8的bug,準備crack進去了,呵呵,現在想想真是夸張。Boot -s這個辦法也是經受了一次又一次的reboot,突然在一次reboot的時候,頭腦中冒出一個念頭:“媽媽的,這些b呀i呀的選項都是干什么的?”,然后事情就變得簡單了。

          寫這篇文章首先是給自己一個交代,再來就是給網上的各位分享,因為我非常感謝諸如南非蜘蛛等高手能夠寫出文章跟大家分享,所以一旦我有什么新的思路,著實不感窩藏,非拿出與各位共享而后快不已。

          多謝各位捧場,這個思路其實…….$%^$%&*^&(*^………(被若干雞蛋西紅柿趕下去了)

          胡曉峰
          我也裝了好多次才成功,說幾句我遇到的問題給大家:
          vmware可以到它的主頁上去免費申請30天試用的sn,可以反復申請
          我試了好幾十次那個破解軟件無效,差點沒急死
          用vmware裝solaris在kdmconfig的時候,一定要用F4 bypass,否則重啟就會出現Bad ...無法引導的問題,裝完后裝sunwxf86-vmware.tar.gz,然后在kdmconfig里面選XF86-VMWARE VMware virtual video adapter(不管什么顯卡),才可以用16色以上的模式
          如果是直接裝solaris,網卡不支持的話,裝好進入CDE會是黑屏,除了一個help,一個文件管理窗口,別的什么也做不了,不過可以在文件管理窗口里面打開一個終端reboot,把網卡配好以后進入cde就正常了
          裝好了就可以自由發揮了:)

          “南非蜘蛛”關于上面的攻略補充,我昨天已經回答過
          第一個問題,請看這里
          AFTER you have everything installed and working, then try
          # eeprom ata-dma-enabled=1
          and reboot. You'll then have reasonable speed disk access, if your controller and drive are fully ATA compatible. Otherwise, reset the value via the DCA at boot-time, by changing boot-properties.
          第二個問題當第一張光盤安裝完,不管進字符還是圖形,都不是我們要關心的問題,因為這時我們要用X虛擬終端(exceed一類的軟件),來安裝soft2和lang,這時的工作就是加個用戶,還有設置容許root直接登陸,應為這是進圖形是16色,黑糊糊的一片,所以我讓大家進字符界面,
          為什么你出不來字符界面那?第一:當第一張光盤安裝完從起,會讓你輸入root密碼,然后就會直接進入圖形界面,這時的系統也可能不是一個完全的系統,有很多問題,你需要多啟動幾次,然后你就會看到圖形的登陸界面了

          第三個問題xf86_drv_port_bin_420_1.tar.gz其實要這一個包就可以了,里面包括里xfree86和補丁,應為開始安裝沒有找個這個文件,就用了開始的那個文件,其實效果一樣

          第四個問題是只對不同顯示器和顯示卡的,有的配置成一樣就會有些太大,所以大家要根據自己的來配置,多試試,才能找到最好的顯示效果

          ---------------------------------------------------------------------------------
          13、Solaris 有好多種有Solaris 8 x86/sparc ,inter,space,還有i386 的,我想請教這些不同的版本有什么區別都可以用在pc上嗎,新手學哪一種更好些,編譯好的和沒編譯好的是個什么概念,Solaris 8 操作系統有多大的容量。謝謝!
          ? SUN的Solaris只是按照平臺來分為兩種,其一是Solaris 8 For X86(intel,i386是一回事),另一種就是SUN Solaris 8 Sparc;學習Solaris,不管是新手還是老手,當然有SUN的機器最好(安裝SUN Soalris 8 sparc〕!
          Solaris 8 for ?x86,安裝完以后,好象是3-4百兆的樣子,唉,也不是很清楚,反正現在硬盤也不值錢,呵呵!
          ? sparc版本只能用在sun的機器上
          x86,IA,intel版都指的是一個東西,叫法不一樣,是用在的pc上的版本
          你要注意很多軟件,補丁,很多同樣要區分兩個版本,不要用錯了



          地震讓大伙知道:居安思危,才是生存之道。
          posted on 2007-02-27 12:40 小尋 閱讀(4893) 評論(0)  編輯  收藏 所屬分類: SUN OS
          主站蜘蛛池模板: 定南县| 察哈| 阿尔山市| 宣化县| 通州市| 高邑县| 洛扎县| 大连市| 尉氏县| 遂宁市| 侯马市| 廉江市| 保定市| 博罗县| 太白县| 新绛县| 大港区| 鄂托克前旗| 延吉市| 清远市| 信丰县| 阳朔县| 乐陵市| 阳新县| 花垣县| 祁阳县| 永泰县| 镶黄旗| 苍溪县| 宁德市| 靖边县| 广水市| 洮南市| 孟州市| 长岭县| 南靖县| 永宁县| 九台市| 台山市| 南充市| 古丈县|