다음 절에서는 Oracle Solaris 10 OS의 특정 명령 및 표준에서 변경된 동작에 대해 설명합니다.
이 버그는 Active Directory 환경에서 winbind가 있는 Samba 서버를 사용할 때 발생합니다. Solaris 10 10/09 릴리스에는 Samba 3.0.28 소프트웨어 버전이 포함됩니다. Active Directory 서버에서 모든 사용자 또는 1000명보다 많은 사용자를 조회할 때 winbind에서 처음 1000개의 결과만 불러옵니다.
해결 방법: 없음.
본 릴리스에서는 다음 Trusted Extensions 매뉴얼 페이지가 개정됩니다.
add_allocatable(1M)
remove_allocatable(1M)
label_to_str(3TSOL)
tsol_getrhtype(3TSOL)
tnzonecfg(4)
man 명령을 사용하여 개정된 매뉴얼 페이지를 볼 수 없습니다. 개정된 매뉴얼 페이지를 보려면 Solaris Trusted Extensions Reference Manual을 참조하십시오 .
Oracle Solaris 10 OS에는 Bash 3.00이 포함되어 있습니다. 이 쉘은 다음 변수를 환경으로 내보내는 작업을 더 이상 자동으로 수행하지 않습니다.
HOME
PATH
SHELL
TERM
HOSTNAME
HOSTTYPE
MACHTYPE
OSTYPE
이 새로운 동작은 에서 이러한 변수에 기본값을 지정하더라도 적용됩니다.
해결 방법: 이 변수들을 수동으로 내보냅니다.
/usr/bin/ln 동작이 SVID3부터 XCU6까지의 모든 표준을 준수하도록 변경되었습니다. ln 명령을 -f 옵션 없이 사용하여 기존 대상 파일에 연결하려고 하면 링크가 설정되지 않습니다. 그 대신 표준 오류에 대한 진단 메시지가 기록되고 명령으로 계속해서 나머지 소스 파일을 연결합니다. 마지막으로 ln 명령은 오류 값과 함께 종료됩니다.
예를 들어, 파일 b가 존재하면 ln a b 구문은 다음과 같은 메시지를 생성합니다.
ln: b: File exists |
이 동작 변경은 -f 옵션 없이 ln 명령을 포함하는 기존 쉘 스크립트 또는 프로그램에 영향을 줍니다. 과거 작동에 사용된 스크립트가 이제 Oracle Solaris 10 OS에서 실패할 수 있습니다.
해결 방법: ln 명령을 -f 옵션과 함께 사용합니다. 이 링크 유틸리티를 실행하는 기존 스크립트가 있으면 명령의 새로운 동작에 부합하도록 스크립트를 수정해야 합니다.
Oracle Solaris 10 OS에서 tcsh는 버전 6.12로 업그레이드되었으며 이 버전에서는 이름에 대시나 등호 기호를 사용하는 환경 변수가 더 이상 허용되지 않습니다. setenv 행이 들어 있고 이전 Oracle Solaris 버전에서 작동하는 스크립트가 현재 릴리스에서 오류를 생성할 수 있습니다. 다음과 같은 오류 메시지가 나타납니다.
setenv: Syntax error |
자세한 내용은 Oracle Solaris 10 OS의 tcsh 매뉴얼 페이지를 참조하십시오.
해결 방법: 환경 변수 이름에 대시나 등호 기호를 사용하지 마십시오.
엄격한 표준 C 준수 모드에서 작성된 응용 프로그램은 특정 라이브러리 함수의 동작 변경으로부터 영향을 받습니다. 그 한 가지 예로는 cc -Xc 또는 c89 컴파일 모드를 사용하여 컴파일된 응용 프로그램입니다. 다음 라이브러리 함수의 동작이 변경되었습니다.
fgetc()
fgets()
fgetwc()
fgetws()
getc()
getchar()
gets()
getwc()
getwchar()
getws()
1990 C 표준의 공식적인 해석에 따르면 EOF(End-Of-File) 조건이 설정되면 후속 입력 작업에 대해 파일에서 더 이상 데이터가 반환되지 않습니다. 파일 포인터가 재배치되거나 오류 및 EOF 플래그가 응용 프로그램에서 명시적으로 지워진 경우는 예외입니다.
나머지 모든 컴파일 모드의 동작은 변경되지 않았습니다. 특히 EOF 표시기가 설정된 후에도 이 인터페이스들은 새로 작성된 추가 데이터를 스트림으로부터 읽을 수 있습니다.
해결 방법: 스트림에서 EOF 조건이 보고된 후에 추가 데이터를 읽으려면 스트림에 대해 fseek() 또는 clearerr()을 호출합니다.
UID, 프로세서 ID 및 누적 실행 시간이 늘어났기 때문에 ps 명령 출력의 열 너비가 넓어졌습니다. 고객의 스크립트에서는 고정 출력 열을 지정하지 않아야 합니다.
해결 방법: 스크립트에서 ps 명령의 -o 옵션을 사용해야 합니다.
자세한 내용은 ps(1) 매뉴얼 페이지를 참조하십시오.