Solaris 10 10/08 릴리스 노트

Solaris 명령 및 표준

다음 절에서는 Solaris 10 OS의 특정 명령 및 표준에서 변경된 동작에 대해 설명합니다.

SPARC: 정렬된 8바이트 Mutex와 호환되지 않는 응용 프로그램이 실패함(6729759)

mutex_tpthread_mutex_t 유형 객체는 8바이트 정렬 주소에서 시작해야 합니다. 이 요구 사항을 충족하지 않는 응용 프로그램은 실패합니다. 다음과 같은 오류 메시지가 나타납니다.


*** _THREAD_ERROR_DETECTION: lock usage error detected ***
...
"mutex is misaligned"
OR:
"condvar is misaligned"

해결 방법: 환경 변수를 다음 값으로 설정하면 stderr에서 다음 정렬 오류가 보고됩니다.

THREAD_ERROR_DETECTION 환경 변수가 위 값 중 하나로 설정된 응용 프로그램을 테스트하여 비호환 응용 프로그램에 수정을 요청해야 합니다.

winbind에서 처음 1000명의 Active Directory 사용자만 불러옴

이 버그는 Active Directory 환경에서 winbind가 있는 Samba 서버를 사용할 때 발생합니다. Solaris 10 10/08 릴리스에는 Samba 3.0.28 소프트웨어 버전이 포함됩니다. Active Directory 서버에서 모든 사용자 또는 1000명보다 많은 사용자를 조회할 때 winbind에서 처음 1000개의 결과만 불러옵니다.

해결 방법: 없음.

PgAdmin III 1.6에서 PostgreSQL 버전 8.3을 지원하지 않음

PgAdmin III 1.6을 사용하여 PostgreSQL 8.3 버전을 관리할 수 없습니다. PgAdmin 1.6에서 새 PostgreSQL 버전에서 카탈로그 구조를 인식하지 않습니다. 여러 오류 메시지가 표시됩니다.

해결 방법: PgAdmin III 버전 1.8로 업그레이드합니다.

Solaris Trusted Extensions의 변경된 매뉴얼 페이지는 참조 설명서에만 있음

본 릴리스에서는 다음 Solaris Trusted Extensions 매뉴얼 페이지가 개정됩니다.

man 명령을 사용하여 개정된 매뉴얼 페이지를 볼 수 없습니다. 개정된 매뉴얼 페이지를 보려면 Solaris Trusted Extensions Reference Manual을 참조하십시오 .

Bash 3.00에서 일부 환경 변수를 더 이상 설정하지 않음

Solaris 10 OS에는 Bash 3.00이 포함되어 있습니다. 이 쉘은 다음 변수를 환경으로 내보내는 작업을 더 이상 자동으로 수행하지 않습니다.

이 새로운 동작은 에서 이러한 변수에 기본값을 지정하더라도 적용됩니다.

해결 방법: 이 변수들을 수동으로 내보냅니다.

새로운 ln 유틸리티에서 -f 옵션 필요

/usr/bin/ln 동작이 SVID3부터 XCU6까지의 모든 표준을 준수하도록 변경되었습니다. ln 명령을 -f 옵션 없이 사용하여 기존 대상 파일에 연결하려고 하면 링크가 설정되지 않습니다. 그 대신 표준 오류에 대한 진단 메시지가 기록되고 명령으로 계속해서 나머지 소스 파일을 연결합니다. 마지막으로 ln 명령은 오류 값과 함께 종료됩니다.

예를 들어, 파일 b가 존재하면 ln a b 구문은 다음과 같은 메시지를 생성합니다.


ln: b: File exists

이 동작 변경은 -f 옵션 없이 ln 명령을 포함하는 기존 쉘 스크립트 또는 프로그램에 영향을 줍니다. 과거 작동에 사용된 스크립트가 이제 Solaris 10 OS에서 실패할 수 있습니다.

해결 방법: ln 명령을 -f 옵션과 함께 사용합니다. 이 링크 유틸리티를 실행하는 기존 스크립트가 있으면 명령의 새로운 동작에 부합하도록 스크립트를 수정해야 합니다.

새로운 tcsh에서 대시나 등호 기호를 사용하는 setenv 변수 이름 거부

Solaris 10 OS에서 tcsh는 버전 6.12로 업그레이드되었으며 이 버전에서는 이름에 대시나 등호 기호를 사용하는 환경 변수가 더 이상 적용되지 않습니다. setenv 행이 들어 있고 이전 Solaris 버전에서 작동했던 스크립트가 현재 Solaris 10 릴리스에서 오류를 생성할 수 있습니다. 다음과 같은 오류 메시지가 나타납니다.


setenv: Syntax error

자세한 내용은 Solaris 10 OS의 tcsh 매뉴얼 페이지를 참조하십시오.

해결 방법: 환경 변수 이름에 대시나 등호 기호를 사용하지 마십시오.

STDIO getc 그룹 EOF 조건 동작 변경

엄격한 표준 C 준수 모드에서 작성된 응용 프로그램은 특정 라이브러리 함수의 동작 변경으로부터 영향을 받습니다. 그 한 가지 예로는 cc -Xc 또는 c89 컴파일 모드를 사용하여 컴파일된 응용 프로그램입니다. 다음 라이브러리 함수의 동작이 변경되었습니다.

1990 C 표준의 공식적인 해석에 따르면 EOF(End-Of-File) 조건이 설정되면 후속 입력 작업에 대해 파일에서 더 이상 데이터가 반환되지 않습니다. 파일 포인터가 재배치되거나 오류 및 EOF 플래그가 응용 프로그램에서 명시적으로 지워진 경우는 예외입니다.

나머지 모든 컴파일 모드의 동작은 변경되지 않았습니다. 특히 EOF 표시기가 설정된 후에도 이 인터페이스들은 새로 작성된 추가 데이터를 스트림으로부터 읽을 수 있습니다.

해결 방법: 스트림에서 EOF 조건이 보고된 후에 추가 데이터를 읽으려면 스트림에 대해 fseek() 또는 clearerr()을 호출합니다.

ps 명령의 출력 열 너비가 넓어짐

UID, 프로세서 ID 및 누적 실행 시간이 늘어났기 때문에 ps 명령 출력의 열 너비가 넓어졌습니다. 고객의 스크립트에서는 고정 출력 열을 지정하지 않아야 합니다.

해결 방법: 스크립트에서 ps 명령의 -o 옵션을 사용해야 합니다.

자세한 내용은 ps(1) 매뉴얼 페이지를 참조하십시오.

ping -v 명령이 IPv6 주소에서 작동하지 않음(4984993)

IPv6(Internet Protocol version 6)을 사용하는 주소에 ping -v 명령이 적용되면 이 명령은 오류를 일으킵니다. 다음과 같은 오류 메시지가 나타납니다.


ping: setsockopt IPV6_RECVRTHDRDSTOPTS Invalid argument

해결 방법: 없음. ping -v가 제공하는 것과 동일한 ICMP 패킷 정보를 얻으려면 snoop 명령을 사용합니다.