本章說明已知的執行期間問題。
本章中執行期間錯誤之描述為新增部份,是於本文件在 「Solaris 8 10/00 文件 CD」與「Solaris 8 10/00 安裝 CD」中之「安裝 Kiosk」出版之後才加入。
這項產品的名稱是 Solaris 8 10/00,但是程式碼和路徑或套裝模組路徑名稱可能會使用 Solaris 2.8 或 SunOS 5.8。永遠都遵守書面呈現的程式碼和路徑。
名為 "Brown Orifice" 的 exploit 程式會建立一個 Java applet 型態之 HTTP 伺服器。這可使 Netscape 瀏覽器轉變為 web 伺服器。並使遠端的使用者可以存取本機與網路上的檔案。這些檔案包括位於防火牆後、使用 "file://", "http://", "https://", "ftp://" 與其他類型連接的 URL。 此問題產生時,並沒有任何癥狀出現。
這並非 Java 安全性模型的結構問題。
此問題影響到 Netscape Communicator 從 4.04 到 4.74 之間的版本。欲知此易損性問題之 更多資訊,請參閱「CERT 安全建議書 CA-2000-15」,網址是: http://www.cert.org/advisories/CA-2000-15.html
欲更正此問題,請下載並安裝 Netscape Communicator 4.75 版。網址是:http://www.sun.com/software/solaris/netscape
ypbind 具有緩衝器溢位功能,可 從遠端取得折衷系統上之 root 存取權。
解決方法: 欲預防此問題的發生, 請套用修補程式 110323-01。
如果您連結到已經在 Solaris 2.4、2.5、2.5.1 或 2.6 作業環境中編譯的共用程式庫,同時舊的程式庫也使用「Motif 應用程式設計介面」(API),當您在 Solaris 8 作業環境中編譯 Motif 程式時,會發生問題。
Motif 程式使用 Motif 版本 2.1,舊的共用程式庫則使用 Motif 版本 1.2。核心傾印問題會發生。這個不是於 Solaris 2.4、2.5、2.5.1、2.6 作業環境中編譯之應用程式的二進位相容性問題,其應該會在 Solaris 8 作業環境中正常執行。
解決方法: 如果您有直接鏈結到 Motif 程式庫的舊版共用程式庫,而且您也想要在同時鏈結至 Motif 和該舊版共用程式庫的 Solaris 8 作業環境中編譯程式,請使用如此處的這一行來編譯:
cc foo.c -o program -DMOTIF12_HEADERS -I/usr/openwin/include -I/usr/dt/include -lXm12 -lXt -lX11 |
sdtwinlst (視窗清單) 與 sdtgwm (視窗管理員) 圖示未出現在「應用程式管理員」中。卻顯示出一個通用圖示。原因是 sdtgwm.dt 與 sdtwinlst.dt 這兩個動作檔案不存在於目錄 /usr/dt/appconfig/types/C 中。
在 /usr/dt/appconfig/type/C 中建立新的檔案, 將其命名為 sdtgwm.dt。
編輯此檔案並插入下列文字:
ACTION SDtgwm { LABEL GWM TYPE COMMAND EXEC_STRING sdtgwm ICON SDtgwm WINDOW_TYPE NO_STDIO } |
在 /usr/dt/appconfig/type/C中建立新的檔案, 將其命名為 sdtwinlst.dt。
編輯此檔案並插入下列文字:
ACTION SDtWinLst { LABEL Window List TYPE COMMAND EXEC_STRING sdtwinlst ICON SDtWinLst WINDOW_TYPE NO_STDIO } |
欲確定已重新載入所有動作,請退出 CDE 階段作業, 然後再次登入。
含帶不尋常資料佈局的 CDROM 可能無法自動地裝載。 將 CDROM 插入光碟機後,「檔案管理員視窗」可能無法顯示 CDROM 的內容。
解決方法: 以手動方式裝載 CDROM:
成為 root 超級使用者。
停止執行容體管理員:
/etc/init.d/volmgt stop |
裝載 CDROM:
mount -F hsfs -r device_pathname /mnt |
其中 device_pathname 是一個路徑目標,此路徑名稱代表光碟機在系統中所連接之位置。例如,/dev/dsk/c0t6d0s0。
CDROM 光碟機一般在工廠製造時是設定連接至 c0t6d0s0 或者c0t2d0s0 ,但您必須使用正確的 路徑名稱,才能使本指令運作。
重新開啟容體管理員:
/etc/init.d/volmgt start |
如果您在含 SCSI 可拆式媒體裝置的系統上,將磁碟插入其磁碟機中,然後從 OpenWindowsTM 「檔案管理員」中的「檔案」功能表選取「檢查軟碟」,「檔案管理員」會將磁碟裝載到 /floppy 目錄中,但是無法顯示列出磁碟內容的「檔案管理員」檢視。「製作磁片格式」和「彈出軟碟」選項不會出現在「檔案管理員」中的「檔案」功能表中。
解決方法: 選擇以下其中一個解決方法。
要檢視磁碟的內容,請遵照這些步驟執行:
按一下「檔案管理員圖示路徑」中的 / 檔案夾。
連續按兩下 / 顯示視窗中的 floppy 檔案夾。
連續按兩下/floppy 顯示視窗中的floppy0 檔案夾。
要製作磁碟的格式,請遵照這些步驟執行:
解除裝載磁碟。
% volrmmount -e floppy0 |
製作磁碟的格式。
% fdformat floppy0 |
要在磁碟上建立新的檔案系統,請遵照這些步驟執行:
如果您已經解除裝載磁碟,請跳至此解決方法的步驟 2。
要彈出磁碟,請使用 eject 指令。
% eject floppy0 |
要預防此問題發生,請套用修補程式 109464-01。
從桌上管理系統刪除最後一個項目之後(例如,您的「日曆」上的最後一個約會或「位址管理員」中最後一個位址),當您同步處理掌上型的裝置時,最後一個項目會從掌上型裝置復原回桌上管理系統。
解決方法: 同步化之前,從掌上型裝置以手動方式刪除最後一個項目。
如果您在 PDA 裝置及 Solaris CDE 之間交換多位元組資料,則這兩個環境中的資料可能會遭到毀壞。
解決方法:在執行 PDASync 應用程式之前, 請先利用 PDA 備份公用程式,備份您 PC 上的資料。如果您意外地將多重位元組資料互換並將該資料毀損,請從備份復原您的資料。
從「前方面板」選取「說明」 -> 「資訊」後,作廢的檔案清單會返回。正確的檔案是S8FCSreleasenotes。
當記憶體的餘量低時,以下的錯誤訊息會出現:
CIM_ERR_LOW_ON_MEMORY |
解決方法: 要重設「CIM 物件管理員系統訊息庫」:
成為 root 超級使用者。
停止「CIM 物件管理員」。
# /etc/init.d/init.wbem stop |
移除 JavaSpaces 日誌目錄。
# /bin/rm -rf /var/sadm/wbem/log |
重新啟動「CIM 物件管理員」。
# /etc/init.d/init.wbem start |
您會失去資料庫中的所有專用定義。您必須重新編譯包含那些使用 mofcomp 指令之定義的 MOF 檔案。例如:
# /usr/sadm/bin/mofcomp -u root -p root_password your_mof_file |
執行 /usr/sadm/bin/mofcomp 或 /usr/sadm/bin/wbemadmin時,以下的錯誤訊息可能會出現:
NO_SUCH_QUALIFIER1: Qualifier association not found. |
解決方法: 要重設「CIM 物件管理員系統訊息庫」:
成為 root 超級使用者。
停止「CIM 物件管理員」。
# /etc/init.d/init.wbem stop |
重新命名 JavaSpaces 日誌目錄。
# mv /var/sadm/wbem/log /var/sadm/wbem/logprepatch |
重新啟動「CIM 物件管理員」。
# /etc/init.d/init.wbem start |
您會失去資料庫中的所有專用定義。您必須重新編譯包含那些使用 mofcomp 指令之定義的 MOF 檔案。例如:
# /usr/sadm/bin/mofcomp -u root -p root_password your_mof_file |
如果使用 CIM WorkShop 或 WBEM API 列舉 Solaris_FileSystem類別的實例,IMOM 就不會執行,以下的錯誤訊息會顯示出來:
Attempted to complete RMI action enumInstances and received exception java.rmi.UnmarshalException: Error unmarshaling return header; nested exception is: java.io.EOFException |
解決方法:在超級使用者模式下,輸入下列指令重新啟動 CIMOM:
# /etc/init.d/init.wbem start |
含小型記憶體配置並可進行 USB 作業的系統在從磁碟、CD 或網路啟動時,如果有數個連接的 USB 裝置的話,可能會發生驚慌。以下的驚慌訊息之一會出現在此事件中:
panic[cpu0]/thread=1040800: main: unable to fork init. |
或
panic[cpu0]/thread=2a1000fdd40: BAD TRAP: type=31 rp=2a1000fd0a0 addr=c0 mmu_fsr=0 occurred in module "genunix" due to a NULL pointer dereference |
解決方法: 如果您有 4 個以上的 USB 裝置,僅在連接 USB 鍵盤和滑鼠的情況下啟動系統。當您看到 Solaris 的登入提示之後,再連接其它的 USB 裝置。
Java Plug-in 1.2 是執行 Java 2 applet 的預設 plug-in,而非所有的 Java 1.1 applet。如果您需要 Java Plug-in 1.1,可以由 http://www.sun.com/solaris/netscape 下載。
如果您要讓 Java Plug-in 1.1 與 Java Plug-in 1.2 並存在同一個系統上,您必須遵循下列有關如何安裝 Java Plug-in 1.1 以及之後依序配置您的環境之指令。
這項程序在 Solaris 使用者手冊的 Java Plug-in 中的 "安裝 Java Plug-in" 一節有綱要說明,您可由 http://www.sun.com/solaris/netscape/jpis/usersguide_java_plugin.html 中取此手冊。
依據預設值,Solaris ata 裝置驅動程式已將 ATA/ATAPI 裝置的「直接記憶體存取 (DMA)」功能停用。
已停用這個功能,以避免發生於某些無法正確在 ATA/ATAPI 磁碟機上支援 DMA 的系統上之問題。大多數的問題與過時的系統 BIOS 有關。
在安裝 Solaris 8 作業環境之後,如果要啟用或停用 ata 驅動程式的 DMA:
由開機磁片或安裝 CD (如果您的系統支援 CD-ROM 開機的話)執行 Solaris (Intel 平台版) 裝置配置輔助程式。
在用開機磁片啟動時,新的 ata-dma-enabled 屬性值會保存在磁片上。 因此,重新使用開機磁片時,變更的值會受到影響。
按 F2_Continue 掃瞄裝置。
按 F2_Continue 顯示啟動裝置清單。
按 F4_Boot Tasks,選取「檢視」∕「編輯屬性設定值」,再按 F2_Continue。
將 ata-dma啟動的屬性值變更為 1 以啟用 DMA (0 值將停用 DMA) :
從清單選取 ata-dma啟動的屬性,並按 F3_Change。
鍵入 1 並按 F2_Continue 來啟動(鍵入 0 並按 F2_Continue 來關閉)。
按 F2_Back,然後 F3_Back 來返回「啟動 Solaris」功能表。
選取您要安裝的裝置(網路配接卡或 CD-ROM 磁碟機)並按F2_Continue。
啟動 DMA 之後,如果發生任何問題,請關閉 DMA (使用以上的程序將 ata-dma啟動的屬性設定為 0,用來自您的硬體供應商的最新 BIOS 更新您的系統,然後重新啟動 DMA。
如果 ab2admin 指令失敗,錯誤訊息會包含 command failed 之外的其它資訊。例如,它可能會包括 path not found 或 invalid ID。
解決方法: 如果 command failed 訊息顯示出來,請確定該作業確實失敗。例如,如果您下的指令應該刪除 AnswerBook2 資料庫中的一個集合,輸入下列指令以確認這個集合的確顯示在資料庫中。
# ab2admin -o list |
在 AnswerBook2TM 伺服器啟動期間,ab2cd 程序檔可能會顯示出下列不正確的錯誤訊息。
sort: can't read /tmp/ab1_sort.XXX: No such file or directory |
這個錯誤訊息說明 ab2cd 程序檔在 CD 上找不到任何 AnswerBook (顯示 PostScriptTM) 的集合。
解決方法: 忽略錯誤訊息。
執行下列步驟,以使用字型下載程式由任何非 ISO8859-1 語言環境進行列印。
登入 CDE。
在指令行輸入 fdl 以啟動字型下載程式。
從「印表機」功能表選取「增加」來指定印表機。
從下載功能表選擇「Font Bundle」。
視列印所需要的程式碼集而定,將會下載字型束(font bundles )到指定的印表機上。
LucidaSansLat4 字型別名不供使用。因此,當從任何 UTF-8 語言環境中 啟動 Java 應用程式時,將出現相關的錯誤訊息。
解決方法: 登入相當於該語言環境之 ISO-1, 然後由該處啟動 Java 應用程式。
sdtwinlst (視窗清單) 和 sdtgwm (圖形工作空間管理員) 在歐洲語言的 UTF-8 選取編碼中沒有本土化。
解決方法: 先登入 ISO8859-1 編碼,然後再執行sdtwinlst 和 sdtgwm。
部份死鍵組合在 CDE 中無法正確運作。 而且,希臘文語言環境中的「日曆管理員」中,月份名稱也無法正確作業。
如果您在部份區性中試圖使用日曆管理員來列印延伸字元, 則將無法正確列印出延伸字元。
一個在阿拉伯文輸入模式中的 en_US.UTF-8 之下執行,而另一個在阿拉伯文輸入模式中的 ar_EY.ISO8859-6 之下執行的應用程式或視窗之間,您不能剪下與貼上阿拉伯文字。
在歐洲語言環境中以滑鼠右鍵選取任何一個 CDE 應用程式時,CDE 附加下拉式功能表並不會顯示任何選項。
複合文字語言 (CTL) 支援希伯來文,阿拉伯文,或泰語輸入已實行於 en_US.UTF-8 與歐洲 UTF-8 語言環境中,但並不受 ja_JP.UTF-8,ko.UTF-8支援,也就是 ko_KR.UTF-8, zh.UTF-8,也是 zh_CH.UTF-8,與 zh_TW.UTF-8 語言環境。
解決方法:如果您需要使用 CTL 輸入泰文、阿拉伯文、或希伯來文,請使用 en_US.UTF-8 語言環境。如果您要在亞洲與日文 UTF-8 語言環境中輸入這些語言:
建立一個符號連結到共用 CTL 模組。如果是 ja_JP.UTF-8:
# cd /usr/lib/locale/ja_JP.UTF-8 # mkdir LO_LTYPE ; cd LO_LTYPE # ln -s ../../common/LO_LTYPE/umle.layout.so.1 ja_JP.UTF-8.layout.so.1 # mkdir sparcv9 ; cd sparcv9 # ln -s ../../../common/LO_LTYPE/sparcv9/umle.layout.so.1 ja_JP.UTF-8.layout.so.1 |
編輯 /usr/openwin/lib/locale/ja_JP.UTF-8/XLC_LOCALE 檔案,將泰語,阿拉伯文,或希伯來文登錄的 load_option delay_nocheck 行加以註釋;例如,以泰語為例:
# fs14 class (Thai) fs14 { charset TIS620.2533-0:GR font { # load_option delay_nocheck <--- comment out primary TIS620.2533-0:GR }} |
Smart Card 應用程式中的數個螢幕並未完全本土化。
希臘語言環境的「Solstice 管理工具」軟體中的新增、修改與移除使用者畫面是空白的。
解決方法:在超級使用者模式中,複製以下的檔案:
# cp /usr/openwin/lib/locale/C/app-defaults/Admin /usr/openwin/lib/locale/el_GR.ISO8859-7/app-defaults/Admin |
當您在義大利文語言環境中使用「字型下載程式」時,「增加印表機」對話方塊中的 「增加」 和 「取消」 按鈕標示都不正確;兩個都標示為 A ....
左邊的按鍵應標示Aggiungi (增加)。
右邊的按鍵應標示 Annulla (取消)。
下列的表說明 Sun 的阿拉伯鍵盤與 Microsoft 的阿拉伯鍵盤的不同。
表 2-1 Sun 和 Microsoft 阿拉伯數字式鍵盤之間的差異
按鍵 |
Sun 鍵盤佈局 |
Microsoft 鍵盤佈局 |
---|---|---|
T |
T |
下方有 Hamza 的阿拉伯文 Lam_alef |
U |
U |
右邊單括號 |
I |
I |
阿拉伯乘號 |
O |
O |
阿拉伯除號 |
A |
; |
阿拉伯文 Kasra |
S |
S |
阿拉伯文 Kasratan |
Z |
Z |
波浪號 |
X |
X |
阿拉伯文 Sukun |
C |
阿拉伯文 Kasratan |
左大括弧 |
V |
阿拉伯文 Kasra |
右大括弧 |
M |
Sukun |
單低引號 |
< |
< |
阿拉伯逗號 |
SEAM 會使用 Solaris 8 作業環境中的部分資源檔案,但是只限於安裝期間選取了 Kerboros 設定的情形下。
在 UTF-8 語言環境中按下 AltGr+E,並不會產生歐洲貨幣符號。
解決方法:執行下列步驟以將歐洲貨幣符號輸入於 UTF-8 語言環境中:
選取「UTF-8 輸入模式選取」視窗中的查找。
選取貨幣符號。
選取歐元符號。
在希臘文語言環境中,於主控台提示符號出現之後輸入 dumpcs。然後將歐元貨幣符號複製並貼上。
在歐洲 UTF-8 語言環境中的排序無法正確運作。
解決方法:在您嘗試在 FIGGS UTF-8 語言環境中做排序之前,請將 LC_COLLATE 變數設定為 ISO1 等值。
# echo $LC_COLLATE > es_ES.UTF-8 # setenv LC_COLLATE es_ES.IS08859-1 |