I det här kapitlet beskrivs kända körtidsproblem.
Följande beskrivningar av körtidsfel har lagts till i kapitlet sedan dokumentet publicerades på Solaris 8 1/01 dokumentations-cd:n och i installationskiosken på Solaris 8 1/01 installations-cd:n.
Den här produkten heter Solaris 8 1/01, men det kan hända att kod och sökvägar refererar till Solaris 2.8 eller SunOS 5.8. Använd alltid koden eller sökvägen exakt så som den är skriven.
Om behöriga användare använder "här-dokument" ("<<" omdirigering) i csh, kan en säkerhetsläcka till obehöriga användare öppnas.
Lösning: Behöriga användare bör inte använda "här-dokument" i csh.
När du monterar en klient utan skivminne på en fleransluten server, monterar du klienten på ett nätverksgränssnitt som är på samma delnät som klienten utan skivminne Som standard monteras filsystemet för klienten utan skivminne med det lokala gränssnittet som används för OS-servern.
På en fleransluten server har varje nätverksgränssnitt ett värdnamn och en IP-adress. Om du vill ta reda på det lokala gränssnittets värdnamn, skriver du uname -n på servern.
Använd alternativet -D type/host_name/domain_name om du vill ange administrationsdomän, när
typen är NIS, NIS+ eller fil
host_name är namnet på värddatorn eller nätverksgränssnittet
domain_name är namnet på administrationsdomänen
Om du inte anger -D-alternativet, förutsätter SMC att det är fildomänen på den lokala servern.
Använd alternativet -o host_name om du vill ange namnet på OS-servern då namntjänstservern och OS-servern inte är på samma dator. Om du inte anger det här alternativet, förutsätter smdiskless att OS-servern är densamma som angavs i -D-alternativet.
Mer information hittar du i smdiskless(1M).
Om namntjänstservern är densamma som den fleranslutna OS-servern, måste host_name vara värdnamnet som returneras om du skriver uname -n på servern. Ange alternativet -o med värdnamnet på det nätverksgränssnitt som är på samma delnät som klienten utan skivminne.
Om namntjänstservern inte är densamma som den fleranslutna OS-servern, måste host_name vara värdnamnet som returneras om du skriver uname -n på namntjänstservern. Ange alternativet -o med värdnamnet på nätverksgränssnittet för OS-servern som är på samma delnät som klienten utan skivminne.
smdiskless fungerar korrekt om det lokala gränssnittet för en fleransluten OS-server är på samma delnät som klienten utan skivminne, och du inte anger alternativet -D (filomfång förutsätts).
Om den fleranslutna OS-servern inte är på samma delnät som klienten utan skivminne, måste du redigera databasfilerna för OS-servern och klienten utan skivminne på följande sätt:
Alla poster måste visas på en rad.
Ändra följande serverfiler:
/etc/bootparams diskless_client root=server:/export/root/diskless_client \ swap=server:/export/swap/diskless_client swapsize=:32 \ dump=server:/export/dump/diskless_client dumpsize=:32 \ boottype=:di |
server = värdnamnet på OS-servern, net_interface = värdnamnet på nätverksgränssnittet på delnätet för klienten utan skivminne diskless_client = värdnamnet på klienten utan skivminne
"dump" och "dumpsize" visas bara om du anger alternativen "-x dump" eller "-x dumpsize".
Till följande:
diskless_client root=net_interface:/export/root/diskless_client \ swap=net_interface:/export/swap/diskless_client swapsize=:32 \ dump=net_interface:/export/dump/diskless_client dumpsize=:32 \ boottype=:di |
Värdnamnet för net_interface och dess IP-adress måste visas i /etc/hosts.
Starta om in.rarpd och rpc.bootparamd på servern. Använd in.rarpd -a eller starta bakgrundsprogrammet rarpd på det nätverksgränssnitt som används av klienten utan skivminne.
Ändra följande klientfiler:
/export/root/diskless_client/etc/vfstab server :/export/root/diskless_client - / nfs - - rw server :/export/swap/diskless_client - /dev/swap nfs - - - server :/export/exec/Solaris_8_sparc.all/usr - /usr nfs - -ro |
Till följande:
net_interface:/export/root/diskless_client - / nfs - - rw net_interface:/export/swap/diskless_client - /dev/swap nfs - - - net_interface:/export/exec/Solaris_8_sparc.all/usr - /usr nfs - -ro |
Detta problem uppstår alltid när du kompilerar ett Motif-program i Solaris 8 om du länkar till ett delat bibliotek som har kompilerats i Solaris 2.4, 2.5, 2.5.1 eller 2.6 och det äldre biblioteket också använder Motif-API:t (Application Programming Interface).
Motif-programmet använder Motif version 2.1, och det gamla delade biblioteket använder Motif version 1.2. En minnesutskriftsfil skapas. Detta är inte ett binärt kompatibilitetsproblem för program som har kompilerats i Solaris 2.4, 2.5, 2.5.1 eller 2.6. Sådana program bör fungera korrekt i Solaris 8-operativmiljön.
Lösning: Om det finns ett äldre delat bibliotek som länkar direkt till Motif-biblioteket, och du vill kompilera ett program i Solaris 8 som länkar till både Motif-biblioteket och det äldre biblioteket, bör du använda följande rad för kompileringen:
cc foo.c -o program -DMOTIF12_HEADERS -I/usr/openwin/include -I/usr/dt/include -lXm12 -lXt -lX11 |
En cd-rom med en ovanlig datalayout kanske inte går att montera automatiskt. Filhanterarfönstret visar kanske inte innehållet på cd-romskivan när den har satts in i enheten.
Lösning: Montera cd-romskivan manuellt:
Bli root.
Stoppa volymhanteraren:
/etc/init.d/volmgt stop |
Montera cd-romskivan:
mount -F hsfs -r enhetssökväg /mnt |
Enhetssökväg är sökvägen till den plats i systemet som cd-romenheten är ansluten till. Till exempel /dev/dsk/c0t6d0s0.
Cd-romenheter är vanligen anslutna till c0t6d0s0 eller till c0t2d0s0 vid leveransen, men du måste använda rätt sökväg för att kommandot ska fungera.
Starta om volymhanteraren:
/etc/init.d/volmgt start |
Om du sätter in en diskett i en diskettenhet på ett system med flyttbara SCSI-enheter och sedan väljer Kontrollera diskettenhet på Fil-menyn i OpenWindowsTM filhanterare, monterar filhanteraren disketten i katalogen /floppy, men visar inte någon översikt över diskettens innehåll i själva filhanteraren. Alternativen Formatera diskett och Eject Floppy visas inte på Fil-menyn i filhanteraren.
Lösning: Välj en av följande lösningar:
Följ stegen nedan om du vill visa innehållet på en diskett:
Klicka på mappen / i filhanterarens ikonsökväg.
Dubbelklicka på mappen floppy i visningsfönstret /.
Dubbelklicka på mappen floppy0 i visningsfönstret /floppy.
Följ stegen nedan om du vill formatera en diskett:
Demontera disketten.
% volrmmount -e floppy0 |
Formatera disketten.
% fdformat floppy0 |
Följ stegen nedan om du vill skapa ett nytt filsystem på en diskett:
Om du redan har demonterat disketten går du till steg 2 i det här avsnittet.
Demontera disketten.
% volrmmount -e floppy0 |
Skapa önskat filsystem på disketten.
Om du vill skapa ett nytt UFS-filsystem på disketten använder du kommandot newfs:
% newfs /vol/dev/aliases/floppy0 |
Om du vill skapa ett PCFS-filsystem på disketten använder du kommandot mkfs:
% mkfs -F pcfs /vol/dev/aliases/floppy0 |
Montera disketten.
% volrmmount -i floppy0 |
Använd kommandot eject för att mata ut disketten.
% eject floppy0 |
Om du vill undvika det här problemet installerar du korrigeringsfilen 109463-01.
När den sista posten har raderats från skrivbordet (till exempel det senaste mötet i kalendern eller den senaste adressen i adresshanteraren), återställs den senaste inmatningen från handdatorn till skrivbordet när du synkroniserar handdatorn.
Lösning: Ta bort den senaste inmatningen från handdatorn manuellt före synkroniseringen.
Om du utbyter multibyte-data mellan en PDA-enhet och Solaris CDE kan dessa data förstöras i båda miljöerna.
Lösning: Säkerhetskopiera informationen på din dator med PDA-säkerhetskopieringsverktyget innan du kör programmet PDASync. Om du av misstag råkar utbyta multibyte-data så att dessa förstörs, kan du återställa dem från säkerhetskopian.
När systemet startar kan följande felmeddelande läggas till systemloggfilen i /var/adm/messages:
open(/var/run/rcm_daemon_lock) - Filen eller katalogen finns inte rcm_daemon avslutas: errno = 2 |
Detta inträffar bara om /var är en separat partition.
Lösning:Ignorera meddelandet. Det skadar inte systemet.
När du väljer Hjälp -> Information i Huvudgruppen visas en lista med ogiltiga filer. Den rätta filen är S8FCreleasenotes.
Följande felmeddelande visas när minnet håller på att ta slut:
CIM_ERR_LOW_ON_MEMORY |
Lösning: Så här återställer du CIM-objekthanteraren:
Logga in som superanvändare.
Avsluta CIM-objekthanteraren.
# etc/init.d/init.wbem stop |
Ta bort katalogen med loggen för JavaSpaces.
# /bin/rm -rf /var/sadm/wbem/log |
Starta om CIM-objekthanteraren.
# /etc/init.d/init.wbem start |
Du förlorar alla egna definitioner i datalager. Du måste kompilera om de MOF-filer som innehåller egna definitioner med kommandot mofcomp. Till exempel:
# /usr/sadm/bin/mofcomp -u root -p root_lösenord din_mof_fil |
Om du räknar upp instanser av klassen Solaris_FileSystem med hjälp av CIM WorkShop- eller WBEM-API:erna slutar CIMOM att fungera, och följande felmeddelande visas:
Försökte utföra RMI-åtgärden enumInstances och undantagsfelet java.rmi.UnmarshalExeption inträffade: Felet unmarshaling return header; inkapslat undantagsfel är: java.io.EOFException |
Lösning: Starta om CIMOM genom att ange följande kommando i superanvändarläge:
# /etc/init.d/init.wbem start |
Säkra 64-bitars program kan bara förladdas från den säkra katalogen /usr/lib/secure/64. Den symboliska länken /usr/lib/secure/64 -> /usr/lib/secure/sparcv9 saknas. Det kan innebära att du får det här felmeddelandet:
% LD_PRELOAD=libfoo.so.1 setxid-app ld.so.1: setxid-app: varning! libfoo.so.1: open misslyckades: \ Filen finns inte i säkra kataloger |
Lösning: Om du vill förhindra detta problem väljer du en av följande lösningar:
Skapa två symboliska länkar: den symboliska länken /usr/lib/secure/64 -> /usr/lib/secure/sparcv9 och den symboliska länken /usr/lib/link_audit/64 -> /usr/lib/link_audit/sparcv9.
Installera korrigeringsfil 109147-08.
USB-kompatibla system med små minneskonfigurationer kanske låser sig när de startas från antingen diskett, cd-skiva eller nätverk och flera USB-enheter är anslutna. I sådana fall visas ett av följande allvarligt felmeddelanden:
panic[cpu0]/thread=1040800: main: unable to fork init. |
eller
panic[cpu0]/thread=2a1000fdd40: FELAKTIG FÄLLA type=31 rp=2a1000fd0a0 addr=c0 mmu_fsr=0 inträffade i modulen "genunix" pga att en pekare med värdet NULL avrefererats |
Lösning: Starta systemet med endast USB-tangentbordet och -musen anslutna om du har fler än fyra USB-enheter. Anslut övriga USB-enheter när Solaris inloggningsledtext visas.
Java Plug-in 1.2 är standardtilläggsprogrammet som kan användas för att köra Java 2-appletar men inte alla Java 1.1-appletar. Om du behöver Java Plug-in 1.1 kan du hämta det på http://www.sun.com/solaris/netscape.
Om du vill använda både Java Plug-in 1.1 och Java Plug-in 1.2 i samma system måste du följa anvisningarna för att installera Java Plug-in 1.1 och konfigurera miljön.
Du hittar anvisningarna i avsnittet "Installera Java Plugin" i Java Plugin för Solaris Användarhandbok, som finns på adressen http://www.sun.com/solaris/netscape/jpis/usersguide_java_plugin.html.
libjvm.so fungerar inte korrekt om den startas med dlopen. Den måste länkas in i den körbara filen när objektet skapas.
Lösning: Namnge libjvm.so (-ljvm) och libjava.so (-ljava) expicit som beroenden när du skapar en körbar fil.
Om kommandot ab2admin misslyckas, innehåller felmeddelandet ytterligare information utöver att kommandot misslyckades. Det kan till exempel också innehålla Det går inte att hitta sökvägen eller Ogiltigt ID.
Lösning: Om meddelandet kommandot misslyckades visas, bör du kontrollera att åtgärden verkligen misslyckades. Om du till exempel körde ett kommando som skulle ta bort en samling från AnswerBook2-databasen kontrollerar du om samlingen visas i databasen med hjälp av följande kommando:
# ab2admin -o list |
När AnswerBook2TM-servern startas, kan det hända att skriptet ab2cd visar följande felaktiga felmeddelande:
sortera: kan inte läsa /tmp/ab1_sort.XXX: Det finns ingen sådan fil eller katalog |
Detta felmeddelande anger att ab2cd-skriptet inte har hittat någon av volymerna för AnswerBook1 (Display PostScriptTM) på cd:n.
Lösning: Ignorera felmeddelandet.
Om du vill skriva ut från en icke-ISO8859-1-språkversion med Font Downloader utför du följande steg:
Logga in i CDE.
Skriv fdl på kommandoraden för att starta Font Downloader.
Välj Lägg till på menyn Skrivare för att ange skrivare.
Välj Medföljande teckensnitt på menyn Hämta.
De medföljande teckensnitten laddas då ned till den angivna skrivaren, beroende på vilken koduppsättning som krävs för utskriften.
kkcv är en indatametod för japanska BCP (4.x Binary Compatibility) program. När LDAP används skriver kkcv ut upprepade minnesfiler med felmeddelandet:
cssd: Processen "kkcv.sh" har stoppats av sig#134, minnesutskriftsfil har skapats |
Detta problem uppstår i alla språkversioner när den japanska språkversionen ("ja") installeras med språk-cd:n.
Lösning: Om du inte behöver använda den japanska BCP-funktionen konfigurerar du systemet så att att indatametoden inte används för BCP-program.
Kopiera /usr/lib/css.d/cs00.sh till /etc/css.d.
# cp -p /usr/lib/css.d/cs00.sh /etc/css.d |
Redigera /etc/css.conf och kommentera bort raden /usr/lib/css.d med en #.
# /etc/css.conf |
Starta om bakgrundsprogrammet CS monitor.
# sh /etc/init.d/loc.ja.cssd stop # sh /etc/init.d/loc.ja.cssd start |
Verktygslådan i den europeiska versionen av SMC visar inte alla verktyg när den laddas. Du kan få följande felmeddelande:
** Tolkningsfel, rad 1, uri http://fubar:898/toolboxes/smc/smc.tbx com.sun.xml.parser/P-076 Felaktig UTF-8 char -- saknas en kodningsdeklaration för XML? |
Lösning: Kör smc edit och ändra den lokaliserade standardverktygslådan eller skapa en ny verktygslåda.
Den sammanhangsberoende hjälpen i programmen Solaris Management Console och WBEM (Web-Based Enterprise Management) är ofullständigt lokaliserad.
Euro är inte tillgängligt med standardtangentkombinationen i UTF-8-språkversioner. ALTGr+E.
Lösning: Om du vill använda Euro loggar du in i någon ISO8859-15-språkversion och använder Alt+E.
Teckensnittsaliasen för LucidaSansLat4 är inte tillgängliga så att relaterade felmeddelanden kan visas när du startar en Java-tillämpning från en UTF-8-spårkversion.
Lösning: Logga in på ISO-1-motsvarigheten till språkversionen och starta Java-tillämpningen därifrån.
En del tangentkombinationer fungerar inte korrekt i CDE. Månadsnamn fungerar inte heller korrekt i Kalendern för grekiska.
Om du försöker skriva ut utökade tecken när du använder Kalendern i ett delvis lokalanpassat språkområde, skrivs de inte ut korrekt.
Det går inte att klippa ut eller klistra in arabisk text mellan ett program eller fönster som körs i arabiskt indataläge i en_US.UTF-8 och ett program eller fönster som körs i arabiskt indataläge i ar_EY.ISO8859-6.
När du högerklickar i ett CDE-program i en europeisk språkversion visas inga alternativ på menyn Extra.
CTL-stöd (Complex Text Language) för inmatning av hebreiska, arabiska och thailändska ingår i en_US.UTF-8 och europeiska UTF-8-språkversioner, men CTL stöds inte i språkversionerna ja_JP.UTF-8, ko.UTF-8 (även kallat ko_KR.UTF-8), zh.UTF-8 (även kallat zh_CH.UTF-8) och zh_TW.UTF-8.
Lösning: Använd en_US.UTF-8-språkversionen om du behöver använda thailändska, arabiska eller hebreiska med CTL. Gör så här om du vill använda de här språken i asiatiska och japanska UTF-8-språkversioner:
Skapa en symbolisk länk till gemensamma CTL-moduler. För 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 |
Redigera filen /usr/openwin/lib/locale/ja_JP.UTF-8/XLC_LOCALE genom att kommentera bort raden load_option delay_nocheck från posterna för thailändska, arabiska eller hebreiska (exemplet gäller thailändska):
# fs14 class (Thai) fs14 { charset TIS620.2533-0:GR font { # load_option delay_nocheck <--- comment out primary TIS620.2533-0:GR }} |
Flera skärmbilder i Smart Card-tillämpningen har inte lokaliserats helt.
Skärmarna Lägg till, Ändra och Ta bort användare är tomma i Solstice AdminTool för grekiska.
Lösning: Kopiera följande fil som superanvändare:
# cp /usr/openwin/lib/locale/C/app-defaults/Admin /usr/openwin/lib/locale/el_GR.ISO8859-7/app-defaults/Admin |
När du kör den italienska versionen med Font Downloader är både knappen Lägg till och Avbryt i dialogrutan Lägg till skrivare felaktigt märkta, båda med A ....
Den vänstra knappen ska heta Aggiungi (Lägg till).
Den högra knappen ska heta Annulla (Avbryt).
I följande tabell beskrivs skillnaderna mellan Suns och Microsofts arabiska tangentbord.
Tabell 2-1 Skillnader mellan Suns och Microsofts arabiska tangentbord
Tangent |
Sun-tangentbord |
Microsoft-tangentbord |
---|---|---|
T |
T |
Arabic Lam_alef med Hamza nedanför |
U |
U |
Enkelt högerställt citattecken (\rquote) |
I |
I |
Arabiskt multiplikationstecken |
O |
O |
Arabiskt tecken för division |
A |
; |
Arabisk Kasra |
S |
S |
Arabisk Kasratan |
Z |
Z |
Tilde |
X |
X |
Arabisk Sukun |
C |
Arabisk Kasratan |
Vänster klammerparentes |
V |
Arabisk Kasra |
Höger klammerparentes |
M |
Sukun |
Enkelt, lågt citattecken |
< |
< |
Arabiskt komma |
SEAM använder en del av resursfilerna i operativmiljön Solaris 8, men bara när Kerberos-inställningarna väljs under installationen.
Symbolen för euron skapas inte när du trycker på AltGr+E i UTF-8-språkversioner.
Lösning: Utför följande steg om du vill skriva symbolen för euron i UTF-8-språkversioner:
Välj Sök i urvalsfönstret för UTF-8-indata.
Välj Valutasymboler.
Välj eurotecken.
Om du använder den grekiska versionen, skriver du dumpcs vid systemledtexten. Sedan kopierar och klistrar du in eurosymbolen.
Sorteringen i europeiska UTF-8 -språkversioner fungerar inte korrekt.
Lösning: Innan du försöker sortera i en FIGGS UTF-8-språkversion ställer du in variabeln LC_COLLATE på motsvarigheten till ISO1.
# echo $LC_COLLATE > es_ES.UTF-8 # setenv LC_COLLATE es_ES.IS08859-1 |