.so 파일이란 무엇입니까?


44

우분투에서 Flash에 문제가 있으며 Flash 10.1의 Alpha 릴리스로 업그레이드하려고합니다.

문제는 파일이 .so 파일로 제공되었으며 이것이 무엇인지에 대한 정보를 찾을 수 없다는 것입니다.


1
다른 포스터는 이미 귀하의 질문에 대답했기 때문에 실질적으로 동일한 텍스트를 추가 할 필요는 없습니다. 나는이 버그 ( bugs.launchpad.net/ubuntu/+source/flashplugin-nonfree/+bug/… ) 에 관심을 끌 것입니다. 어쩌면 증상이 비슷하고 거기에서 살펴보고 싶을 것입니다.

1
거의 잊어 버렸습니다 : 위에 링크 된 버그 설명에는 문제를 해결하는 해결 방법도 있습니다 (의견 # 16). 행운을 빌어 요!
mac

답변:


59

.so 파일은 컴파일 된 라이브러리 파일입니다. "공유 객체"를 나타내며 Windows DLL과 유사합니다.

패키지 파일은 종종 / lib 또는 / usr / lib 아래에 설치되거나 설치 될 때 비슷한 위치에 배치됩니다. .so 파일을 $ LD_LIBRARY_PATH의 위치에 추출하면 라이브러리가 필요한 프로그램에서 사용할 수 있어야합니다.

이상적으로는 동봉 된 설명서를 읽고 올바른 위치에 있는지 확인하십시오.

locate adobe-flashplugin터미널에서 와 같은 명령을 실행하면 비슷한 이름의 기존 라이브러리가 표시 될 수 있습니다.


2
Ubuntu가 다른 Linux 동적 링커와 완전히 다른 방식으로 작업을 수행하지 않는 한 동적 링커는 경로 ($ PATH)를 검색하지 않고 $ LD_LIBRARY_PATH에 지정된 디렉토리뿐만 아니라 고정 된 경로 세트를 검색합니다. 자세한 내용은 ld.so 및 ldconfig의 매뉴얼 페이지를 참조하십시오.
Chris Cleeland

감사합니다. $ PATH가 아니라 $ LD_LIBRARY_PATH입니다. :-)
Andrew Flanagan

1
/ usr / lib 및 / lib는 / var / lib보다 훨씬 일반적입니다. 실제로 라이브러리를 / var / lib에 두는 것은 매우 드 rare니다.
qedi

미안-서두르고 있었다. :-) 나는 ... 그것을 해결거야
앤드류 플래너에게

좋아 .. .so 파일이 있다고 상상해 봅시다. "사용"해야하는 것은 무엇입니까?
Pitto

10

작성할 수있는 두 가지 Linux C / C ++ 라이브러리 유형이 있습니다. 사람들은 정적 라이브러리 (.A)(.so를) 동적 샤드 개체 라이브러리를 링크

이에 올 때 (.so를) , 거기에이 라이브러리의 한 형태이지만 두 가지 방법으로 사용할 수 있습니다.

1) 런타임에 동적으로 링크되지만 정적으로 인식합니다. 컴파일 / 링크 단계 중에 라이브러리를 사용할 수 있어야합니다. 공유 객체는 실행 가능 구성 요소에 포함되지 않지만 실행에 연결됩니다.

2) 동적 연결 로더 시스템 기능을 사용하여 실행 중 (예 : 브라우저 플러그인) 동적으로로드 / 언로드 및 링크됩니다.

일반적으로 패키지 파일은 설치시 ".so"파일을 / lib 또는 / usr / lib에 배치합니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.